From 434ff94e73ac8a16e69f2893d7d5365d6a92bbd4 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Tue, 4 Feb 2020 13:55:36 +0100 Subject: [PATCH] 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 --- .../version-management/pijul/default.nix | 9 +++++++++ .../version-management/pijul/thrussh-build-fix.patch | 12 ++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/applications/version-management/pijul/thrussh-build-fix.patch diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix index 3c5539189252..32222c12c7cc 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 000000000000..3989639620bf --- /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(()) + }