summary refs log tree commit diff
path: root/pkgs/applications/emulators/vice/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/emulators/vice/default.nix')
-rw-r--r--pkgs/applications/emulators/vice/default.nix128
1 files changed, 15 insertions, 113 deletions
diff --git a/pkgs/applications/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix
index f16ee43352f..0b6dac32865 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 = {