lol
1{ lib, stdenv, fetchurl, intltool, gettext, coreutils, gnused, gnome
2, gnugrep, parted, glib, libuuid, pkg-config, gtkmm3, libxml2
3, gpart, hdparm, procps, util-linux, polkit, wrapGAppsHook, substituteAll
4, mtools, dosfstools
5}:
6
7stdenv.mkDerivation rec {
8 pname = "gparted";
9 version = "1.4.0";
10
11 src = fetchurl {
12 url = "mirror://sourceforge/gparted/${pname}-${version}.tar.gz";
13 sha256 = "sha256-5Sk6eS5T/b66KcSoNBE82WA9DWOTMNqTGkaL82h4h74=";
14 };
15
16 # Tries to run `pkexec --version` to get version.
17 # however the binary won't be suid so it returns
18 # an error preventing the program from detection
19 patches = [
20 (substituteAll {
21 src = ./polkit.patch;
22 polkit_version = polkit.version;
23 })
24 ];
25
26 enableParallelBuilding = true;
27
28 configureFlags = [ "--disable-doc" ];
29
30 buildInputs = [ parted glib libuuid gtkmm3 libxml2 polkit.bin gnome.adwaita-icon-theme ];
31 nativeBuildInputs = [ intltool gettext pkg-config wrapGAppsHook ];
32
33 preFixup = ''
34 gappsWrapperArgs+=(
35 --prefix PATH : "${lib.makeBinPath [ gpart hdparm util-linux procps coreutils gnused gnugrep mtools dosfstools ]}"
36 )
37 '';
38
39 # Doesn't get installed automaticallly if PREFIX != /usr
40 postInstall = ''
41 install -D -m0644 org.gnome.gparted.policy \
42 $out/share/polkit-1/actions/org.gnome.gparted.policy
43 '';
44
45 meta = with lib; {
46 description = "Graphical disk partitioning tool";
47 longDescription = ''
48 GNOME Partition Editor for creating, reorganizing, and deleting disk
49 partitions. GParted enables you to change the partition organization
50 while preserving the partition contents.
51 '';
52 homepage = "https://gparted.org";
53 license = licenses.gpl2Plus;
54 platforms = platforms.linux;
55 };
56}