diff options
author | Katharina Fey <kookie@spacekookie.de> | 2020-03-24 10:15:32 +0100 |
---|---|---|
committer | Katharina Fey <kookie@spacekookie.de> | 2020-03-24 10:15:32 +0100 |
commit | 96f063dd321abc80ecaa156226cfb7cf9540315a (patch) | |
tree | 7a53ef61484fc7bfff6419b1fd635c67199f27d2 /nixpkgs/pkgs/development/mobile/androidenv | |
parent | af58f08d3d524e7b008b73a8497ea710915ffaf1 (diff) | |
parent | d96bd3394b734487d1c3bfbac0e8f17465e03afe (diff) |
Merge commit 'd96bd3394b734487d1c3bfbac0e8f17465e03afe'
Diffstat (limited to 'nixpkgs/pkgs/development/mobile/androidenv')
5 files changed, 95 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix b/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix index 9e273468cd3..e648c83fa17 100644 --- a/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix +++ b/nixpkgs/pkgs/development/mobile/androidenv/build-tools.nix @@ -7,8 +7,10 @@ deployAndroidPackage { patchInstructions = '' ${lib.optionalString (os == "linux") '' addAutoPatchelfSearchPath $packageBaseDir/lib - addAutoPatchelfSearchPath $packageBaseDir/lib64 - autoPatchelf --no-recurse $packageBaseDir/lib64 + if [[ -d $packageBaseDir/lib64 ]]; then + addAutoPatchelfSearchPath $packageBaseDir/lib64 + autoPatchelf --no-recurse $packageBaseDir/lib64 + fi autoPatchelf --no-recurse $packageBaseDir ''} diff --git a/nixpkgs/pkgs/development/mobile/androidenv/convertpackages.xsl b/nixpkgs/pkgs/development/mobile/androidenv/convertpackages.xsl index 9623e01abcd..5c36deb73c0 100644 --- a/nixpkgs/pkgs/development/mobile/androidenv/convertpackages.xsl +++ b/nixpkgs/pkgs/development/mobile/androidenv/convertpackages.xsl @@ -28,7 +28,7 @@ { <!-- Convert all remote packages --> - <xsl:for-each select="remotePackage"><xsl:sort select="@path" /> + <xsl:for-each select="remotePackage[not(contains(@path, ';') and substring-after(@path, ';') = 'latest')]"><xsl:sort select="@path" /> <!-- Extract the package name from the path --> <xsl:variable name="name"> diff --git a/nixpkgs/pkgs/development/mobile/androidenv/convertsystemimages.xsl b/nixpkgs/pkgs/development/mobile/androidenv/convertsystemimages.xsl index 42d19cb6965..de57041f192 100644 --- a/nixpkgs/pkgs/development/mobile/androidenv/convertsystemimages.xsl +++ b/nixpkgs/pkgs/development/mobile/androidenv/convertsystemimages.xsl @@ -6,7 +6,7 @@ <xsl:param name="imageType" /> - <xsl:output omit-xml-declaration="yes" indent="no" /> + <xsl:output method="text" omit-xml-declaration="yes" indent="no" /> <xsl:template name="repository-url"> <xsl:variable name="raw-url" select="complete/url"/> @@ -15,33 +15,62 @@ <xsl:value-of select="$raw-url"/> </xsl:when> <xsl:otherwise> - https://dl.google.com/android/repository/sys-img/<xsl:value-of select="$imageType" />/<xsl:value-of select="$raw-url"/> + <xsl:text>https://dl.google.com/android/repository/sys-img/</xsl:text><xsl:value-of select="$imageType" /><xsl:text>/</xsl:text><xsl:value-of select="$raw-url"/> </xsl:otherwise> </xsl:choose> </xsl:template> + <xsl:template mode="revision" match="type-details[codename]"> + <xsl:value-of select="codename" />-<xsl:value-of select="tag/id" />-<xsl:value-of select="abi" /> + </xsl:template> + + <xsl:template mode="revision" match="type-details[not(codename)]"> + <xsl:value-of select="api-level" />-<xsl:value-of select="tag/id" />-<xsl:value-of select="abi" /> + </xsl:template> + + <xsl:template mode="attrkey" match="type-details[codename]"> + <xsl:text>"</xsl:text> + <xsl:value-of select="codename" /> + <xsl:text>".</xsl:text> + <xsl:value-of select="tag/id" /> + <xsl:text>."</xsl:text> + <xsl:value-of select="abi" /> + <xsl:text>"</xsl:text> + </xsl:template> + + <xsl:template mode="attrkey" match="type-details[not(codename)]"> + <xsl:text>"</xsl:text> + <xsl:value-of select="api-level" /> + <xsl:text>".</xsl:text> + <xsl:value-of select="tag/id" /> + <xsl:text>."</xsl:text> + <xsl:value-of select="abi" /> + <xsl:text>"</xsl:text> + </xsl:template> + <xsl:template match="/sys-img:sdk-sys-img"> -{fetchurl}: +<xsl:text>{fetchurl}: { - <xsl:for-each select="remotePackage[starts-with(@path, 'system-images;')]"> - <xsl:variable name="revision"> - <xsl:value-of select="type-details/api-level" />-<xsl:value-of select="type-details/tag/id" />-<xsl:value-of select="type-details/abi" /> - </xsl:variable> - - "<xsl:value-of select="type-details/api-level" />".<xsl:value-of select="type-details/tag/id" />."<xsl:value-of select="type-details/abi" />" = { - name = "system-image-<xsl:value-of select="$revision" />"; - path = "<xsl:value-of select="translate(@path, ';', '/')" />"; - revision = "<xsl:value-of select="$revision" />"; - displayName = "<xsl:value-of select="display-name" />"; - archives.all = fetchurl { - <xsl:for-each select="archives/archive"> - url = <xsl:call-template name="repository-url"/>; - sha1 = "<xsl:value-of select="complete/checksum" />"; - </xsl:for-each> - }; +</xsl:text><xsl:for-each select="remotePackage[starts-with(@path, 'system-images;')]"> + <xsl:variable name="revision"><xsl:apply-templates mode="revision" select="type-details" /></xsl:variable> + + <xsl:variable name="attrkey"><xsl:apply-templates mode="attrkey" select="type-details" /></xsl:variable> + + <xsl:text> </xsl:text><xsl:value-of select="$attrkey" /><xsl:text> = { + name = "system-image-</xsl:text><xsl:value-of select="$revision" /><xsl:text>"; + path = "</xsl:text><xsl:value-of select="translate(@path, ';', '/')" /><xsl:text>"; + revision = "</xsl:text><xsl:value-of select="$revision" /><xsl:text>"; + displayName = "</xsl:text><xsl:value-of select="display-name" /><xsl:text>"; + archives.all = fetchurl {</xsl:text> + <xsl:for-each select="archives/archive"><xsl:text> + url = </xsl:text><xsl:call-template name="repository-url"/><xsl:text>; + sha1 = "</xsl:text><xsl:value-of select="complete/checksum" /><xsl:text>";</xsl:text> + </xsl:for-each><xsl:text> + }; }; +</xsl:text> </xsl:for-each> -} +<xsl:text>}</xsl:text> </xsl:template> </xsl:stylesheet> diff --git a/nixpkgs/pkgs/development/mobile/androidenv/generate.sh b/nixpkgs/pkgs/development/mobile/androidenv/generate.sh index 1c55734f5f4..895a741adff 100644..100755 --- a/nixpkgs/pkgs/development/mobile/androidenv/generate.sh +++ b/nixpkgs/pkgs/development/mobile/androidenv/generate.sh @@ -1,16 +1,36 @@ -#!/bin/sh -e +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl libxslt + +set -e + +die() { + echo "$1" >&2 + exit 1 +} + +fetch() { + local url="https://dl.google.com/android/repository/$1" + echo "$url -> $2" + curl -s "$url" -o "$2" || die "Failed to fetch $url" +} + +pushd "$(dirname "$0")" &>/dev/null || exit 1 + +mkdir -p xml # Convert base packages -curl https://dl.google.com/android/repository/repository2-1.xml -o xml/repository2-1.xml +fetch repository2-1.xml xml/repository2-1.xml xsltproc convertpackages.xsl xml/repository2-1.xml > generated/packages.nix # Convert system images for img in android android-tv android-wear android-wear-cn google_apis google_apis_playstore do - curl https://dl.google.com/android/repository/sys-img/$img/sys-img2-1.xml -o xml/$img-sys-img2-1.xml + fetch sys-img/$img/sys-img2-1.xml xml/$img-sys-img2-1.xml xsltproc --stringparam imageType $img convertsystemimages.xsl xml/$img-sys-img2-1.xml > generated/system-images-$img.nix done # Convert system addons -curl https://dl.google.com/android/repository/addon2-1.xml -o xml/addon2-1.xml +fetch addon2-1.xml xml/addon2-1.xml xsltproc convertaddons.xsl xml/addon2-1.xml > generated/addons.nix + +popd &>/dev/null diff --git a/nixpkgs/pkgs/development/mobile/androidenv/generated/packages.nix b/nixpkgs/pkgs/development/mobile/androidenv/generated/packages.nix index db1f7f1b8d3..fc9f50e1316 100644 --- a/nixpkgs/pkgs/development/mobile/androidenv/generated/packages.nix +++ b/nixpkgs/pkgs/development/mobile/androidenv/generated/packages.nix @@ -1504,6 +1504,23 @@ }; }; + "platforms"."29" = { + + name = "platforms"; + path = "platforms/android-29"; + revision = "29"; + displayName = "Android SDK Platform 29"; + archives = { + + all = fetchurl { + url = https://dl.google.com/android/repository/platform-29_r03.zip; + sha1 = "670e2e104333dae90e16ea3b615f0b63da5883ae"; + }; + + }; + }; + + "platforms"."3" = { name = "platforms"; |