about summary refs log tree commit diff
path: root/pkgs/applications/version-management
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management')
-rw-r--r--pkgs/applications/version-management/blackbox/default.nix6
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix4
-rw-r--r--pkgs/applications/version-management/cvs-fast-export/default.nix4
-rw-r--r--pkgs/applications/version-management/degit/default.nix26
-rw-r--r--pkgs/applications/version-management/git-branchless/default.nix7
-rw-r--r--pkgs/applications/version-management/git-mit/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-pages/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitnr/default.nix49
-rw-r--r--pkgs/applications/version-management/gitoxide/default.nix6
-rw-r--r--pkgs/applications/version-management/gitui/default.nix16
-rw-r--r--pkgs/applications/version-management/got/default.nix6
-rw-r--r--pkgs/applications/version-management/stgit/0001-fix-use-canonical-Message-ID-spelling.patch249
-rw-r--r--pkgs/applications/version-management/stgit/default.nix32
-rw-r--r--pkgs/applications/version-management/transcrypt/default.nix14
-rw-r--r--pkgs/applications/version-management/transcrypt/helper-scripts_depspathprefix.patch37
18 files changed, 141 insertions, 343 deletions
diff --git a/pkgs/applications/version-management/blackbox/default.nix b/pkgs/applications/version-management/blackbox/default.nix
index 2b4b09fd2500..bee8da850b70 100644
--- a/pkgs/applications/version-management/blackbox/default.nix
+++ b/pkgs/applications/version-management/blackbox/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "blackbox";
-  version = "2.0.0";
+  version = "1.20220610";
 
   src = fetchFromGitHub {
     owner = "stackexchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1plwdmzds6dq2rlp84dgiashrfg0kg4yijhnxaapz2q4d1vvx8lq";
+    hash = "sha256-g0oNV7Nj7ZMmsVQFVTDwbKtF4a/Fb3WDB+NRx9IGSWA=";
   };
 
   buildInputs = [ gnupg ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       --replace "PREFIX?=/usr/local" "PREFIX=$out"
 
     substituteInPlace tools/confidence_test.sh \
-      --replace 'PATH="''${blackbox_home}:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin:/usr/pkg/bin:/usr/pkg/gnu/bin:''${blackbox_home}"' \
+      --replace 'PATH="''${blackbox_home}:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/local/bin:/usr/pkg/bin:/usr/pkg/gnu/bin:/usr/local/MacGPG2/bin:/opt/homebrew/bin:''${blackbox_home}"' \
         "PATH=/build/source/bin/:$PATH"
   '';
 
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index 7cdcc5bf812b..1db75b0d2d4e 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -8,14 +8,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "commitizen";
-  version = "3.5.2";
+  version = "3.7.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "commitizen-tools";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4m3NCnGUX9lHCk6czwzxXLqf8GLi2u2A/crBZYTyplA=";
+    hash = "sha256-KfPIGQ4kIjV/Vuza5wdzp0R62LUluJQ5tY6I8BPFmGk=";
   };
 
   pythonRelaxDeps = [
diff --git a/pkgs/applications/version-management/cvs-fast-export/default.nix b/pkgs/applications/version-management/cvs-fast-export/default.nix
index e853d4134dd9..d6727d327ce5 100644
--- a/pkgs/applications/version-management/cvs-fast-export/default.nix
+++ b/pkgs/applications/version-management/cvs-fast-export/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cvs-fast-export";
-  version = "1.60";
+  version = "1.61";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/cvs-fast-export/cvs-fast-export-${version}.tar.gz";
-    sha256 = "sha256-QLMBYX2n27rcaa9Uisrr2VItgtTPv5ZWbOc5tK1VF8w=";
+    sha256 = "sha256-4iH8VKxVliVZKwZ40rGMb3fH1nxTBdMT5IcBzdp1mjw=";
   };
 
   strictDeps = true;
