1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 pythonOlder,
6 git,
7 gnupg,
8 fetchFromGitHub,
9 pytestCheckHook,
10}:
11
12buildPythonPackage rec {
13 pname = "git-revise";
14 version = "0.7.0-unstable-2025-01-28";
15 format = "setuptools";
16
17 # Missing tests on PyPI
18 src = fetchFromGitHub {
19 owner = "mystor";
20 repo = pname;
21 rev = "189c9fe150e5587def75c51709246c47c93e3b4d";
22 hash = "sha256-bqhRV0WtWRUKkBG2tEvctxdoYRkcrpL4JZSHYzox8so=";
23 };
24
25 disabled = pythonOlder "3.8";
26
27 nativeCheckInputs =
28 [
29 git
30 pytestCheckHook
31 ]
32 ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
33 gnupg
34 ];
35
36 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
37 # `gpg: agent_genkey failed: No agent running`
38 "test_gpgsign"
39 ];
40
41 meta = with lib; {
42 description = "Efficiently update, split, and rearrange git commits";
43 homepage = "https://github.com/mystor/git-revise";
44 changelog = "https://github.com/mystor/git-revise/blob/${version}/CHANGELOG.md";
45 license = licenses.mit;
46 mainProgram = "git-revise";
47 maintainers = with maintainers; [ _9999years ];
48 };
49}