diff --git a/pkgs/development/python-modules/git-filter-repo/default.nix b/pkgs/development/python-modules/git-filter-repo/default.nix new file mode 100644 index 000000000000..ac0ee8038582 --- /dev/null +++ b/pkgs/development/python-modules/git-filter-repo/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pythonOlder +, setuptools-scm +}: + +buildPythonPackage rec { + pname = "git-filter-repo"; + version = "2.33.0"; + format = "setuptools"; + + disabled = pythonOlder "3.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "1nxfd5yv8ri7w5pzxclxs0yd317nsdcwvw87ancmdkh69xvx1f2f"; + }; + + nativeBuildInputs = [ + setuptools-scm + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "git_filter_repo" + ]; + + meta = with lib; { + description = "Quickly rewrite git repository history"; + homepage = "https://github.com/newren/git-filter-repo"; + license = with licenses; [ mit /* or */ gpl2Plus ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/tools/git-privacy/default.nix b/pkgs/development/tools/git-privacy/default.nix new file mode 100644 index 000000000000..c17654174382 --- /dev/null +++ b/pkgs/development/tools/git-privacy/default.nix @@ -0,0 +1,49 @@ +{ lib +, fetchFromGitHub +, git +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "git-privacy"; + version = "2.1.0"; + format = "setuptools"; + + disabled = python3.pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "EMPRI-DEVOPS"; + repo = pname; + rev = "v${version}"; + sha256 = "0hfy43fip1l81672xfwqrz1jryzkjy7h9f2lyikxgibibil0p444"; + }; + + propagatedBuildInputs = with python3.pkgs; [ + click + git-filter-repo + GitPython + pynacl + setuptools + ]; + + checkInputs = with python3.pkgs; [ + git + pytestCheckHook + ]; + + disabledTests = [ + # Tests want to interact with a git repo + "TestGitPrivacy" + ]; + + pythonImportsCheck = [ + "gitprivacy" + ]; + + meta = with lib; { + description = "Tool to redact Git author and committer dates"; + homepage = "https://github.com/EMPRI-DEVOPS/git-privacy"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16d44fc60128..496788f6e53e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1666,6 +1666,8 @@ with pkgs; git-fire = callPackage ../tools/misc/git-fire { }; + git-privacy = callPackage ../development/tools/git-privacy { }; + git-repo-updater = python3Packages.callPackage ../development/tools/git-repo-updater { }; git-revise = with python3Packages; toPythonApplication git-revise; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 31d442227442..ccf8056dbdbe 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3025,6 +3025,8 @@ in { git-annex-adapter = callPackage ../development/python-modules/git-annex-adapter { }; + git-filter-repo = callPackage ../development/python-modules/git-filter-repo { }; + gitdb = callPackage ../development/python-modules/gitdb { }; github3_py = callPackage ../development/python-modules/github3_py { };