[bug#75503,3/4] gnu: kpmcore: Support filesystems.

Message ID 1412ede1633b77ff8cb340760ba9f4df6b868cef.1736636962.git.sughosha@disroot.org
State New
Headers
Series gnu: Add partitionmanager. |

Commit Message

Sughosha Jan. 11, 2025, 11:15 p.m. UTC
  * 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(-)
  

Comments

Zheng Junjie Jan. 12, 2025, 2:31 a.m. UTC | #1
Sughosha via Guix-patches via <guix-patches@gnu.org> 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.")
  

Patch

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")))))))))
     (home-page "https://community.kde.org/Frameworks")
     (synopsis "Library for managing partitions")
     (description "Library for managing partitions.")