diff options
Diffstat (limited to 'pkgs/tools/misc/gparted/default.nix')
-rw-r--r-- | pkgs/tools/misc/gparted/default.nix | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 6834a555e4d..2f3e2ab2acd 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, intltool, gettext, makeWrapper -, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2, hicolor-icon-theme -, gpart, hdparm, procps, utillinux +{ stdenv, fetchurl, intltool, gettext, makeWrapper, coreutils, gnused +, gnugrep, parted, glib, libuuid, pkgconfig, gtkmm3, libxml2, hicolor-icon-theme +, gpart, hdparm, procps, utillinux, polkit, wrapGAppsHook, substituteAll }: stdenv.mkDerivation rec { @@ -11,16 +11,31 @@ stdenv.mkDerivation rec { sha256 = "0mdvn85jvy72ff7nds3dakx9kzknh8gx1z8i0w2sf970q03qp2z4"; }; + # Tries to run `pkexec --version` to get version. + # however the binary won't be suid so it returns + # an error preventing the program from detection + patches = [ + (substituteAll { + src = ./polkit.patch; + polkit_version = polkit.version; + }) + ]; + configureFlags = [ "--disable-doc" ]; - buildInputs = [ parted glib libuuid gtkmm3 libxml2 hicolor-icon-theme ]; - nativeBuildInputs = [ intltool gettext makeWrapper pkgconfig ]; + buildInputs = [ parted glib libuuid gtkmm3 libxml2 hicolor-icon-theme polkit.bin ]; + nativeBuildInputs = [ intltool gettext pkgconfig wrapGAppsHook ]; + + preFixup = '' + gappsWrapperArgs+=( + --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux procps coreutils gnused gnugrep ]}" + ) + ''; + # Doesn't get installed automaticallly if PREFIX != /usr postInstall = '' - wrapProgram $out/bin/gparted \ - --prefix PATH : "${procps}/bin" - wrapProgram $out/sbin/gpartedbin \ - --prefix PATH : "${stdenv.lib.makeBinPath [ gpart hdparm utillinux ]}" + install -D -m0644 org.gnome.gparted.policy \ + $out/share/polkit-1/actions/org.gnome.gparted.policy ''; meta = with stdenv.lib; { |