yubikey-manager-qt: fix application icons

Copy the icons into the canonical XDG icon folders and autogenerate
smaller sizes from the main icon file.
This commit is contained in:
Tom Wieczorek 2022-06-28 09:16:32 +02:00 committed by Tom Wieczorek
parent b90fa9940b
commit 403e43366c
No known key found for this signature in database
GPG Key ID: FE33A2282371E831

View File

@ -1,6 +1,7 @@
{ lib
, mkDerivation
, fetchurl
, imagemagick
, pcsclite
, pyotherside
, python3
@ -24,6 +25,7 @@ mkDerivation rec {
nativeBuildInputs = [
python3.pkgs.wrapPython
qmake
imagemagick
];
postPatch = ''
@ -43,10 +45,25 @@ mkDerivation rec {
];
postInstall = ''
install -Dt $out/share/applications resources/ykman-gui.desktop
install -Dt $out/share/ykman-gui/icons resources/icons/*.{icns,ico,png,xpm}
substituteInPlace $out/share/applications/ykman-gui.desktop \
--replace 'Exec=ykman-gui' "Exec=$out/bin/ykman-gui"
# Desktop files
install -D -m0644 resources/ykman-gui.desktop "$out/share/applications/ykman-gui.desktop"
substituteInPlace "$out/share/applications/ykman-gui.desktop" \
--replace Exec=ykman-gui "Exec=$out/bin/ykman-gui"
# Icons
install -Dt $out/share/ykman-gui/icons resources/icons/*.{icns,ico}
install -D -m0644 resources/icons/ykman.png "$out/share/icons/hicolor/128x128/apps/ykman.png"
ln -s -- "$out/share/icons/hicolor/128x128/apps/ykman.png" "$out/share/icons/hicolor/128x128/apps/ykman-gui.png"
for SIZE in 16 24 32 48 64 96; do
# set modify/create for reproducible builds
convert -scale ''${SIZE} +set date:create +set date:modify \
resources/icons/ykman.png ykman.png
imageFolder="$out/share/icons/hicolor/''${SIZE}x''${SIZE}/apps"
install -D -m0644 ykman.png "$imageFolder/ykman.png"
ln -s -- "$imageFolder/ykman.png" "$imageFolder/ykman-gui.png"
done
unset SIZE imageFolder
'';
qtWrapperArgs = [