charles: fix desktop icons and mime integration
This addresses icon and mimetype issues for different versions:
- For Charles 5+:
- Update desktop entry to use 'charles-proxy5'.
- Install the upstream provided shared-mime-info XML. This correctly
maps mime types to the upstream icon names (e.g. charles-proxy5-har).
- For Charles 4: Install the upstream provided shared-mime-info XML.
- For Charles 3: Fix icon installation paths (upstream tarball has
non-standard layout). No mime icons are available for this version.
This commit is contained in:
@@ -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
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user