diff --git a/pkgs/applications/version-management/degit/default.nix b/pkgs/applications/version-management/degit/default.nix
new file mode 100644
index 000000000000..af586da3496a
--- /dev/null
+++ b/pkgs/applications/version-management/degit/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+}:
+
+buildNpmPackage rec {
+  pname = "degit";
+  version = "2.8.4";
+
+  src = fetchFromGitHub {
+    owner = "Rich-Harris";
+    repo = "degit";
+    rev = "v${version}";
+    hash = "sha256-Vw/gtmKywi5faSCs7Wek80nmnqcPHXlQarD5qMwlsQE=";
+  };
+
+  npmDepsHash = "sha256-42cM31C2c1Gr7HWOowMUTEUEyL0mGnyl5fyQECcz1Sw=";
+
+  meta = {
+    changelog = "https://github.com/Rich-Harris/degit/blob/${src.rev}/CHANGELOG.md";
+    description = "Make copies of git repositories";
+    homepage = "https://github.com/Rich-Harris/degit";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ kidonng ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-branchless/default.nix b/pkgs/applications/version-management/git-branchless/default.nix
index a1d94748e798..6bcfb0a6cdc7 100644
--- a/pkgs/applications/version-management/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-branchless/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-9kyC9Uwmc2WNHgfKpnS3v8vNF2o+168ULWqE+2eX1cE=";
+    hash = "sha256-ev56NzrEF7xm3WmR2a0pHPs69Lvmb4He7+kIBYiJjKY=";
   };
 
-  cargoHash = "sha256-k+Jx5PcA8TaFQQDYqZ6dTy8bwNtYeALF75ucoFjVGUc=";
+  cargoHash = "sha256-Ppw5TN/6zMNxFAx90Q9hQ7RdGxV+TT8UlOm68ldK8oc=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -52,6 +52,7 @@ rustPlatform.buildRustPackage rec {
     description = "A suite of tools to help you visualize, navigate, manipulate, and repair your commit history";
     homepage = "https://github.com/arxanas/git-branchless";
     license = licenses.gpl2Only;
+    mainProgram = "git-branchless";
     maintainers = with maintainers; [ msfjarvis nh2 hmenke ];
   };
 }
diff --git a/pkgs/applications/version-management/git-mit/default.nix b/pkgs/applications/version-management/git-mit/default.nix
index 4c96bc13b44c..16110a69bb41 100644
--- a/pkgs/applications/version-management/git-mit/default.nix
+++ b/pkgs/applications/version-management/git-mit/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "5.12.146";
+  version = "5.12.147";
 in
 rustPlatform.buildRustPackage {
   pname = "git-mit";
@@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
     owner = "PurpleBooth";
     repo = "git-mit";
     rev = "v${version}";
-    hash = "sha256-VN1TbK9wi5Nt2K3yKx2lYSP30zSpwNETQ4OyHj8zxBg=";
+    hash = "sha256-TaYuxyezegPZPWlkYcZk+YhmHqQ/P1nO5D5JC3LN8bo=";
   };
 
-  cargoHash = "sha256-YtUuRLjmehG+5kUiCo4LK0PkKAckr28UahlrAjm9MYw=";
+  cargoHash = "sha256-9oqw2rIAhdo5G2GsW7rwHMymgFASKE7OrVqO2ewfG2g=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index ea2d40f9234c..5394b6b9c3f1 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,15 +1,15 @@
 {
-  "version": "16.1.3",
-  "repo_hash": "sha256-PI0nmwfk8uu74NJkavbbJR9/jDN9SS0Z9Axe4UmT2kk=",
+  "version": "16.1.4",
+  "repo_hash": "sha256-GVUQBAuLBajKXpZOxaP+QnAVj32XTYDtTfInNFQRRCY=",
   "yarn_hash": "0wykn0vq16n8mz4jfh7dfyp9javzhqlfwmc5i1zm07gld91nirlm",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v16.1.3-ee",
+  "rev": "v16.1.4-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "16.1.3",
-    "GITLAB_PAGES_VERSION": "16.1.3",
+    "GITALY_SERVER_VERSION": "16.1.4",
+    "GITLAB_PAGES_VERSION": "16.1.4",
     "GITLAB_SHELL_VERSION": "14.23.0",
     "GITLAB_ELASTICSEARCH_INDEXER_VERSION": "4.3.5",
-    "GITLAB_WORKHORSE_VERSION": "16.1.3"
+    "GITLAB_WORKHORSE_VERSION": "16.1.4"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 2d35d06dc8a5..c93677d0e4d5 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -13,7 +13,7 @@
 }:
 
 let
