depot/third_party/nixpkgs/pkgs/by-name/gp/gparted/package.nix

112 lines
2.1 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";
};
}