summary refs log tree commit diff
path: root/pkgs/applications/version-management/pijul
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2020-02-04 13:55:36 +0100
committerMichael Weiss <dev.primeos@gmail.com>2020-02-04 14:05:02 +0100
commit434ff94e73ac8a16e69f2893d7d5365d6a92bbd4 (patch)
tree2d02820bfffdf25db1f989396652909e44fd642a /pkgs/applications/version-management/pijul
parent4d676594ac9cbfe5172a6997b2d653b31176dbb6 (diff)
downloadnixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar.gz
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar.bz2
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar.lz
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar.xz
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.tar.zst
nixpkgs-434ff94e73ac8a16e69f2893d7d5365d6a92bbd4.zip
pijul: Fix the build (broke due to a more recent Rust version)
This uses an upstream patch [0] to fix a compatibility error with a new
version of Rust. Fix #79150.

Unfortunately patching Rust dependencies in Nixpkgs turned out to be way
more hacky than I expected (maybe there is a nicer way?), but it should
be fine for now.

A new release might follow soonish [1] so that we can drop the patches.

References:
- https://nest.pijul.com/pijul_org/pijul/discussions/401
- https://nest.pijul.com/pijul_org/thrussh/discussions/31

[0]: https://nest.pijul.com/pijul_org/thrussh:master/patches/AsyuWkJg4jAwNaG3H1yv1kbECx5E3GQAtjzXWBDB8yEGMswyfKbxKvYmAGWCohTVaTipdvF8mHh63yU5PTr5F9py
[1]: https://discourse.pijul.org/t/is-this-project-still-active-yes-it-is/451
Diffstat (limited to 'pkgs/applications/version-management/pijul')
-rw-r--r--pkgs/applications/version-management/pijul/default.nix9
-rw-r--r--pkgs/applications/version-management/pijul/thrussh-build-fix.patch12
2 files changed, 21 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 3c553918925..32222c12c7c 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -20,6 +20,15 @@ in rustPlatform.buildRustPackage rec {
     sha256 = "1rm787kkh3ya8ix0rjvj7sbrg9armm0rnpkga6gjmsbg5bx20y4q";
   };
 
+  postPatch = ''
+    pushd ../${pname}-${version}-vendor/thrussh/
+    patch -p1 < ${./thrussh-build-fix.patch}
+    substituteInPlace .cargo-checksum.json --replace \
+      9696ed2422a483cd8de48ac241178a0441be6636909c76174c536b8b1cba9d45 \
+      a199f2bba520d56e11607b77be4dde0cfae576c90badb9fbd39af4784e8120d1
+    popd
+  '';
+
   nativeBuildInputs = [ pkgconfig clang ];
 
   postInstall = ''
diff --git a/pkgs/applications/version-management/pijul/thrussh-build-fix.patch b/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
new file mode 100644
index 00000000000..3989639620b
--- /dev/null
+++ b/pkgs/applications/version-management/pijul/thrussh-build-fix.patch
@@ -0,0 +1,12 @@
+--- 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(())
+     }