diff options
author | Sander van der Burg <svanderburg@gmail.com> | 2016-02-01 15:11:28 +0000 |
---|---|---|
committer | Sander van der Burg <svanderburg@gmail.com> | 2016-02-01 15:11:28 +0000 |
commit | 4d0e732168d1747f2d01fac74d70b7f112a247f4 (patch) | |
tree | 9a28e253d17f76601150425348642154b424ac20 /pkgs/development/mobile | |
parent | 0c5ad78c18526425d57f3052790a53f67a3e2749 (diff) |
titaniumenv: fix android builds on darwin and get rid of allowUnfree since the OpenJDK just works fine
Diffstat (limited to 'pkgs/development/mobile')
-rw-r--r-- | pkgs/development/mobile/titaniumenv/build-app.nix | 29 | ||||
-rw-r--r-- | pkgs/development/mobile/titaniumenv/examples/default.nix | 13 |
2 files changed, 35 insertions, 7 deletions
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix index 53fce61a999ee..934d032e47918 100644 --- a/pkgs/development/mobile/titaniumenv/build-app.nix +++ b/pkgs/development/mobile/titaniumenv/build-app.nix @@ -20,6 +20,28 @@ let security default-keychain -s login.keychain security delete-keychain $keychainName ''; + + # On Mac OS X, the java executable shows an -unoffical postfix in the version + # number. This confuses the build script's version detector. + # We fix this by creating a wrapper that strips it out of the output. + + javaVersionFixWrapper = stdenv.mkDerivation { + name = "javaVersionFixWrapper"; + buildCommand = '' + mkdir -p $out/bin + cat > $out/bin/javac <<EOF + #! ${stdenv.shell} -e + + if [ "\$1" = "-version" ] + then + ${jdk}/bin/javac "\$@" 2>&1 | sed "s|-unofficial||" | sed "s|-u60|_60|" >&2 + else + exec ${jdk}/bin/javac "\$@" + fi + EOF + chmod +x $out/bin/javac + ''; + }; in stdenv.mkDerivation { name = stdenv.lib.replaceChars [" "] [""] name; @@ -49,6 +71,13 @@ stdenv.mkDerivation { ${if target == "android" then '' + ${stdenv.lib.optionalString (stdenv.system == "x86_64-darwin") '' + # Hack to make version detection work with OpenJDK on Mac OS X + export PATH=${javaVersionFixWrapper}/bin:$PATH + export JAVA_HOME=${javaVersionFixWrapper} + javac -version + ''} + titanium config --config-file $TMPDIR/config.json --no-colors android.sdk ${androidsdkComposition}/libexec/android-sdk-* titanium config --config-file $TMPDIR/config.json --no-colors android.buildTools.selectedVersion 23.0.1 diff --git a/pkgs/development/mobile/titaniumenv/examples/default.nix b/pkgs/development/mobile/titaniumenv/examples/default.nix index 6dd80a216ded5..ffeefdbbbcfa3 100644 --- a/pkgs/development/mobile/titaniumenv/examples/default.nix +++ b/pkgs/development/mobile/titaniumenv/examples/default.nix @@ -5,17 +5,16 @@ , tiVersion ? "5.1.2.GA" , rename ? false , newBundleId ? "com.example.kitchensink", iosMobileProvisioningProfile ? null, iosCertificate ? null, iosCertificateName ? "Example", iosCertificatePassword ? "", iosVersion ? "9.2" -, allowUnfree ? false , enableWirelessDistribution ? false, installURL ? null }: let - pkgs = import nixpkgs { config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs {}; in rec { kitchensink_android_debug = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs { inherit system; }; in import ./kitchensink { inherit (pkgs) fetchgit; @@ -26,7 +25,7 @@ rec { kitchensink_android_release = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs { inherit system; }; in import ./kitchensink { inherit (pkgs) fetchgit; @@ -38,7 +37,7 @@ rec { emulate_kitchensink_debug = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs { inherit system; }; in import ./emulate-kitchensink { inherit (pkgs) androidenv; @@ -47,7 +46,7 @@ rec { emulate_kitchensink_release = pkgs.lib.genAttrs systems (system: let - pkgs = import nixpkgs { inherit system; config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs { inherit system; }; in import ./emulate-kitchensink { inherit (pkgs) androidenv; @@ -74,7 +73,7 @@ rec { }; } else {}) // (if rename then let - pkgs = import nixpkgs { system = "x86_64-darwin"; config.allowUnfree = allowUnfree; }; + pkgs = import nixpkgs { system = "x86_64-darwin"; }; in { kitchensink_ipa = import ./kitchensink { |