From 1841620b23744b8b832bc34a8f9be82667ea3621 Mon Sep 17 00:00:00 2001 From: Bignaux Ronan Date: Sun, 1 Mar 2020 23:58:28 +0100 Subject: [PATCH] sgt-puzzles: add desktop files --- pkgs/games/sgt-puzzles/default.nix | 31 ++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix index 8349be64264a..7ac32fa2d2fd 100644 --- a/pkgs/games/sgt-puzzles/default.nix +++ b/pkgs/games/sgt-puzzles/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl +{ stdenv, fetchurl, desktop-file-utils , gtk3, libX11 , makeWrapper, pkgconfig, perl, autoreconfHook, wrapGAppsHook }: @@ -8,17 +8,19 @@ stdenv.mkDerivation rec { version = "20191114.1c0c49d"; src = fetchurl { - url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; - sha256 = "01fi2f3w71bfbgcfr6gxdp5a9cxh4dshbflv83q2j5rxxs2ll870"; + url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; + sha256 = "01fi2f3w71bfbgcfr6gxdp5a9cxh4dshbflv83q2j5rxxs2ll870"; }; - nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ]; + nativeBuildInputs = [ autoreconfHook desktop-file-utils makeWrapper + pkgconfig perl wrapGAppsHook ]; buildInputs = [ gtk3 libX11 ]; makeFlags = ["prefix=$(out)" "gamesdir=$(out)/bin"]; + preInstall = '' - mkdir -p "$out"/{bin,share/doc/sgtpuzzles} + mkdir -p "$out"/{bin,share/doc/sgtpuzzles,share/icons/hicolor/48x48/apps} cp gamedesc.txt LICENCE README "$out/share/doc/sgtpuzzles" ''; # SGT Puzzles use generic names like net, map, etc. @@ -26,10 +28,27 @@ stdenv.mkDerivation rec { # disambiguation postInstall = '' ( + currentSrc=$PWD cd "$out"/bin ; - for i in *; do ln -s "$i" "sgt-puzzle-$i"; done + for i in *; do + ln -s "$i" "sgt-puzzle-$i" + + install -Dm644 $currentSrc/icons/$i-48d24.png $out/share/icons/hicolor/48x48/apps/ + + # Generate/validate/install .desktop files. + echo "[Desktop Entry]" > $i.desktop + desktop-file-install --dir $out/share/applications \ + --set-key Type --set-value Application \ + --set-key Exec --set-value $i \ + --set-key Name --set-value $i \ + --set-key Comment --set-value "${meta.description}" \ + --set-key Categories --set-value LogicGame \ + --set-key Icon --set-value $i-48d24 $i.desktop + rm $i.desktop + done ) ''; + preConfigure = '' perl mkfiles.pl export NIX_LDFLAGS="$NIX_LDFLAGS -lX11"