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}