X-Git-Url: http://git.scottworley.com/pinch/blobdiff_plain/d06918bc9c80208be1f75162021bfe308b9a0161..19bbf70b0acfb4526d7b62c27b51873127104b6a:/default.nix diff --git a/default.nix b/default.nix index b3fc3a5..2db319a 100644 --- a/default.nix +++ b/default.nix @@ -1,32 +1,78 @@ -{ pkgs ? import { }, lint ? false }: +{ + pkgs ? import { }, + lint ? false, +}: let - git-cache-fallback = { buildPythonPackage, fetchgit, git, mypy, }: + git-cache-fallback = + { + buildPythonPackage, + setuptools, + fetchgit, + git, + backoff, + mypy, + }: buildPythonPackage rec { pname = "git-cache"; - version = "1.0.0"; + 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 = "06mzjc424988n2s1h25x2bi3mxbk2pnba31zkjljgw4cgw2p9036"; + hash = "sha256-g4TS/zX3e29Q3ThsCAX2wLLlYbi8fdux5uqAc+b/Oww="; }; - checkInputs = [ git mypy ]; + pyproject = true; + build-system = [ setuptools ]; + propagatedBuildInputs = [ backoff ]; + nativeCheckInputs = [ + git + mypy + ]; doCheck = true; checkPhase = "./test.sh"; }; -in pkgs.python3Packages.callPackage -({ lib, buildPythonPackage, nix, git, autopep8, mypy, pylint, git-cache, }: - buildPythonPackage rec { - pname = "pinch"; - version = "3.0.0-pre"; - src = lib.cleanSource ./.; - propagatedBuildInputs = [ git-cache ]; - checkInputs = [ nix git mypy ] ++ lib.optionals lint [ autopep8 pylint ]; - doCheck = true; - checkPhase = "./test.sh"; - }) { +in +pkgs.python3Packages.callPackage + ( + { + lib, + buildPythonPackage, + setuptools, + nix, + git, + autopep8, + mypy, + pylint, + git-cache, + }: + buildPythonPackage rec { + pname = "pinch"; + version = (builtins.fromTOML (lib.fileContents ./version.py)).pinch_version; + src = lib.cleanSource ./.; + pyproject = true; + build-system = [ setuptools ]; + propagatedBuildInputs = [ git-cache ]; + nativeCheckInputs = [ + 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 { }); + pkgs.python3Packages.git-cache or (pkgs.python3Packages.callPackage git-cache-fallback { }); }