Message ID | 20220301182848.26694-1-attila@lendvai.name |
---|---|
State | New |
Headers | show |
Series | [bug#54216] gnu: shepherd-for-guix: New package for use in Guix. | expand |
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 |
Attila Lendvai schreef op di 01-03-2022 om 19:28 [+0100]: > This increases the flexibility to inherit from this package, and to use > a non-yet-released version of Shepherd in a Guix build while working on > Shepherd. > > IOW, it makes it easier to update Shepherd without going through staging > and/or rebuilding several dependant packages. > > This also updates Shepherd to the latest commit, so that the two variants > have a different version. > > * gnu/packages/admin.scm (shepherd-for-guix): New variable. > --- > > once it's merged, i'll send another patch to staging that will simplify this. > > gnu/packages/admin.scm | 36 ++++++++++++++++++++++++++++++++++++ > gnu/services/shepherd.scm | 2 +- > 2 files changed, 37 insertions(+), 1 deletion(-) > > diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm > index c8f91aab0d..3c02b16f34 100644 > --- a/gnu/packages/admin.scm > +++ b/gnu/packages/admin.scm > @@ -307,6 +307,42 @@ (define-public shepherd > (license license:gpl3+) > (home-page "https://www.gnu.org/software/shepherd/"))) > > +(define-public shepherd-for-guix Perhaps the explanation what's it for could be moved to a comment next to 'shepherd-for-guix'? Perhaps: ;; This is the Shepherd package used by Guix. This package variant ;; allows us to add new features and fix bugs in Shepherd and use the ;; new features in Guix, without having to go through the 'staging' ;; branch and without having to wait for a new release, see ;; [...] in the manual. (define-public shepherd-for-guix ...) Greetings, Maxime.
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c8f91aab0d..3c02b16f34 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -307,6 +307,42 @@ (define-public shepherd (license license:gpl3+) (home-page "https://www.gnu.org/software/shepherd/"))) +(define-public shepherd-for-guix + (let* ((version "0.8.1") + ;; If it's an unreleased commit: + (commit "7c380590164ea8ee40de46059d07e08a48963577") + ;; Use the below if it's a release, and set REVISION to #f. + ;; (commit (string-append "v" version)) + (revision "1")) + (package + (inherit shepherd) + (source + (origin + (method git-fetch) + (uri (git-reference + ;; Build from git and add Autotools inputs, to make developing + ;; Shepherd easier. It enables easier package inheritance. + (url "https://git.savannah.gnu.org/git/shepherd.git/") + (commit commit))) + (sha256 + (base32 + "1hgkbl3fyzwi5vw63kbkswnf3viyfl52c5dzkx7vbkr4sj5ysz1g")) + (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")))))) + (version (if revision + (git-version version revision commit) + version)) + (native-inputs + (modify-inputs (package-native-inputs shepherd) + (prepend autoconf automake gettext-minimal help2man texinfo))) + (description "A package variant for use in Guix. It helps lowering +the build time of Guix when working on Shepherd.")))) + (define-public guile2.2-shepherd (package (inherit shepherd) diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index b44dbf9d9f..991194ffe6 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -88,7 +88,7 @@ (define-record-type* <shepherd-configuration> shepherd-configuration make-shepherd-configuration shepherd-configuration? (shepherd shepherd-configuration-shepherd - (default shepherd)) ; file-like + (default shepherd-for-guix)) ; file-like (services shepherd-configuration-services (default '()))) ; list of <shepherd-service>