androidenv: Add API sources
This commit is contained in:
parent
09743075a9
commit
a229fd4ce3
@ -1,8 +1,9 @@
|
|||||||
{ stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
|
{ stdenv, stdenv_32bit, fetchurl, unzip, makeWrapper
|
||||||
, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons
|
, platformTools, buildTools, support, supportRepository, platforms, sysimages, addons, sources
|
||||||
, libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
|
, libX11, libXext, libXrender, libxcb, libXau, libXdmcp, libXtst, mesa, alsaLib
|
||||||
, freetype, fontconfig, glib, gtk2, atk, file, jdk, coreutils, libpulseaudio, dbus
|
, freetype, fontconfig, glib, gtk2, atk, file, jdk, coreutils, libpulseaudio, dbus
|
||||||
, zlib, glxinfo, xkeyboardconfig
|
, zlib, glxinfo, xkeyboardconfig
|
||||||
|
, includeSources
|
||||||
}:
|
}:
|
||||||
{ platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false, useGooglePlayServices ? false }:
|
{ platformVersions, abiVersions, useGoogleAPIs, useExtraSupportLibs ? false, useGooglePlayServices ? false }:
|
||||||
|
|
||||||
@ -165,6 +166,22 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
|
# Symlink required sources
|
||||||
|
mkdir -p sources
|
||||||
|
cd sources
|
||||||
|
|
||||||
|
${if includeSources then
|
||||||
|
stdenv.lib.concatMapStrings (platformVersion:
|
||||||
|
if (builtins.hasAttr ("source_"+platformVersion) sources) then
|
||||||
|
let
|
||||||
|
source = builtins.getAttr ("source_"+platformVersion) sources;
|
||||||
|
in
|
||||||
|
"ln -s ${source}/* android-${platformVersion}\n"
|
||||||
|
else "") platformVersions
|
||||||
|
else ""}
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
# Symlink required platforms
|
# Symlink required platforms
|
||||||
|
|
||||||
mkdir -p platforms
|
mkdir -p platforms
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{pkgs, pkgs_i686}:
|
{pkgs, pkgs_i686, includeSources ? true}:
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
platformTools = import ./platform-tools.nix {
|
platformTools = import ./platform-tools.nix {
|
||||||
@ -39,12 +39,16 @@ rec {
|
|||||||
inherit (pkgs) stdenv fetchurl unzip;
|
inherit (pkgs) stdenv fetchurl unzip;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sources = import ./sources.nix {
|
||||||
|
inherit (pkgs) stdenv fetchurl unzip;
|
||||||
|
};
|
||||||
|
|
||||||
androidsdk = import ./androidsdk.nix {
|
androidsdk = import ./androidsdk.nix {
|
||||||
inherit (pkgs) stdenv fetchurl unzip makeWrapper;
|
inherit (pkgs) stdenv fetchurl unzip makeWrapper;
|
||||||
inherit (pkgs) zlib glxinfo freetype fontconfig glib gtk2 atk mesa file alsaLib jdk coreutils libpulseaudio dbus;
|
inherit (pkgs) zlib glxinfo freetype fontconfig glib gtk2 atk mesa file alsaLib jdk coreutils libpulseaudio dbus;
|
||||||
inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst xkeyboardconfig;
|
inherit (pkgs.xorg) libX11 libXext libXrender libxcb libXau libXdmcp libXtst xkeyboardconfig;
|
||||||
|
|
||||||
inherit platformTools buildTools support supportRepository platforms sysimages addons;
|
inherit platformTools buildTools support supportRepository platforms sysimages addons sources includeSources;
|
||||||
|
|
||||||
stdenv_32bit = pkgs_i686.stdenv;
|
stdenv_32bit = pkgs_i686.stdenv;
|
||||||
};
|
};
|
||||||
|
@ -12,3 +12,4 @@ curl -o sys-img.xml https://dl.google.com/android/repository/sys-img/andro
|
|||||||
./generate-addons.sh
|
./generate-addons.sh
|
||||||
./generate-platforms.sh
|
./generate-platforms.sh
|
||||||
./generate-sysimages.sh
|
./generate-sysimages.sh
|
||||||
|
./generate-sources.sh
|
||||||
|
3
pkgs/development/mobile/androidenv/generate-sources.sh
Executable file
3
pkgs/development/mobile/androidenv/generate-sources.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
xsltproc generate-sources.xsl repository-11.xml > sources.nix
|
52
pkgs/development/mobile/androidenv/generate-sources.xsl
Normal file
52
pkgs/development/mobile/androidenv/generate-sources.xsl
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
|
||||||
|
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:sdk="http://schemas.android.com/sdk/android/repository/11">
|
||||||
|
|
||||||
|
<xsl:output omit-xml-declaration="yes" indent="no" />
|
||||||
|
|
||||||
|
<xsl:template name="repository-url">
|
||||||
|
<xsl:variable name="raw-url" select="sdk:archives/sdk:archive/sdk:url"/>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="starts-with($raw-url, 'http')">
|
||||||
|
<xsl:value-of select="$raw-url"/>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:text>https://dl.google.com/android/repository/</xsl:text>
|
||||||
|
<xsl:value-of select="$raw-url"/>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:template match="/sdk:sdk-repository">
|
||||||
|
# This file is generated from generate-sources.sh. DO NOT EDIT.
|
||||||
|
# Execute generate-sources.sh or fetch.sh to update the file.
|
||||||
|
{stdenv, fetchurl, unzip}:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildSource = args:
|
||||||
|
stdenv.mkDerivation (args // {
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cd $out
|
||||||
|
unzip $src
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
<xsl:for-each select="sdk:source"><xsl:sort select="sdk:api-level" data-type="number"/>
|
||||||
|
source_<xsl:value-of select="sdk:api-level" /> = buildSource {
|
||||||
|
name = "android-source-<xsl:value-of select="sdk:api-level" />";
|
||||||
|
src = fetchurl {
|
||||||
|
url = <xsl:call-template name="repository-url"/>;
|
||||||
|
sha1 = "<xsl:value-of select="sdk:archives/sdk:archive/sdk:checksum[@type='sha1']" />";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API <xsl:value-of select="sdk:api-level" />";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
</xsl:for-each>
|
||||||
|
}
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
140
pkgs/development/mobile/androidenv/sources.nix
Normal file
140
pkgs/development/mobile/androidenv/sources.nix
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
|
||||||
|
# This file is generated from generate-sources.sh. DO NOT EDIT.
|
||||||
|
# Execute generate-sources.sh or fetch.sh to update the file.
|
||||||
|
{stdenv, fetchurl, unzip}:
|
||||||
|
|
||||||
|
let
|
||||||
|
buildSource = args:
|
||||||
|
stdenv.mkDerivation (args // {
|
||||||
|
buildInputs = [ unzip ];
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out
|
||||||
|
cd $out
|
||||||
|
unzip $src
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
source_14 = buildSource {
|
||||||
|
name = "android-source-14";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-14_r01.zip;
|
||||||
|
sha1 = "eaf4ed7dcac46e68516a1b4aa5b0d9e5a39a7555";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 14";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_15 = buildSource {
|
||||||
|
name = "android-source-15";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-15_r02.zip;
|
||||||
|
sha1 = "e5992a5747c9590783fbbdd700337bf0c9f6b1fa";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 15";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_16 = buildSource {
|
||||||
|
name = "android-source-16";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-16_r02.zip;
|
||||||
|
sha1 = "0f83c14ed333c45d962279ab5d6bc98a0269ef84";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 16";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_17 = buildSource {
|
||||||
|
name = "android-source-17";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-17_r01.zip;
|
||||||
|
sha1 = "6f1f18cd2d2b1852d7f6892df9cee3823349d43a";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 17";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_18 = buildSource {
|
||||||
|
name = "android-source-18";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-18_r01.zip;
|
||||||
|
sha1 = "8b49fdf7433f4881a2bfb559b5dd05d8ec65fb78";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 18";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_19 = buildSource {
|
||||||
|
name = "android-source-19";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-19_r02.zip;
|
||||||
|
sha1 = "433a1d043ef77561571250e94cb7a0ef24a202e7";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 19";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_20 = buildSource {
|
||||||
|
name = "android-source-20";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-20_r01.zip;
|
||||||
|
sha1 = "8da3e40f2625f9f7ef38b7e403f49f67226c0d76";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 20";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_21 = buildSource {
|
||||||
|
name = "android-source-21";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-21_r01.zip;
|
||||||
|
sha1 = "137a5044915d32bea297a8c1552684802bbc2e25";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 21";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_22 = buildSource {
|
||||||
|
name = "android-source-22";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-22_r01.zip;
|
||||||
|
sha1 = "98320e13976d11597a4a730a8d203ac9a03ed5a6";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 22";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_23 = buildSource {
|
||||||
|
name = "android-source-23";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-23_r01.zip;
|
||||||
|
sha1 = "b0f15da2762b42f543c5e364c2b15b198cc99cc2";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 23";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
source_24 = buildSource {
|
||||||
|
name = "android-source-24";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://dl.google.com/android/repository/sources-24_r01.zip;
|
||||||
|
sha1 = "6b96115830a83d654479f32ce4b724ca9011148b";
|
||||||
|
};
|
||||||
|
meta = {
|
||||||
|
description = "Source code for Android API 24";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user