summaryrefslogtreecommitdiffstats
path: root/pkgs/applications
diff options
context:
space:
mode:
authoreyJhb <eyjhbb@gmail.com>2019-02-23 22:33:22 +0100
committerWael Nasreddine <wael.nasreddine@gmail.com>2019-02-23 13:33:22 -0800
commitfae3c6fb9efb4a742d706a18a82087870720f3e0 (patch)
tree51825c7702bb55a6306c9edcc7e35e1489724547 /pkgs/applications
parent161122ffee8dd52ba61ff691e3ae7299d315b885 (diff)
charles: made charles 4.x/3.x available (#56159)
Charles proxy requires a license and each license is bound to the major release version. Therefore it makes sense to make the previous version available to the users. This change provides two new packages `charles3` and `charles4` and `charles` is now an alias for `charles4`.
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/networking/charles/default.nix98
1 files changed, 59 insertions, 39 deletions
diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix
index 3f019d177023..98d4e25ef872 100644
--- a/pkgs/applications/networking/charles/default.nix
+++ b/pkgs/applications/networking/charles/default.nix
@@ -1,48 +1,68 @@
-{ stdenv, fetchurl, makeDesktopItem, jre, makeWrapper }:
+{
+stdenv
+, makeWrapper
+, makeDesktopItem
+, fetchurl
+, jre
+}:
let
- desktopItem = makeDesktopItem {
- categories = "Network;Development;WebDevelopment;Java;";
- desktopName = "Charles";
- exec = "charles %F";
- genericName = "Web Debugging Proxy";
- icon = "charles-proxy";
- mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace";
- name = "Charles";
- startupNotify = "true";
- };
-
-in stdenv.mkDerivation rec {
- name = "charles-${version}";
- version = "4.2.7";
-
- src = fetchurl {
- url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz";
- sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd";
- };
+ generic = { version, sha256, ... }@attrs:
+ let
+ desktopItem = makeDesktopItem {
+ categories = "Network;Development;WebDevelopment;Java;";
+ desktopName = "Charles";
+ exec = "charles %F";
+ genericName = "Web Debugging Proxy";
+ icon = "charles-proxy";
+ mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace";
+ name = "Charles";
+ startupNotify = "true";
+ };
+
+ attrs' = builtins.removeAttrs attrs ["version" "sha256"];
+ in stdenv.mkDerivation rec {
+ name = "charles-${version}";
+ inherit version;
+
+ src = fetchurl {
+ url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz";
+ inherit sha256;
+ };
+ buildInputs = [ makeWrapper ];
- buildInputs = [ makeWrapper ];
+ installPhase = ''
+ makeWrapper ${jre}/bin/java $out/bin/charles \
+ --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar"
- installPhase = ''
- makeWrapper ${jre}/bin/java $out/bin/charles \
- --add-flags "-Xmx1024M -Dcharles.config='~/.charles.config' -jar $out/share/java/charles.jar"
+ for fn in lib/*.jar; do
+ install -D -m644 $fn $out/share/java/$(basename $fn)
+ done
- for fn in lib/*.jar; do
- install -D -m644 $fn $out/share/java/$(basename $fn)
- done
+ mkdir -p $out/share/applications
+ ln -s ${desktopItem}/share/applications/* $out/share/applications/
- mkdir -p $out/share/applications
- ln -s ${desktopItem}/share/applications/* $out/share/applications/
+ mkdir -p $out/share/icons
+ cp -r icon $out/share/icons/hicolor
+ '';
- mkdir -p $out/share/icons
- cp -r icon $out/share/icons/hicolor
- '';
+ meta = with stdenv.lib; {
+ description = "Web Debugging Proxy";
+ homepage = https://www.charlesproxy.com/;
+ maintainers = [ maintainers.kalbasit ];
+ license = stdenv.lib.licenses.unfree;
+ platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+ };
+ };
- meta = with stdenv.lib; {
- description = "Web Debugging Proxy";
- homepage = https://www.charlesproxy.com/;
- maintainers = [ maintainers.kalbasit ];
- license = stdenv.lib.licenses.unfree;
- platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
- };
+in rec {
+ charles4 = (generic {
+ version = "4.2.7";
+ sha256 = "1nycw3wpbfwj4ijjaq5k0f4xipj8j605fs0yjzgl66gmv7r583rd";
+ });
+ charles3 = (generic {
+ version = "3.12.3";
+ sha256 = "13zk82ny1w5zd9qcs9qkq0kdb22ni5byzajyshpxdfm4zv6p32ss";
+ });
}
+