mirror of
https://github.com/simplex-chat/haskell.nix.git
synced 2026-06-03 09:17:32 +00:00
eb7e669d63
* Adds small address space logic * no numa on android * Update comp-builder.nix * Adds android.nix * host And target. * Make android remote-iserv static * Add back mmap_next * Create rts-android-jemalloc-qemu.patch * Update bootstrap.nix * Some android modifications to ghc * Some modifications to the android overlay. * disable more hardening flags on android * Adds stack-protector-symbols.patch * Adds libraries-prim-os-android.patch * Adds support for CONDBR relocations * Adds undef+weak symbol support. * calloc takes 3 not 2 args :-( * Adds getauxval * Needs enable static now * Fix android cross
29 lines
1.3 KiB
Nix
29 lines
1.3 KiB
Nix
final: prev: prev.lib.optionalAttrs prev.stdenv.hostPlatform.isAndroid ({
|
|
# we really only want the static one.
|
|
libiconv = (prev.libiconv.override { enableStatic = true; enableShared = false; }).overrideAttrs(_: {
|
|
hardeningDisable = [ "fortify" "stackprotector" "format" ];
|
|
# For some reason building libiconv with nixpgks android setup produces
|
|
# LANGINFO_CODESET to be found, which is not compatible with android sdk 23;
|
|
# so we'll patch up iconv to not include that.
|
|
postConfigure = ''
|
|
echo "#undef HAVE_LANGINFO_CODESET" >> libcharset/config.h
|
|
echo "#undef HAVE_LANGINFO_CODESET" >> lib/config.h
|
|
'';
|
|
# my current thinking is that this is due to the android toolchain using r23, api30.
|
|
});
|
|
libffi = prev.libffi.overrideAttrs (_: {
|
|
dontDisableStatic = true;
|
|
|
|
hardeningDisable = [ "fortify" "stackprotector" "format" ];
|
|
# see libiconv. We want to target a lower minsdk
|
|
postConfigure = ''
|
|
echo "#undef HAVE_MEMFD_CREATE" >> aarch64-unknown-linux-android/fficonfig.h
|
|
'';
|
|
});
|
|
gmp6 = (prev.gmp6.override { withStatic = true; }).overrideAttrs(_: {
|
|
hardeningDisable = [ "fortify" "stackprotector" "format" ];
|
|
});
|
|
}) // prev.lib.optionalAttrs prev.stdenv.targetPlatform.isAndroid ({
|
|
bionic = prev.bionic.override { enableStatic = true; };
|
|
})
|