summary refs log tree commit diff
diff options
context:
space:
mode:
authorSymphorien Gibol <symphorien+git@xlumurb.eu>2020-03-25 12:00:00 +0000
committerSymphorien Gibol <symphorien+git@xlumurb.eu>2020-03-25 12:00:00 +0000
commitd8b853799d6658582a6039be8febfbd925d967aa (patch)
treef273298413a5e5a708c7e6db97e5effed6be7d44
parent1ff9d94f38c739b9d1e914651c1136f94749e159 (diff)
downloadnixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar.gz
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar.bz2
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar.lz
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar.xz
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.tar.zst
nixpkgs-d8b853799d6658582a6039be8febfbd925d967aa.zip
buildRustCrate: don't sort link flags
Linkage order is significant and sorting can result in link errors.
-rw-r--r--pkgs/build-support/rust/build-rust-crate/configure-crate.nix2
-rw-r--r--pkgs/build-support/rust/build-rust-crate/lib.sh5
2 files changed, 1 insertions, 6 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 61c39c6b21c..ed810053709 100644
--- a/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -172,7 +172,7 @@ in ''
      set +e
      EXTRA_BUILD=$(sed -n "s/^cargo:rustc-flags=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
      EXTRA_FEATURES=$(sed -n "s/^cargo:rustc-cfg=\(.*\)/--cfg \1/p" target/build/${crateName}.opt | tr '\n' ' ')
-     EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
+     EXTRA_LINK=$(sed -n "s/^cargo:rustc-link-lib=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ')
      EXTRA_LINK_SEARCH=$(sed -n "s/^cargo:rustc-link-search=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
 
      for env in $(sed -n "s/^cargo:rustc-env=\(.*\)/\1/p" target/build/${crateName}.opt); do
diff --git a/pkgs/build-support/rust/build-rust-crate/lib.sh b/pkgs/build-support/rust/build-rust-crate/lib.sh
index 5843ee98b0d..6cf3481754b 100644
--- a/pkgs/build-support/rust/build-rust-crate/lib.sh
+++ b/pkgs/build-support/rust/build-rust-crate/lib.sh
@@ -105,11 +105,6 @@ setup_link_paths() {
   done
 
   if [[ -e target/link ]]; then
-     sort -u target/link.final > target/link.final.sorted
-     mv target/link.final.sorted target/link.final
-     sort -u target/link > target/link.sorted
-     mv target/link.sorted target/link
-
      tr '\n' ' ' < target/link > target/link_
      LINK=$(cat target/link_)
   fi