-{ pkgs ? import <nixpkgs> { }, lint ? false }:
+{
+ pkgs ? import <nixpkgs> { },
+ lint ? false,
+}:
let
+ checkInputsAreNative = pkgs.lib.hasInfix "nativeCheckInputs" (
+ builtins.readFile <nixpkgs/doc/stdenv/stdenv.chapter.md>
+ );
+ checkInputsName = if checkInputsAreNative then "nativeCheckInputs" else "checkInputs";
- # Remove after https://github.com/NixOS/nixpkgs/pull/93377 reaches stable
- backoff-fallback = { lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook
- , poetry, pytest-asyncio, }:
- buildPythonPackage rec {
- pname = "backoff";
- version = "1.10.0";
- src = fetchFromGitHub {
- owner = "litl";
- repo = pname;
- rev = "v${version}";
- sha256 = "1jj0l6pjx747d2yyvnzd3qbm4qr73sq6cc56dhvd8wqfbp5279x0";
- };
- format = "pyproject";
- nativeBuildInputs = [ poetry ];
- checkInputs = [ pytestCheckHook pytest-asyncio ];
- };
-
- git-cache-fallback = { buildPythonPackage, fetchgit, git, backoff, mypy, }:
+ git-cache-fallback =
+ {
+ buildPythonPackage,
+ setuptools,
+ fetchgit,
+ git,
+ backoff,
+ mypy,
+ }:
buildPythonPackage rec {
pname = "git-cache";
- version = "1.2.1";
+ version = "1.5.0";
src = fetchgit {
- url = "https://scottworley.com/git-cache.git";
+ url = "https://git.scottworley.com/pub/git/git-cache";
rev = "v${version}";
- sha256 = "16yh75176pnbzf48ak7q8lpfpr6digi130i5drxs6k2y9nf7g1jz";
+ hash = "sha256-g4TS/zX3e29Q3ThsCAX2wLLlYbi8fdux5uqAc+b/Oww=";
};
+ pyproject = true;
+ build-system = [ setuptools ];
propagatedBuildInputs = [ backoff ];
- checkInputs = [ git mypy ];
+ "${checkInputsName}" = [
+ git
+ mypy
+ ];
doCheck = true;
checkPhase = "./test.sh";
};
-in pkgs.python3Packages.callPackage ({ lib, buildPythonPackage, nix, git
- , autopep8, makeWrapper, mypy, pylint, git-cache, }:
- buildPythonPackage rec {
- pname = "pinch";
- version = "3.0.4-pre";
- src = lib.cleanSource ./.;
- buildInputs = [ makeWrapper ];
- propagatedBuildInputs = [ git-cache ];
- checkInputs = [ nix git mypy ] ++ lib.optionals lint [ autopep8 pylint ];
- postInstall = ''
- wrapProgram "$out/bin/pinch" --prefix PATH : ${nix}/bin
- '';
- doCheck = true;
- checkPhase = "./test.sh";
- }) {
+in
+pkgs.python3Packages.callPackage
+ (
+ {
+ lib,
+ buildPythonPackage,
+ setuptools,
+ nix,
+ git,
+ autopep8,
+ mypy,
+ pylint,
+ git-cache,
+ }:
+ buildPythonPackage rec {
+ pname = "pinch";
+ version = "3.3.2";
+ src = lib.cleanSource ./.;
+ pyproject = true;
+ build-system = [ setuptools ];
+ propagatedBuildInputs = [ git-cache ];
+ "${checkInputsName}" = [
+ nix
+ git
+ mypy
+ ]
+ ++ lib.optionals lint [
+ autopep8
+ pylint
+ ];
+ doCheck = true;
+ checkPhase = "./test.sh";
+ meta = {
+ description = "A replacement for `nix-channel --update`";
+ homepage = "https://git.scottworley.com/pinch";
+ license = pkgs.lib.licenses.gpl3;
+ maintainers = with pkgs.lib.maintainers; [ chkno ];
+ };
+ }
+ )
+ {
git-cache =
- pkgs.python3Packages.git-cache or (pkgs.python3Packages.callPackage
- git-cache-fallback {
- backoff =
- pkgs.python3Packages.backoff or (pkgs.python3Packages.callPackage
- backoff-fallback { });
- });
+ pkgs.python3Packages.git-cache or (pkgs.python3Packages.callPackage git-cache-fallback { });
}