nixpkgs/pkgs/tools/package-management/apkg/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

50 lines
1.5 KiB
Nix

{ lib, fetchFromGitLab, python3Packages
, gitMinimal, rpm, dpkg, fakeroot
}:
python3Packages.buildPythonApplication rec {
pname = "apkg";
version = "0.4.0";
src = fetchFromGitLab {
domain = "gitlab.nic.cz";
owner = "packaging";
repo = pname;
rev = "v${version}";
sha256 = "duZz2Kwjgek5pMJTDH8gMZAZ13uFwaIYT5E1brW7I7U=";
};
propagatedBuildInputs = with python3Packages; [
# copy&pasted requirements.txt (almost exactly)
beautifulsoup4 # upstream version detection
blessings # terminal colors
build # apkg distribution
cached-property # @cached_property for python <= 3.7
click # nice CLI framework
distro # current distro detection
jinja2 # templating
packaging # version parsing
requests # HTTP for humans™
setuptools # required by minver
toml # config files
];
makeWrapperArgs = [ # deps for `srcpkg` operation for other distros; could be optional
"--prefix" "PATH" ":" (lib.makeBinPath [ gitMinimal rpm dpkg fakeroot ])
];
nativeCheckInputs = with python3Packages; [ pytest ];
checkPhase = ''
runHook preCheck
py.test # inspiration: .gitlab-ci.yml
runHook postCheck
'';
meta = with lib; {
description = "Upstream packaging automation tool";
homepage = "https://pkg.labs.nic.cz/pages/apkg";
license = licenses.gpl3Plus;
maintainers = [ maintainers.vcunat /* close to upstream */ ];
};
}