1{ stdenv
2, lib
3, fetchurl
4, extra-cmake-modules
5, qca-qt5
6, kauth
7, kio
8, polkit-qt
9, util-linux
10}:
11
12stdenv.mkDerivation rec {
13 pname = "kpmcore";
14 # NOTE: When changing this version, also change the version of `partition-manager`.
15 version = "23.04.1";
16
17 src = fetchurl {
18 url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
19 hash = "sha256-NFIq8CZwYvpqDOOYLlBqoGdgfNPsyf15FkB3dToDCB8=";
20 };
21
22 patches = [
23 ./nixostrustedprefix.patch
24 ];
25
26 nativeBuildInputs = [ extra-cmake-modules ];
27
28 buildInputs = [
29 qca-qt5
30 kauth
31 kio
32 polkit-qt
33
34 util-linux # Needs blkid in configure script (note that this is not provided by util-linux-compat)
35 ];
36
37 dontWrapQtApps = true;
38
39 preConfigure = ''
40 substituteInPlace src/util/CMakeLists.txt \
41 --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
42 substituteInPlace src/backend/corebackend.cpp \
43 --replace /usr/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy $out/share/polkit-1/actions/org.kde.kpmcore.externalcommand.policy
44 '';
45
46 meta = with lib; {
47 description = "KDE Partition Manager core library";
48 homepage = "https://invent.kde.org/system/kpmcore";
49 license = with licenses; [ cc-by-40 cc0 gpl3Plus mit ];
50 maintainers = with maintainers; [ peterhoeg oxalica ];
51 };
52}