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/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-bug/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-stree/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix19
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/thicket/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/topgit/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-triage/Gemfile3
-rw-r--r--pkgs/applications/version-management/gitlab-triage/Gemfile.lock35
-rw-r--r--pkgs/applications/version-management/gitlab-triage/default.nix14
-rw-r--r--pkgs/applications/version-management/gitlab-triage/gemset.nix118
-rw-r--r--pkgs/applications/version-management/meld/default.nix1
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix10
-rw-r--r--pkgs/applications/version-management/pijul/default.nix80
-rw-r--r--pkgs/applications/version-management/pijul/thrussh-build-fix.patch12
19 files changed, 236 insertions, 99 deletions
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 114e8fe012c..f68a3c7728d 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -198,7 +198,7 @@ let
   gitstatus = callPackage ./gitstatus { };
 
   gitui = callPackage ./gitui {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security AppKit;
   };
 
   grv = callPackage ./grv { };
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 4fe805f752c..767e471f8a3 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "17hbgi1jh4p07r4p5mr7w7p01i6zzr28mn5i4jaki7p0jwfqbvvi";
+    sha256 = "1lk3lhw598v966c553a3j0bp6vhf03xg7ggv827vzs1s8gnhxshz";
   };
 
-  vendorSha256 = "0ybbwbw4vdsxdq4w75s1i0dqad844sfgs69b3vlscwfm6g3i9h51";
+  vendorSha256 = "0bkd2ndda6w8pdpvw8hhlb60g8r6gbyymgfb69dvanw5i5shsp5q";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -30,9 +30,8 @@ buildGoModule rec {
     done
   '';
 
-  checkPhase = ''
-    make test
-  '';
+  # fails with `unable to find git executable in PATH`
+  doCheck = false;
 
   meta = with lib; {
     description = "GitHub CLI tool";
diff --git a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
index 44eba8c4b39..7c345639e9f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-bug/default.nix
@@ -24,7 +24,7 @@ buildGoModule rec {
   '';
 
   postInstall = ''
-    install -D -m 0644 misc/bash_completion/git-bug "$out/etc/bash_completion.d/git-bug"
+    install -D -m 0644 misc/bash_completion/git-bug "$out/share/bash-completion/completions/git-bug"
     install -D -m 0644 misc/zsh_completion/git-bug "$out/share/zsh/site-functions/git-bug"
     install -D -m 0644 -t "$out/share/man/man1" doc/man/*
   '';
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 858383f9664..fa77b5307a3 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -5,13 +5,13 @@ let
 
 in buildPythonApplication rec {
   pname = "git-cola";
-  version = "3.5";
+  version = "3.8";
 
   src = fetchFromGitHub {
     owner = "git-cola";
     repo = "git-cola";
     rev = "v${version}";
-    sha256 = "09b60jbpdr4czx7h4vqahqmmi7m9vn77jlkpjfhys7crrdnxjp9i";
+    sha256 = "1qxv2k8lxcxpqx46ka7f042xk90xns5w9lc4009cxmsqvcdba03a";
   };
 
   buildInputs = [ git gettext ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
index dc636571acc..aa53529933f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-stree/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
   };
 
   installPhase = ''
-    mkdir -p $out/bin $out/etc/bash_completion.d
+    mkdir -p $out/bin $out/share/bash-completion/completions
     install -m 0755 git-stree $out/bin/
-    install -m 0644 git-stree-completion.bash $out/etc/bash_completion.d/
+    install -m 0644 git-stree-completion.bash $out/share/bash-completion/completions/
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 49dc7866dbd..b7e4f3e6c48 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -2,7 +2,7 @@
 , curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
-, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
+, asciidoctor, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xsl_ns, docbook_xml_dtd_45
 , libxslt, tcl, tk, makeWrapper, libiconv
 , svnSupport, subversionClient, perlLibs, smtpPerlLibs
 , perlSupport ? true
@@ -22,7 +22,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.29.0";
+  version = "2.29.2";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "KEMtmVJXxGJv4PsgkfWI327tmOlXFBnnLIO8Izcua4k=";
+    sha256 = "1h87yv117ypnc0yi86941089c14n91gixk8b6shj2y35prp47z7j";
   };
 
   outputs = [ "out" ] ++ stdenv.lib.optional withManual "doc";
@@ -65,8 +65,8 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ gettext perlPackages.perl ]
-    ++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
-         docbook_xsl docbook_xml_dtd_45 libxslt ];
+    ++ stdenv.lib.optionals withManual [ asciidoctor texinfo xmlto docbook2x
+         docbook_xsl docbook_xsl_ns docbook_xml_dtd_45 libxslt ];
   buildInputs = [curl openssl zlib expat cpio makeWrapper libiconv]
     ++ stdenv.lib.optionals perlSupport [ perlPackages.perl ]
     ++ stdenv.lib.optionals guiSupport [tcl tk]
@@ -145,7 +145,7 @@ stdenv.mkDerivation {
       }
 
       # Install git-subtree.
-      make -C contrib/subtree install ${stdenv.lib.optionalString withManual "install-doc"}
+      make -C contrib/subtree install ${stdenv.lib.optionalString withManual "USE_ASCIIDOCTOR=1 install-doc"}
       rm -rf contrib/subtree
 
       # Install contrib stuff.
@@ -153,8 +153,8 @@ stdenv.mkDerivation {
       cp -a contrib $out/share/git/
       mkdir -p $out/share/bash-completion/completions
       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/git
-      mkdir -p $out/etc/bash_completion.d
-      ln -s $out/share/git/contrib/completion/git-prompt.sh $out/etc/bash_completion.d/
+      mkdir -p $out/share/bash-completion/completions
+      ln -s $out/share/git/contrib/completion/git-prompt.sh $out/share/bash-completion/completions/
 
       # grep is a runtime dependency, need to patch so that it's found
       substituteInPlace $out/libexec/git-core/git-sh-setup \
@@ -230,7 +230,7 @@ stdenv.mkDerivation {
       '')
 
    + stdenv.lib.optionalString withManual ''# Install man pages and Info manual
-       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html install-info \
+       make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES USE_ASCIIDOCTOR=1 PERL_PATH="${buildPackages.perl}/bin/perl" cmd-list.made install install-html install-info \
          -C Documentation ''
 
    + (if guiSupport then ''
@@ -249,6 +249,7 @@ stdenv.mkDerivation {
      '')
    + stdenv.lib.optionalString stdenv.isDarwin ''
     # enable git-credential-osxkeychain by default if darwin
+    mkdir -p $out/etc
     cat > $out/etc/gitconfig << EOF
     [credential]
       helper = osxkeychain
diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index 6aad5b78fb6..21e382a44bc 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, rustPlatform, fetchFromGitHub, libiconv, xorg, python3, Security }:
+{ stdenv, rustPlatform, fetchFromGitHub, libiconv, xorg, python3, Security, AppKit }:
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
   version = "0.10.1";
@@ -15,12 +15,12 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ python3 ];
   buildInputs = [ ]
     ++ stdenv.lib.optional stdenv.isLinux xorg.libxcb
-    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ];
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Security AppKit ];
 
   meta = with stdenv.lib; {
     description = "Blazing fast terminal-ui for git written in rust";
     homepage = "https://github.com/extrawurst/gitui";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 yanganto ];
+    maintainers = with maintainers; [ Br1ght0ne yanganto ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/thicket/default.nix b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
index 4a02baa465c..3abfd3a3139 100644
--- a/pkgs/applications/version-management/git-and-tools/thicket/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/thicket/default.nix
@@ -29,6 +29,6 @@ in crystal.buildCrystalPackage rec {
     description = "A better one-line git log";
     homepage = "https://github.com/taylorthurlow/thicket";
     license = licenses.mit;
-    maintainers = with maintainers; [ filalex77 ];
+    maintainers = with maintainers; [ Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/topgit/default.nix b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
index 0da0cfa02b6..9577b56b6c7 100644
--- a/pkgs/applications/version-management/git-and-tools/topgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/topgit/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ perl git ];
 
   postInstall = ''
-    install -Dm644 README -t"$out/share/doc/${pname}-${version}/"
-    install -Dm755 contrib/tg-completion.bash -t "$out/etc/bash_completion.d/"
+    install -Dm644 README -t "$out/share/doc/${pname}-${version}/"
+    install -Dm755 contrib/tg-completion.bash -t "$out/share/bash-completion/completions/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 7c86318abac..29c8fac962b 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.12.5";
+  version = "1.12.6";
 
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "03p4nn7xklqr43h4d98qvv2xc14ly7mbb90njnxljj64yh7svw4n";
+    sha256 = "sha256-mEhtFcWLUhd+WK8wDhrGr6RvL4X2G42W6su/c8zxGR4=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index 827d9539dba..8b93bf2176a 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gitkraken";
-  version = "7.3.2";
+  version = "7.4.0";
 
   src = fetchzip {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
-    sha256 = "0bw75m87qbnnn1gjphik3xcjx2zwczsa37rpr16la1zjhqjl5m7j";
+    sha256 = "0ih0jxdm74vr4dgslhnl3llvi31zin0g2xjw6a4pdji2y2kajkzk";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/version-management/gitlab-triage/Gemfile b/pkgs/applications/version-management/gitlab-triage/Gemfile
new file mode 100644
index 00000000000..7549ada6405
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/Gemfile
@@ -0,0 +1,3 @@
+source 'https://rubygems.org' do
+  gem 'gitlab-triage'
+end
diff --git a/pkgs/applications/version-management/gitlab-triage/Gemfile.lock b/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
new file mode 100644
index 00000000000..adec5b524f3
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/Gemfile.lock
@@ -0,0 +1,35 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activesupport (5.2.4.4)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+    concurrent-ruby (1.1.7)
+    gitlab-triage (1.13.0)
+      activesupport (~> 5.1)
+      httparty (~> 0.17)
+    httparty (0.18.1)
+      mime-types (~> 3.0)
+      multi_xml (>= 0.5.2)
+    i18n (1.8.5)
+      concurrent-ruby (~> 1.0)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2020.0512)
+    minitest (5.14.2)
+    multi_xml (0.6.0)
+    thread_safe (0.3.6)
+    tzinfo (1.2.7)
+      thread_safe (~> 0.1)
+
+PLATFORMS
+  ruby
+  x86_64-linux
+
+DEPENDENCIES
+  gitlab-triage!
+
+BUNDLED WITH
+   2.1.4
diff --git a/pkgs/applications/version-management/gitlab-triage/default.nix b/pkgs/applications/version-management/gitlab-triage/default.nix
new file mode 100644
index 00000000000..09dfbcbc368
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/default.nix
@@ -0,0 +1,14 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "gitlab-triage";
+  gemdir = ./.;
+  exes = [ "gitlab-triage" ];
+
+  meta = with lib; {
+    description = "GitLab's issues and merge requests triage, automated!";
+    homepage = "https://gitlab.com/gitlab-org/gitlab-triage";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/version-management/gitlab-triage/gemset.nix b/pkgs/applications/version-management/gitlab-triage/gemset.nix
new file mode 100644
index 00000000000..1ce8450bba1
--- /dev/null
+++ b/pkgs/applications/version-management/gitlab-triage/gemset.nix
@@ -0,0 +1,118 @@
+{
+  activesupport = {
+    dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0dpnk20s754fz6jfz9sp3ri49hn46ksw4hf6ycnlw7s3hsdxqgcd";
+      type = "gem";
+    };
+    version = "5.2.4.4";
+  };
+  concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1vnxrbhi7cq3p4y2v9iwd10v1c7l15is4var14hwnb2jip4fyjzz";
+      type = "gem";
+    };
+    version = "1.1.7";
+  };
+  gitlab-triage = {
+    dependencies = ["activesupport" "httparty"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11sas3h3n638gni1mysck1ahyakqnl8gg6g21pc3krs6jrg9qxj9";
+      type = "gem";
+    };
+    version = "1.13.0";
+  };
+  httparty = {
+    dependencies = ["mime-types" "multi_xml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17gpnbf2a7xkvsy20jig3ljvx8hl5520rqm9pffj2jrliq1yi3w7";
+      type = "gem";
+    };
+    version = "0.18.1";
+  };
+  i18n = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "153sx77p16vawrs4qpkv7qlzf9v5fks4g7xqcj1dwk40i6g7rfzk";
+      type = "gem";
+    };
+    version = "1.8.5";
+  };
+  mime-types = {
+    dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      type = "gem";
+    };
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
+      type = "gem";
+    };
+    version = "3.2020.0512";
+  };
+  minitest = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "170y2cvx51gm3cm3nhdf7j36sxnkh6vv8ls36p90ric7w8w16h4v";
+      type = "gem";
+    };
+    version = "5.14.2";
+  };
+  multi_xml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lmd4f401mvravi1i1yq7b2qjjli0yq7dfc4p1nj5nwajp7r6hyj";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  thread_safe = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy";
+      type = "gem";
+    };
+    version = "0.3.6";
+  };
+  tzinfo = {
+    dependencies = ["thread_safe"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1i3jh086w1kbdj3k5l60lc3nwbanmzdf8yjj3mlrx9b2gjjxhi9r";
+      type = "gem";
+    };
+    version = "1.2.7";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 07af9341646..5068dc15f48 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
     desktop-file-utils
     gobject-introspection
     wrapGAppsHook
+    gtk3 # for gtk-update-icon-cache
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index c7a1c414987..e0400fd46c6 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -4,26 +4,24 @@
 }:
 
 let
-  inherit (python3Packages) docutils dulwich python;
+  inherit (python3Packages) docutils python;
 
 in python3Packages.buildPythonApplication rec {
   pname = "mercurial";
-  version = "5.4.2";
+  version = "5.6";
 
   src = fetchurl {
     url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-    sha256 = "0ls8nwx3nz26pibphw54fg8pxqb365zmmqx95lqrxqqyf3d972sw";
+    sha256 = "1hk2y30zzdnlv8f71kabvh0xi9c7qhp28ksh20vpd0r712sv79yz";
   };
 
   format = "other";
 
-  inherit python; # pass it so that the same version can be used in hg2git
+  passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
 
   buildInputs = [ makeWrapper docutils unzip ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices ];
 
-  propagatedBuildInputs = [ dulwich ];
-
   makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = (stdenv.lib.optionalString guiSupport ''
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index b17e759c657..43890c92039 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -1,64 +1,44 @@
-{ stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }:
-
-let
-  # nettle-sys=1.0.1 requires the des-compat.h header, but it was removed in
-  # nettle 3.5.  See https://nest.pijul.com/pijul_org/pijul/discussions/416
-  # Remove with the next release
-  nettle_34 = nettle.overrideAttrs (_oldAttrs: rec {
-    version = "3.4.1";
-    src = fetchurl {
-      url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
-      sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr";
-    };
-  });
-in rustPlatform.buildRustPackage rec {
+{ stdenv
+, fetchCrate
+, rustPlatform
+, pkg-config
+, clang
+, libclang
+, libsodium
+, openssl
+, xxHash
+, zstd
+, darwin
+, gitImportSupport ? true
+, libgit2 ? null
+}:
+
+rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "0.12.0";
+  version = "1.0.0-alpha.3";
 
-  src = fetchurl {
-    url = "https://pijul.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q";
+  src = fetchCrate {
+    inherit version pname;
+    sha256 = "0bz38vvzjrplb2mgcypg2p4kq33v6m58yivg15s2ghr7ly9k5ybx";
   };
 
-  cargoSha256 = "0rf8qmgzgyl718yznbskzafyg963ygibjmqncd93zdandgl9nj5v";
-
-  # N.B. The cargo depfile checker expects us to have unpacked the src tarball
-  # into the standard dirname "source".
-  cargoDepsHook = ''
-    ln -s ${pname}-${version} source
-  '';
-
-  # TODO: Delete once pijul fixes upstream:
-  # https://nest.pijul.com/pijul_org/pijul/discussions/447
-  postPatch = ''
-    pushd ../${pname}-${version}-vendor.tar.gz/thrussh/
-    patch -p1 < ${./thrussh-build-fix.patch}
-    substituteInPlace .cargo-checksum.json --replace \
-      9696ed2422a483cd8de48ac241178a0441be6636909c76174c536b8b1cba9d45 \
-      a199f2bba520d56e11607b77be4dde0cfae576c90badb9fbd39af4784e8120d1
-    popd
-  '';
-
-  nativeBuildInputs = [ pkgconfig clang ];
-
-  postInstall = ''
-    mkdir -p $out/share/{bash-completion/completions,zsh/site-functions,fish/vendor_completions.d}
-    $out/bin/pijul generate-completions --bash > $out/share/bash-completion/completions/pijul
-    $out/bin/pijul generate-completions --zsh > $out/share/zsh/site-functions/_pijul
-    $out/bin/pijul generate-completions --fish > $out/share/fish/vendor_completions.d/pijul.fish
-  '';
-
-  LIBCLANG_PATH = libclang + "/lib";
+  cargoSha256 = "0p9djvdjzyjzsn3fyw6f74fix39s3y92246cgzcqhc1qlwwz67rl";
 
-  buildInputs = [ openssl libsodium nettle_34 libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
-    (with darwin.apple_sdk.frameworks; [ CoreServices Security ]);
+  cargoBuildFlags = stdenv.lib.optional gitImportSupport "--features=git";
+  LIBCLANG_PATH = "${libclang}/lib";
 
   doCheck = false;
+  nativeBuildInputs = [ pkg-config clang ];
+  buildInputs = [ openssl libclang libsodium xxHash zstd ]
+    ++ (stdenv.lib.optionals gitImportSupport [ libgit2 ])
+    ++ (stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+      CoreServices Security SystemConfiguration
+    ]));
 
   meta = with stdenv.lib; {
     description = "A distributed version control system";
     homepage = "https://pijul.org";
     license = with licenses; [ gpl2Plus ];
-    maintainers = [ maintainers.gal_bolle ];
+    maintainers = with maintainers; [ gal_bolle dywedir ];
   };
 }
diff --git a/pkgs/applications/version-management/pijul/thrussh-build-fix.patch b/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
deleted file mode 100644
index 3989639620b..00000000000
--- a/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/client/connection.rs	2020-02-04 12:48:43.845299096 +0100
-+++ b/src/client/connection.rs	2020-02-04 12:50:00.140329310 +0100
-@@ -546,8 +546,8 @@
-                 &[msg::NEWKEYS],
-                 &mut session.0.write_buffer,
-             );
--            session.0.kex = Some(Kex::NewKeys(newkeys));
-             newkeys.sent = true;
-+            session.0.kex = Some(Kex::NewKeys(newkeys));
-         }
-         Ok(())
-     }