From d968ef32364c0f2c7098b8ab880182fe13da0460 Mon Sep 17 00:00:00 2001 From: PerchunPak Date: Fri, 24 Jan 2025 14:27:25 +0100 Subject: [PATCH] python3Packages.nixpkgs-updaters-library: init at 1.0.2 --- .../nixpkgs-updaters-library/default.nix | 81 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 83 insertions(+) create mode 100644 pkgs/development/python-modules/nixpkgs-updaters-library/default.nix diff --git a/pkgs/development/python-modules/nixpkgs-updaters-library/default.nix b/pkgs/development/python-modules/nixpkgs-updaters-library/default.nix new file mode 100644 index 000000000000..358c69181139 --- /dev/null +++ b/pkgs/development/python-modules/nixpkgs-updaters-library/default.nix @@ -0,0 +1,81 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + + # build-system + hatchling, + + # dependencies + aiohttp, + attrs, + frozendict, + inject, + loguru, + nix, + nix-prefetch-git, + nonbloat-db, + nurl, + platformdirs, + typer, + + # tests + pytestCheckHook, + aioresponses, + pytest-asyncio, + pytest-cov-stub, + pytest-mock, +}: +buildPythonPackage rec { + pname = "nixpkgs-updaters-library"; + version = "1.0.2"; + pyproject = true; + + disabled = pythonOlder "3.12"; + + src = fetchFromGitHub { + owner = "PerchunPak"; + repo = "nixpkgs-updaters-library"; + tag = "v${version}"; + hash = "sha256-SzGbsHy3Pwpr92512y/R3JLtC01jAveFavRGOYyr81U="; + }; + + postPatch = '' + substituteInPlace nupd/executables.py \ + --replace-fail '"nurl"' '"${lib.getExe nurl}"' \ + --replace-fail '"nix-prefetch-url"' '"${lib.getExe' nix "nix-prefetch-git"}"' \ + --replace-fail '"nix-prefetch-git"' '"${lib.getExe' nix-prefetch-git "nix-prefetch-git"}"' + ''; + + build-system = [ hatchling ]; + + dependencies = [ + aiohttp + attrs + frozendict + inject + loguru + nonbloat-db + platformdirs + typer + nix-prefetch-git + nurl + ]; + + nativeCheckInputs = [ + aioresponses + pytest-asyncio + pytest-cov-stub + pytest-mock + pytestCheckHook + ]; + + meta = { + description = "Boilerplate-less updater library for Nixpkgs ecosystems"; + homepage = "https://github.com/PerchunPak/nixpkgs-updaters-library"; + changelog = "https://github.com/PerchunPak/nixpkgs-updaters-library/blob/v${version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ perchun ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 667a32a00945..556a1dacc485 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9385,6 +9385,8 @@ self: super: with self; { nixpkgs-pytools = callPackage ../development/python-modules/nixpkgs-pytools { }; + nixpkgs-updaters-library = callPackage ../development/python-modules/nixpkgs-updaters-library { }; + nix-prefetch-github = callPackage ../development/python-modules/nix-prefetch-github { }; nkdfu = callPackage ../development/python-modules/nkdfu { };