1{pkgs, pkgs_i686, includeSources ? true}:
2
3rec {
4 platformTools = import ./platform-tools.nix {
5 inherit (pkgs) stdenv fetchurl unzip zlib;
6 };
7
8 buildTools = import ./build-tools.nix {
9 inherit (pkgs) stdenv fetchurl unzip zlib file;
10 stdenv_32bit = pkgs_i686.stdenv;
11 zlib_32bit = pkgs_i686.zlib;
12 ncurses_32bit = pkgs_i686.ncurses5;
13 ncurses = pkgs.ncurses5;
14 };
15
16 support = import ./support.nix {
17 inherit (pkgs) stdenv fetchurl unzip;
18 };
19
20 supportRepository = import ./support-repository.nix {
21 inherit (pkgs) stdenv fetchurl unzip;
22 };
23
24 platforms = if (pkgs.stdenv.system == "i686-linux" || pkgs.stdenv.system == "x86_64-linux")
25 then import ./platforms-linux.nix {
26 inherit (pkgs) stdenv fetchurl unzip;
27 }
28 else if pkgs.stdenv.system == "x86_64-darwin"
29 then import ./platforms-macosx.nix {
30 inherit (pkgs) stdenv fetchurl unzip;
31 }
32 else throw "Platform: ${pkgs.stdenv.system} not supported!";
33
34 sysimages = import ./sysimages.nix {
35 inherit (pkgs) stdenv fetchurl unzip;
36 };
37
38 addons = import ./addons.nix {
39 inherit (pkgs) stdenv fetchurl unzip;
40 };
41
42 sources = import ./sources.nix {
43 inherit (pkgs) stdenv fetchurl unzip;
44 };
45
46 androidsdk = import ./androidsdk.nix {
47 inherit (pkgs) stdenv fetchurl unzip makeWrapper;
48 inherit (pkgs) zlib glxinfo freetype fontconfig glib gtk2 atk mesa file alsaLib jdk coreutils libpulseaudio dbus;
49 inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst xkeyboardconfig;
50
51 inherit platformTools buildTools support supportRepository platforms sysimages addons sources includeSources;
52
53 stdenv_32bit = pkgs_i686.stdenv;
54 };
55
56 androidsdk_2_1 = androidsdk {
57 platformVersions = [ "7" ];
58 abiVersions = [ "armeabi-v7a" ];
59 useGoogleAPIs = true;
60 };
61
62 androidsdk_2_2 = androidsdk {
63 platformVersions = [ "8" ];
64 abiVersions = [ "armeabi-v7a" ];
65 useGoogleAPIs = true;
66 };
67
68 androidsdk_2_3_3 = androidsdk {
69 platformVersions = [ "10" ];
70 abiVersions = [ "armeabi-v7a" ];
71 useGoogleAPIs = true;
72 };
73
74 androidsdk_3_0 = androidsdk {
75 platformVersions = [ "11" ];
76 abiVersions = [ "armeabi-v7a" ];
77 useGoogleAPIs = true;
78 };
79
80 androidsdk_3_1 = androidsdk {
81 platformVersions = [ "12" ];
82 abiVersions = [ "armeabi-v7a" ];
83 useGoogleAPIs = true;
84 };
85
86 androidsdk_3_2 = androidsdk {
87 platformVersions = [ "13" ];
88 abiVersions = [ "armeabi-v7a" ];
89 useGoogleAPIs = true;
90 };
91
92 androidsdk_4_0 = androidsdk {
93 platformVersions = [ "14" ];
94 abiVersions = [ "armeabi-v7a" ];
95 useGoogleAPIs = true;
96 };
97
98 androidsdk_4_0_3 = androidsdk {
99 platformVersions = [ "15" ];
100 abiVersions = [ "armeabi-v7a" ];
101 useGoogleAPIs = true;
102 };
103
104 androidsdk_4_1 = androidsdk {
105 platformVersions = [ "16" ];
106 abiVersions = [ "armeabi-v7a" ];
107 useGoogleAPIs = true;
108 };
109
110 androidsdk_4_2 = androidsdk {
111 platformVersions = [ "17" ];
112 abiVersions = [ "armeabi-v7a" ];
113 useGoogleAPIs = true;
114 };
115
116 androidsdk_4_3 = androidsdk {
117 platformVersions = [ "18" ];
118 abiVersions = [ "armeabi-v7a" "x86" ];
119 useGoogleAPIs = true;
120 };
121
122 androidsdk_4_4 = androidsdk {
123 platformVersions = [ "19" ];
124 abiVersions = [ "armeabi-v7a" "x86" ];
125 useGoogleAPIs = true;
126 };
127
128 androidsdk_5_0_1 = androidsdk {
129 platformVersions = [ "21" ];
130 abiVersions = [ "armeabi-v7a" "x86" ];
131 useGoogleAPIs = true;
132 };
133
134 androidsdk_5_0_1_extras = androidsdk {
135 platformVersions = [ "21" ];
136 abiVersions = [ "armeabi-v7a" "x86" ];
137 useGoogleAPIs = true;
138 useExtraSupportLibs = true;
139 useGooglePlayServices = true;
140 };
141
142 androidsdk_5_1_1 = androidsdk {
143 platformVersions = [ "22" ];
144 abiVersions = [ "armeabi-v7a" "x86" "x86_64"];
145 useGoogleAPIs = true;
146 };
147
148 androidsdk_5_1_1_extras = androidsdk {
149 platformVersions = [ "22" ];
150 abiVersions = [ "armeabi-v7a" "x86" "x86_64"];
151 useGoogleAPIs = true;
152 useExtraSupportLibs = true;
153 useGooglePlayServices = true;
154 };
155
156 androidsdk_6_0 = androidsdk {
157 platformVersions = [ "23" ];
158 abiVersions = [ "armeabi-v7a" "x86" "x86_64"];
159 useGoogleAPIs = true;
160 };
161
162 androidsdk_6_0_extras = androidsdk {
163 platformVersions = [ "23" ];
164 abiVersions = [ "armeabi-v7a" "x86" "x86_64"];
165 useGoogleAPIs = true;
166 useExtraSupportLibs = true;
167 useGooglePlayServices = true;
168 useInstantApps = true;
169 };
170
171 androidsdk_7_0 = androidsdk {
172 platformVersions = [ "24" ];
173 abiVersions = [ "x86" "x86_64"];
174 useGoogleAPIs = true;
175 };
176
177 androidsdk_7_0_extras = androidsdk {
178 platformVersions = [ "24" ];
179 abiVersions = [ "x86" "x86_64"];
180 useGoogleAPIs = true;
181 useExtraSupportLibs = true;
182 useGooglePlayServices = true;
183 useInstantApps = true;
184 };
185
186 androidsdk_7_1_1 = androidsdk {
187 platformVersions = [ "25" ];
188 abiVersions = [ "x86" "x86_64"];
189 useGoogleAPIs = true;
190 };
191
192 androidsdk_7_1_1_extras = androidsdk {
193 platformVersions = [ "25" ];
194 abiVersions = [ "x86" "x86_64"];
195 useGoogleAPIs = true;
196 useExtraSupportLibs = true;
197 useGooglePlayServices = true;
198 useInstantApps = true;
199 };
200
201 androidsdk_8_0 = androidsdk {
202 platformVersions = [ "26" ];
203 abiVersions = [ "x86" "x86_64"];
204 useGoogleAPIs = true;
205 };
206
207 androidsdk_8_0_extras = androidsdk {
208 platformVersions = [ "26" ];
209 abiVersions = [ "x86" "x86_64"];
210 useGoogleAPIs = true;
211 useExtraSupportLibs = true;
212 useGooglePlayServices = true;
213 useInstantApps = true;
214 };
215
216 androidndk = import ./androidndk.nix {
217 inherit (pkgs) stdenv fetchurl zlib ncurses p7zip lib makeWrapper;
218 inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
219 inherit platformTools;
220 };
221
222 androidndk_r8e = import ./androidndk_r8e.nix {
223 inherit (pkgs) stdenv fetchurl zlib ncurses lib makeWrapper;
224 inherit (pkgs) coreutils file findutils gawk gnugrep gnused jdk which;
225 inherit platformTools;
226 };
227
228 buildApp = import ./build-app.nix {
229 inherit (pkgs) stdenv jdk ant gnumake gawk file which;
230 inherit androidsdk androidndk;
231 };
232
233 emulateApp = import ./emulate-app.nix {
234 inherit (pkgs) stdenv;
235 inherit androidsdk;
236 };
237}