Subject: [PATCH] gnu: shepherd: Build Shepherd from git.

From: Attila Lendvai <[email-masked]>
Date: Sat, 29 Jul 2023 16:31:57 +0200

The rationale for this is that it makes it simpler to start VM's with a
Shepherd that is compiled from a local checkout.  This facilitates hacking on
Shepherd itself, and testing it in the Guix init environment, by speeding up
the edit-compile-test cycle.

* gnu/packages/admin.scm (shepherd-0.10): Source points to the git repo; adjust
native-inputs accordingly.  Also delete the strip build phase.
---

i've been running with this commit ever since i first submitted it, but
now it is causing quite a lot of local rebuilds, making it that much more
trouble.

please consider merging it if it makes senes.

note that it was not extensively tested by me WRT cross-compilation, or
non x86_64 platforms.

 gnu/packages/admin.scm | 38 +++++++++++++++++++++++---------------
 1 file changed, 23 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ec32041055..77975654c9 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -337,12 +337,13 @@ (define-public shepherd-0.9
     (inherit shepherd-0.8)
     (version "0.9.3")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/shepherd/shepherd-"
-                                  version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.savannah.gnu.org/git/shepherd.git/")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "shepherd" version))
               (sha256
-               (base32
-                "0qy2yq13xhf05an5ilz7grighdxicx56211yaarqq5qigiiybc32"))))
+               (base32 "1pvdpx2mfki8wvhcac54p8fn5idqszicww60ikswszz2cv5d0s11"))))
     (arguments
      (list #:configure-flags #~'("--localstatedir=/var")
            #:make-flags #~'("GUILE_AUTO_COMPILE=0")
@@ -362,24 +363,31 @@ (define-public shepherd-0.9
                                       (this-package-input "guile-fibers")
                                       "/lib/guile/3.0/site-ccache"))))))
                         #~%standard-phases)))
-
-    ;; Note: Use 'guile-3.0-latest' to address the continuation-related memory
-    ;; leak reported at <https://issues.guix.gnu.org/58631>.
-    (native-inputs (list pkg-config guile-3.0-latest
-                         guile-fibers-1.1))       ;for cross-compilation
-    (inputs (list guile-3.0-latest guile-fibers-1.1))))
+    (native-inputs
+     (list autoconf
+           automake
+           gettext-minimal
+           guile-3.0
+           guile-fibers-1.1             ; for cross-compilation
+           help2man
+           pkg-config
+           texinfo))
+    (inputs (list guile-3.0
+                  guile-fibers-1.1))))
 
 (define-public shepherd-0.10
   (package
     (inherit shepherd-0.9)
     (version "0.10.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/shepherd/shepherd-"
-                                  version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.savannah.gnu.org/git/shepherd.git/")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name "shepherd" version))
               (sha256
                (base32
-                "0v9ld9gbqdp5ya380fbkdsxa0iqr90gi6yk004ccz3n792nq6wlj"))))
+                "1kvfv4rkgs5jq2wir72m29idgk3n2i44qji9rq1hmmc8vkgqxh26"))))
     (native-inputs (modify-inputs (package-native-inputs shepherd-0.9)
                      (replace "guile-fibers" guile-fibers-1.3)))
     (inputs (modify-inputs (package-inputs shepherd-0.9)

base-commit: c7e45139faa27b60f2c7d0a4bc140f9793d97d47
prerequisite-patch-id: 5586be8a480bef6910bc7557e9491c5100f56a0e
prerequisite-patch-id: 0030a0ed3944c6bbbdefc9401325f095b92cc700
prerequisite-patch-id: 9f2204275da87bd4918b7c5f6d77643926e02afa
prerequisite-patch-id: 83a83f44b77fffb685e845ddc3ead64b711f4155
prerequisite-patch-id: 9a430e4316112cf97a40d220425dd8a5409a9e73
prerequisite-patch-id: 4b80e182f3cd3d48686f1faa15d9a3db3f354777
prerequisite-patch-id: 5b18a9e12c8eea82f8dc63dabc8c560588981a80
prerequisite-patch-id: f0ca061e8beb99c6305f38cef019cb8d66802ba7
prerequisite-patch-id: fd60adfe24e43be484f96e5403c3428ba3ef5fde
prerequisite-patch-id: 81af80e2d0821ffb9410c7c331a8ba3c4cb73aff
prerequisite-patch-id: 206663d5f2b364cf2c1598d382f8b34daedf0ba4
prerequisite-patch-id: cb5793fb638c7c086a1dbba94c115a51973f0cce
-- 
2.40.1