From cb4d1f74032689503cee85c6e44f1ecc37e157e6 Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Thu, 11 Apr 2024 14:57:55 +0100 Subject: [PATCH 1/6] python3Packages.macaroonbakery: init at 1.3.4 --- .../python-modules/macaroonbakery/default.nix | 60 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 62 insertions(+) create mode 100644 pkgs/development/python-modules/macaroonbakery/default.nix diff --git a/pkgs/development/python-modules/macaroonbakery/default.nix b/pkgs/development/python-modules/macaroonbakery/default.nix new file mode 100644 index 000000000000..eb1b50eb4a9b --- /dev/null +++ b/pkgs/development/python-modules/macaroonbakery/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + protobuf3, + pymacaroons, + pynacl, + pyrfc3339, + requests, + setuptools, + httmock, + fixtures, + pytestCheckHook, + mock, +}: + +buildPythonPackage rec { + pname = "macaroonbakery"; + version = "1.3.4"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "go-macaroon-bakery"; + repo = "py-macaroon-bakery"; + rev = "refs/tags/${version}"; + hash = "sha256-NEhr8zkrHceeLbAyuUvc7U6dyQxkpkj0m5LlnBMafA0="; + }; + + nativeBuildInputs = [ setuptools ]; + + propagatedBuildInputs = [ + protobuf3 + pymacaroons + pynacl + pyrfc3339 + requests + ]; + + pythonImportsCheck = [ "macaroonbakery" ]; + + nativeCheckInputs = [ + fixtures + httmock + mock + pytestCheckHook + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "A Python library for working with macaroons"; + homepage = "https://github.com/go-macaroon-bakery/py-macaroon-bakery"; + changelog = "https://github.com/go-macaroon-bakery/py-macaroon-bakery/releases/tag/${version}"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ jnsgruk ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d9a6001945e9..adf7602d0611 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7053,6 +7053,8 @@ self: super: with self; { regress = callPackage ../development/python-modules/regress { }; + macaroonbakery = callPackage ../development/python-modules/macaroonbakery { }; + mail-parser = callPackage ../development/python-modules/mail-parser { }; makefun = callPackage ../development/python-modules/makefun { }; From 1877c3c0aa204e14d104342f4644ed40542de875 Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Thu, 11 Apr 2024 14:58:20 +0100 Subject: [PATCH 2/6] python3Packages.craft-store: init at 2.6.0 --- .../python-modules/craft-store/default.nix | 76 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 pkgs/development/python-modules/craft-store/default.nix diff --git a/pkgs/development/python-modules/craft-store/default.nix b/pkgs/development/python-modules/craft-store/default.nix new file mode 100644 index 000000000000..637e7ed26a9d --- /dev/null +++ b/pkgs/development/python-modules/craft-store/default.nix @@ -0,0 +1,76 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + setuptools, + setuptools-scm, + pytest-check, + pytest-mock, + pydantic_1, + pyyaml, + pytestCheckHook, + keyring, + macaroonbakery, + overrides, + pyxdg, + requests, + requests-toolbelt, +}: + +buildPythonPackage rec { + pname = "craft-store"; + version = "2.6.0"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "canonical"; + repo = "craft-store"; + rev = "refs/tags/${version}"; + hash = "sha256-VtKOe3IrvGcNWfp1/tg1cO94xtfkP7AbIHh0WTdlfbQ="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools==67.7.2" "setuptools" + ''; + + nativeBuildInputs = [ + setuptools + setuptools-scm + ]; + + propagatedBuildInputs = [ + keyring + macaroonbakery + overrides + pydantic_1 + pyxdg + requests + requests-toolbelt + ]; + + pythonImportsCheck = [ "craft_store" ]; + + nativeCheckInputs = [ + pydantic_1 + pytest-check + pytest-mock + pytestCheckHook + pyyaml + ]; + + pytestFlagsArray = [ "tests/unit" ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Interfaces for communicating with Canonical Stores (e.g. Snap Store)"; + homepage = "https://github.com/canonical/craft-store"; + changelog = "https://github.com/canonical/craft-store/releases/tag/${version}"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ jnsgruk ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index adf7602d0611..a54e1af6d863 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2486,6 +2486,8 @@ self: super: with self; { craft-providers = callPackage ../development/python-modules/craft-providers { }; + craft-store = callPackage ../development/python-modules/craft-store { }; + cram = callPackage ../development/python-modules/cram { }; cramjam = callPackage ../development/python-modules/cramjam { }; From f6e8d5fa8755d65b1f62606c28b519ad42774515 Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Thu, 11 Apr 2024 14:58:30 +0100 Subject: [PATCH 3/6] charmcraft: init at 2.6.0 --- pkgs/by-name/ch/charmcraft/package.nix | 88 ++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 pkgs/by-name/ch/charmcraft/package.nix diff --git a/pkgs/by-name/ch/charmcraft/package.nix b/pkgs/by-name/ch/charmcraft/package.nix new file mode 100644 index 000000000000..c837563a61c8 --- /dev/null +++ b/pkgs/by-name/ch/charmcraft/package.nix @@ -0,0 +1,88 @@ +{ + lib, + git, + python3Packages, + fetchFromGitHub, + nix-update-script, +}: + +python3Packages.buildPythonApplication rec { + pname = "charmcraft"; + version = "2.6.0"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "canonical"; + repo = "charmcraft"; + rev = "refs/tags/${version}"; + hash = "sha256-B0ZcOORW6yaSIpisPLnq5/S/CcqqvHNTXcfP1sKW2KQ="; + }; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail 'version=determine_version()' 'version="${version}"' + ''; + + propagatedBuildInputs = with python3Packages; [ + craft-cli + craft-parts + craft-providers + craft-store + distro + humanize + jinja2 + jsonschema + pydantic_1 + python-dateutil + pyyaml + requests + requests-toolbelt + requests-unixsocket + snap-helpers + tabulate + urllib3 + ]; + + nativeBuildInputs = with python3Packages; [ + pythonRelaxDepsHook + setuptools + ]; + + pythonRelaxDeps = [ + "urllib3" + ]; + + nativeCheckInputs = with python3Packages; [ + pyfakefs + pytest-check + pytest-mock + pytest-subprocess + pytestCheckHook + responses + ] ++ [ git ]; + + preCheck = '' + mkdir -p check-phase + export HOME="$(pwd)/check-phase" + ''; + + pytestFlagsArray = [ "tests/unit" ]; + + disabledTests = [ + # Relies upon the `charm` tool being installed + "test_validate_missing_charm" + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + mainProgram = "charmcraft"; + description = "Build and publish Charmed Operators for deployment with Juju"; + homepage = "https://github.com/canonical/charmcraft"; + changelog = "https://github.com/canonical/charmcraft/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jnsgruk ]; + platforms = lib.platforms.linux; + }; +} From 6922c8caa358d45019b08cb8055f454cbd8ea5ee Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Thu, 11 Apr 2024 15:05:53 +0100 Subject: [PATCH 4/6] python3Packages.craft-providers: 1.23.0 -> 1.23.1 --- pkgs/development/python-modules/craft-providers/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/craft-providers/default.nix b/pkgs/development/python-modules/craft-providers/default.nix index d1b824716d6d..e3c384f455ba 100644 --- a/pkgs/development/python-modules/craft-providers/default.nix +++ b/pkgs/development/python-modules/craft-providers/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "craft-providers"; - version = "1.23.0"; + version = "1.23.1"; pyproject = true; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "canonical"; repo = "craft-providers"; rev = "refs/tags/${version}"; - hash = "sha256-9ZoNgpuGytwozRsw0wnS3d2UBOIsh3VI/uzB1RD2Zac="; + hash = "sha256-opVgOtbwZD+uQJ10Q8QlgQaS9KjRFnQ4h98Ak7Ze5qQ="; }; patches = [ @@ -46,7 +46,7 @@ buildPythonPackage rec { # The urllib3 incompat: https://github.com/msabramo/requests-unixsocket/pull/69 # This is already patched in nixpkgs. substituteInPlace pyproject.toml \ - --replace-fail "setuptools==67.8.0" "setuptools" \ + --replace-fail "setuptools==69.1.1" "setuptools" \ --replace-fail "urllib3<2" "urllib3" ''; From 5ed8afee5e35636edfaef493e84c34247ae8fe3b Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Tue, 16 Apr 2024 12:17:03 +0100 Subject: [PATCH 5/6] python3Packages.pydantic-yaml-0: disable nix-update-script --- pkgs/development/python-modules/pydantic-yaml-0/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-yaml-0/default.nix b/pkgs/development/python-modules/pydantic-yaml-0/default.nix index 57a4f72ba1f9..bc842e5dc532 100644 --- a/pkgs/development/python-modules/pydantic-yaml-0/default.nix +++ b/pkgs/development/python-modules/pydantic-yaml-0/default.nix @@ -1,7 +1,6 @@ { lib , buildPythonPackage , fetchFromGitHub -, nix-update-script , deprecated , importlib-metadata , pydantic_1 @@ -55,8 +54,6 @@ buildPythonPackage rec { pytestCheckHook ]; - passthru.updateScript = nix-update-script { }; - meta = { description = "A small helper library that adds some YAML capabilities to pydantic"; homepage = "https://github.com/NowanIlfideme/pydantic-yaml"; From 44f73650e88128cb3d62ae58a4b4cc4c88143edb Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Wed, 17 Apr 2024 10:32:49 +0100 Subject: [PATCH 6/6] craft-parts: skip failing tests on aarch64 --- pkgs/development/python-modules/craft-parts/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix index f252a82062bd..d340f784b431 100644 --- a/pkgs/development/python-modules/craft-parts/default.nix +++ b/pkgs/development/python-modules/craft-parts/default.nix @@ -21,6 +21,7 @@ , squashfsTools , setuptools , setuptools-scm +, stdenv }: buildPythonPackage rec { @@ -103,6 +104,10 @@ buildPythonPackage rec { "tests/unit/packages/test_apt_cache.py" "tests/unit/packages/test_deb.py" "tests/unit/packages/test_chisel.py" + ] ++ lib.optionals stdenv.isAarch64 [ + # These tests have hardcoded "amd64" strings which fail on aarch64 + "tests/unit/executor/test_environment.py" + "tests/unit/features/overlay/test_executor_environment.py" ]; passthru.updateScript = nix-update-script { };