diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix index 20b7886b74d5..39d066451db5 100644 --- a/pkgs/applications/networking/charles/default.nix +++ b/pkgs/applications/networking/charles/default.nix @@ -31,7 +31,7 @@ let desktopName = "Charles"; exec = "charles %F"; genericName = "Web Debugging Proxy"; - icon = "charles-proxy"; + icon = "charles-proxy" + lib.optionalString (lib.versionAtLeast version "5.0") "5"; mimeTypes = [ "application/x-charles-savedsession" "application/x-charles-savedsession+xml" @@ -73,8 +73,24 @@ let 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 + ${ + if lib.versionOlder version "4.0" then + '' + for size in 16 32 48 64 128 256 512; do + install -Dm644 icon/charles_icon$size.png $out/share/icons/hicolor/''${size}x''${size}/apps/charles-proxy.png + done + install -Dm644 icon/charles_icon.svg $out/share/icons/hicolor/scalable/apps/charles-proxy.svg + '' + else + '' + mkdir -p $out/share/icons + cp -r icon $out/share/icons/hicolor + if [ -d "etc/mime" ]; then + mkdir -p $out/share/mime/packages + cp etc/mime/*.xml $out/share/mime/packages/ + fi + '' + } runHook postInstall '';