-  version = "16.1.3";
+  version = "16.1.4";
   package_version = "v${lib.versions.major version}";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
 
@@ -24,7 +24,7 @@ let
       owner = "gitlab-org";
       repo = "gitaly";
       rev = "v${version}";
-      sha256 = "sha256-g9K1dFcrUkWJInPrwg9fz/TEK35GrjqFpUS2bnemwLQ=";
+      sha256 = "sha256-BgupN+fhUxhvMvqmrJTpLt1gPTHC3SO3HTb1ezJokYQ=";
     };
 
     vendorSha256 = "sha256-6oOFQGPwiMRQrESXsQsGzvWz9bCb0VTYIyyG/C2b3nA=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
index 7fcc652056bf..3f513f23fe8a 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-pages/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "16.1.3";
+  version = "16.1.4";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-FSdew0HMbgEAzVoDhINDIQQs8Q63AHu8mu/dKo+wP9k=";
+    sha256 = "sha256-9hqPeyabnAzmgj8rtmSgPG4QCnnSKc9wpAyFFa3uZpY=";
   };
 
   vendorHash = "sha256-SN4r9hcTTQUr3miv2Cm7iBryyh7yG1xx9lCvq3vQwc0=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 9b19ec2aec61..2e8e8321f224 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "16.1.3";
+  version = "16.1.4";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitnr/default.nix b/pkgs/applications/version-management/gitnr/default.nix
new file mode 100644
index 000000000000..b0fd434d448c
--- /dev/null
+++ b/pkgs/applications/version-management/gitnr/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, libxkbcommon
+, openssl
+, stdenv
+, darwin
+, wayland
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gitnr";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "reemus-dev";
+    repo = "gitnr";
+    rev = "v${version}";
+    hash = "sha256-5HZT/e53e2dUMFnT+4a5GJk3JqJu5+62yxrsnNfSqD8=";
+  };
+
+  cargoHash = "sha256-rO8qHa+GI76s5CN52aMa58W8ERuTWQtQ96jpLbXKzOs=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.AppKit
+  ] ++ lib.optionals stdenv.isLinux [
+    libxkbcommon
+    wayland
+  ];
+
+  # requires internet access
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Create `.gitignore` files using one or more templates from TopTal, GitHub or your own collection";
+    homepage = "https://github.com/reemus-dev/gitnr";
+    changelog = "https://github.com/reemus-dev/gitnr/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+    mainProgram = "gitnr";
+  };
+}
diff --git a/pkgs/applications/version-management/gitoxide/default.nix b/pkgs/applications/version-management/gitoxide/default.nix
index 3863962fc51d..21f4d870894e 100644
--- a/pkgs/applications/version-management/gitoxide/default.nix
+++ b/pkgs/applications/version-management/gitoxide/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitoxide";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "Byron";
     repo = "gitoxide";
     rev = "v${version}";
-    hash = "sha256-7iJx7kE606jeaokROmOSoh0egCQUgYwvg8BAA3y1BGs=";
+    hash = "sha256-Ry5QvOoj4iSQZr1O+Y6qSHzhmm77nbkLjCcdPOhxR18=";
   };
 
