From 4956767f534c99d44988c623ab1dcddd25124502 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 21 Sep 2017 11:42:09 -0400 Subject: [PATCH 1/3] Make libiconv build for iOS with prefixed tools --- .../darwin/apple-source-releases/libiconv/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix index d9b3dfb7404..3cee697366b 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -1,14 +1,18 @@ { stdenv, appleDerivation }: appleDerivation { - preConfigure = "cd libiconv"; + preConfigure = "cd libiconv" + + stdenv.lib.optionalString stdenv.hostPlatform.isiOS '' + + sed -i 's/darwin\*/ios\*/g' configure libcharset/configure + ''; postInstall = '' mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib - install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib + ${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib # re-export one useless symbol; ld will reject a dylib that only reexports other dylibs - echo 'void dont_use_this(){}' | clang -dynamiclib -x c - -current_version 2.4.0 \ + echo 'void dont_use_this(){}' | ${stdenv.cc.bintools.targetPrefix}clang -dynamiclib -x c - -current_version 2.4.0 \ -compatibility_version 7.0.0 -current_version 7.0.0 -o $out/lib/libiconv.dylib \ -Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \ -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib From ceb8f6e38f39a90637c113116aa42e112b62e6be Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 25 Sep 2017 19:30:40 -0400 Subject: [PATCH 2/3] ios-rebuild: Unbreak build Needs to link with a C compiler, not linker directly --- pkgs/development/node-packages/default-v6.nix | 1 + pkgs/development/node-packages/default-v8.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/pkgs/development/node-packages/default-v6.nix b/pkgs/development/node-packages/default-v6.nix index 2be09eb1632..97f759ef0cb 100644 --- a/pkgs/development/node-packages/default-v6.nix +++ b/pkgs/development/node-packages/default-v6.nix @@ -59,6 +59,7 @@ nodePackages // { ios-deploy = nodePackages.ios-deploy.override (oldAttrs: { preRebuild = '' + LD=$CC tmp=$(mktemp -d) ln -s /usr/bin/xcodebuild $tmp export PATH="$PATH:$tmp" diff --git a/pkgs/development/node-packages/default-v8.nix b/pkgs/development/node-packages/default-v8.nix index ed0477a639a..701648da228 100644 --- a/pkgs/development/node-packages/default-v8.nix +++ b/pkgs/development/node-packages/default-v8.nix @@ -59,6 +59,7 @@ nodePackages // { ios-deploy = nodePackages.ios-deploy.override (oldAttrs: { preRebuild = '' + LD=$CC tmp=$(mktemp -d) ln -s /usr/bin/xcodebuild $tmp export PATH="$PATH:$tmp" From 4f25cf5124d90fbf5aafb168b124104eda5068f3 Mon Sep 17 00:00:00 2001 From: Ryan Trinkle Date: Tue, 1 May 2018 21:43:04 -0400 Subject: [PATCH 3/3] ncurses: when cross-compiling for iOS, use built-in ncurses --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f6d3a7a5b93..51a28dc215c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10790,7 +10790,7 @@ with pkgs; ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; }; - ncurses = ncurses6; + ncurses = if hostPlatform.useiOSPrebuilt then null else ncurses6; neardal = callPackage ../development/libraries/neardal { };