summary refs log tree commit diff
path: root/pkgs/misc/emulators/caprice32/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators/caprice32/default.nix')
-rw-r--r--pkgs/misc/emulators/caprice32/default.nix36
1 files changed, 27 insertions, 9 deletions
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/misc/emulators/caprice32/default.nix
index a8068e9b47b..8694d4d2d5a 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/misc/emulators/caprice32/default.nix
@@ -1,29 +1,47 @@
-{ stdenv, fetchFromGitHub, libpng, pkgconfig, SDL, freetype, zlib }:
+{ stdenv, fetchFromGitHub, desktop-file-utils, libpng
+, pkgconfig, SDL, freetype, zlib }:
 
 stdenv.mkDerivation rec {
 
   pname = "caprice32";
-  version = "4.5.0";
+  version = "4.6.0";
 
   src = fetchFromGitHub {
     repo = "caprice32";
     rev = "v${version}";
     owner = "ColinPitrat";
-    sha256 = "056vrf5yq1574g93ix8hnjqqbdqza3qcjv0f8rvpsslqcbizma9y";
+    sha256 = "0hng5krwgc1h9bz1xlkp2hwnvas965nd7sb3z9mb2m6x9ghxlacz";
   };
 
-  postPatch = "substituteInPlace cap32.cfg --replace /usr/local $out";
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ desktop-file-utils pkgconfig ];
   buildInputs = [ libpng SDL freetype zlib ];
 
-  #fix GIT_HASH avoid depend on git 
-  makeFlags = [ "GIT_HASH=${src.rev}" "DESTDIR=$(out)" "prefix=/"];
+  makeFlags = [
+    "APP_PATH=${placeholder "out"}/share/caprice32"
+    "RELEASE=1"
+    "DESTDIR=${placeholder "out"}"
+    "prefix=/"
+  ];
+
+  postInstall = ''
+    mkdir -p $out/share/icons/
+    mv $out/share/caprice32/resources/freedesktop/caprice32.png $out/share/icons/
+    mv $out/share/caprice32/resources/freedesktop/emulators.png $out/share/icons/
+
+    desktop-file-install --dir $out/share/applications \
+      $out/share/caprice32/resources/freedesktop/caprice32.desktop
+
+    desktop-file-install --dir $out/share/desktop-directories \
+      $out/share/caprice32/resources/freedesktop/Emulators.directory
+
+    install -Dm644 $out/share/caprice32/resources/freedesktop/caprice32.menu -t $out/etc/xdg/menus/applications-merged/
+  '';
 
   meta = with stdenv.lib; {
     description = "A complete emulation of CPC464, CPC664 and CPC6128";
-    homepage = https://github.com/ColinPitrat/caprice32 ;
+    homepage = "https://github.com/ColinPitrat/caprice32";
     license = licenses.gpl2;
     maintainers = [ maintainers.genesis ];
     platforms = platforms.linux;
-  };  
+  };
 }