Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{deployAndroidPackage, lib, package, autoPatchelfHook, makeWrapper, os, pkgs, pkgsi686Linux, stdenv, cmdLineToolsVersion, postInstall}: 2 3deployAndroidPackage { 4 name = "androidsdk"; 5 inherit package os; 6 nativeBuildInputs = [ makeWrapper ] 7 ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ]; 8 9 patchInstructions = '' 10 ${lib.optionalString (os == "linux") '' 11 # Auto patch all binaries 12 autoPatchelf . 13 ''} 14 15 # Strip double dots from the root path 16 export ANDROID_SDK_ROOT="$out/libexec/android-sdk" 17 18 # Wrap all scripts that require JAVA_HOME 19 find $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin -maxdepth 1 -type f -executable | while read program; do 20 if grep -q "JAVA_HOME" $program; then 21 wrapProgram $program --prefix PATH : ${pkgs.jdk11}/bin \ 22 --prefix ANDROID_SDK_ROOT : $ANDROID_SDK_ROOT 23 fi 24 done 25 26 # Wrap sdkmanager script 27 wrapProgram $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin/sdkmanager \ 28 --prefix PATH : ${lib.makeBinPath [ pkgs.jdk11 ]} \ 29 --add-flags "--sdk_root=$ANDROID_SDK_ROOT" 30 31 # Patch all script shebangs 32 patchShebangs $ANDROID_SDK_ROOT/cmdline-tools/${cmdLineToolsVersion}/bin 33 34 cd $ANDROID_SDK_ROOT 35 ${postInstall} 36 ''; 37 38 meta.license = lib.licenses.unfree; 39}