From 773ae700b75174bb11146e5f588a22c4c54b73af Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 10 Jul 2018 13:05:28 -0500 Subject: [PATCH] ghc{843,861}: keep '-musleabi' in targets like w/'-gnueabi' --- pkgs/development/compilers/ghc/8.4.3.nix | 12 ++++++++++-- pkgs/development/compilers/ghc/8.6.1.nix | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/pkgs/development/compilers/ghc/8.4.3.nix b/pkgs/development/compilers/ghc/8.4.3.nix index 853926a430a8..12e01a159a21 100644 --- a/pkgs/development/compilers/ghc/8.4.3.nix +++ b/pkgs/development/compilers/ghc/8.4.3.nix @@ -125,13 +125,21 @@ stdenv.mkDerivation (rec { '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets '' + stdenv.lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets...." + echo "patching llvm-targets for musl targets..." echo "Cloning these existing '*-linux-gnu*' targets:" grep linux-gnu llvm-targets | sed 's/^/ /' - echo "go go gadget sed" + echo "(go go gadget sed)" sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets echo "llvm-targets now contains these '*-linux-musl*' targets:" grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done ''; # TODO(@Ericson2314): Always pass "--target" and always prefix. diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix index 1fd53f2544a1..9627e87f8bde 100644 --- a/pkgs/development/compilers/ghc/8.6.1.nix +++ b/pkgs/development/compilers/ghc/8.6.1.nix @@ -117,13 +117,21 @@ stdenv.mkDerivation (rec { '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets '' + stdenv.lib.optionalString targetPlatform.isMusl '' - echo "patching llvm-targets for musl targets...." + echo "patching llvm-targets for musl targets..." echo "Cloning these existing '*-linux-gnu*' targets:" grep linux-gnu llvm-targets | sed 's/^/ /' - echo "go go gadget sed" + echo "(go go gadget sed)" sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets echo "llvm-targets now contains these '*-linux-musl*' targets:" grep linux-musl llvm-targets | sed 's/^/ /' + + echo "And now patching to preserve '-musleabi' as done with '-gnueabi'" + # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen) + for x in configure aclocal.m4; do + substituteInPlace $x \ + --replace '*-android*|*-gnueabi*)' \ + '*-android*|*-gnueabi*|*-musleabi*)' + done ''; # TODO(@Ericson2314): Always pass "--target" and always prefix.