From f3bf0026a220ba2270977e22e94286bf1a6f7e65 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 16:11:43 -0700 Subject: [PATCH 1/7] charles: init at 4.2.6 --- .../networking/charles/default.nix | 64 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +- 2 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 pkgs/applications/networking/charles/default.nix diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix new file mode 100644 index 000000000000..c71237b21600 --- /dev/null +++ b/pkgs/applications/networking/charles/default.nix @@ -0,0 +1,64 @@ +{ stdenv, fetchurl, makeDesktopItem, jre, hicolor-icon-theme }: + +let + desktopItem = makeDesktopItem { + categories = "Network;Development;WebDevelopment;Java;"; + desktopName = "Charles"; + exec = "charles %F"; + genericName = "Web Debugging Proxy"; + icon = "charles"; + 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.6"; + + src = fetchurl { + url = "https://www.charlesproxy.com/assets/release/${version}/charles-proxy-${version}.tar.gz"; + sha256 = "1hjfimyr9nnbbxadwni02d2xl64ybarh42l1g6hlslq5qwl8ywzb"; + }; + + installPhase = '' + set -e + + mkdir -pv $out/bin + + for fn in lib/*.jar; do + install -D -m644 $fn $out/$fn + done + + cat > $out/bin/charles << EOF + #!${stdenv.shell} + + ${jre}/bin/java -Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/lib" -jar $out/lib/charles.jar $* + EOF + + chmod +x $out/bin/charles + + mkdir -p $out/share/applications + ln -s ${desktopItem}/share/applications/* $out/share/applications/ + + for dim in 16x16 32x32 64x64 128x128 256x256 512x512; do + install -D -m644 icon/$dim/apps/charles-proxy.png \ + $out/share/icons/hicolor/$dim/apps/charles.png + for mimetype in application-har+json.png application-vnd.tcpdump.pcap.png application-x-charles-savedsession.png application-x-charles-trace.png; do + install -D -m644 icon/$dim/mimetypes/$mimetype \ + $out/share/icons/hicolor/$dim/mimetypes/$mimetype + done + done + + install -D -m644 doc/licenses/bounce-license.txt \ + $out/share/licenses/bounce-license.txt + ''; + + 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 47e54f0f804e..fe4836fb713b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -848,6 +848,8 @@ with pkgs; bluemix-cli = callPackage ../tools/admin/bluemix-cli { }; + charles = callPackage ../applications/networking/charles { }; + libqmatrixclient = libsForQt5.callPackage ../development/libraries/libqmatrixclient { }; quaternion = libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { }; @@ -3718,7 +3720,7 @@ with pkgs; lzip = callPackage ../tools/compression/lzip { }; luxcorerender = callPackage ../tools/graphics/luxcorerender { }; - + xz = callPackage ../tools/compression/xz { }; lz4 = callPackage ../tools/compression/lz4 { }; @@ -4987,7 +4989,7 @@ with pkgs; securefs = callPackage ../tools/filesystems/securefs { }; seexpr = callPackage ../development/compilers/seexpr { }; - + setroot = callPackage ../tools/X11/setroot { }; setserial = callPackage ../tools/system/setserial { }; From 8384f817e88ecdaa423490fe978089ff8b70fe78 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 16:14:06 -0700 Subject: [PATCH 2/7] add me to the maintainer-list --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 98747df2b4d7..c710f8dc3ea5 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1929,6 +1929,11 @@ github = "kaiha"; name = "Kai Harries"; }; + kalbasit = { + email = "wael.nasreddine@gmail.com"; + github = "kalbasit"; + name = "Wael Nasreddine"; + }; kamilchm = { email = "kamil.chm@gmail.com"; github = "kamilchm"; From c32cea47624b9c0c970b9507045237e8b3ad5a94 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 21:18:02 -0700 Subject: [PATCH 3/7] revert trailing-space change --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fe4836fb713b..01774849aaab 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3720,7 +3720,7 @@ with pkgs; lzip = callPackage ../tools/compression/lzip { }; luxcorerender = callPackage ../tools/graphics/luxcorerender { }; - + xz = callPackage ../tools/compression/xz { }; lz4 = callPackage ../tools/compression/lz4 { }; @@ -4989,7 +4989,7 @@ with pkgs; securefs = callPackage ../tools/filesystems/securefs { }; seexpr = callPackage ../development/compilers/seexpr { }; - + setroot = callPackage ../tools/X11/setroot { }; setserial = callPackage ../tools/system/setserial { }; From fdf7402e3a49d6b2097f881c50721df9588bd666 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 22:28:27 -0700 Subject: [PATCH 4/7] simplify the build phase --- .../networking/charles/default.nix | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index c71237b21600..e18718025cf6 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -6,7 +6,7 @@ let desktopName = "Charles"; exec = "charles %F"; genericName = "Web Debugging Proxy"; - icon = "charles"; + 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"; @@ -22,14 +22,8 @@ in stdenv.mkDerivation rec { }; installPhase = '' - set -e - mkdir -pv $out/bin - for fn in lib/*.jar; do - install -D -m644 $fn $out/$fn - done - cat > $out/bin/charles << EOF #!${stdenv.shell} @@ -38,20 +32,15 @@ in stdenv.mkDerivation rec { chmod +x $out/bin/charles + for fn in lib/*.jar; do + install -D -m644 $fn $out/$fn + done + mkdir -p $out/share/applications ln -s ${desktopItem}/share/applications/* $out/share/applications/ - for dim in 16x16 32x32 64x64 128x128 256x256 512x512; do - install -D -m644 icon/$dim/apps/charles-proxy.png \ - $out/share/icons/hicolor/$dim/apps/charles.png - for mimetype in application-har+json.png application-vnd.tcpdump.pcap.png application-x-charles-savedsession.png application-x-charles-trace.png; do - install -D -m644 icon/$dim/mimetypes/$mimetype \ - $out/share/icons/hicolor/$dim/mimetypes/$mimetype - done - done - - install -D -m644 doc/licenses/bounce-license.txt \ - $out/share/licenses/bounce-license.txt + mkdir -p $out/share/icons + cp -r icon $out/share/icons/hicolor ''; meta = with stdenv.lib; { From 137b4ffbb906cda0df2badac9375690b7f63e4f4 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 23:17:31 -0700 Subject: [PATCH 5/7] address volth comments --- .../applications/networking/charles/default.nix | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index e18718025cf6..8cac15e78cba 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, makeDesktopItem, jre, hicolor-icon-theme }: +{ stdenv, fetchurl, makeDesktopItem, jre, makeWrapper }: let desktopItem = makeDesktopItem { @@ -21,19 +21,14 @@ in stdenv.mkDerivation rec { sha256 = "1hjfimyr9nnbbxadwni02d2xl64ybarh42l1g6hlslq5qwl8ywzb"; }; + buildInputs = [ makeWrapper ]; + installPhase = '' - mkdir -pv $out/bin - - cat > $out/bin/charles << EOF - #!${stdenv.shell} - - ${jre}/bin/java -Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/lib" -jar $out/lib/charles.jar $* - EOF - - chmod +x $out/bin/charles + makeWrapper ${jre}/bin/java $out/bin/charles \ + --add-flags "-Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/lib" -jar $out/share/java/charles.jar" for fn in lib/*.jar; do - install -D -m644 $fn $out/$fn + install -D -m644 $fn $out/share/java/$(basename $fn) done mkdir -p $out/share/applications From b24e4e64938e6bc5413405e751905f4260a1f803 Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 23:18:51 -0700 Subject: [PATCH 6/7] fix the java.library.path --- pkgs/applications/networking/charles/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 8cac15e78cba..75f617c32f28 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { installPhase = '' makeWrapper ${jre}/bin/java $out/bin/charles \ - --add-flags "-Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/lib" -jar $out/share/java/charles.jar" + --add-flags "-Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/share/java" -jar $out/share/java/charles.jar" for fn in lib/*.jar; do install -D -m644 $fn $out/share/java/$(basename $fn) From d2121607625417a101f109ab12e9352670fbdfbd Mon Sep 17 00:00:00 2001 From: "Wael M. Nasreddine" Date: Fri, 13 Jul 2018 23:19:52 -0700 Subject: [PATCH 7/7] remove useless flags --- pkgs/applications/networking/charles/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 75f617c32f28..8a60023b4350 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -25,7 +25,7 @@ in stdenv.mkDerivation rec { installPhase = '' makeWrapper ${jre}/bin/java $out/bin/charles \ - --add-flags "-Xmx1024M -Dcharles.config="~/.charles.config" -Djava.library.path="$out/share/java" -jar $out/share/java/charles.jar" + --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)