From 1c9b7f71b80da2bb657643c7faeb4a559ca69139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 06:30:33 -0700 Subject: [PATCH 01/18] python312Packages.python-apt: 2.7.6 -> 2.8.0 Diff: https://salsa.debian.org/apt-team/python-apt/-/compare/refs/tags/2.7.6...2.8.0 Changelog: https://salsa.debian.org/apt-team/python-apt/-/blob/2.8.0/debian/changelog --- .../python-modules/python-apt/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/python-apt/default.nix b/pkgs/development/python-modules/python-apt/default.nix index 5d5a703a1afc..2bf53c80cfc2 100644 --- a/pkgs/development/python-modules/python-apt/default.nix +++ b/pkgs/development/python-modules/python-apt/default.nix @@ -2,33 +2,37 @@ lib, apt, buildPythonPackage, - fetchgit, + fetchFromGitLab, + python, setuptools, }: buildPythonPackage rec { pname = "apt"; - version = "2.7.6"; + version = "2.8.0"; pyproject = true; - src = fetchgit { - url = "https://git.launchpad.net/python-apt"; + src = fetchFromGitLab { + domain = "salsa.debian.org"; + owner = "apt-team"; + repo = "python-apt"; rev = "refs/tags/${version}"; - hash = "sha256-1jTe8ncMKV78+cfSZ6p6qdjxs0plZLB4VwVtPLtDlAc="; + hash = "sha256-7l7rgyJ28iQuL6ShF/KYwL/kAXpLPTqnUIavVxNF+wU="; }; buildInputs = [ apt.dev ]; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; # Ensure the version is set properly without trying to invoke # dpkg-parsechangelog - env.DEBVER = "${version}"; + env.DEBVER = version; pythonImportsCheck = [ "apt_pkg" ]; meta = { + changelog = "https://salsa.debian.org/apt-team/python-apt/-/blob/${version}/debian/changelog"; description = "Python bindings for APT"; homepage = "https://launchpad.net/python-apt"; license = lib.licenses.gpl2; From bebf8e7e8cb7f480f8fa756f0ec4423dabb4a98c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 06:43:27 -0700 Subject: [PATCH 02/18] python312Packages.craft-cli: 2.5.1 -> 2.6.0 Diff: https://github.com/canonical/craft-cli/compare/refs/tags/2.5.1...2.6.0 Changelog: https://github.com/canonical/craft-cli/releases/tag/2.6.0 --- .../python-modules/craft-cli/default.nix | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/craft-cli/default.nix b/pkgs/development/python-modules/craft-cli/default.nix index d6900511af7a..193616f1583e 100644 --- a/pkgs/development/python-modules/craft-cli/default.nix +++ b/pkgs/development/python-modules/craft-cli/default.nix @@ -4,9 +4,7 @@ fetchFromGitHub, nix-update-script, platformdirs, - pydantic_1, pyyaml, - setuptools, setuptools-scm, pytest-check, pytest-mock, @@ -15,7 +13,7 @@ buildPythonPackage rec { pname = "craft-cli"; - version = "2.5.1"; + version = "2.6.0"; pyproject = true; @@ -23,25 +21,18 @@ buildPythonPackage rec { owner = "canonical"; repo = "craft-cli"; rev = "refs/tags/${version}"; - hash = "sha256-yEKF04OPu4paRrghAP78r9hu6cqkUy6z/V7cHNys82I="; + hash = "sha256-8+dyFOEW0F4t2issRlOqdbzf0Avg0NsADgk96mZFpEQ="; }; postPatch = '' - substituteInPlace craft_cli/__init__.py \ - --replace-fail "dev" "${version}" - substituteInPlace pyproject.toml \ - --replace-fail "setuptools==67.7.2" "setuptools" + --replace-fail "setuptools==70.1.0" "setuptools" ''; - nativeBuildInputs = [ - setuptools - setuptools-scm - ]; + build-system = [ setuptools-scm ]; - propagatedBuildInputs = [ + dependencies = [ platformdirs - pydantic_1 pyyaml ]; From a8e6c00537681a8ba8f0959717a1482ee0c1da44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 06:48:29 -0700 Subject: [PATCH 03/18] python312Packages.craft-parts: 1.31.0 -> 1.33.0 Diff: https://github.com/canonical/craft-parts/compare/refs/tags/1.31.0...1.33.0 Changelog: https://github.com/canonical/craft-parts/releases/tag/1.32.0 https://github.com/canonical/craft-parts/releases/tag/1.33.0 --- .../python-modules/craft-parts/default.nix | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix index 3a137744d68f..19cd678be4c6 100644 --- a/pkgs/development/python-modules/craft-parts/default.nix +++ b/pkgs/development/python-modules/craft-parts/default.nix @@ -10,7 +10,6 @@ pyyaml, requests, requests-unixsocket, - types-pyyaml, urllib3, pytestCheckHook, pytest-check, @@ -27,7 +26,7 @@ buildPythonPackage rec { pname = "craft-parts"; - version = "1.31.0"; + version = "1.33.0"; pyproject = true; @@ -35,23 +34,19 @@ buildPythonPackage rec { owner = "canonical"; repo = "craft-parts"; rev = "refs/tags/${version}"; - hash = "sha256-DohH81xhUfZI3NfmX6aDaOC/QLiddsxPzrc1vgFECTg="; + hash = "sha256-SP2mkaXsU0btnA3aanSA18GkdW6ReLgImOWdpnwZiyU="; }; patches = [ ./bash-path.patch ]; - postPatch = '' - substituteInPlace setup.py \ - --replace-fail "pydantic-yaml[pyyaml]>=0.11.0,<1.0.0" "pydantic-yaml[pyyaml]" \ - --replace-fail "urllib3<2" "urllib3" - ''; + build-system = [ setuptools-scm ]; - nativeBuildInputs = [ - setuptools - setuptools-scm + pythonRelaxDeps = [ + "requests" + "urllib3" ]; - propagatedBuildInputs = [ + dependencies = [ overrides pydantic_1 pydantic-yaml-0 @@ -59,7 +54,6 @@ buildPythonPackage rec { pyyaml requests requests-unixsocket - types-pyyaml urllib3 ]; From 8985b03f5c19564ad9dd42504f854f959e8820e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 06:36:16 -0700 Subject: [PATCH 04/18] python312Packages.craft-application: 2.8.0 -> 3.2.0 Diff: https://github.com/canonical/craft-application/compare/refs/tags/2.8.0...3.2.0 Changelog: https://github.com/canonical/craft-application/blob/3.2.0/docs/reference/changelog.rst --- .../craft-application/default.nix | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/craft-application/default.nix b/pkgs/development/python-modules/craft-application/default.nix index 1d8f388f7881..add5e543937f 100644 --- a/pkgs/development/python-modules/craft-application/default.nix +++ b/pkgs/development/python-modules/craft-application/default.nix @@ -27,7 +27,7 @@ buildPythonPackage rec { pname = "craft-application"; - version = "2.8.0"; + version = "3.2.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -36,21 +36,17 @@ buildPythonPackage rec { owner = "canonical"; repo = "craft-application"; rev = "refs/tags/${version}"; - hash = "sha256-COcZgl2XzPWknSKMUZgZBEMzkDdwK2PouIEuWKOP8dc="; + hash = "sha256-2JfCe7FJtuObC/4miA+OC/ctGy1fhdgI7DsowNYjQk8="; }; postPatch = '' - substituteInPlace craft_application/__init__.py \ - --replace-fail "dev" "${version}" - substituteInPlace pyproject.toml \ - --replace-fail "setuptools==" "setuptools>=" + --replace-fail "setuptools==70.1.0" "setuptools" ''; - build-system = [ - setuptools - setuptools-scm - ]; + build-system = [ setuptools-scm ]; + + pythonRelaxDeps = [ "requests" ]; dependencies = [ craft-archives @@ -110,7 +106,7 @@ buildPythonPackage rec { meta = { description = "Basis for Canonical craft applications"; homepage = "https://github.com/canonical/craft-application"; - changelog = "https://github.com/canonical/craft-application/releases/tag/${version}"; + changelog = "https://github.com/canonical/craft-application/blob/${src.rev}/docs/reference/changelog.rst"; license = lib.licenses.lgpl3Only; maintainers = with lib.maintainers; [ jnsgruk ]; platforms = lib.platforms.linux; From 451746aa1200979aefe1c21245d00ded0a23fe9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 06:33:17 -0700 Subject: [PATCH 05/18] snapcraft: 8.2.12 -> 8.3.1 Diff: https://github.com/canonical/snapcraft/compare/refs/tags/8.2.12...8.3.1 Changelog: https://github.com/canonical/snapcraft/releases/tag/8.3.0 https://github.com/canonical/snapcraft/releases/tag/8.3.1 --- pkgs/by-name/sn/snapcraft/package.nix | 28 +++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix index a79e272ecd64..fd7dd824713c 100644 --- a/pkgs/by-name/sn/snapcraft/package.nix +++ b/pkgs/by-name/sn/snapcraft/package.nix @@ -11,7 +11,7 @@ }: python3Packages.buildPythonApplication rec { pname = "snapcraft"; - version = "8.2.12"; + version = "8.3.1"; pyproject = true; @@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec { owner = "canonical"; repo = "snapcraft"; rev = "refs/tags/${version}"; - hash = "sha256-1PwIbMweeYGi+jLfhFB3LYThqaN2VW7zdyzjD1m57ow="; + hash = "sha256-cdRlUY9hAJ8US93aiJymzsV27JVPY7lWCK7IUdjDmYE="; }; patches = [ @@ -68,13 +68,14 @@ python3Packages.buildPythonApplication rec { --replace-fail 'arch_linker_path = Path(arch_config.dynamic_linker)' \ 'return str(Path("${glibc}/lib/ld-linux-x86-64.so.2"))' - substituteInPlace snapcraft_legacy/internal/xattrs.py \ - --replace-fail 'distutils.util' 'setuptools.dist' + substituteInPlace pyproject.toml \ + --replace-fail '"pytest-cov>=4.0",' "" \ + --replace-fail "--cov=snapcraft" "" ''; - buildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper ]; - propagatedBuildInputs = with python3Packages; [ + dependencies = with python3Packages; [ attrs catkin-pkg click @@ -93,27 +94,38 @@ python3Packages.buildPythonApplication rec { lxml macaroonbakery mypy-extensions + overrides + packaging progressbar pyelftools pygit2 pylxd + pymacaroons python-apt python-gnupg + pyxdg + pyyaml raven requests-toolbelt + requests-unixsocket simplejson snap-helpers tabulate + toml tinydb + typing-extensions + urllib3 + validators ]; - nativeBuildInputs = with python3Packages; [ setuptools ]; + build-system = with python3Packages; [ setuptools ]; pythonRelaxDeps = [ "docutils" "jsonschema" "pygit2" "urllib3" + "validators" ]; postInstall = '' @@ -124,7 +136,6 @@ python3Packages.buildPythonApplication rec { with python3Packages; [ pytest-check - pytest-cov pytest-mock pytest-subprocess pytestCheckHook @@ -148,6 +159,7 @@ python3Packages.buildPythonApplication rec { "test_classic_linter_filter" "test_classic_linter" "test_complex_snap_yaml" + "test_core24_try_command" "test_get_base_configuration_snap_channel" "test_get_base_configuration_snap_instance_name_default" "test_get_base_configuration_snap_instance_name_not_running_as_snap" From 80056a63dae1077a29c6b767df099379ea1d57ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:22:38 -0700 Subject: [PATCH 06/18] python312Packages.pydantic-yaml: rename from pydantic-yaml-0 --- .../python-modules/craft-application-1/default.nix | 4 ++-- pkgs/development/python-modules/craft-application/default.nix | 4 ++-- pkgs/development/python-modules/craft-parts/default.nix | 4 ++-- .../{pydantic-yaml-0 => pydantic-yaml}/default.nix | 2 +- pkgs/top-level/python-packages.nix | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) rename pkgs/development/python-modules/{pydantic-yaml-0 => pydantic-yaml}/default.nix (97%) diff --git a/pkgs/development/python-modules/craft-application-1/default.nix b/pkgs/development/python-modules/craft-application-1/default.nix index e47e502e09f2..32d3c0d521ac 100644 --- a/pkgs/development/python-modules/craft-application-1/default.nix +++ b/pkgs/development/python-modules/craft-application-1/default.nix @@ -6,7 +6,7 @@ craft-cli, craft-parts, craft-providers, - pydantic-yaml-0, + pydantic-yaml, pyyaml, setuptools, setuptools-scm, @@ -46,7 +46,7 @@ buildPythonPackage rec { craft-cli craft-parts craft-providers - pydantic-yaml-0 + pydantic-yaml pyyaml ]; diff --git a/pkgs/development/python-modules/craft-application/default.nix b/pkgs/development/python-modules/craft-application/default.nix index add5e543937f..0c1fcdeb1f30 100644 --- a/pkgs/development/python-modules/craft-application/default.nix +++ b/pkgs/development/python-modules/craft-application/default.nix @@ -11,7 +11,7 @@ git, hypothesis, nix-update-script, - pydantic-yaml-0, + pydantic-yaml, pyfakefs, pygit2, pytest-check, @@ -54,7 +54,7 @@ buildPythonPackage rec { craft-grammar craft-parts craft-providers - pydantic-yaml-0 + pydantic-yaml pygit2 pyyaml snap-helpers diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix index 19cd678be4c6..6d30084497f4 100644 --- a/pkgs/development/python-modules/craft-parts/default.nix +++ b/pkgs/development/python-modules/craft-parts/default.nix @@ -5,7 +5,7 @@ nix-update-script, overrides, pydantic_1, - pydantic-yaml-0, + pydantic-yaml, pyxdg, pyyaml, requests, @@ -49,7 +49,7 @@ buildPythonPackage rec { dependencies = [ overrides pydantic_1 - pydantic-yaml-0 + pydantic-yaml pyxdg pyyaml requests diff --git a/pkgs/development/python-modules/pydantic-yaml-0/default.nix b/pkgs/development/python-modules/pydantic-yaml/default.nix similarity index 97% rename from pkgs/development/python-modules/pydantic-yaml-0/default.nix rename to pkgs/development/python-modules/pydantic-yaml/default.nix index d225d0e07150..737cbb683474 100644 --- a/pkgs/development/python-modules/pydantic-yaml-0/default.nix +++ b/pkgs/development/python-modules/pydantic-yaml/default.nix @@ -15,7 +15,7 @@ }: buildPythonPackage rec { - pname = "pydantic_yaml-0"; + pname = "pydantic-yaml"; # nixpkgs-update: no auto update version = "0.11.2"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 26082cf403c6..575e20694b36 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11112,7 +11112,7 @@ self: super: with self; { pydantic-settings = callPackage ../development/python-modules/pydantic-settings { }; - pydantic-yaml-0 = callPackage ../development/python-modules/pydantic-yaml-0 { }; + pydantic-yaml = callPackage ../development/python-modules/pydantic-yaml { }; pydash = callPackage ../development/python-modules/pydash { }; From b2701cdfbd714f65c7c4fd347ff5e6ab6e3fe8cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:30:01 -0700 Subject: [PATCH 07/18] rockcraft: use packageOverrides --- pkgs/by-name/ro/rockcraft/package.nix | 36 +++++++++++++++++++++------ 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/ro/rockcraft/package.nix b/pkgs/by-name/ro/rockcraft/package.nix index 2443a887a321..80497fea6e26 100644 --- a/pkgs/by-name/ro/rockcraft/package.nix +++ b/pkgs/by-name/ro/rockcraft/package.nix @@ -1,13 +1,34 @@ { lib, - python3Packages, + python3, fetchFromGitHub, dpkg, nix-update-script, - python3, }: -python3Packages.buildPythonApplication rec { +let + python = python3.override { + packageOverrides = self: super: { + craft-application = super.craft-application.overridePythonAttrs (old: rec { + version = "1.2.1"; + src = fetchFromGitHub { + owner = "canonical"; + repo = "craft-application"; + rev = "refs/tags/${version}"; + hash = "sha256-CXZEWVoE66dlQJp4G8tinufjyaDJaH1Muxz/qd/81oA="; + }; + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "setuptools==67.7.2" "setuptools" + ''; + preCheck = '' + export HOME=$(mktemp -d) + ''; + }); + }; + }; +in +python.pkgs.buildPythonApplication rec { pname = "rockcraft"; version = "1.2.3"; @@ -26,20 +47,21 @@ python3Packages.buildPythonApplication rec { --replace-fail "distutils.util" "setuptools.dist" ''; - propagatedBuildInputs = with python3Packages; [ - craft-application-1 + build-system = with python.pkgs; [ setuptools-scm ]; + + dependencies = with python.pkgs; [ + craft-application craft-archives spdx-lookup ]; nativeCheckInputs = - with python3Packages; + with python.pkgs; [ pytest-check pytest-mock pytest-subprocess pytestCheckHook - setuptools ] ++ [ dpkg ]; From ca44a00186cd85f2b448da7945c8c055376d3f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:32:34 -0700 Subject: [PATCH 08/18] python312Packages.craft-application-1: drop --- .../craft-application-1/default.nix | 80 ------------------- pkgs/top-level/python-packages.nix | 2 - 2 files changed, 82 deletions(-) delete mode 100644 pkgs/development/python-modules/craft-application-1/default.nix diff --git a/pkgs/development/python-modules/craft-application-1/default.nix b/pkgs/development/python-modules/craft-application-1/default.nix deleted file mode 100644 index 32d3c0d521ac..000000000000 --- a/pkgs/development/python-modules/craft-application-1/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ - lib, - buildPythonPackage, - fetchFromGitHub, - nix-update-script, - craft-cli, - craft-parts, - craft-providers, - pydantic-yaml, - pyyaml, - setuptools, - setuptools-scm, - pytestCheckHook, - pytest-check, - pytest-mock, - hypothesis, -}: - -buildPythonPackage rec { - pname = "craft-application-1"; - version = "1.2.1"; - - pyproject = true; - - src = fetchFromGitHub { - owner = "canonical"; - repo = "craft-application"; - rev = "refs/tags/${version}"; - hash = "sha256-CXZEWVoE66dlQJp4G8tinufjyaDJaH1Muxz/qd/81oA="; - }; - - postPatch = '' - substituteInPlace craft_application/__init__.py \ - --replace-fail "dev" "${version}" - - substituteInPlace pyproject.toml \ - --replace-fail "setuptools==67.7.2" "setuptools" - ''; - - nativeBuildInputs = [ - setuptools - setuptools-scm - ]; - - propagatedBuildInputs = [ - craft-cli - craft-parts - craft-providers - pydantic-yaml - pyyaml - ]; - - pythonImportsCheck = [ "craft_application" ]; - - nativeCheckInputs = [ - hypothesis - pytest-check - pytest-mock - pytestCheckHook - ]; - - preCheck = '' - export HOME=$(mktemp -d) - ''; - - pytestFlagsArray = [ "tests/unit" ]; - - disabledTests = [ "test_to_yaml_file" ]; - - passthru.updateScript = nix-update-script { }; - - meta = { - description = "Basis for Canonical craft applications"; - homepage = "https://github.com/canonical/craft-application"; - changelog = "https://github.com/canonical/craft-application/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 575e20694b36..ca02e8cb7141 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2557,8 +2557,6 @@ self: super: with self; { cpyparsing = callPackage ../development/python-modules/cpyparsing { }; - craft-application-1 = callPackage ../development/python-modules/craft-application-1 { }; - craft-application = callPackage ../development/python-modules/craft-application { }; craft-archives = callPackage ../development/python-modules/craft-archives { }; From 730a854f9c98d83b9de1d6eec01aa319cf082a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:37:27 -0700 Subject: [PATCH 09/18] python312Packages.pydantic-yaml: 0.11.2 -> 1.3.0 Diff: https://github.com/NowanIlfideme/pydantic-yaml/compare/refs/tags/v0.11.2...v1.3.0 Changelog: https://github.com/NowanIlfideme/pydantic-yaml/releases/tag/v1.3.0 --- .../python-modules/pydantic-yaml/default.nix | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/pkgs/development/python-modules/pydantic-yaml/default.nix b/pkgs/development/python-modules/pydantic-yaml/default.nix index 737cbb683474..50f14837476a 100644 --- a/pkgs/development/python-modules/pydantic-yaml/default.nix +++ b/pkgs/development/python-modules/pydantic-yaml/default.nix @@ -2,13 +2,10 @@ lib, buildPythonPackage, fetchFromGitHub, - deprecated, importlib-metadata, - pydantic_1, + pydantic, ruamel-yaml, - semver, - types-deprecated, - setuptools, + typing-extensions, setuptools-scm, pytest-mock, pytestCheckHook, @@ -16,8 +13,7 @@ buildPythonPackage rec { pname = "pydantic-yaml"; - # nixpkgs-update: no auto update - version = "0.11.2"; + version = "1.3.0"; pyproject = true; @@ -25,7 +21,7 @@ buildPythonPackage rec { owner = "NowanIlfideme"; repo = "pydantic-yaml"; rev = "refs/tags/v${version}"; - hash = "sha256-AeUyVav0/k4Fz69Qizn4hcJKoi/CDR9eUan/nJhWsDY="; + hash = "sha256-Kv1nLR91iwShmCgduXA07+a+2EP1nnvaC7fBAn/ufEM="; }; postPatch = '' @@ -33,18 +29,13 @@ buildPythonPackage rec { --replace-fail "0.0.0" "${version}" ''; - nativeBuildInputs = [ - setuptools - setuptools-scm - ]; + build-system = [ setuptools-scm ]; - propagatedBuildInputs = [ - deprecated + dependencies = [ importlib-metadata - pydantic_1 + pydantic ruamel-yaml - semver - types-deprecated + typing-extensions ]; pythonImportsCheck = [ "pydantic_yaml" ]; From 592ef728e35c8600769a73ab31d67a09562910ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:42:58 -0700 Subject: [PATCH 10/18] python312Packages.craft-parts: mark broken --- pkgs/development/python-modules/craft-parts/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/python-modules/craft-parts/default.nix b/pkgs/development/python-modules/craft-parts/default.nix index 6d30084497f4..bd0ae84ecd5d 100644 --- a/pkgs/development/python-modules/craft-parts/default.nix +++ b/pkgs/development/python-modules/craft-parts/default.nix @@ -106,6 +106,7 @@ buildPythonPackage rec { passthru.updateScript = nix-update-script { }; meta = { + broken = lib.versionAtLeast pydantic-yaml.version "1"; description = "Software artifact parts builder from Canonical"; homepage = "https://github.com/canonical/craft-parts"; changelog = "https://github.com/canonical/craft-parts/releases/tag/${version}"; From 06169afb32a5a68bad7da241ef295e1e17052200 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:47:41 -0700 Subject: [PATCH 11/18] rockcraft: pin pydantic-yaml --- pkgs/by-name/ro/rockcraft/package.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/by-name/ro/rockcraft/package.nix b/pkgs/by-name/ro/rockcraft/package.nix index 80497fea6e26..48b95df85b52 100644 --- a/pkgs/by-name/ro/rockcraft/package.nix +++ b/pkgs/by-name/ro/rockcraft/package.nix @@ -25,6 +25,22 @@ let export HOME=$(mktemp -d) ''; }); + pydantic-yaml = super.pydantic-yaml.overridePythonAttrs (old: rec { + version = "0.11.2"; + src = fetchFromGitHub { + owner = "NowanIlfideme"; + repo = "pydantic-yaml"; + rev = "refs/tags/v${version}"; + hash = "sha256-AeUyVav0/k4Fz69Qizn4hcJKoi/CDR9eUan/nJhWsDY="; + }; + dependencies = with self; [ + deprecated + importlib-metadata + pydantic_1 + ruamel-yaml + types-deprecated + ]; + }); }; }; in From 85687388d683d6df1f915b6e12b8383b81537cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:51:43 -0700 Subject: [PATCH 12/18] snapcraft: pin pydantic-yaml --- pkgs/by-name/sn/snapcraft/package.nix | 33 +++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix index fd7dd824713c..073a4e4f32b1 100644 --- a/pkgs/by-name/sn/snapcraft/package.nix +++ b/pkgs/by-name/sn/snapcraft/package.nix @@ -5,11 +5,34 @@ lib, makeWrapper, nix-update-script, - python3Packages, + python3, squashfsTools, stdenv, }: -python3Packages.buildPythonApplication rec { + +let + python = python3.override { + packageOverrides = self: super: { + pydantic-yaml = super.pydantic-yaml.overridePythonAttrs (old: rec { + version = "0.11.2"; + src = fetchFromGitHub { + owner = "NowanIlfideme"; + repo = "pydantic-yaml"; + rev = "refs/tags/v${version}"; + hash = "sha256-AeUyVav0/k4Fz69Qizn4hcJKoi/CDR9eUan/nJhWsDY="; + }; + dependencies = with self; [ + deprecated + importlib-metadata + pydantic_1 + ruamel-yaml + types-deprecated + ]; + }); + }; + }; +in +python.pkgs.buildPythonApplication rec { pname = "snapcraft"; version = "8.3.1"; @@ -75,7 +98,7 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ makeWrapper ]; - dependencies = with python3Packages; [ + dependencies = with python.pkgs; [ attrs catkin-pkg click @@ -118,7 +141,7 @@ python3Packages.buildPythonApplication rec { validators ]; - build-system = with python3Packages; [ setuptools ]; + build-system = with python.pkgs; [ setuptools ]; pythonRelaxDeps = [ "docutils" @@ -133,7 +156,7 @@ python3Packages.buildPythonApplication rec { ''; nativeCheckInputs = - with python3Packages; + with python.pkgs; [ pytest-check pytest-mock From 1ed734c6c1aedbc958b1c41e83cf04c38d8ab856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 07:53:10 -0700 Subject: [PATCH 13/18] charmcraft: pin pydantic-yaml --- pkgs/by-name/ch/charmcraft/package.nix | 32 ++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ch/charmcraft/package.nix b/pkgs/by-name/ch/charmcraft/package.nix index a2ea187240c8..2b0fa27da1b7 100644 --- a/pkgs/by-name/ch/charmcraft/package.nix +++ b/pkgs/by-name/ch/charmcraft/package.nix @@ -1,12 +1,34 @@ { lib, git, - python3Packages, + python3, fetchFromGitHub, nix-update-script, }: -python3Packages.buildPythonApplication rec { +let + python = python3.override { + packageOverrides = self: super: { + pydantic-yaml = super.pydantic-yaml.overridePythonAttrs (old: rec { + version = "0.11.2"; + src = fetchFromGitHub { + owner = "NowanIlfideme"; + repo = "pydantic-yaml"; + rev = "refs/tags/v${version}"; + hash = "sha256-AeUyVav0/k4Fz69Qizn4hcJKoi/CDR9eUan/nJhWsDY="; + }; + dependencies = with self; [ + deprecated + importlib-metadata + pydantic_1 + ruamel-yaml + types-deprecated + ]; + }); + }; + }; +in +python.pkgs.buildPythonApplication rec { pname = "charmcraft"; version = "2.7.0"; @@ -27,7 +49,7 @@ python3Packages.buildPythonApplication rec { --replace-fail "distutils.util" "setuptools.dist" ''; - propagatedBuildInputs = with python3Packages; [ + dependencies = with python.pkgs; [ craft-cli craft-parts craft-providers @@ -47,12 +69,12 @@ python3Packages.buildPythonApplication rec { urllib3 ]; - nativeBuildInputs = with python3Packages; [ setuptools ]; + build-system = with python.pkgs; [ setuptools ]; pythonRelaxDeps = [ "urllib3" ]; nativeCheckInputs = - with python3Packages; + with python.pkgs; [ pyfakefs pytest-check From b969054329041914713d30cf0f8bf74190d3b60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 08:07:51 -0700 Subject: [PATCH 14/18] snapcraft: do catch conflicts --- pkgs/by-name/sn/snapcraft/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/sn/snapcraft/package.nix b/pkgs/by-name/sn/snapcraft/package.nix index 073a4e4f32b1..396d81826841 100644 --- a/pkgs/by-name/sn/snapcraft/package.nix +++ b/pkgs/by-name/sn/snapcraft/package.nix @@ -13,6 +13,7 @@ let python = python3.override { packageOverrides = self: super: { + pydantic = self.pydantic_1; pydantic-yaml = super.pydantic-yaml.overridePythonAttrs (old: rec { version = "0.11.2"; src = fetchFromGitHub { @@ -29,6 +30,10 @@ let types-deprecated ]; }); + versioningit = super.versioningit.overridePythonAttrs (old: rec { + # incompatible with pydantic_1 + doCheck = false; + }); }; }; in @@ -38,11 +43,6 @@ python.pkgs.buildPythonApplication rec { pyproject = true; - # Somewhere deep in the dependency tree is 'versioningit', which depends - # on pydantic 2. Snapcraft will soon migrate to pydantic 2, and disabling - # this doesn't seem to affect the functionality of the application. - catchConflicts = false; - src = fetchFromGitHub { owner = "canonical"; repo = "snapcraft"; From 2e5a44fb24dadb84d4d9079f16743addaf75ba09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 08:34:10 -0700 Subject: [PATCH 15/18] charmcraft: add setuptools to dependencies --- pkgs/by-name/ch/charmcraft/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ch/charmcraft/package.nix b/pkgs/by-name/ch/charmcraft/package.nix index 2b0fa27da1b7..78f48f85a7c4 100644 --- a/pkgs/by-name/ch/charmcraft/package.nix +++ b/pkgs/by-name/ch/charmcraft/package.nix @@ -45,6 +45,7 @@ python.pkgs.buildPythonApplication rec { substituteInPlace setup.py \ --replace-fail 'version=determine_version()' 'version="${version}"' + # TODO remove setuptools from dependencies once this is removed substituteInPlace charmcraft/env.py \ --replace-fail "distutils.util" "setuptools.dist" ''; @@ -64,6 +65,7 @@ python.pkgs.buildPythonApplication rec { requests requests-toolbelt requests-unixsocket + setuptools # see substituteInPlace above snap-helpers tabulate urllib3 From c6aca4138323618e85f79de75fc3d53240a1a676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 09:18:18 -0700 Subject: [PATCH 16/18] python312Packages.spdx-lookup: use pyproject=true --- pkgs/development/python-modules/spdx-lookup/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/spdx-lookup/default.nix b/pkgs/development/python-modules/spdx-lookup/default.nix index 5da39999ace3..420ce4c68976 100644 --- a/pkgs/development/python-modules/spdx-lookup/default.nix +++ b/pkgs/development/python-modules/spdx-lookup/default.nix @@ -3,12 +3,14 @@ fetchFromGitHub, buildPythonPackage, nix-update-script, + setuptools, spdx, }: buildPythonPackage rec { pname = "spdx-lookup"; version = "0.3.2"; + pyproject = true; src = fetchFromGitHub { owner = "bbqsrc"; @@ -17,10 +19,15 @@ buildPythonPackage rec { hash = "sha256-jtzhqRAj1BWdU8AuR7Gr343mL5alLXhi+SyCkCI5AAU="; }; - propagatedBuildInputs = [ spdx ]; + build-system = [ setuptools ]; + + dependencies = [ spdx ]; pythonImportsCheck = [ "spdx_lookup" ]; + # upstream has no tests + doCheck = false; + passthru.updateScript = nix-update-script { }; meta = { From 7106b2bf4a0ccd11cfbe3dec3b2a065d527125e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 09:21:42 -0700 Subject: [PATCH 17/18] python312Packages.spdx: use pyproject=true --- pkgs/development/python-modules/spdx/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/python-modules/spdx/default.nix b/pkgs/development/python-modules/spdx/default.nix index 0f8b434c2b74..a99ee507936b 100644 --- a/pkgs/development/python-modules/spdx/default.nix +++ b/pkgs/development/python-modules/spdx/default.nix @@ -3,11 +3,13 @@ fetchFromGitHub, buildPythonPackage, nix-update-script, + setuptools, }: buildPythonPackage rec { pname = "spdx"; version = "2.5"; + pyproject = true; src = fetchFromGitHub { owner = "bbqsrc"; @@ -16,8 +18,13 @@ buildPythonPackage rec { hash = "sha256-lfTgAX4Wl01xrvLA12ZUqjah7ZiLafMAU+yNNdVkRk0="; }; + build-system = [ setuptools ]; + pythonImportsCheck = [ "spdx" ]; + # upstream has no tests + doCheck = false; + passthru.updateScript = nix-update-script { }; meta = { From 33019e7ea94a6781d717c09e2b82ad0a13161ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Wed, 24 Jul 2024 09:33:09 -0700 Subject: [PATCH 18/18] python312Packages.launchpadlib: modernize --- .../python-modules/launchpadlib/default.nix | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/pkgs/development/python-modules/launchpadlib/default.nix b/pkgs/development/python-modules/launchpadlib/default.nix index 797c3a399a73..da58622e2684 100644 --- a/pkgs/development/python-modules/launchpadlib/default.nix +++ b/pkgs/development/python-modules/launchpadlib/default.nix @@ -2,47 +2,43 @@ lib, buildPythonPackage, fetchPypi, - isPy3k, httplib2, - keyring_24, lazr-restfulclient, lazr-uri, setuptools, six, testresources, - wadllib, pytestCheckHook, }: buildPythonPackage rec { pname = "launchpadlib"; version = "2.0.0"; - format = "pyproject"; + pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-XUqQlekXc6dWXUwVlZSuMOynkv1fm4ne1FnXEUhKlss="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ httplib2 - keyring_24 lazr-restfulclient lazr-uri - setuptools six - testresources - wadllib ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + testresources + ]; preCheck = '' export HOME=$TMPDIR ''; - doCheck = isPy3k; - pythonImportsCheck = [ "launchpadlib" "launchpadlib.apps"