diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/androidndk-pkgs | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/androidndk-pkgs')
-rw-r--r-- | nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix index 2d5619620417..475fe4564eee 100644 --- a/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix +++ b/nixpkgs/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix @@ -49,17 +49,18 @@ let # targetInfo.triple is what Google thinks the toolchain should be, this is a little # different from what we use. We make it four parts to conform with the existing # standard more properly. - targetConfig = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config); + targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (stdenv.targetPlatform.config + "-"); in rec { # Misc tools binaries = stdenv.mkDerivation { - pname = "${targetConfig}-ndk-toolchain"; + pname = "${targetPrefix}ndk-toolchain"; inherit (androidndk) version; nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; propagatedBuildInputs = [ androidndk ]; passthru = { + inherit targetPrefix; isClang = true; # clang based cc, but bintools ld }; dontUnpack = true; @@ -91,23 +92,23 @@ rec { ln -s $out/toolchain/bin $out/bin ln -s $out/toolchain/${targetInfo.triple}/bin/* $out/bin/ for f in $out/bin/${targetInfo.triple}-*; do - ln -s $f ''${f/${targetInfo.triple}-/${targetConfig}-} + ln -s $f ''${f/${targetInfo.triple}-/${targetPrefix}} done for f in $(find $out/toolchain -type d -name ${targetInfo.triple}); do - ln -s $f ''${f/${targetInfo.triple}/${targetConfig}} + ln -s $f ''${f/${targetInfo.triple}/${targetPrefix}} done - rm -f $out/bin/${targetConfig}-ld - ln -s $out/bin/lld $out/bin/${targetConfig}-ld + rm -f $out/bin/${targetPrefix}ld + ln -s $out/bin/lld $out/bin/${targetPrefix}ld (cd $out/bin; for tool in llvm-*; do - ln -sf $tool ${targetConfig}-$(echo $tool | sed 's/llvm-//') + ln -sf $tool ${targetPrefix}$(echo $tool | sed 's/llvm-//') ln -sf $tool $(echo $tool | sed 's/llvm-//') done) # handle last, as llvm-as is for llvm bytecode - ln -sf $out/bin/${targetInfo.triple}-as $out/bin/${targetConfig}-as + ln -sf $out/bin/${targetInfo.triple}-as $out/bin/${targetPrefix}as ln -sf $out/bin/${targetInfo.triple}-as $out/bin/as patchShebangs $out/bin @@ -131,8 +132,9 @@ rec { # Android needs executables linked with -pie since version 5.0 # Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags - echo "-z,noexecstack -z,relro -z,now" >> $out/nix-support/cc-ldflags - echo 'if [[ ! " $@ " =~ " -shared " ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh + echo "-z,noexecstack -z,relro -z,now -z,muldefs" >> $out/nix-support/cc-ldflags + echo 'expandResponseParams "$@"' >> $out/nix-support/add-flags.sh + echo 'if [[ ! (" ''${params[@]} " =~ " -shared ") && ! (" ''${params[@]} " =~ " -no-pie ") ]]; then NIX_LDFLAGS_${suffixSalt}+=" -pie"; fi' >> $out/nix-support/add-flags.sh echo "-Xclang -mnoexecstack" >> $out/nix-support/cc-cxxflags if [ ${targetInfo.triple} == arm-linux-androideabi ]; then # https://android.googlesource.com/platform/external/android-cmake/+/refs/heads/cmake-master-dev/android.toolchain.cmake |