64 lines
1.9 KiB
Nix
64 lines
1.9 KiB
Nix
|
{ lib, stdenv, fetchurl, gettext, coreutils, gnused, gnome
|
||
|
, adwaita-icon-theme
|
||
|
, gnugrep, parted, glib, libuuid, pkg-config, gtkmm3, libxml2
|
||
|
, gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook3, substituteAll
|
||
|
, mtools, dosfstools, xhost
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "gparted";
|
||
|
version = "1.6.0";
|
||
|
|
||
|
src = fetchurl {
|
||
|
url = "mirror://sourceforge/gparted/gparted-${version}.tar.gz";
|
||
|
sha256 = "sha256-m59Rs85JTdy1mlXhrmZ5wJQ2YE4zHb9aU21g3tbG6ls=";
|
||
|
};
|
||
|
|
||
|
# 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;
|
||
|
})
|
||
|
];
|
||
|
|
||
|
enableParallelBuilding = true;
|
||
|
|
||
|
configureFlags = [ "--disable-doc" "--enable-xhost-root" ];
|
||
|
|
||
|
buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin adwaita-icon-theme ];
|
||
|
nativeBuildInputs = [ gettext pkg-config wrapGAppsHook3 ];
|
||
|
|
||
|
preConfigure = ''
|
||
|
# For ITS rules
|
||
|
addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
|
||
|
'';
|
||
|
|
||
|
preFixup = ''
|
||
|
gappsWrapperArgs+=(
|
||
|
--prefix PATH : "${lib.makeBinPath [ gpart hdparm util-linux procps coreutils gnused gnugrep mtools dosfstools xhost ]}"
|
||
|
)
|
||
|
'';
|
||
|
|
||
|
# Doesn't get installed automaticallly if PREFIX != /usr
|
||
|
postInstall = ''
|
||
|
install -D -m0644 org.gnome.gparted.policy \
|
||
|
$out/share/polkit-1/actions/org.gnome.gparted.policy
|
||
|
'';
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Graphical disk partitioning tool";
|
||
|
longDescription = ''
|
||
|
GNOME Partition Editor for creating, reorganizing, and deleting disk
|
||
|
partitions. GParted enables you to change the partition organization
|
||
|
while preserving the partition contents.
|
||
|
'';
|
||
|
homepage = "https://gparted.org";
|
||
|
license = licenses.gpl2Plus;
|
||
|
platforms = platforms.linux;
|
||
|
mainProgram = "gparted";
|
||
|
};
|
||
|
}
|