summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorMaximilian Bosch <maximilian@mbosch.me>2018-01-09 01:21:48 +0100
committerMaximilian Bosch <maximilian@mbosch.me>2018-01-14 18:33:52 +0100
commit17dcd33e008ec3e7d6d77fe6dbecdd605e000237 (patch)
treefa5def1cf7c50e2a8434677492a762add80afe91 /pkgs/applications
parentf345f35a54888ac4e7d1465ea3b078f375449b82 (diff)
downloadnixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar.gz
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar.bz2
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar.lz
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar.xz
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.tar.zst
nixlib-17dcd33e008ec3e7d6d77fe6dbecdd605e000237.zip
android-studio: set `ANDROID_EMULATOR_USE_SYSTEM_LIBS`
This change sets an environment variable to ensure that Android Studio
uses the correct drivers to avoid any breackage when trying to run a
native application on a virtual device.

Without proper configuration `android-studio` would be unable to load
the drivers for the AVD and yield messages like this:

```
3:32 PM	Executing tasks: [:app:assembleDebug]

3:32 PM	Emulator: libGL error: unable to load driver: i965_dri.so

3:32 PM	Emulator: libGL error: driver pointer missing

3:32 PM	Emulator: libGL error: failed to load driver: i965

3:32 PM	Emulator: libGL error: unable to load driver: i965_dri.so

3:32 PM	Emulator: libGL error: driver pointer missing

3:32 PM	Emulator: libGL error: failed to load driver: i965

3:32 PM	Emulator: libGL error: unable to load driver: swrast_dri.so

3:32 PM	Emulator: libGL error: failed to load driver: swrast

3:32 PM	Emulator: X Error of failed request:  BadValue (integer parameter out of range for operation)

3:32 PM	Emulator: Major opcode of failed request:  155 (GLX)

3:32 PM	Emulator: Minor opcode of failed request:  24 (X_GLXCreateNewContext)

3:32 PM	Emulator: Value in failed request:  0x0

3:32 PM	Emulator: Serial number of failed request:  64

3:32 PM	Emulator: Current serial number in output stream:  65

3:32 PM	Emulator: emulator: ERROR: Missing initial data partition file: /home/ma27/.android/avd/Nexus_5X_API_27.avd/userdata.img

3:32 PM	Emulator: Process finished with exit code 1

3:32 PM	Gradle build finished with 2 warnings(s) in 6s 378ms
```

For further reference have a look at the following StackOverflow
message: https://stackoverflow.com/a/40790339
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/editors/android-studio/common.nix4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 360d373f0707..2c2227dd4ee9 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -34,7 +34,7 @@
 
 let
   androidStudio = stdenv.mkDerivation {
-    name = "${pname}";
+    name = "${pname}-${version}";
 
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}/android-studio-ide-${build}-linux.zip";
@@ -48,6 +48,7 @@ let
     installPhase = ''
       cp -r . $out
       wrapProgram $out/bin/studio.sh \
+        --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
         --set PATH "${stdenv.lib.makeBinPath [
 
           # Checked in studio.sh
@@ -68,7 +69,6 @@ let
 
           # Runtime stuff
           git
-
         ]}" \
         --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [