diff options
author | Sander van der Burg <svanderburg@gmail.com> | 2023-10-05 19:33:17 +0200 |
---|---|---|
committer | Sander van der Burg <svanderburg@gmail.com> | 2023-10-06 21:39:48 +0200 |
commit | b909526ffac183d496718a7cbac53d0fb298ea77 (patch) | |
tree | e4336d31969939a9c02f40dcbe809ca97c8d7c4f /pkgs | |
parent | 7fdd1421774a52277fb56d64b26aaf7765e1b3fa (diff) |
vice: use GTK+-3 UI and use included desktop files
The GTK+ UI is the recommended UI by the developers. It also fixed the x128 emulator from crashing. Moreover, the GTK+ UI also includes desktop files, so we should use these instead of our own.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/applications/emulators/vice/default.nix | 128 |
1 files changed, 15 insertions, 113 deletions
diff --git a/pkgs/applications/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix index f16ee43352f1d..0b6dac3286539 100644 --- a/pkgs/applications/emulators/vice/default.nix +++ b/pkgs/applications/emulators/vice/default.nix @@ -6,116 +6,23 @@ , perl , libpng , giflib -, libjpeg , alsa-lib , readline , libGLU , libGL -, libXaw , pkg-config -, gtk2 +, gtk3 +, glew , SDL , SDL_image -, autoreconfHook -, makeDesktopItem , dos2unix +, runtimeShell , xa , file +, wrapGAppsHook +, xdg-utils }: -let - desktopItems = [ - (makeDesktopItem { - name = "x128"; - exec = "x128"; - comment = "VICE: C128 Emulator"; - desktopName = "VICE: C128 Emulator"; - genericName = "Commodore 128 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 Emulator"; - desktopName = "VICE: C64 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.7.1"; @@ -126,46 +33,41 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - autoreconfHook bison dos2unix file flex pkg-config + wrapGAppsHook ]; buildInputs = [ alsa-lib giflib - gtk2 + gtk3 + glew libGL libGLU - libXaw - libjpeg libpng perl readline SDL SDL_image xa + xdg-utils ]; dontDisableStatic = true; - configureFlags = [ "--enable-fullscreen" "--enable-gnomeui" "--disable-pdf-docs" ]; + configureFlags = [ "--enable-sdl2ui" "--enable-gtk3ui" "--enable-desktop-files" "--disable-pdf-docs" "--with-gif" ]; + + LIBS = "-lGL"; preBuild = '' - for i in src/resid src/resid-dtv - do - mkdir -pv $i/src - ln -sv ../../wrap-u-ar.sh $i/src - done + sed -i -e 's|#!/usr/bin/env bash|${runtimeShell}/bin/bash|' src/arch/gtk3/novte/box_drawing_generate.sh ''; postInstall = '' - for app in ${toString desktopItems} - do - mkdir -p $out/share/applications - cp $app/share/applications/* $out/share/applications - done + mkdir -p $out/share/applications + cp src/arch/gtk3/data/unix/vice-org-*.desktop $out/share/applications ''; meta = { |