summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorSander van der Burg <svanderburg@gmail.com>2015-10-15 14:42:24 +0000
committerSander van der Burg <svanderburg@gmail.com>2015-10-15 14:42:24 +0000
commit62e676b9598d2638e846761160082f6fec392ffe (patch)
treec5d7d4b6686a55e7a43d41d3c31da6d30d54144f /pkgs
parent25033c50e8ae1b73e963b81195a5dde64965d3fd (diff)
downloadnixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar.gz
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar.bz2
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar.lz
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar.xz
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.tar.zst
nixpkgs-62e676b9598d2638e846761160082f6fec392ffe.zip
androidenv: fix broken, less frequently used command-line tools
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/mobile/androidenv/androidsdk.nix13
-rw-r--r--pkgs/development/mobile/androidenv/build-tools.nix17
-rw-r--r--pkgs/development/mobile/androidenv/default.nix2
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix12
4 files changed, 35 insertions, 9 deletions
diff --git a/pkgs/development/mobile/androidenv/androidsdk.nix b/pkgs/development/mobile/androidenv/androidsdk.nix
index bc994603ab4..055c307f2cc 100644
--- a/pkgs/development/mobile/androidenv/androidsdk.nix
+++ b/pkgs/development/mobile/androidenv/androidsdk.nix
@@ -53,12 +53,21 @@ stdenv.mkDerivation rec {
         done
       ''}
       
-      # The android script used SWT and wants to dynamically load some GTK+ stuff.
-      # The following wrapper ensures that they can be found:
+      # The following scripts used SWT and wants to dynamically load some GTK+ stuff.
+      # Creating these wrappers ensure that they can be found:
+      
       wrapProgram `pwd`/android \
         --prefix PATH : ${jdk}/bin \
         --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
     
+      wrapProgram `pwd`/uiautomatorviewer \
+        --prefix PATH : ${jdk}/bin \
+        --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+    
+      wrapProgram `pwd`/hierarchyviewer \
+        --prefix PATH : ${jdk}/bin \
+        --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
+      
       # The emulators need additional libraries, which are dynamically loaded => let's wrap them
     
       for i in emulator emulator-arm emulator-mips emulator-x86
diff --git a/pkgs/development/mobile/androidenv/build-tools.nix b/pkgs/development/mobile/androidenv/build-tools.nix
index a73eae3f50c..1b49c8f6fc4 100644
--- a/pkgs/development/mobile/androidenv/build-tools.nix
+++ b/pkgs/development/mobile/androidenv/build-tools.nix
@@ -1,4 +1,4 @@
-{stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit}:
+{stdenv, stdenv_32bit, fetchurl, unzip, zlib_32bit, ncurses_32bit}:
 
 stdenv.mkDerivation rec {
   version = "23.0.1";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
         cd android-*
         
         # Patch the interpreter
-        for i in aapt aidl dexdump llvm-rs-cc
+        for i in aapt aidl bcc_compat dexdump llvm-rs-cc
         do
             patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
         done
@@ -36,13 +36,22 @@ stdenv.mkDerivation rec {
         done
         
         # These binaries need to find libstdc++, libgcc_s and libraries in the current folder
-        for i in lib/libbcc.so lib/libbcinfo.so lib/libclang.so llvm-rs-cc
+        for i in lib/libbcc.so lib/libbcinfo.so lib/libclang.so aidl
         do
             patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:`pwd`/lib $i
         done
+        
+        # Create link to make libtinfo.so.5 work
+        ln -s ${ncurses_32bit}/lib/libncurses.so.5 `pwd`/lib/libtinfo.so.5
+        
+        # These binaries need to find libstdc++, libgcc_s, ncurses, and libraries in the current folder
+        for i in bcc_compat llvm-rs-cc
+        do
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${ncurses_32bit}/lib:`pwd`/lib $i
+        done
 
         # These binaries also need zlib in addition to libstdc++
-        for i in zipalign
+        for i in arm-linux-androideabi-ld i686-linux-android-ld mipsel-linux-android-ld split-select zipalign
         do
             patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
             patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${zlib_32bit}/lib:`pwd`/lib $i
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index ed8e838722c..86d82abbea4 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -4,12 +4,14 @@ rec {
   platformTools = import ./platform-tools.nix {
     inherit (pkgs) stdenv fetchurl unzip;
     stdenv_32bit = pkgs_i686.stdenv;
+    zlib_32bit = pkgs_i686.zlib;
   };
   
   buildTools = import ./build-tools.nix {
     inherit (pkgs) stdenv fetchurl unzip;
     stdenv_32bit = pkgs_i686.stdenv;
     zlib_32bit = pkgs_i686.zlib;
+    ncurses_32bit = pkgs_i686.ncurses;
   };
   
   support = import ./support.nix {
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index d217d57643d..1243ba429a3 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -1,4 +1,4 @@
-{stdenv, stdenv_32bit, fetchurl, unzip}:
+{stdenv, stdenv_32bit, zlib_32bit, fetchurl, unzip}:
 
 stdenv.mkDerivation rec {
   version = "23.0.1";
@@ -22,10 +22,16 @@ stdenv.mkDerivation rec {
     
     ${stdenv.lib.optionalString (stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux")
       ''
-        for i in adb fastboot
+        for i in adb dmtracedump fastboot hprof-conv sqlite3
         do
             patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
-            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:`pwd`/lib $i
+        done
+        
+        for i in etc1tool
+        do
+            patchelf --set-interpreter ${stdenv_32bit.cc.libc}/lib/ld-linux.so.2 $i
+            patchelf --set-rpath ${stdenv_32bit.cc.cc}/lib:${zlib_32bit}/lib:`pwd`/lib $i
         done
     ''}