From 6575433b6d6292452f27cc6a8ace9078263f7fce Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Sun, 20 Mar 2022 16:26:28 +0100 Subject: vice: add desktop items for all computer model emulators --- pkgs/applications/emulators/vice/default.nix | 120 ++++++++++++++++++++++++--- 1 file changed, 108 insertions(+), 12 deletions(-) diff --git a/pkgs/applications/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix index 13457823a23..45fb03f1ac4 100644 --- a/pkgs/applications/emulators/vice/default.nix +++ b/pkgs/applications/emulators/vice/default.nix @@ -23,6 +23,108 @@ , file }: +let + desktopItems = [ + (makeDesktopItem { + name = "x128"; + exec = "x128"; + comment = "VICE: C128 Emulator"; + desktopName = "VICE: C128 Emulator"; + genericName = "Commodore 128 emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "x64"; + exec = "x64"; + comment = "VICE: C64 Emulator"; + desktopName = "VICE: C64 Emulator"; + genericName = "Commodore 64 emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "x64dtv"; + exec = "x64dtv"; + comment = "VICE: C64 DTV Emulator"; + desktopName = "VICE: C64 DTV Emulator"; + genericName = "Commodore 64 DTV emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "x64sc"; + exec = "x64sc"; + comment = "VICE: C64 SC Emulator"; + desktopName = "VICE: C64 SC Emulator"; + genericName = "Commodore 64 SC emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xcbm2"; + exec = "xcbm2"; + comment = "VICE: CBM-II B-Model Emulator"; + desktopName = "VICE: CBM-II B-Model Emulator"; + genericName = "CBM-II B-Model Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xcbm5x0"; + exec = "xcbm5x0"; + comment = "VICE: CBM-II P-Model Emulator"; + desktopName = "VICE: CBM-II P-Model Emulator"; + genericName = "CBM-II P-Model Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xpet"; + exec = "xpet"; + comment = "VICE: PET Emulator"; + desktopName = "VICE: PET Emulator"; + genericName = "Commodore PET Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xplus4"; + exec = "xplus4"; + comment = "VICE: PLUS4 Emulator"; + desktopName = "VICE: PLUS4 Emulator"; + genericName = "Commodore PLUS4 Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xscpu64"; + exec = "xscpu64"; + comment = "VICE: SCPU64 Emulator"; + desktopName = "VICE: SCPU64 Emulator"; + genericName = "Commodore SCPU64 Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "xvic"; + exec = "xvic"; + comment = "VICE: VIC-20 Emulator"; + desktopName = "VICE: VIC-20 Emulator"; + genericName = "Commodore VIC-20 Emulator"; + categories = [ "System" ]; + }) + + (makeDesktopItem { + name = "vsid"; + exec = "vsid"; + comment = "VSID: The SID Emulator"; + desktopName = "VSID: The SID Emulator"; + genericName = "SID Emulator"; + categories = [ "System" ]; + }) + ]; +in stdenv.mkDerivation rec { pname = "vice"; version = "3.6.1"; @@ -59,15 +161,6 @@ stdenv.mkDerivation rec { dontDisableStatic = true; configureFlags = [ "--enable-fullscreen" "--enable-gnomeui" "--disable-pdf-docs" ]; - desktopItem = makeDesktopItem { - name = "vice"; - exec = "x64"; - comment = "Commodore 64 emulator"; - desktopName = "VICE"; - genericName = "Commodore 64 emulator"; - categories = [ "Emulator" ]; - }; - preBuild = '' for i in src/resid src/resid-dtv do @@ -77,12 +170,15 @@ stdenv.mkDerivation rec { ''; postInstall = '' - mkdir -p $out/share/applications - cp ${desktopItem}/share/applications/* $out/share/applications + for app in ${toString desktopItems} + do + mkdir -p $out/share/applications + cp $app/share/applications/* $out/share/applications + done ''; meta = { - description = "Commodore 64, 128 and other emulators"; + description = "Emulators for a variety of 8-bit Commodore computers"; homepage = "https://vice-emu.sourceforge.io/"; license = lib.licenses.gpl2Plus; maintainers = [ lib.maintainers.sander ]; -- cgit 1.4.1