~ruther/guix-local

eb0898c16559f053adff99732bcd1bbb64b51494 — Sharlatan Hellseher 1 year, 2 months ago 80fb239
gnu: go-github-com-hanwen-go-fuse-v2: Find fusermount.

It was proposed in #71795 on <2024-06-27>.

Go-fuse requires the setuid version of Fusermount.  Relying on PATH is
not acceptable in all situations, especially not when mounts are
executed automatically as part of PAM.

* gnu/packages/golang-xyz.scm (go-github-com-hanwen-go-fuse-v2)
[arguments] <phases>: Add 'fix-paths to adjust path to setuid version of
Fusermount.
[inputs]: Add fuse.

Co-authored-by: Felix Lechner <felix.lechner@lease-up.com>
Change-Id: I56a8265857c6b31dfe74ad3bad3927842c8c9f05
1 files changed, 11 insertions(+), 2 deletions(-)

M gnu/packages/golang-xyz.scm
M gnu/packages/golang-xyz.scm => gnu/packages/golang-xyz.scm +11 -2
@@ 35,7 35,7 @@
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2022 kiasoc5 <kiasoc5@disroot.org>
;;; Copyright © 2023 Benjamin <benjamin@uvy.fr>
;;; Copyright © 2023 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023, 2024 Felix Lechner <felix.lechner@lease-up.com>
;;; Copyright © 2023 Fries <fries1234@protonmail.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>


@@ 6906,7 6906,16 @@ provides a buffered io.Writer that is flushed at a timed interval.")
          (add-after 'unpack 'remove-benchmark
            (lambda* (#:key tests? import-path #:allow-other-keys)
              (with-directory-excursion (string-append "src/" import-path)
                (delete-file-recursively "benchmark"))))))))
                (delete-file-recursively "benchmark"))))
            (add-after 'unpack 'fix-paths
              (lambda* (#:key import-path #:allow-other-keys)
                (with-directory-excursion (string-append "src/" import-path)
                  (let* ((fusermount3 "/run/setuid-programs/fusermount3"))
                    (substitute* "fuse/mount_linux.go"
                      (("bin, err := fusermountBinary[(][)]")
                       (format #f "bin, err := ~s, nil" fusermount3)))))))))))
    (inputs
     (list fuse))
    (propagated-inputs
     (list go-github-com-kylelemons-godebug
           go-github-com-moby-sys-mountinfo