Subject: Re: [bug#75503] [PATCH 3/4] gnu: kpmcore: Support filesystems.

From: Zheng Junjie <[email-masked]>
Date: Sun, 12 Jan 2025 10:31:52 +0800

Sughosha via Guix-patches via <[email-masked]> writes:

> * gnu/packages/kde.scm (kpmcore)[inputs]: Switch to the old input style; Add
> eudev, cryptsetup, bcachefs-tools, btrfs-progs, dosfstools, e2fsprogs,
> exfatprogs, f2fs-tools, fatresize, jfsutils, lvm2, mdadm, nilfs-utils, ntfs-3g,
> udftools, util-linux and zfs.
> [arguments]<#:phases>: Add patch-trustedprefixes phase.
>
> Change-Id: Ib39b8997411cce89494006e3e00ed81d17ded16f
> ---
>  gnu/packages/kde.scm | 64 +++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 55 insertions(+), 9 deletions(-)
>
> diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
> index ce64619feb..a08634bee8 100644
> --- a/gnu/packages/kde.scm
> +++ b/gnu/packages/kde.scm
> @@ -58,12 +58,15 @@ (define-module (gnu packages kde)
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages cpp)
>    #:use-module (gnu packages compression)
> +  #:use-module (gnu packages cryptsetup)
>    #:use-module (gnu packages curl)
> +  #:use-module (gnu packages disk)
>    #:use-module (gnu packages djvu)
>    #:use-module (gnu packages documentation)
>    #:use-module (gnu packages gnupg)
>    #:use-module (gnu packages graphics)
>    #:use-module (gnu packages ebook)
> +  #:use-module (gnu packages file-systems)
>    #:use-module (gnu packages flex)
>    #:use-module (gnu packages fontutils)
>    #:use-module (gnu packages freedesktop)
> @@ -1269,14 +1272,33 @@ (define-public kpmcore
>      (native-inputs
>       (list extra-cmake-modules pkg-config))
>      (inputs
> -     (list kauth
> -           kcoreaddons
> -           ki18n
> -           kwidgetsaddons
> -           polkit-qt6
> -           qtbase
> -           qca-qt6
> -           `(,util-linux "lib")))
> +     `(("kauth" ,kauth)
> +       ("kcoreaddons" ,kcoreaddons)
> +       ("ki18n" ,ki18n)
> +       ("kwidgetsaddons" ,kwidgetsaddons)
> +       ("polkit-qt6" ,polkit-qt6)
> +       ("qtbase" ,qtbase)
> +       ("qca-qt6" ,qca-qt6)
> +       ("util-linux:lib" ,util-linux "lib")
> +
> +       ;; For external commands
> +       ("eudev" ,eudev)
> +       ("cryptsetup" ,cryptsetup)
> +       ("bcachefs-tools" ,bcachefs-tools)
> +       ("btrfs-progs" ,btrfs-progs)
> +       ("dosfstools" ,dosfstools)
> +       ("e2fsprogs" ,e2fsprogs)
> +       ("exfatprogs" ,exfatprogs)
> +       ("f2fs-tools" ,f2fs-tools)
> +       ("fatresize" ,fatresize)
> +       ("jfsutils" ,jfsutils)
> +       ("lvm2" ,lvm2)
> +       ("mdadm" ,mdadm)
> +       ("nilfs-utils" ,nilfs-utils)
> +       ("ntfs-3g" ,ntfs-3g)
> +       ("udftools" ,udftools)
> +       ("util-linux" ,util-linux)
> +       ("zfs" ,zfs)))
>      (arguments
>       (list
>        #:phases
> @@ -1287,7 +1309,31 @@ (define-public kpmcore
>                  (("DESTINATION \\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
>                   "DESTINATION share/polkit-1/actions"))
>                (substitute* "src/backend/corebackend.cpp"
> -                  (("\\/usr") #$output)))))))
> +                  (("\\/usr") #$output))))
> +          (add-before 'configure 'patch-trustedprefixes
> +              (lambda* (#:key inputs #:allow-other-keys)
> +                  (call-with-output-file "src/util/trustedprefixes"
> +                    (lambda (port)
> +                      (map (lambda (name)
> +                             (display (assoc-ref inputs name) port)
> +                             (newline port))
> +                           '("eudev"
> +                             "cryptsetup"
> +                             "bcachefs-tools"
> +                             "btrfs-progs"
> +                             "dosfstools"
> +                             "e2fsprogs"
> +                             "exfatprogs"
> +                             "f2fs-tools"
> +                             "fatresize"
> +                             "jfsutils"
> +                             "lvm2"
> +                             "mdadm"
> +                             "nilfs-utils"
> +                             "ntfs-3g"
> +                             "udftools"
> +                             "util-linux"
> +                             "zfs")))))))))
can we just use
"
/run/current-system/profile/
/usr
/
"
?

I don't think anyone uses that many file systems at once. To control the
size, it might be better to get it from outside.

>      (home-page "https://community.kde.org/Frameworks")
>      (synopsis "Library for managing partitions")
>      (description "Library for managing partitions.")