From f02c1bb2c0a93bfd2f589d225a68d4e2b8eedb5f Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Thu, 17 Jun 2021 22:53:21 +0200 Subject: [PATCH] VisiCut: use wrapGAppsHook for adding gsettings schemas --- VisiCut/default.nix | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/VisiCut/default.nix b/VisiCut/default.nix index 4ff5a4a..41e984a 100644 --- a/VisiCut/default.nix +++ b/VisiCut/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchzip, makeWrapper, jdk11, gsettings-desktop-schemas, gtk3 }: +{ lib, stdenv, fetchzip, makeWrapper, wrapGAppsHook, glib, jdk11 }: stdenv.mkDerivation rec { pname = "VisiCut"; @@ -9,19 +9,29 @@ stdenv.mkDerivation rec { sha256 = "12xkysh66vcv17dffn9ybqk85lzxy4rqswxv4jwr0b1fwajfvd96"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ jdk11 ]; + nativeBuildInputs = [ makeWrapper wrapGAppsHook ]; + buildInputs = [ glib jdk11 ]; + + dontWrapGApps = true; - # FIXME: Use proper way of wrapping a gnome application installPhase = '' + runHook preInstall + rm ${pname}.{exe,Linux,MacOS} mkdir -p $out/share cp -r . $out/share/${pname} + + runHook postInstall + ''; + + # Needs to be run in fixupPhase, since gappsWrapperArgs are not fully + # populated in installPhase yet. + postFixup = '' makeWrapper \ ${jdk11}/bin/java \ $out/bin/${pname} \ --add-flags "-Xms256m -Xmx2048m -jar $out/share/${pname}/Visicut.jar" \ - --set "XDG_DATA_DIRS" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS" + "''${gappsWrapperArgs[@]}" ''; meta = with lib; {