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.
This commit is contained in:
parent
7fdd142177
commit
b909526ffa
1 changed files with 15 additions and 113 deletions
|
@ -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 = {
|
||||
|
|
Loading…
Reference in a new issue