-self: super: {
- pinch = if builtins.hasAttr "pinch" super then
- super.pinch
- else
- super.writeShellScriptBin "pinch" ''
- exec ${self.python3}/bin/python3 ${
- super.fetchgit {
+self: super:
+let
+
+ # Pending upstream inclusion in https://github.com/NixOS/nixpkgs/pull/93377
+ fallback-backoff = self.python3Packages.callPackage ({ 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 ];
+ }) { };
+
+ fallback-git-cache = self.python3Packages.callPackage
+ ({ buildPythonPackage, fetchgit, git, backoff, mypy, }:
+ buildPythonPackage rec {
+ pname = "git-cache";
+ version = "1.3.0";
+ src = fetchgit {
+ url = "https://scottworley.com/git-cache.git";
+ rev = "v${version}";
+ sha256 = "sha256-0HbtnS98im0sd2JIdUePBcspUskL2DY8ylQdyEC2sS0=";
+ };
+ propagatedBuildInputs = [ backoff ];
+ checkInputs = [ git mypy ];
+ doCheck = true;
+ checkPhase = "./test.sh";
+ }) { backoff = self.python3Packages.backoff or fallback-backoff; };
+
+ fallback-pinch = self.python3Packages.callPackage
+ ({ buildPythonPackage, fetchgit, nix, git, mypy, git-cache, }:
+ buildPythonPackage rec {
+ pname = "pinch";
+ version = "3.0.2";
+ src = fetchgit {
url = "https://scottworley.com/pinch.git";
- rev = "1.1";
- sha256 = "0ilbhvr0d83kfwkm7ak64gik44gi2axfnp9rzsa7g5cwz9qaxdbv";
- }
- }/pinch.py "$@"
- '';
-}
+ rev = "v${version}";
+ sha256 = "sha256-bO0kMuaw/hkmDD1b8mkCDx0FAM6NIeUxvc+fOhHUXcs=";
+ };
+ propagatedBuildInputs = [ git-cache ];
+ checkInputs = [ nix git mypy ];
+ doCheck = true;
+ checkPhase = "./test.sh";
+ }) { git-cache = self.python3Packages.git-cache or fallback-git-cache; };
+
+in { pinch = super.pinch or fallback-pinch; }