Subject: [PATCH] gnu: tup: Update to 0.7.11.

From: [email-masked]
Date: Fri, 31 Dec 2021 23:14:32 -0500

From: Morgan Smith <[email-masked]>

* gnu/packages/build-tools.scm (tup): Update to 0.7.11.
[phases]<configure,build>: Force it to use fuse instead of fuse3
---

There is probably a cleaner way to do that format thingy.  I just can't be asked to figure that out right now, sorry.  This package gave me to much grief to go the extra mile :P

Wanted to play with this as it seems cool but I kept getting this error when running it:

> setpgid: Operation not permitted
> tup error: Unable to set process group for tup's subprocesses.

So then I updated it to 0.7.11 (changed fuse to fuse-3), built it just fine, and got this error instead when running it:

> fuse: failed to exec fusermount3: No such file or directory

I tried pretty hard to fix it but I couldn't figure it out.  It's pretty darn cryptic.  I can't figure out where it's trying to call it from.  So I just built it with fuse instead of fuse3 and now everything works great.  No errors at all.

 gnu/packages/build-tools.scm | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 9d3fd5171e..1838e9ce7a 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -409,14 +409,14 @@ (define-public premake5
 (define-public tup
   (package
     (name "tup")
-    (version "0.7.9")
+    (version "0.7.11")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://gittup.org/tup/releases/tup-v"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0gnd2598xqgwihdkfkx7qn0q6p4n7npam1fy83mp7s04zwj99syc"))
+                "1157qfnhjakm3h07y7h38lrjw5650gkif34k30bnrsypmwl5xyzb"))
               (patches (search-patches "tup-unbundle-dependencies.patch"))
               (modules '((guix build utils)))
               (snippet
@@ -439,12 +439,13 @@ (define-public tup
                (("`git describe`") ,version))
              (with-output-to-file "tup.config"
                (lambda _
-                 (format #t "CONFIG_TUP_USE_SYSTEM_SQLITE=y~%")))
-             #t))
+                 ;; Use fuse instead of fuse3 (won't run with fuse3 for some reason)
+                 (format #t "CONFIG_TUP_USE_SYSTEM_SQLITE=y\nCONFIG_TUP_SERVER=fuse~%")))))
          (delete 'check)
          (replace 'build
            (lambda _
              ;; Based on bootstrap-nofuse.sh, but with a detour to patch-shebang.
+             (setenv "TUP_SERVER" "fuse") ;; Use fuse instead of fuse3
              (invoke "./build.sh")
              (invoke "./build/tup" "init")
              (invoke "./build/tup" "generate" "--verbose" "build-nofuse.sh")
-- 
2.34.0