From 1f1c8079b32903a61a902d380bc310a5c63270e3 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 1 Oct 2018 17:14:26 -0500 Subject: [PATCH 1/4] lz4: 1.8.2 -> 1.8.3 (#47547) (cherry picked from commit 55b6cad5376186affaebc2d990515ad5f1cef1c1) --- pkgs/tools/compression/lz4/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix index 7e29ee2b856a..1cd4c30a3886 100644 --- a/pkgs/tools/compression/lz4/default.nix +++ b/pkgs/tools/compression/lz4/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "lz4-${version}"; - version = "1.8.2"; + version = "1.8.3"; src = fetchFromGitHub { - sha256 = "0xbjbjrvgzypk8dnldakir06gb8m946d064lxx0qc4ky6m8n9hn2"; + sha256 = "0lq00yi7alr9aip6dw0flykzi8yv7z43aay177n86spn9qms7s3g"; rev = "v${version}"; repo = "lz4"; owner = "lz4"; From 6f37fa7c99255d3e37359a88a43ea778b1f89e12 Mon Sep 17 00:00:00 2001 From: Edward Tate Date: Sun, 30 Sep 2018 16:03:35 +0200 Subject: [PATCH 2/4] buildRustPackage now correctly installs binaries to bin and libraries to lib. --- pkgs/build-support/rust/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 820989a76206..97ce91afc715 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -94,7 +94,9 @@ in stdenv.mkDerivation (args // { installPhase = args.installPhase or '' runHook preInstall mkdir -p $out/bin - find target/release -maxdepth 1 -executable -type f -exec cp "{}" $out/bin \; + mkdir -p $out/lib + find target/release -maxdepth 1 -type f -executable ! \( -name "*.so.*" -o -name "*.so" -o -name "*.a" -o -name "*.dylib" \) | xargs -r -n 1 cp -t $out/bin + find target/release -maxdepth 1 -name "*.so.*" -o -name "*.so" -o -name "*.a" -o -name "*.dylib" | xargs -r -n 1 cp -t $out/lib runHook postInstall ''; From f08cebd8d20c9b1c9563d628858dfa24edfb7b2e Mon Sep 17 00:00:00 2001 From: Edward Tate Date: Mon, 1 Oct 2018 12:02:34 +0200 Subject: [PATCH 3/4] Use regex instead of -name in find with -print0 and xargs -0. --- pkgs/build-support/rust/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 97ce91afc715..3dfd0a41d5d1 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -93,10 +93,11 @@ in stdenv.mkDerivation (args // { installPhase = args.installPhase or '' runHook preInstall - mkdir -p $out/bin - mkdir -p $out/lib - find target/release -maxdepth 1 -type f -executable ! \( -name "*.so.*" -o -name "*.so" -o -name "*.a" -o -name "*.dylib" \) | xargs -r -n 1 cp -t $out/bin - find target/release -maxdepth 1 -name "*.so.*" -o -name "*.so" -o -name "*.a" -o -name "*.dylib" | xargs -r -n 1 cp -t $out/lib + mkdir -p $out/bin $out/lib + find target/release -maxdepth 1 -type f -executable ! \( -regex ".*.\(so.[0-9]\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin + find target/release -maxdepth 1 -regex ".*.\(so.[0-9]\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib + rmdir $out/bin 2>/dev/null || true + rmdir $out/lib 2>/dev/null || true runHook postInstall ''; From c3f8368f97af35594d741453d18449c1604bdb56 Mon Sep 17 00:00:00 2001 From: Edward Tate Date: Mon, 1 Oct 2018 15:30:10 +0200 Subject: [PATCH 4/4] Shortened rmdir, improved regex to support shared libs with multiple integers at the end. --- pkgs/build-support/rust/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 3dfd0a41d5d1..964df2248f63 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -94,10 +94,9 @@ in stdenv.mkDerivation (args // { installPhase = args.installPhase or '' runHook preInstall mkdir -p $out/bin $out/lib - find target/release -maxdepth 1 -type f -executable ! \( -regex ".*.\(so.[0-9]\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin - find target/release -maxdepth 1 -regex ".*.\(so.[0-9]\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib - rmdir $out/bin 2>/dev/null || true - rmdir $out/lib 2>/dev/null || true + find target/release -maxdepth 1 -type f -executable ! \( -regex ".*.\(so.[0-9.]+\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin + find target/release -maxdepth 1 -regex ".*.\(so.[0-9.]+\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib + rmdir --ignore-fail-on-non-empty $out/lib $out/bin runHook postInstall '';