1{ lib
2, poetry-core
3, buildPythonPackage
4, fetchFromGitHub
5, pythonOlder
6, importlib-metadata
7, packaging
8, pytestCheckHook
9, setuptools
10, git
11}:
12
13buildPythonPackage rec {
14 pname = "dunamai";
15 version = "1.16.0";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "mtkennerly";
22 repo = "dunamai";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-pPUn+1rv76N/7WVDyWJLPVMweJ1Qbx6/P4zIKU06hSs=";
25 };
26
27 nativeBuildInputs = [
28 poetry-core
29 ];
30
31 propagatedBuildInputs = [
32 packaging
33 ] ++ lib.optionals (pythonOlder "3.8") [
34 importlib-metadata
35 ];
36
37 # needs to be able to run dunami from PATH
38 preCheck = ''
39 export PATH=$PATH:$out/bin
40 export HOME=$(mktemp -d)
41
42 git config --global user.email "nobody@example.com"
43 git config --global user.name "Nobody"
44 '';
45
46 nativeCheckInputs = [
47 git
48 pytestCheckHook
49 setuptools
50 ];
51
52 pythonImportsCheck = [
53 "dunamai"
54 ];
55
56 meta = with lib; {
57 description = "Dynamic version generation";
58 homepage = "https://github.com/mtkennerly/dunamai";
59 changelog = "https://github.com/mtkennerly/dunamai/blob/v${version}/CHANGELOG.md";
60 license = licenses.mit;
61 maintainers = with maintainers; [ jmgilman ];
62 };
63}