77 lines
1.6 KiB
Nix
77 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
mkKdeDerivation,
|
|
writeText,
|
|
pkg-config,
|
|
cryptsetup,
|
|
lvm2,
|
|
mdadm,
|
|
smartmontools,
|
|
systemdMinimal,
|
|
util-linux,
|
|
btrfs-progs,
|
|
dosfstools,
|
|
e2fsprogs,
|
|
exfatprogs,
|
|
f2fs-tools,
|
|
fatresize,
|
|
jfsutils,
|
|
nilfs-utils,
|
|
ntfs3g,
|
|
reiser4progs,
|
|
reiserfsprogs,
|
|
udftools,
|
|
xfsprogs,
|
|
zfs,
|
|
}:
|
|
let
|
|
# https://github.com/KDE/kpmcore/blob/06f15334ecfbe871730a90dbe2b694ba060ee998/src/util/externalcommand_whitelist.h
|
|
runtimeDeps = [
|
|
cryptsetup
|
|
lvm2
|
|
mdadm
|
|
smartmontools
|
|
systemdMinimal
|
|
util-linux
|
|
|
|
btrfs-progs
|
|
dosfstools
|
|
e2fsprogs
|
|
exfatprogs
|
|
f2fs-tools
|
|
fatresize
|
|
# hfsprogs intentionally omitted due to being unmaintained
|
|
jfsutils
|
|
nilfs-utils
|
|
ntfs3g
|
|
reiser4progs
|
|
reiserfsprogs
|
|
udftools
|
|
xfsprogs
|
|
zfs
|
|
|
|
# FIXME: Missing command: hfsck hformat fsck.nilfs2 {fsck,mkfs,debugfs,tunefs}.ocfs2
|
|
# FIXME: audit to see if these are all still required
|
|
];
|
|
|
|
trustedprefixes = writeText "kpmcore-trustedprefixes" (
|
|
lib.concatStringsSep "\n" (map lib.getBin runtimeDeps)
|
|
);
|
|
in
|
|
mkKdeDerivation {
|
|
pname = "kpmcore";
|
|
|
|
postPatch = ''
|
|
cp ${trustedprefixes} src/util/trustedprefixes
|
|
'';
|
|
|
|
preConfigure = ''
|
|
substituteInPlace src/util/CMakeLists.txt \
|
|
--replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
|
|
substituteInPlace src/backend/corebackend.cpp \
|
|
--replace /usr/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy $out/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy
|
|
'';
|
|
|
|
extraNativeBuildInputs = [ pkg-config ];
|
|
}
|