diff mbox series

[bug#54216,v6] gnu: shepherd: Build Shepherd 0.9.2 from git.

Message ID 20220926214445.16793-1-attila@lendvai.name
State New
Headers show
Series [bug#54216,v6] gnu: shepherd: Build Shepherd 0.9.2 from git. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Attila Lendvai Sept. 26, 2022, 9:44 p.m. UTC
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 greatly
reducing the edit-compile-test cycle.

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

v6: fix the (delete 'strip) merge error to always include it. GExp
experts may be able to simplify it, or chose to drop it altogether.

 gnu/packages/admin.scm | 50 +++++++++++++++++++++++-------------------
 1 file changed, 27 insertions(+), 23 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 5fb621e027..e57f0436cb 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -327,12 +327,13 @@  (define-public shepherd-0.9
     (inherit shepherd)
     (version "0.9.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
-                "0mcby3ygh3bpns44rb1vnk8bz2km4nlw092nrcgkm3nkqfmbp4p1"))
+               (base32 "1b16qc7zmm1cz45gspcbng4djz9jy8db4awfw63b2hvf9b396mv2"))
               (modules '((guix build utils)))
               (snippet
                ;; Avoid continuation barriers so (@ (fibers) sleep) can be
@@ -347,24 +348,27 @@  (define-public shepherd-0.9
     (arguments
      (list #:configure-flags #~'("--localstatedir=/var")
            #:make-flags #~'("GUILE_AUTO_COMPILE=0")
-           #:phases (if (%current-target-system)
-                        #~(modify-phases %standard-phases
-                            (add-before 'configure 'set-fibers-directory
-                              (lambda _
-                                ;; When cross-compiling, refer to the target
-                                ;; Fibers, not the native one.
-                                (substitute* '("herd.in" "shepherd.in")
-                                  (("%FIBERS_SOURCE_DIRECTORY%")
-                                   #$(file-append
-                                      (this-package-input "guile-fibers")
-                                      "/share/guile/site/3.0"))
-                                  (("%FIBERS_OBJECT_DIRECTORY%")
-                                   #$(file-append
-                                      (this-package-input "guile-fibers")
-                                      "/lib/guile/3.0/site-ccache"))))))
-                        #~%standard-phases)))
-    (native-inputs (list pkg-config guile-3.0
-                         guile-fibers-1.1))       ;for cross-compilation
+           #:phases #~(modify-phases %standard-phases
+                        (delete 'strip) ; Warns when stripping .go files.
+                        #$@(if (%current-target-system)
+                               #~((add-before 'configure 'set-fibers-directory
+                                    (lambda _
+                                      ;; When cross-compiling, refer to the target
+                                      ;; Fibers, not the native one.
+                                      (substitute* '("herd.in" "shepherd.in")
+                                        (("%FIBERS_SOURCE_DIRECTORY%")
+                                         #$(file-append
+                                            (this-package-input "guile-fibers")
+                                            "/share/guile/site/3.0"))
+                                        (("%FIBERS_OBJECT_DIRECTORY%")
+                                         #$(file-append
+                                            (this-package-input "guile-fibers")
+                                            "/lib/guile/3.0/site-ccache"))))))
+                               #~()))))
+    (native-inputs
+     (list autoconf automake gettext-minimal help2man texinfo pkg-config
+           guile-fibers-1.1             ; for cross-compilation
+           guile-3.0))
     (inputs (list guile-3.0 guile-fibers-1.1))))
 
 (define-public guile2.2-shepherd