diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2017-07-19 00:39:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-19 00:39:10 +0100 |
commit | b2caceced316877aff8f15aadab87ec439a12e93 (patch) | |
tree | 1a26f5733ac4eed69c991a8d710d5bee08a7fead /pkgs/applications/editors/android-studio/common.nix | |
parent | 4936e99d564c7fccd4135c104243ca1e9f4c483a (diff) | |
parent | 9ab69a3416820df4b499e9a9fe0eb347985fd0c8 (diff) | |
download | nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar.gz nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar.bz2 nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar.lz nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar.xz nixlib-b2caceced316877aff8f15aadab87ec439a12e93.tar.zst nixlib-b2caceced316877aff8f15aadab87ec439a12e93.zip |
Merge pull request #27354 from TomSmeets/androidstudio-3.0
android-studio-preview: init at 3.0.0.5 canary 6
Diffstat (limited to 'pkgs/applications/editors/android-studio/common.nix')
-rw-r--r-- | pkgs/applications/editors/android-studio/common.nix | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix new file mode 100644 index 000000000000..e74d04218f48 --- /dev/null +++ b/pkgs/applications/editors/android-studio/common.nix @@ -0,0 +1,114 @@ +{ pname, version, build, src, meta }: +{ bash +, buildFHSUserEnv +, coreutils +, fetchurl +, findutils +, file +, git +, glxinfo +, gnugrep +, gnutar +, gzip +, fontconfig +, freetype +, libpulseaudio +, libX11 +, libXext +, libXi +, libXrandr +, libXrender +, libXtst +, makeWrapper +, pciutils +, pkgsi686Linux +, setxkbmap +, stdenv +, unzip +, which +, writeTextFile +, xkeyboard_config +, zlib +, fontsConf +}: + +let + androidStudio = stdenv.mkDerivation { + inherit src meta; + name = "${pname}"; + buildInputs = [ + makeWrapper + unzip + ]; + installPhase = '' + cp -r . $out + wrapProgram $out/bin/studio.sh \ + --set PATH "${stdenv.lib.makeBinPath [ + + # Checked in studio.sh + coreutils + findutils + gnugrep + which + + # For Android emulator + file + glxinfo + pciutils + setxkbmap + + # Used during setup wizard + gnutar + gzip + + # Runtime stuff + git + + ]}" \ + --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ + + # Crash at startup without these + fontconfig + freetype + libXext + libXi + libXrender + libXtst + + # Gradle wants libstdc++.so.6 + stdenv.cc.cc.lib + # mksdcard wants 32 bit libstdc++.so.6 + pkgsi686Linux.stdenv.cc.cc.lib + + # aapt wants libz.so.1 + zlib + pkgsi686Linux.zlib + # Support multiple monitors + libXrandr + + # For Android emulator + libpulseaudio + libX11 + + ]}" \ + --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \ + --set FONTCONFIG_FILE ${fontsConf} + ''; + }; + + # Android Studio downloads prebuilt binaries as part of the SDK. These tools + # (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS + # environment is used as a work around for that. + fhsEnv = buildFHSUserEnv { + name = "${pname}-fhs-env"; + }; + +in writeTextFile { + name = "${pname}-${version}"; + destination = "/bin/${pname}"; + executable = true; + text = '' + #!${bash}/bin/bash + ${fhsEnv}/bin/${pname}-fhs-env ${androidStudio}/bin/studio.sh + ''; +} |