summary refs log tree commit diff
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2018-11-12 17:48:56 +0000
committerGitHub <noreply@github.com>2018-11-12 17:48:56 +0000
commit968b20e2c7405f27830b6f10a8cac975e965dc94 (patch)
tree97a4fdcb2242ddca825993d1fba17b8579a4c098
parent9e4456ce49c1e93aa54d4a1562f04aebc706fa8d (diff)
parentb4d9f6ddca2597af0323f4546b4ae466e0280243 (diff)
downloadnixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar.gz
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar.bz2
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar.lz
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar.xz
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.tar.zst
nixpkgs-968b20e2c7405f27830b6f10a8cac975e965dc94.zip
Merge pull request #50276 from corngood/android-emulator-fix
androidsdk: fix emulator
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix21
1 files changed, 19 insertions, 2 deletions
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index a463adaf731..26750aed6cf 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -41,10 +41,16 @@ stdenv.mkDerivation rec {
     }
     else throw "platform not ${stdenv.hostPlatform.system} supported!";
 
+  emulator = fetchurl {
+     url = "https://dl.google.com/android/repository/emulator-linux-4969155.zip";
+     sha256 = "0iw0j6j3w9zpfalsa7xq2czz4vzgq96zk2zddjhanwwx4p8fhrfd";
+  };
+
   buildCommand = ''
     mkdir -p $out/libexec
     cd $out/libexec
     unpackFile $src
+    unpackFile $emulator
     cd tools
 
     for f in monitor bin/monkeyrunner bin/uiautomatorviewer
@@ -76,13 +82,16 @@ stdenv.mkDerivation rec {
       # The emulators need additional libraries, which are dynamically loaded => let's wrap them
 
       ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") ''
-        for i in emulator emulator-check
+        cd ..
+        for i in emulator/emulator* emulator/qemu/linux-x86_64/qemu-system-*
         do
+            patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux-x86-64.so.2 $i
             wrapProgram `pwd`/$i \
               --prefix PATH : ${stdenv.lib.makeBinPath [ file glxinfo ]} \
               --suffix LD_LIBRARY_PATH : `pwd`/lib:${makeLibraryPath [ stdenv.cc.cc libX11 libxcb libXau libXdmcp libXext libGLU_combined alsaLib zlib libpulseaudio dbus.lib ]} \
               --suffix QT_XKB_CONFIG_ROOT : ${xkeyboardconfig}/share/X11/xkb
         done
+        cd tools
       ''}
     ''}
 
@@ -93,7 +102,7 @@ stdenv.mkDerivation rec {
         # The monitor requires some more patching
 
         cd lib/monitor-x86
-        patchelf --set-interpreter ${stdenv.cc.libc.out}/lib/ld-linux.so.2 monitor
+        patchelf --set-interpreter ${stdenv_32bit.cc.libc.out}/lib/ld-linux.so.2 monitor
         patchelf --set-rpath ${makeLibraryPath [ libX11 libXext libXrender freetype fontconfig ]} libcairo-swt.so
 
         wrapProgram `pwd`/monitor \
@@ -263,6 +272,14 @@ stdenv.mkDerivation rec {
         fi
     done
 
+    for i in $out/libexec/emulator/*
+    do
+        if [ ! -d $i ] && [ -x $i ]
+        then
+            ln -sf $i $out/bin/$(basename $i)
+        fi
+    done
+
     wrapProgram $out/bin/sdkmanager \
       --set JAVA_HOME ${jdk}