diff mbox series

[bug#54207] gnu: shepherd: Convert to build from git instead of a release.

Message ID 20220301085912.31958-1-attila@lendvai.name
State Accepted
Headers show
Series [bug#54207] gnu: shepherd: Convert to build from git instead of a release. | 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 March 1, 2022, 8:59 a.m. UTC
This increases the flexibility to inherit from this package, and use a
non-yet-released version of Shepherd in a Guix build while working on
Shepherd.
---
 gnu/packages/admin.scm | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

Comments

Attila Lendvai March 1, 2022, 9:09 a.m. UTC | #1
i forgot to check this:

$ ./pre-inst-env guix refresh --list-dependent shepherd | tr " " "\n" | wc -l
1349

i.e. this should go into staging.

--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“Not all men want to dominate a large number of other persons, but those who do affect the life of many.”
	— Silvano Arieti (1914–1981)
M March 1, 2022, 10:18 a.m. UTC | #2
Attila Lendvai schreef op di 01-03-2022 om 09:59 [+0100]:
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://git.savannah.gnu.org/git/shepherd.git/")
> +             (commit (string-append "v" version))))

Perhaps add a comment about why it a git origin is used
and autoconf & friends are in native-inputs?

  ;; Build from git and add Autotools inputs, to make developing
  ;; the shepherd easier

Also, to avoid having to go through staging for adding a feature
to the shepherd to use in Guix, WDYT of defining a package variant
of shepherd for use in Guix, and modifying the default Guix in
'shepherd-configuration' appropriately?

(define-public shepherd-for-guix
  (let ((commit ...)
        (revision ...))
    (package
      (inherit shepherd)
      (source [the git origin])
      (version (git-version ...))
      (native-inputs
        (modify-inputs (package-inputs shepherd)
          (prepend [autotools packages])))
      (description [a package variant for use in Guix]))))

Greetings,
Maxime.
Attila Lendvai March 1, 2022, 6:49 p.m. UTC | #3
closing this, because i've accidentall sent the suggested solution as a separate issue:

https://issues.guix.gnu.org/54216

--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“What's done to children, they will do to society.”
	— Karl A. Menninger (http://psychohistory.com/)
diff mbox series

Patch

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index c8f91aab0d..59a37c5ace 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -270,26 +270,33 @@  (define-public shepherd
   (package
     (name "shepherd")
     (version "0.8.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://gnu/shepherd/shepherd-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0x9zr0x3xvk4qkb6jnda451d5iyrl06cz1bjzjsm0lxvjj3fabyk"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; Build with -O1 to work around <https://bugs.gnu.org/48368>.
-                  (substitute* "Makefile.in"
-                    (("compile --target")
-                     "compile -O1 --target"))))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.savannah.gnu.org/git/shepherd.git/")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32
+         "109ha9rk4ycqcmx9cddlbym92c3fvbwp12q9p42h8sg8vr367w5j"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Build with -O1 to work around <https://bugs.gnu.org/48368>.
+           (substitute* "Makefile.am"
+             (("compile --target")
+              "compile -O1 --target"))))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("--localstatedir=/var")
        #:make-flags '("GUILE_AUTO_COMPILE=0")))
     (native-inputs
-     (list pkg-config
+     (list autoconf
+           automake
+           gettext-minimal
+           help2man
+           pkg-config
+           texinfo
            ;; This is the Guile we use as a cross-compiler...
            guile-3.0))
     (inputs