-  cargoHash = "sha256-zChqIA/KuS1aBs/g1tlymGvvJeljKMMCODijPhQYy40=";
+  cargoHash = "sha256-WZctsAxGojrGufF8CwUiw1xWzn9qVZUphDE3KmGTGy4=";
 
   nativeBuildInputs = [ cmake pkg-config ];
 
diff --git a/pkgs/applications/version-management/gitui/default.nix b/pkgs/applications/version-management/gitui/default.nix
index 2686463da296..2cc262cb12c5 100644
--- a/pkgs/applications/version-management/gitui/default.nix
+++ b/pkgs/applications/version-management/gitui/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.23.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-Mz4/Q1EmTg3vXIYbIdr5MtemGrBSkvBBwcfz+McEaJ8=";
+    hash = "sha256-FcOpLCLoeY+uZA+IMWNxUUbu9yieNVqPl4iiV8BDpTE=";
   };
 
-  cargoHash = "sha256-hsu3WQfqMnD5frJP6wDcexG7HafXmzs5ZIGePGOBRVs=";
+  cargoHash = "sha256-UvMtA+2inMLBjQA+17nozI/VrU1NR0A7eym1VyjYoAg=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -37,11 +37,19 @@ rustPlatform.buildRustPackage rec {
   # environment: delete them.
   postPatch = "rm .cargo/config";
 
+
+  # Getting app_config_path fails with a permission denied
+  checkFlags = [
+    "--skip=keys::key_config::tests::test_symbolic_links"
+  ];
+
+
   meta = with lib; {
     description = "Blazing fast terminal-ui for Git written in Rust";
     homepage = "https://github.com/extrawurst/gitui";
     changelog = "https://github.com/extrawurst/gitui/blob/${version}/CHANGELOG.md";
+    mainProgram = "gitui";
     license = licenses.mit;
-    maintainers = with maintainers; [ Br1ght0ne yanganto ];
+    maintainers = with maintainers; [ Br1ght0ne yanganto mfrw ];
   };
 }
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index e3bf938303f5..ddbf9153ce84 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.91";
+  version = "0.92";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    hash = "sha256-ebFetQhgEBjy3aq3TfK9veeevbmSAEv9kaUohsnsrlU=";
+    hash = "sha256-HaNCxgbl0ewvI96jr9/BgJphqoQC5P2atj5a51bj99c=";
   };
 
   nativeBuildInputs = [ pkg-config bison ]
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
   ++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
 
+  configureFlags = [ "--enable-gotd" ];
+
   preConfigure = lib.optionalString stdenv.isDarwin ''
     # The configure script assumes dependencies on Darwin are install via
     # Homebrew or MacPorts and hardcodes assumptions about the paths of
