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