diff --git a/doc/languages-frameworks/android.section.md b/doc/languages-frameworks/android.section.md index 9a5df2523a25..d76b590ede30 100644 --- a/doc/languages-frameworks/android.section.md +++ b/doc/languages-frameworks/android.section.md @@ -235,5 +235,5 @@ package manager uses. To update the expressions run the `generate.sh` script that is stored in the `pkgs/development/mobile/androidenv/` sub directory: ```bash -sh ./generate.sh +./generate.sh ``` diff --git a/pkgs/development/mobile/androidenv/convertpackages.xsl b/pkgs/development/mobile/androidenv/convertpackages.xsl index 9623e01abcd7..5c36deb73c08 100644 --- a/pkgs/development/mobile/androidenv/convertpackages.xsl +++ b/pkgs/development/mobile/androidenv/convertpackages.xsl @@ -28,7 +28,7 @@ { - + diff --git a/pkgs/development/mobile/androidenv/convertsystemimages.xsl b/pkgs/development/mobile/androidenv/convertsystemimages.xsl index 42d19cb69651..de57041f1923 100644 --- a/pkgs/development/mobile/androidenv/convertsystemimages.xsl +++ b/pkgs/development/mobile/androidenv/convertsystemimages.xsl @@ -6,7 +6,7 @@ - + @@ -15,33 +15,62 @@ - https://dl.google.com/android/repository/sys-img// + https://dl.google.com/android/repository/sys-img// + + -- + + + + -- + + + + " + + ". + + ." + + " + + + + " + + ". + + ." + + " + + -{fetchurl}: +{fetchurl}: { - - - -- - + + - "".."" = { - name = "system-image-"; - path = ""; - revision = ""; - displayName = ""; - archives.all = fetchurl { - - url = ; - sha1 = ""; - - }; + + + = { + name = "system-image-"; + path = ""; + revision = ""; + displayName = ""; + archives.all = fetchurl { + + url = ; + sha1 = ""; + + }; }; + -} +} diff --git a/pkgs/development/mobile/androidenv/generate.sh b/pkgs/development/mobile/androidenv/generate.sh old mode 100644 new mode 100755 index 1c55734f5f42..895a741adffe --- a/pkgs/development/mobile/androidenv/generate.sh +++ b/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