From 91089054d48e54eb2a7eddb90d26303d193fd4f4 Mon Sep 17 00:00:00 2001 From: Artturin Date: Wed, 6 Sep 2023 03:01:34 +0300 Subject: llvmPackages.bintools-unwrapped: deduplicate --- .../compilers/llvm/10/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/10/default.nix | 2 +- .../compilers/llvm/11/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/11/default.nix | 2 +- .../compilers/llvm/12/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/12/default.nix | 2 +- .../compilers/llvm/13/bintools/default.nix | 35 ----------------- pkgs/development/compilers/llvm/13/default.nix | 2 +- .../compilers/llvm/14/bintools/default.nix | 35 ----------------- pkgs/development/compilers/llvm/14/default.nix | 2 +- .../compilers/llvm/15/bintools/default.nix | 37 ------------------ pkgs/development/compilers/llvm/15/default.nix | 2 +- .../compilers/llvm/16/bintools/default.nix | 37 ------------------ pkgs/development/compilers/llvm/16/default.nix | 2 +- .../compilers/llvm/7/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/7/default.nix | 2 +- .../compilers/llvm/8/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/8/default.nix | 2 +- .../compilers/llvm/9/bintools/default.nix | 34 ---------------- pkgs/development/compilers/llvm/9/default.nix | 2 +- .../development/compilers/llvm/common/bintools.nix | 45 ++++++++++++++++++++++ .../compilers/llvm/git/bintools/default.nix | 37 ------------------ pkgs/development/compilers/llvm/git/default.nix | 2 +- 23 files changed, 56 insertions(+), 396 deletions(-) delete mode 100644 pkgs/development/compilers/llvm/10/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/11/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/12/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/13/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/14/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/15/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/16/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/7/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/8/bintools/default.nix delete mode 100644 pkgs/development/compilers/llvm/9/bintools/default.nix create mode 100644 pkgs/development/compilers/llvm/common/bintools.nix delete mode 100644 pkgs/development/compilers/llvm/git/bintools/default.nix (limited to 'pkgs') diff --git a/pkgs/development/compilers/llvm/10/bintools/default.nix b/pkgs/development/compilers/llvm/10/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/10/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/10/default.nix b/pkgs/development/compilers/llvm/10/default.nix index 44791f09e384..08fe93802840 100644 --- a/pkgs/development/compilers/llvm/10/default.nix +++ b/pkgs/development/compilers/llvm/10/default.nix @@ -147,7 +147,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/11/bintools/default.nix b/pkgs/development/compilers/llvm/11/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/11/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/11/default.nix b/pkgs/development/compilers/llvm/11/default.nix index 2fd510942df9..41344619c3f7 100644 --- a/pkgs/development/compilers/llvm/11/default.nix +++ b/pkgs/development/compilers/llvm/11/default.nix @@ -162,7 +162,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/12/bintools/default.nix b/pkgs/development/compilers/llvm/12/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/12/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/12/default.nix b/pkgs/development/compilers/llvm/12/default.nix index d7fa0517815c..9f8d75061c35 100644 --- a/pkgs/development/compilers/llvm/12/default.nix +++ b/pkgs/development/compilers/llvm/12/default.nix @@ -161,7 +161,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/13/bintools/default.nix b/pkgs/development/compilers/llvm/13/bintools/default.nix deleted file mode 100644 index b69f4bd12917..000000000000 --- a/pkgs/development/compilers/llvm/13/bintools/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/13/default.nix b/pkgs/development/compilers/llvm/13/default.nix index 42dfd2551779..37abf41a3244 100644 --- a/pkgs/development/compilers/llvm/13/default.nix +++ b/pkgs/development/compilers/llvm/13/default.nix @@ -174,7 +174,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/14/bintools/default.nix b/pkgs/development/compilers/llvm/14/bintools/default.nix deleted file mode 100644 index b69f4bd12917..000000000000 --- a/pkgs/development/compilers/llvm/14/bintools/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix index 5a7651958027..5a198cbbbbe3 100644 --- a/pkgs/development/compilers/llvm/14/default.nix +++ b/pkgs/development/compilers/llvm/14/default.nix @@ -175,7 +175,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/15/bintools/default.nix b/pkgs/development/compilers/llvm/15/bintools/default.nix deleted file mode 100644 index c7b20dd28e23..000000000000 --- a/pkgs/development/compilers/llvm/15/bintools/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod - ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/15/default.nix b/pkgs/development/compilers/llvm/15/default.nix index a9fee13d12b0..418383d3ce8d 100644 --- a/pkgs/development/compilers/llvm/15/default.nix +++ b/pkgs/development/compilers/llvm/15/default.nix @@ -223,7 +223,7 @@ in let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/16/bintools/default.nix b/pkgs/development/compilers/llvm/16/bintools/default.nix deleted file mode 100644 index c7b20dd28e23..000000000000 --- a/pkgs/development/compilers/llvm/16/bintools/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod - ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/16/default.nix b/pkgs/development/compilers/llvm/16/default.nix index d9a363037a92..b3a73a6fe198 100644 --- a/pkgs/development/compilers/llvm/16/default.nix +++ b/pkgs/development/compilers/llvm/16/default.nix @@ -228,7 +228,7 @@ in let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/7/bintools/default.nix b/pkgs/development/compilers/llvm/7/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/7/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/7/default.nix b/pkgs/development/compilers/llvm/7/default.nix index b9c167a71444..3a2811d5ae09 100644 --- a/pkgs/development/compilers/llvm/7/default.nix +++ b/pkgs/development/compilers/llvm/7/default.nix @@ -149,7 +149,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/8/bintools/default.nix b/pkgs/development/compilers/llvm/8/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/8/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/8/default.nix b/pkgs/development/compilers/llvm/8/default.nix index f5bc6c018a80..7fc3261348dd 100644 --- a/pkgs/development/compilers/llvm/8/default.nix +++ b/pkgs/development/compilers/llvm/8/default.nix @@ -150,7 +150,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/9/bintools/default.nix b/pkgs/development/compilers/llvm/9/bintools/default.nix deleted file mode 100644 index 38002439c205..000000000000 --- a/pkgs/development/compilers/llvm/9/bintools/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/9/default.nix b/pkgs/development/compilers/llvm/9/default.nix index dfe1dbeb21d8..188b7914e445 100644 --- a/pkgs/development/compilers/llvm/9/default.nix +++ b/pkgs/development/compilers/llvm/9/default.nix @@ -150,7 +150,7 @@ let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; diff --git a/pkgs/development/compilers/llvm/common/bintools.nix b/pkgs/development/compilers/llvm/common/bintools.nix new file mode 100644 index 000000000000..11d9c6ae5e63 --- /dev/null +++ b/pkgs/development/compilers/llvm/common/bintools.nix @@ -0,0 +1,45 @@ +{ lib, runCommand, stdenv, llvm, lld, version, release_version }: + +let + prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; +in runCommand "llvm-binutils-${version}" { + preferLocalBuild = true; + passthru = { + isLLVM = true; + }; +} ('' + mkdir -p $out/bin + for prog in ${lld}/bin/*; do + ln -s $prog $out/bin/${prefix}$(basename $prog) + done + for prog in ${llvm}/bin/*; do + ln -sf $prog $out/bin/${prefix}$(basename $prog) + done + + llvmBin="${llvm}/bin" + + ln -s $llvmBin/llvm-ar $out/bin/${prefix}ar + ln -s $llvmBin/llvm-ar $out/bin/${prefix}dlltool + ln -s $llvmBin/llvm-ar $out/bin/${prefix}ranlib + ln -s $llvmBin/llvm-cxxfilt $out/bin/${prefix}c++filt + ln -s $llvmBin/llvm-dwp $out/bin/${prefix}dwp + ln -s $llvmBin/llvm-nm $out/bin/${prefix}nm + ln -s $llvmBin/llvm-objcopy $out/bin/${prefix}objcopy + ln -s $llvmBin/llvm-objcopy $out/bin/${prefix}strip + ln -s $llvmBin/llvm-objdump $out/bin/${prefix}objdump + ln -s $llvmBin/llvm-readobj $out/bin/${prefix}readelf + ln -s $llvmBin/llvm-size $out/bin/${prefix}size + ln -s $llvmBin/llvm-strings $out/bin/${prefix}strings + ln -s $llvmBin/llvm-symbolizer $out/bin/${prefix}addr2line + + if [ -e "$llvmBin/llvm-debuginfod" ]; then + ln -s $llvmBin/llvm-debuginfod $out/bin/${prefix}debuginfod + ln -s $llvmBin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find + fi + + ln -s ${lld}/bin/lld $out/bin/${prefix}ld + + # Only >=13 show GNU windres compatible in help +'' + lib.optionalString (lib.versionAtLeast release_version "13") '' + ln -s $llvmBin/llvm-rc $out/bin/${prefix}windres +'') diff --git a/pkgs/development/compilers/llvm/git/bintools/default.nix b/pkgs/development/compilers/llvm/git/bintools/default.nix deleted file mode 100644 index c7b20dd28e23..000000000000 --- a/pkgs/development/compilers/llvm/git/bintools/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, runCommand, stdenv, llvm, lld, version }: - -let - prefix = lib.optionalString (stdenv.hostPlatform != stdenv.targetPlatform) "${stdenv.targetPlatform.config}-"; -in runCommand "llvm-binutils-${version}" { - preferLocalBuild = true; - passthru = { - isLLVM = true; - }; -} '' - mkdir -p $out/bin - for prog in ${lld}/bin/*; do - ln -s $prog $out/bin/${prefix}$(basename $prog) - done - for prog in ${llvm}/bin/*; do - ln -sf $prog $out/bin/${prefix}$(basename $prog) - done - - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ar - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}dlltool - ln -s ${llvm}/bin/llvm-ar $out/bin/${prefix}ranlib - ln -s ${llvm}/bin/llvm-cxxfilt $out/bin/${prefix}c++filt - ln -s ${llvm}/bin/llvm-debuginfod $out/bin/${prefix}debuginfod - ln -s ${llvm}/bin/llvm-debuginfod-find $out/bin/${prefix}debuginfod-find - ln -s ${llvm}/bin/llvm-dwp $out/bin/${prefix}dwp - ln -s ${llvm}/bin/llvm-nm $out/bin/${prefix}nm - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}objcopy - ln -s ${llvm}/bin/llvm-objcopy $out/bin/${prefix}strip - ln -s ${llvm}/bin/llvm-objdump $out/bin/${prefix}objdump - ln -s ${llvm}/bin/llvm-rc $out/bin/${prefix}windres - ln -s ${llvm}/bin/llvm-readobj $out/bin/${prefix}readelf - ln -s ${llvm}/bin/llvm-size $out/bin/${prefix}size - ln -s ${llvm}/bin/llvm-strings $out/bin/${prefix}strings - ln -s ${llvm}/bin/llvm-symbolizer $out/bin/${prefix}addr2line - - ln -s ${lld}/bin/lld $out/bin/${prefix}ld -'' diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix index 5ec5d35dcec5..1504674da7ef 100644 --- a/pkgs/development/compilers/llvm/git/default.nix +++ b/pkgs/development/compilers/llvm/git/default.nix @@ -198,7 +198,7 @@ in let # doesn’t support like LLVM. Probably we should move to some other # file. - bintools-unwrapped = callPackage ./bintools {}; + bintools-unwrapped = callPackage ../common/bintools.nix { }; bintoolsNoLibc = wrapBintoolsWith { bintools = tools.bintools-unwrapped; -- cgit 1.4.1