]> git.scottworley.com Git - pinch/blame - default.nix
Don't require experimental-features=nix-command in system nix.conf
[pinch] / default.nix
CommitLineData
420bd8c9 1{ pkgs ? import <nixpkgs> { }, lint ? false }:
d06918bc
SW
2
3let
f9bfb2d0
SW
4
5 # Remove after https://github.com/NixOS/nixpkgs/pull/93377 reaches stable
6 backoff-fallback = { lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook
7 , poetry, pytest-asyncio, }:
8 buildPythonPackage rec {
9 pname = "backoff";
10 version = "1.10.0";
11 src = fetchFromGitHub {
12 owner = "litl";
13 repo = pname;
14 rev = "v${version}";
15 sha256 = "1jj0l6pjx747d2yyvnzd3qbm4qr73sq6cc56dhvd8wqfbp5279x0";
16 };
17 format = "pyproject";
18 nativeBuildInputs = [ poetry ];
19 checkInputs = [ pytestCheckHook pytest-asyncio ];
20 };
21
22 git-cache-fallback = { buildPythonPackage, fetchgit, git, backoff, mypy, }:
d06918bc
SW
23 buildPythonPackage rec {
24 pname = "git-cache";
f9bfb2d0 25 version = "1.2.1";
d06918bc
SW
26 src = fetchgit {
27 url = "https://scottworley.com/git-cache.git";
28 rev = "v${version}";
f9bfb2d0 29 sha256 = "16yh75176pnbzf48ak7q8lpfpr6digi130i5drxs6k2y9nf7g1jz";
d06918bc 30 };
f9bfb2d0 31 propagatedBuildInputs = [ backoff ];
d06918bc
SW
32 checkInputs = [ git mypy ];
33 doCheck = true;
34 checkPhase = "./test.sh";
35 };
36
37in pkgs.python3Packages.callPackage
38({ lib, buildPythonPackage, nix, git, autopep8, mypy, pylint, git-cache, }:
b5964ec3
SW
39 buildPythonPackage rec {
40 pname = "pinch";
448c7a49 41 version = "3.0.2-pre";
b5964ec3 42 src = lib.cleanSource ./.;
d06918bc 43 propagatedBuildInputs = [ git-cache ];
420bd8c9 44 checkInputs = [ nix git mypy ] ++ lib.optionals lint [ autopep8 pylint ];
b5964ec3
SW
45 doCheck = true;
46 checkPhase = "./test.sh";
d06918bc
SW
47 }) {
48 git-cache =
49 pkgs.python3Packages.git-cache or (pkgs.python3Packages.callPackage
f9bfb2d0
SW
50 git-cache-fallback {
51 backoff =
52 pkgs.python3Packages.backoff or (pkgs.python3Packages.callPackage
53 backoff-fallback { });
54 });
d06918bc 55 }