diff --git a/pkgs/applications/version-management/stgit/0001-fix-use-canonical-Message-ID-spelling.patch b/pkgs/applications/version-management/stgit/0001-fix-use-canonical-Message-ID-spelling.patch
deleted file mode 100644
index 71cab8fc283e..000000000000
--- a/pkgs/applications/version-management/stgit/0001-fix-use-canonical-Message-ID-spelling.patch
+++ /dev/null
@@ -1,249 +0,0 @@
-From c500ebe5a51da4eecba0c88d9a335e7a659e7ecb Mon Sep 17 00:00:00 2001
-From: Peter Grayson <pete@jpgrayson.net>
-Date: Sun, 18 Jun 2023 15:00:19 -0400
-Subject: fix: use canonical Message-ID spelling
-
-This change aligns with a change in git 2.41.0 to consistently spell
-"Message-ID" instead of "Message-Id".
-
-The test suite is updated to accommodate both spellings, since such headers
-are case insensitive.
----
- Documentation/stg.txt   |  2 +-
- completion/stgit.zsh    |  2 +-
- src/cmd/email/format.rs |  2 +-
- src/cmd/email/send.rs   |  2 +-
- src/cmd/import.rs       |  6 +++---
- t/t1800-import.sh       |  2 +-
- t/t1801-import-email.sh | 32 ++++++++++++++++----------------
- 7 files changed, 24 insertions(+), 24 deletions(-)
-
-diff --git a/Documentation/stg.txt b/Documentation/stg.txt
-index fb4c08fb..20b75ce2 100644
---- a/Documentation/stg.txt
-+++ b/Documentation/stg.txt
-@@ -302,7 +302,7 @@ N.B. Set 'commit.gpgsign' to determine whether patch commits themselves are GPG
- See linkgit:git-config[1] for more information about 'commit.gpgsign'.
-
- stgit.import.message-id::
--  When set to 'true', create 'Message-Id:' trailer in the patch description of patches
-+  When set to 'true', create 'Message-ID:' trailer in the patch description of patches
-   imported from email using linkstg:import[].
-
- stgit.keepoptimized::
-diff --git a/completion/stgit.zsh b/completion/stgit.zsh
-index 797d9044..de818242 100644
---- a/completion/stgit.zsh
-+++ b/completion/stgit.zsh
-@@ -717,7 +717,7 @@ _stg-import() {
-         '--replace[replace unapplied patches in series]'
-         '--reject[leave rejected hunks in .rej files]'
-         '--keep-cr[do not remove CR from email lines ending with CRLF]'
--        '--message-id[create Message-Id trailer from email header]'
-+        '--message-id[create Message-ID trailer from email header]'
-         '(-d --showdiff)'{-d,--showdiff}'[show patch content in editor buffer]'
-         ':file:_files'
-         + '(source)'
-diff --git a/src/cmd/email/format.rs b/src/cmd/email/format.rs
-index f385b48a..b30af9c0 100644
---- a/src/cmd/email/format.rs
-+++ b/src/cmd/email/format.rs
-@@ -323,7 +323,7 @@ fn message_options() -> Vec<Arg> {
-             .long_help(
-                 "Controls addition of `In-Reply-To` and `References` headers to make \
-                  the second and subsequent mails appear as replies to the first. Also \
--                 controls generation of the `Message-Id` header to reference.\n\
-+                 controls generation of the `Message-ID` header to reference.\n\
-                  \n\
-                  The optional <style> argument can be either `shallow` or `deep`. \
-                  `shallow` threading makes every mail a reply to the head of the \
-diff --git a/src/cmd/email/send.rs b/src/cmd/email/send.rs
-index 6904956f..af75f4b3 100644
---- a/src/cmd/email/send.rs
-+++ b/src/cmd/email/send.rs
-@@ -194,7 +194,7 @@ fn compose_options() -> Vec<Arg> {
-             .help("Specify the \"In-Reply-To:\" identifier")
-             .long_help(
-                 "Make the first mail (or all the mails with '--no-thread') appear as a \
--                 reply to the given Message-Id, which avoids breaking threads to \
-+                 reply to the given Message-ID, which avoids breaking threads to \
-                  provide a new patch series. The second and subsequent emails will be \
-                  sent as replies according to the '--[no-]chain-reply-to' setting.\n\
-                  \n\
-diff --git a/src/cmd/import.rs b/src/cmd/import.rs
-index d5477df7..2835aefa 100644
---- a/src/cmd/import.rs
-+++ b/src/cmd/import.rs
-@@ -210,9 +210,9 @@ fn make() -> clap::Command {
-         .arg(
-             Arg::new("message-id")
-                 .long("message-id")
--                .help("Create Message-Id trailer from Message-ID header")
-+                .help("Create Message-ID trailer from Message-ID header")
-                 .long_help(
--                    "Create Message-Id trailer in patch description based on the \
-+                    "Create Message-ID trailer in patch description based on the \
-                     Message-ID email header. This option is applicable when importing \
-                     with '--mail' or '--mbox'. This behavior may also be enabled via \
-                     the \"stgit.import.message-id\" configuration option.",
-@@ -500,7 +500,7 @@ fn import_file<'repo>(
-         if message.len() > 1 && &message[message.len() - 2..] != b"\n\n" {
-             message.push(b'\n');
-         }
--        message.push_str("Message-Id: ");
-+        message.push_str("Message-ID: ");
-         message.push_str(message_id);
-         message.push(b'\n');
-     }
-diff --git a/t/t1800-import.sh b/t/t1800-import.sh
-index ecf0020c..229269bf 100755
---- a/t/t1800-import.sh
-+++ b/t/t1800-import.sh
-@@ -43,7 +43,7 @@ test_expect_success 'Import patch with email headers' '
-     cat >expected <<-\EOF &&
- 	body
-
--	Message-Id: abc123
-+	Message-ID: abc123
-
- 	EOF
-     test_cmp expected body &&
-diff --git a/t/t1801-import-email.sh b/t/t1801-import-email.sh
-index dbd3f7da..0559e076 100755
---- a/t/t1801-import-email.sh
-+++ b/t/t1801-import-email.sh
-@@ -17,7 +17,7 @@ test_expect_success 'Apply a patch from an 8bit-encoded e-mail' '
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 1 ] &&
-     stg delete ..
- '
-
-@@ -28,7 +28,7 @@ test_expect_success !MINGW,STG_IMPORT_URL 'Apply a patch from an 8bit-encoded e-
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -40,7 +40,7 @@ test_expect_success 'Apply a patch from an 8bit-encoded e-mail with CRLF endings
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -56,7 +56,7 @@ test_expect_success 'Apply e-mail with CRLF endings and --keep-cr' '
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -68,7 +68,7 @@ test_expect_success 'Apply a patch from latin1-encoded email specifying utf-8 ch
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -79,7 +79,7 @@ test_expect_success 'Apply a patch from email with quoted "From" header' '
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -90,7 +90,7 @@ test_expect_success 'Apply a patch from a QP-encoded e-mail' '
-     [ $(git cat-file -p $(stg id) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id) \
--        | grep -c "Message-Id: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111105814.23209.46952.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
-@@ -102,19 +102,19 @@ test_expect_success 'Apply several patches from an mbox file' '
-     [ $(git cat-file -p $(stg id change-1) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-1) \
--        | grep -c "Message-Id: <20061111114527.31778.12942.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.12942.stgit@localhost>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "tree e49dbce010ec7f441015a8c64bce0b99108af4cc") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
--        | grep -c "Message-Id: <20061111114527.31778.92851.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.92851.stgit@localhost>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "tree 166bbaf27a44aee21ba78c98822a741e6f7d78f5") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
--        | grep -c "Message-Id: <20061111114527.31778.45876.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.45876.stgit@localhost>") = 1 ] &&
-     stg delete ..
- '
-
-@@ -126,19 +126,19 @@ test_expect_success !MINGW,STG_IMPORT_URL 'Apply several patches from an mbox ur
-     [ $(git cat-file -p $(stg id change-1) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-1) \
--        | grep -c "Message-Id: <20061111114527.31778.12942.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.12942.stgit@localhost>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "tree e49dbce010ec7f441015a8c64bce0b99108af4cc") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
--        | grep -c "Message-Id: <20061111114527.31778.92851.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.92851.stgit@localhost>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "tree 166bbaf27a44aee21ba78c98822a741e6f7d78f5") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
--        | grep -c "Message-Id: <20061111114527.31778.45876.stgit@localhost>") = 1 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.45876.stgit@localhost>") = 1 ] &&
-     stg delete ..
- '
-
-@@ -156,19 +156,19 @@ test_expect_success 'Apply several patches from an mbox file from stdin' '
-     [ $(git cat-file -p $(stg id change-1) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-1) \
--        | grep -c "Message-Id: <20061111114527.31778.12942.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.12942.stgit@localhost>") = 0 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "tree e49dbce010ec7f441015a8c64bce0b99108af4cc") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-2) \
--        | grep -c "Message-Id: <20061111114527.31778.92851.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.92851.stgit@localhost>") = 0 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "tree 166bbaf27a44aee21ba78c98822a741e6f7d78f5") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
-         | grep -c "author Inge Ström <inge@power.com>") = 1 ] &&
-     [ $(git cat-file -p $(stg id change-3-colon) \
--        | grep -c "Message-Id: <20061111114527.31778.45876.stgit@localhost>") = 0 ] &&
-+        | grep -c "Message-I[Dd]: <20061111114527.31778.45876.stgit@localhost>") = 0 ] &&
-     stg delete ..
- '
-
---
-2.40.1
-
diff --git a/pkgs/applications/version-management/stgit/default.nix b/pkgs/applications/version-management/stgit/default.nix
index 3012bf47057e..12450fc440d8 100644
--- a/pkgs/applications/version-management/stgit/default.nix
+++ b/pkgs/applications/version-management/stgit/default.nix
@@ -13,19 +13,20 @@
 , git
 , perl
 , darwin
