Merge branch 'master' into closure-size

This commit is contained in:
Vladimír Čunát
2016-02-14 08:33:51 +01:00
671 changed files with 37363 additions and 16671 deletions
@@ -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
@@ -155,14 +184,14 @@ stdenv.mkDerivation {
''
cp -av build/iphone/build/* $out
mkdir -p $out/nix-support
echo "file binary-dist \"$(echo $out/Release-iphoneos/*.ipa)\"" > $out/nix-support/hydra-build-products
echo "file binary-dist \"$(echo $out/Products/Release-iphoneos/*.ipa)\"" > $out/nix-support/hydra-build-products
${stdenv.lib.optionalString enableWirelessDistribution ''
appname=$(basename $out/Release-iphoneos/*.ipa .ipa)
appname=$(basename $out/Products/Release-iphoneos/*.ipa .ipa)
bundleId=$(grep '<id>[a-zA-Z0-9.]*</id>' tiapp.xml | sed -e 's|<id>||' -e 's|</id>||' -e 's/ //g')
version=$(grep '<version>[a-zA-Z0-9.]*</version>' tiapp.xml | sed -e 's|<version>||' -e 's|</version>||' -e 's/ //g')
sed -e "s|@INSTALL_URL@|${installURL}?bundleId=$bundleId\&amp;version=$version\&amp;title=$appname|" ${../xcodeenv/install.html.template} > $out/$appname.html
sed -e "s|@INSTALL_URL@|${installURL}?bundleId=$bundleId\&amp;version=$version\&amp;title=$appname|" ${../xcodeenv/install.html.template} > "$out/$appname.html"
echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products
''}
''
@@ -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 {