From 31583d7cb612a0d19a94fd1e03096b9da138b7d5 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 1 Aug 2018 18:18:19 +0200 Subject: [PATCH] androidStudioPackages: Refactor the code --- .../editors/android-studio/common.nix | 19 ++++++++- .../editors/android-studio/default.nix | 41 +++++-------------- 2 files changed, 28 insertions(+), 32 deletions(-) diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index 8a536bad9c48..698602085fe9 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -1,4 +1,5 @@ -{ pname, version, build, sha256Hash, meta }: +{ channel, pname, version, build, sha256Hash }: + { bash , buildFHSUserEnv , coreutils @@ -128,4 +129,18 @@ in #!${bash}/bin/bash ${fhsEnv}/bin/${pname}-fhs-env ${androidStudio}/bin/studio.sh ''; - } // { inherit meta; } + } // { + 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 ]; + }; + } diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index ab76166a8f94..73f2724f0e1d 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -12,7 +12,12 @@ let build = "173.4819257"; sha256Hash = "196yaswbxh2nd83gimjxr8ggr5xkdxq7n3xlh6ax73v59pj4hryq"; }; - latestVersion = { + betaVersion = { + version = "3.2.0.22"; # "Android Studio 3.2 Beta 5" + build = "181.4913314"; + sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9"; + }; + latestVersion = { # canary & dev version = "3.3.0.2"; # "Android Studio 3.3 Canary 3" build = "181.4884283"; sha256Hash = "0r93yzw87cgzz60p60gknij5vaqmv1a1kyd4cr9gx8cbxw46lhwh"; @@ -24,48 +29,24 @@ in rec { # Attributes are named by the corresponding release channels stable = mkStudio (stableVersion // { + channel = "stable"; pname = "android-studio"; #pname = "android-studio-stable"; # TODO: Rename and provide symlink - - meta = with stdenv.lib; { - description = "The Official IDE for Android (stable channel)"; - longDescription = '' - Android Studio is the official IDE for Android app development, based on - IntelliJ IDEA. - ''; - homepage = https://developer.android.com/studio/index.html; - license = licenses.asl20; - platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ primeos ]; - }; }); - beta = mkStudio (latestVersion // { + beta = mkStudio (betaVersion // { + channel = "beta"; pname = "android-studio-preview"; #pname = "android-studio-beta"; # TODO: Rename and provide symlink - version = "3.2.0.22"; # "Android Studio 3.2 Beta 5" - build = "181.4913314"; - sha256Hash = "016nyn1pqviy089hg0dq7m4cqb39fdxdcy4zknkaq7dmgv1dj6x9"; - - meta = stable.meta // { - description = "The Official IDE for Android (beta channel)"; - homepage = https://developer.android.com/studio/preview/index.html; - }; }); dev = mkStudio (latestVersion // { + channel = "dev"; pname = "android-studio-dev"; - - meta = beta.meta // { - description = "The Official IDE for Android (dev channel)"; - }; }); canary = mkStudio (latestVersion // { + channel = "canary"; pname = "android-studio-canary"; - - meta = beta.meta // { - description = "The Official IDE for Android (canary channel)"; - }; }); }