+, libiconv
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "stgit";
-  version = "2.3.0";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "stacked-git";
     repo = "stgit";
     rev = "v${version}";
-    sha256 = "sha256-pGGLY/Hu62dT3KP9GH9YmPg6hePDoPdijJtmap5gpEA=";
+    hash = "sha256-rQNX54zmVHZKplEUNaKyVtCrC8Q4DdxLzNSStiYvDGA=";
   };
-  cargoHash = "sha256-f0MQvCkFYR7ErbBDJ3n0r9ZetKfcWg9twhc4r4EpPS4=";
+  cargoHash = "sha256-ju8JQnohidBsydwwm6gNx1L24brmDWYXwNgfCl7G/aA=";
 
   nativeBuildInputs = [
     pkg-config installShellFiles makeWrapper asciidoc xmlto docbook_xsl
@@ -36,12 +37,7 @@ rustPlatform.buildRustPackage rec {
   nativeCheckInputs = [
     git perl
   ] ++ lib.optionals stdenv.isDarwin [
-    darwin.system_cmds darwin.libiconv
-  ];
-
-  patches = [
-    # Fixes tests, can be removed when stgit 2.3.1 is released
-    ./0001-fix-use-canonical-Message-ID-spelling.patch
+    darwin.system_cmds libiconv
   ];
 
   postPatch = ''
@@ -58,24 +54,22 @@ rustPlatform.buildRustPackage rec {
                 ${docbook_xml_dtd_45}/xml/dtd/docbook/docbookx.dtd
   '';
 
-  makeFlags = lib.strings.concatStringsSep " " [
+  makeFlags = [
     "prefix=${placeholder "out"}"
-    "MAN_BASE_URL=${placeholder "out"}/share/man"
     "XMLTO_EXTRA=--skip-validation"
     "PERL_PATH=${perl}/bin/perl"
   ];
 
-  buildPhase = ''
-    make all ${makeFlags}
-  '';
+  dontCargoBuild = true;
+  buildFlags = [ "all" ];
 
-  checkPhase = ''
-    make test ${makeFlags}
-  '';
+  dontCargoCheck = true;
+  checkTarget = "test";
 
-  installPhase = ''
-    make install install-man install-html ${makeFlags}
+  dontCargoInstall = true;
+  installTargets = [ "install" "install-man" "install-html" ];
 
+  postInstall = ''
     wrapProgram $out/bin/stg --prefix PATH : ${lib.makeBinPath [ git ]}
 
     installShellCompletion --cmd stg \
diff --git a/pkgs/applications/version-management/transcrypt/default.nix b/pkgs/applications/version-management/transcrypt/default.nix
index 3225744abc57..5000037b0c8a 100644
--- a/pkgs/applications/version-management/transcrypt/default.nix
+++ b/pkgs/applications/version-management/transcrypt/default.nix
@@ -1,21 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, git, makeWrapper, openssl, coreutils, util-linux, gnugrep, gnused, gawk }:
+{ lib, stdenv, fetchFromGitHub, git, makeWrapper, openssl, coreutils, util-linux, gnugrep, gnused, gawk, testers, transcrypt }:
 
 stdenv.mkDerivation rec {
   pname = "transcrypt";
-  version = "1.1.0";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "elasticdog";
     repo = "transcrypt";
     rev = "v${version}";
-    sha256 = "1dkr69plk16wllk5bzlkchrzw63pk239dgbjhrb3mb61i065jdam";
+    sha256 = "+B8CYHDneDd0GwiTwQK6YVScDMKao2JXFpGk9PY6/EE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ git openssl coreutils util-linux gnugrep gnused gawk ];
 
-  patches = [ ./helper-scripts_depspathprefix.patch ];
-
   installPhase = ''
     install -m 755 -D transcrypt $out/bin/transcrypt
     install -m 644 -D man/transcrypt.1 $out/share/man/man1/transcrypt.1
@@ -32,6 +30,12 @@ stdenv.mkDerivation rec {
     chmod +x $out/bin/transcrypt-depspathprefix
   '';
 
+  passthru.tests.version = testers.testVersion {
+    package = transcrypt;
+    command = "transcrypt --version";
+    version = "transcrypt ${version}";
+  };
+
   meta = with lib; {
     description = "Transparently encrypt files within a Git repository";
     longDescription = ''
diff --git a/pkgs/applications/version-management/transcrypt/helper-scripts_depspathprefix.patch b/pkgs/applications/version-management/transcrypt/helper-scripts_depspathprefix.patch
deleted file mode 100644
index 925aadab3dd5..000000000000
--- a/pkgs/applications/version-management/transcrypt/helper-scripts_depspathprefix.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/transcrypt b/transcrypt
-index a0b562d..7888f5d 100755
---- a/transcrypt
-+++ b/transcrypt
-@@ -278,6 +278,7 @@ save_helper_scripts() {
- 
- 	cat <<-'EOF' > "${GIT_DIR}/crypt/clean"
- 		#!/usr/bin/env bash
-+		PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH"
- 		filename=$1
- 		# ignore empty files
- 		if [[ -s $filename ]]; then
-@@ -300,6 +301,7 @@ save_helper_scripts() {
- 
- 	cat <<-'EOF' > "${GIT_DIR}/crypt/smudge"
- 		#!/usr/bin/env bash
-+		PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH"
- 		tempfile=$(mktemp 2> /dev/null || mktemp -t tmp)
- 		trap 'rm -f "$tempfile"' EXIT
- 		cipher=$(git config --get --local transcrypt.cipher)
-@@ -309,6 +311,7 @@ save_helper_scripts() {
- 
- 	cat <<-'EOF' > "${GIT_DIR}/crypt/textconv"
- 		#!/usr/bin/env bash
-+		PATH="$(transcrypt-depspathprefix 2>/dev/null)$PATH"
- 		filename=$1
- 		# ignore empty files
- 		if [[ -s $filename ]]; then
-@@ -351,7 +354,7 @@ save_configuration() {
- 	git config merge.renormalize 'true'
- 
- 	# add a git alias for listing encrypted files
--	git config alias.ls-crypt "!git ls-files | git check-attr --stdin filter | awk 'BEGIN { FS = \":\" }; /crypt$/{ print \$1 }'"
-+	git config alias.ls-crypt "!PATH=\"\$(transcrypt-depspathprefix 2>/dev/null)\$PATH\"; git ls-files | git check-attr --stdin filter | awk 'BEGIN { FS = \":\" }; /crypt$/{ print \$1 }'"
- }
- 
- # display the current configuration settings