nixpkgs/pkgs/development/mobile/titaniumenv/default.nix

53 lines
1.6 KiB
Nix
Raw Normal View History

{pkgs, pkgs_i686, xcodeVersion ? "6.0.1", xcodeBaseDir ? "/Applications/Xcode.app", tiVersion ? "3.4.0.GA"}:
let
# We have to use Oracle's JDK. On Darwin, just simply expose the host system's
# JDK. According to their docs, OpenJDK is not supported.
jdkWrapper = pkgs.stdenv.mkDerivation {
name = "jdk-wrapper";
buildCommand = ''
mkdir -p $out/bin
cd $out/bin
ln -s /usr/bin/javac
ln -s /usr/bin/java
ln -s /usr/bin/jarsigner
ln -s /usr/bin/jar
ln -s /usr/bin/keytool
'';
setupHook = ''
export JAVA_HOME=/usr
'';
};
in
rec {
androidenv = pkgs.androidenv;
2014-01-13 13:24:48 +00:00
xcodeenv = if pkgs.stdenv.system == "x86_64-darwin" then pkgs.xcodeenv.override {
version = xcodeVersion;
inherit xcodeBaseDir;
2014-01-13 13:24:48 +00:00
} else null;
2014-02-18 15:34:34 +00:00
titaniumsdk = let
titaniumSdkFile = if tiVersion == "3.1.4.GA" then ./titaniumsdk-3.1.nix
2014-07-15 15:05:25 +01:00
else if tiVersion == "3.2.3.GA" then ./titaniumsdk-3.2.nix
else if tiVersion == "3.3.0.GA" then ./titaniumsdk-3.3.nix
2014-10-07 14:29:58 +01:00
else if tiVersion == "3.4.0.GA" then ./titaniumsdk-3.4.nix
2014-02-18 15:34:34 +00:00
else throw "Titanium version not supported: "+tiVersion;
in
import titaniumSdkFile {
inherit (pkgs) stdenv fetchurl unzip makeWrapper python jdk;
};
buildApp = import ./build-app.nix {
2014-02-18 15:34:34 +00:00
inherit (pkgs) stdenv python which;
jdk = if pkgs.stdenv.isLinux then pkgs.oraclejdk7
else if pkgs.stdenv.isDarwin then jdkWrapper
else throw "Platform not supported: ${pkgs.stdenv.system}";
inherit (pkgs.nodePackages) titanium;
inherit (androidenv) androidsdk;
inherit (xcodeenv) xcodewrapper;
inherit titaniumsdk;
};
}