Skip to content

Commit

Permalink
Merge pull request #45853 from bkchr/android_studio_desktop
Browse files Browse the repository at this point in the history
android-studio: Add desktop item
  • Loading branch information
primeos committed Sep 2, 2018
2 parents b35b8ba + 6d28393 commit 044c16a
Showing 1 changed file with 42 additions and 18 deletions.
60 changes: 42 additions & 18 deletions pkgs/applications/editors/android-studio/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,12 @@
, writeTextFile
, xkeyboard_config
, zlib
, makeDesktopItem
}:

let
drvName = "android-studio-${channel}-${version}";
androidStudio = stdenv.mkDerivation {
androidStudio = stdenv.mkDerivation rec {
name = drvName;

src = fetchurl {
Expand Down Expand Up @@ -110,7 +111,20 @@ let
]}" \
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
--set FONTCONFIG_FILE ${fontsConf}
install -Dm644 bin/studio.png $out/share/pixmaps/${drvName}.png
ln -s ${desktopItem}/share/applications $out/share/applications
'';

desktopItem = makeDesktopItem rec {
name = drvName;
exec = pname;
icon = drvName;
desktopName = "Android Studio";
comment = "The official Android IDE";
categories = "Development;IDE;";
};

};

# Android Studio downloads prebuilt binaries as part of the SDK. These tools
Expand All @@ -121,8 +135,7 @@ let
multiPkgs = pkgs: [ pkgs.ncurses5 ];
};

in
writeTextFile {
wrapper = writeTextFile {
name = "${drvName}-wrapper";
# TODO: Rename preview -> beta (and add -stable suffix?):
destination = "/bin/${pname}";
Expand All @@ -131,18 +144,29 @@ in
#!${bash}/bin/bash
${fhsEnv}/bin/${drvName}-fhs-env ${androidStudio}/bin/studio.sh
'';
} // {
meta = with stdenv.lib; {
description = "The Official IDE for Android (${channel} channel)";
longDescription = ''
Android Studio is the official IDE for Android app development, based on
IntelliJ IDEA.
'';
homepage = if channel == "stable"
then https://developer.android.com/studio/index.html
else https://developer.android.com/studio/preview/index.html;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ primeos ];
};
}
};
in stdenv.mkDerivation {
name = "${drvName}-with-desktop-item";

buildCommand = ''
mkdir -p $out/{bin,share/pixmaps}
ln -s ${wrapper}/bin/${pname} $out/bin/${pname}
ln -s ${androidStudio}/share/pixmaps/${drvName}.png $out/share/pixmaps/${drvName}.png
ln -s ${androidStudio}/share/applications $out/share/applications
'';

meta = with stdenv.lib; {
description = "The Official IDE for Android (${channel} channel)";
longDescription = ''
Android Studio is the official IDE for Android app development, based on
IntelliJ IDEA.
'';
homepage = if channel == "stable"
then https://developer.android.com/studio/index.html
else https://developer.android.com/studio/preview/index.html;
license = licenses.asl20;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ primeos ];
};
}

0 comments on commit 044c16a

Please sign in to comment.