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 = "git-revise";
21 rev = "189c9fe150e5587def75c51709246c47c93e3b4d";
22 hash = "sha256-bqhRV0WtWRUKkBG2tEvctxdoYRkcrpL4JZSHYzox8so=";
23 };
24
25 disabled = pythonOlder "3.8";
26
27 nativeCheckInputs = [
28 git
29 pytestCheckHook
30 ]
31 ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
32 gnupg
33 ];
34
35 disabledTests = lib.optionals stdenv.hostPlatform.isDarwin [
36 # `gpg: agent_genkey failed: No agent running`
37 "test_gpgsign"
38 ];
39
40 meta = with lib; {
41 description = "Efficiently update, split, and rearrange git commits";
42 homepage = "https://github.com/mystor/git-revise";
43 changelog = "https://github.com/mystor/git-revise/blob/${version}/CHANGELOG.md";
44 license = licenses.mit;
45 mainProgram = "git-revise";
46 maintainers = with maintainers; [ _9999years ];
47 };
48}