titaniumenv: fix android builds on darwin and get rid of allowUnfree since the OpenJDK just works fine
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user