nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at 22.05 122 lines 3.3 kB view raw
1{ buildPythonApplication 2, colorama 3, decli 4, fetchFromGitHub 5, git 6, jinja2 7, lib 8, packaging 9, poetry 10, pytest-freezegun 11, pytest-mock 12, pytest-regressions 13, pytestCheckHook 14, pyyaml 15, questionary 16, termcolor 17, tomlkit 18, typing-extensions 19 20, argcomplete, fetchPypi 21}: 22 23let 24 # NOTE: Upstream requires argcomplete <2, so we make it here. 25 argcomplete_1 = argcomplete.overrideAttrs (old: rec { 26 version = "1.12.3"; 27 src = fetchPypi { 28 inherit (old) pname; 29 inherit version; 30 sha256 = "sha256-LH2//YwEXqU0kh5jsL5v5l6IWZmQ2NxAisjFQrcqVEU="; 31 }; 32 }); 33in 34 35buildPythonApplication rec { 36 pname = "commitizen"; 37 version = "2.21.2"; 38 39 src = fetchFromGitHub { 40 owner = "commitizen-tools"; 41 repo = pname; 42 rev = "v${version}"; 43 sha256 = "sha256-7S676bpSrlAqpbgDj9nAo0WjeitbbHoYc693MJm35Js="; 44 deepClone = true; 45 }; 46 47 format = "pyproject"; 48 49 nativeBuildInputs = [ poetry ]; 50 51 propagatedBuildInputs = [ 52 termcolor 53 questionary 54 colorama 55 decli 56 tomlkit 57 jinja2 58 pyyaml 59 argcomplete_1 60 typing-extensions 61 packaging 62 ]; 63 64 doCheck = true; 65 checkInputs = [ 66 pytestCheckHook 67 pytest-freezegun 68 pytest-mock 69 pytest-regressions 70 argcomplete_1 71 git 72 ]; 73 74 # NB: These require full git history 75 disabledTests = [ 76 "test_breaking_change_content_v1" 77 "test_breaking_change_content_v1_beta" 78 "test_breaking_change_content_v1_multiline" 79 "test_bump_command_prelease" 80 "test_bump_dry_run" 81 "test_bump_files_only" 82 "test_bump_local_version" 83 "test_bump_major_increment" 84 "test_bump_minor_increment" 85 "test_bump_on_git_with_hooks_no_verify_disabled" 86 "test_bump_on_git_with_hooks_no_verify_enabled" 87 "test_bump_patch_increment" 88 "test_bump_tag_exists_raises_exception" 89 "test_bump_when_bumpping_is_not_support" 90 "test_bump_when_version_inconsistent_in_version_files" 91 "test_bump_with_changelog_arg" 92 "test_bump_with_changelog_config" 93 "test_bump_with_changelog_to_stdout_arg" 94 "test_changelog_config_flag_increment" 95 "test_changelog_config_start_rev_option" 96 "test_changelog_from_start" 97 "test_changelog_from_version_zero_point_two" 98 "test_changelog_hook" 99 "test_changelog_incremental_angular_sample" 100 "test_changelog_incremental_keep_a_changelog_sample" 101 "test_changelog_incremental_keep_a_changelog_sample_with_annotated_tag" 102 "test_changelog_incremental_with_release_candidate_version" 103 "test_changelog_is_persisted_using_incremental" 104 "test_changelog_multiple_incremental_do_not_add_new_lines" 105 "test_changelog_replacing_unreleased_using_incremental" 106 "test_changelog_with_different_cz" 107 "test_get_commits" 108 "test_get_commits_author_and_email" 109 "test_get_commits_with_signature" 110 "test_get_latest_tag_name" 111 "test_is_staging_clean_when_updating_file" 112 "test_none_increment_should_not_call_git_tag_and_error_code_is_not_zero" 113 "test_prevent_prerelease_when_no_increment_detected" 114 ]; 115 116 meta = with lib; { 117 description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs"; 118 homepage = "https://github.com/commitizen-tools/commitizen"; 119 license = licenses.mit; 120 maintainers = with maintainers; [ lovesegfault ]; 121 }; 122}