diff options
author | oxalica <oxalicc@pm.me> | 2021-02-22 22:32:37 +0800 |
---|---|---|
committer | oxalica <oxalicc@pm.me> | 2021-03-05 00:29:46 +0800 |
commit | 2e024cb867c57d589c8dee482fec131df08b7e39 (patch) | |
tree | bb07656b0ef9e372fb26e0bc2e1d0370e536a1f0 /pkgs/tools/misc/partition-manager | |
parent | 92b1ef601c9a5032e877e09c52085978b2b56a9c (diff) |
{partition-manager,libsForQt5.kpmcore}: 3.3.1 -> 4.2.0 and fix build
Diffstat (limited to 'pkgs/tools/misc/partition-manager')
-rw-r--r-- | pkgs/tools/misc/partition-manager/default.nix | 60 |
1 files changed, 48 insertions, 12 deletions
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix index 845c0fec92118..064590ef979b7 100644 --- a/pkgs/tools/misc/partition-manager/default.nix +++ b/pkgs/tools/misc/partition-manager/default.nix @@ -1,30 +1,66 @@ -{ mkDerivation, fetchurl, lib +{ mkDerivation, fetchurl, lib, makeWrapper , extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook , kconfig, kcrash, kinit, kpmcore -, eject, libatasmart , util-linux, qtbase +, cryptsetup, lvm2, mdadm, smartmontools, systemdMinimal, util-linux +, btrfs-progs, dosfstools, e2fsprogs, exfat, f2fs-tools, fatresize, hfsprogs +, jfsutils, nilfs-utils, ntfs3g, reiser4progs, reiserfsprogs, udftools, xfsprogs, zfs }: let - pname = "partitionmanager"; + # External programs are resolved by `partition-manager` and then + # invoked by `kpmcore_externalcommand` from `kpmcore` as root. + # So these packages should be in PATH of `partition-manager`. + # https://github.com/KDE/kpmcore/blob/06f15334ecfbe871730a90dbe2b694ba060ee998/src/util/externalcommand_whitelist.h + runtimeDeps = lib.makeBinPath [ + cryptsetup + lvm2 + mdadm + smartmontools + systemdMinimal + util-linux + + btrfs-progs + dosfstools + e2fsprogs + exfat + f2fs-tools + fatresize + hfsprogs + jfsutils + nilfs-utils + ntfs3g + reiser4progs + reiserfsprogs + udftools + xfsprogs + zfs + + # FIXME: Missing command: tune.exfat hfsck hformat fsck.nilfs2 {fsck,mkfs,debugfs,tunefs}.ocfs2 + ]; + in mkDerivation rec { - name = "${pname}-${version}"; - version = "3.3.1"; + pname = "partitionmanager"; + # NOTE: When changing this version, also change the version of `kpmcore`. + version = "4.2.0"; src = fetchurl { - url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "0jhggb4xksb0k0mj752n6pz0xmccnbzlp984xydqbz3hkigra1si"; + url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz"; + hash = "sha256-6Qlt1c47Eek6TkWWBzTyBZYJ1jfhtwsC9X5q5h6IhPg="; }; - nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook ]; + nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook makeWrapper ]; - # refer to kpmcore for the use of eject - buildInputs = [ eject libatasmart util-linux ]; propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ]; + postFixup = '' + wrapProgram $out/bin/partitionmanager \ + --prefix PATH : "${runtimeDeps}" + ''; + meta = with lib; { description = "KDE Partition Manager"; - license = licenses.gpl2; + license = with licenses; [ cc-by-40 cc0 gpl3Plus lgpl3Plus mit ]; homepage = "https://www.kde.org/applications/system/kdepartitionmanager/"; - maintainers = with maintainers; [ peterhoeg ]; + maintainers = with maintainers; [ peterhoeg oxalica ]; }; } |