protonup-qt: refactor

This commit is contained in:
emaryn
2025-04-07 21:17:09 +00:00
parent 7066f579eb
commit c191828d58
+25 -19
View File
@@ -1,39 +1,45 @@
{
lib,
appimageTools,
fetchurl,
lib,
makeWrapper,
}:
let
appimageTools.wrapAppImage rec {
pname = "protonup-qt";
version = "2.12.0";
src = fetchurl {
url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage";
hash = "sha256-8MeHSy3XW1oXAD2xrDSIB0ZLJxtk5UBIMpDRTPF9ksU=";
src = appimageTools.extractType2 {
inherit pname version;
src = fetchurl {
url = "https://github.com/DavidoTek/ProtonUp-Qt/releases/download/v${version}/ProtonUp-Qt-${version}-x86_64.AppImage";
hash = "sha256-8MeHSy3XW1oXAD2xrDSIB0ZLJxtk5UBIMpDRTPF9ksU=";
};
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
nativeBuildInputs = [ makeWrapper ];
extraInstallCommands = ''
mkdir -p $out/share/{applications,pixmaps}
cp ${appimageContents}/net.davidotek.pupgui2.desktop $out/share/applications/${pname}.desktop
cp ${appimageContents}/net.davidotek.pupgui2.png $out/share/pixmaps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=net.davidotek.pupgui2' 'Exec=${pname}' \
--replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}'
install -Dm644 ${src}/net.davidotek.pupgui2.desktop $out/share/applications/protonup-qt.desktop
install -Dm644 ${src}/net.davidotek.pupgui2.png $out/share/pixmaps/protonup-qt.png
substituteInPlace $out/share/applications/protonup-qt.desktop \
--replace-fail "Exec=net.davidotek.pupgui2" "Exec=protonup-qt" \
--replace-fail "Icon=net.davidotek.pupgui2" "Icon=protonup-qt"
wrapProgram $out/bin/protonup-qt \
--unset QT_PLUGIN_PATH \
--unset QML2_IMPORT_PATH
'';
extraPkgs = pkgs: with pkgs; [ zstd ];
meta = with lib; {
meta = {
homepage = "https://davidotek.github.io/protonup-qt/";
description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface";
license = licenses.gpl3;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = lib.licenses.gpl3Plus;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "protonup-qt";
changelog = "https://github.com/DavidoTek/ProtonUp-Qt/releases/tag/v${version}";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ michaelBelsanti ];
maintainers = with lib.maintainers; [ michaelBelsanti ];
};
}