diff --git a/pkgs/development/python-modules/pbs-installer/default.nix b/pkgs/development/python-modules/pbs-installer/default.nix new file mode 100644 index 000000000000..ab892b5260e7 --- /dev/null +++ b/pkgs/development/python-modules/pbs-installer/default.nix @@ -0,0 +1,50 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pdm-backend +, httpx +, zstandard +}: + +buildPythonPackage rec { + pname = "pbs-installer"; + version = "2024.4.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "frostming"; + repo = "pbs-installer"; + rev = version; + hash = "sha256-0LuajPD/sM0LoyRoCkGJ9medUcWNEPqvY76GgK2rIac="; + }; + + build-system = [ + pdm-backend + ]; + + optional-dependencies = { + all = optional-dependencies.install ++ optional-dependencies.download; + download = [ + httpx + ]; + install = [ + zstandard + ]; + }; + + pythonImportsCheck = [ "pbs_installer" ]; + + # upstream has no test + doCheck = false; + + meta = with lib; { + description = "Installer for Python Build Standalone"; + homepage = "https://github.com/frostming/pbs-installer"; + changelog = "https://github.com/frostming/pbs-installer/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ ]; + }; +} diff --git a/pkgs/development/python-modules/unearth/default.nix b/pkgs/development/python-modules/unearth/default.nix index 60307ca4051d..0527e90f2636 100644 --- a/pkgs/development/python-modules/unearth/default.nix +++ b/pkgs/development/python-modules/unearth/default.nix @@ -2,12 +2,12 @@ , buildPythonPackage , fetchPypi , pythonOlder -, cached-property , packaging , pdm-backend -, requests +, httpx , flask , pytest-httpserver +, pytest-mock , pytestCheckHook , requests-wsgi-adapter , trustme @@ -15,23 +15,23 @@ buildPythonPackage rec { pname = "unearth"; - version = "0.14.0"; - format = "pyproject"; + version = "0.15.1"; + pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-883fuUrA+GX7z5ZCMVVu9xgwEDecALASBVF6UMeKGG0="; + hash = "sha256-hj3rMznA1lpb4NCtLGfUbV9XSnmOdO8FUr8R0pijCrs="; }; - nativeBuildInputs = [ + build-system = [ pdm-backend ]; - propagatedBuildInputs = [ + dependencies = [ packaging - requests + httpx ]; __darwinAllowLocalNetworking = true; @@ -39,6 +39,7 @@ buildPythonPackage rec { nativeCheckInputs = [ flask pytest-httpserver + pytest-mock pytestCheckHook requests-wsgi-adapter trustme diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix index 88ed0768b1d8..fd8539da9654 100644 --- a/pkgs/tools/package-management/pdm/default.nix +++ b/pkgs/tools/package-management/pdm/default.nix @@ -1,8 +1,6 @@ { lib -, stdenv , python3 , fetchFromGitHub -, fetchpatch , fetchPypi , nix-update-script , runtimeShell @@ -35,41 +33,46 @@ in with python.pkgs; buildPythonApplication rec { pname = "pdm"; - version = "2.12.4"; + version = "2.13.2"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-0Eh3Ni+Vz5/8HSw4uFH2k3BuSSiEDkiYauV22tV0FJY="; + hash = "sha256-4oK/HK8KCD/A+16JrW9518V5/1LHu1juhYfqPVu54Uo="; }; nativeBuildInputs = [ - pdm-backend installShellFiles ]; - propagatedBuildInputs = [ + build-system = [ + pdm-backend + ]; + + dependencies = [ blinker - certifi - cachecontrol dep-logic + filelock findpython + hishel + httpx installer + msgpack packaging + pbs-installer platformdirs pyproject-hooks python-dotenv - requests-toolbelt resolvelib rich shellingham tomlkit unearth virtualenv - ] - ++ cachecontrol.optional-dependencies.filecache + ] ++ httpx.optional-dependencies.socks + ++ pbs-installer.optional-dependencies.install ++ lib.optionals (pythonOlder "3.11") [ tomli ] @@ -100,7 +103,6 @@ buildPythonApplication rec { nativeCheckInputs = [ pytestCheckHook pytest-mock - pytest-rerunfailures pytest-xdist pytest-httpserver ] ++ lib.optional stdenv.isLinux first; @@ -120,7 +122,9 @@ buildPythonApplication rec { "test_convert_setup_py_project" # pythonfinder isn't aware of nix's python infrastructure "test_use_wrapper_python" - "test_use_invalid_wrapper_python" + + # touches the network + "test_find_candidates_from_find_links" ]; __darwinAllowLocalNetworking = true; @@ -134,7 +138,7 @@ buildPythonApplication rec { meta = with lib; { homepage = "https://pdm-project.org"; changelog = "https://github.com/pdm-project/pdm/releases/tag/${version}"; - description = "A modern Python package manager with PEP 582 support"; + description = "A modern Python package and dependency manager supporting the latest PEP standards"; license = licenses.mit; maintainers = with maintainers; [ cpcloud ]; mainProgram = "pdm"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ef9e4c34b621..a52fb2bc6cd0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9432,6 +9432,8 @@ self: super: with self; { pbr = callPackage ../development/python-modules/pbr { }; + pbs-installer = callPackage ../development/python-modules/pbs-installer { }; + pc-ble-driver-py = toPythonModule (callPackage ../development/python-modules/pc-ble-driver-py { }); pcapy-ng = callPackage ../development/python-modules/pcapy-ng {