[PATCH] gnu: guix: Remove unnecessary dependencies.

  • Done
  • quality assurance status badge
Details
2 participants
  • Janneke Nieuwenhuizen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 16 Aug 19:54 +0200
(address . guix-patches@gnu.org)
d68cc8dbe1e46fea5188fc1ad5e122e1e2c07cb7.1723830740.git.ludo@gnu.org
This reverts 0fda0486523d67c2c464386c07a0c2800d8d8c20, instead moving
the dependencies needed for ‘make dist’ to ‘manifest.scm’.

Removing this extra dependencies make it simpler to build the ‘guix’
package in particular on less-capable systems like i586-gnu.

* gnu/packages/package-management.scm (guix)[native-inputs]: Remove
IMAGEMAGICK and PERL. Use GRAPHVIZ-MINIMAL instead of GRAPHVIZ.
* manifest.scm: Use the full-blown ‘graphviz’ package; add ‘imagemagick’
and ‘perl’.

Reported-by: Janneke Nieuwenhuizen <janneke@gnu.org>
Change-Id: Ia9d05c699e3cc2f9a9235a67f8ec840c26b66a82
---
gnu/packages/package-management.scm | 4 +---
manifest.scm | 16 +++++++++++++++-
2 files changed, 16 insertions(+), 4 deletions(-)

Hi!

the new imagemagick dependency made it harder to get ‘guix’ built on
i586-gnu. It’s also unnecessary.

WDYT?

Thanks,
Ludo’.

Toggle diff (51 lines)
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 77bda7f231..6fe0515d00 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -491,10 +491,8 @@ (define-public guix
("automake" ,automake)
("gettext" ,gettext-minimal)
("texinfo" ,texinfo)
- ("graphviz" ,graphviz) ;non-minimal for PDF support
+ ("graphviz" ,graphviz-minimal)
("font-ghostscript" ,font-ghostscript) ;fonts for 'dot'
- ("imagemagick" ,imagemagick) ;for 'make dist'
- ("perl" ,perl) ;for 'make dist'
("help2man" ,help2man)
("po4a" ,po4a-minimal)))
(inputs
diff --git a/manifest.scm b/manifest.scm
index 7e4d82c3a5..27e1d62566 100644
--- a/manifest.scm
+++ b/manifest.scm
@@ -24,11 +24,25 @@
;;
;; guix shell --pure -m manifest.scm hello ...
+(use-modules (guix packages))
+
(concatenate-manifests
- (list (package->development-manifest (specification->package "guix"))
+ (list (package->development-manifest
+ (let ((guix (specification->package "guix")))
+ (package/inherit guix
+ ;; Replace with non-minimal Graphviz for PDF support.
+ (native-inputs (modify-inputs (package-native-inputs guix)
+ (replace "graphviz"
+ (specification->package "graphviz")))))))
+
;; Extra packages used by unit tests.
(specifications->manifest (list "gnupg"))
+ ;; Packages needed for 'make dist' and 'make distcheck'.
+ (specifications->manifest
+ (list "imagemagick"
+ "perl"))
+
;; Useful extras for patches submission.
(specifications->manifest
(list "b4"

base-commit: 72e586fcae78e467d01e2add09c1db26be6bfa93
--
2.45.2
J
J
Janneke Nieuwenhuizen wrote on 17 Aug 09:13 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
87bk1rmxje.fsf@gnu.org
Ludovic Courtès writes:

Hi!

Toggle quote (7 lines)
> Removing this extra dependencies make it simpler to build the ‘guix’
> package in particular on less-capable systems like i586-gnu.

> As Janneke noted in <https://issues.guix.gnu.org/72643#7-lineno16>,
> the new imagemagick dependency made it harder to get ‘guix’ built on
> i586-gnu. It’s also unnecessary.

Nice catch!

Toggle quote (29 lines)
> diff --git a/manifest.scm b/manifest.scm
> index 7e4d82c3a5..27e1d62566 100644
> --- a/manifest.scm
> +++ b/manifest.scm
> @@ -24,11 +24,25 @@
> ;;
> ;; guix shell --pure -m manifest.scm hello ...
>
> +(use-modules (guix packages))
> +
> (concatenate-manifests
> - (list (package->development-manifest (specification->package "guix"))
> + (list (package->development-manifest
> + (let ((guix (specification->package "guix")))
> + (package/inherit guix
> + ;; Replace with non-minimal Graphviz for PDF support.
> + (native-inputs (modify-inputs (package-native-inputs guix)
> + (replace "graphviz"
> + (specification->package "graphviz")))))))
> +
> ;; Extra packages used by unit tests.
> (specifications->manifest (list "gnupg"))
>
> + ;; Packages needed for 'make dist' and 'make distcheck'.
> + (specifications->manifest
> + (list "imagemagick"
> + "perl"))
> +

Would it be overkill to avoid this for target-hurd?, someting like

(use-modules (guix utils)
;; ...
(specifications->manifest
(if (target-hurd?)
'()
(list "imagemagick"
"perl"))

Maybe it's premature; as I'm not even sure if fails to builds natively;
some of its dependencies don't cross-build, but it may just build on the
Hurd? I haven't built a guix checkout in a childhurd for some time...

Greetings,
Janneke

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 19 Aug 10:45 +0200
Re: [bug#72674] [PATCH] gnu: guix: Remove unnecessary dependencies.
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)
87ikvwx5nc.fsf@gnu.org
Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (10 lines)
> Would it be overkill to avoid this for target-hurd?, someting like
>
> (use-modules (guix utils)
> ;; ...
> (specifications->manifest
> (if (target-hurd?)
> '()
> (list "imagemagick"
> "perl"))

In principle I agree it would be nice, but there’s no guarantee that
‘%current-system’ will have the “right” value when the manifest is
evaluated.

Toggle quote (4 lines)
> Maybe it's premature; as I'm not even sure if fails to builds natively;
> some of its dependencies don't cross-build, but it may just build on the
> Hurd? I haven't built a guix checkout in a childhurd for some time...

Yeah. I’d lean towards keeping things simple for now, and we can always
do ‘guix shell -D guix’ on the Hurd… until everything builds fine. :-)

WDYT?

Thanks,
Ludo’.
J
J
Janneke Nieuwenhuizen wrote on 19 Aug 11:04 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)
87ikvwg9y8.fsf@gnu.org
Ludovic Courtès writes:

Toggle quote (4 lines)
> In principle I agree it would be nice, but there’s no guarantee that
> ‘%current-system’ will have the “right” value when the manifest is
> evaluated.

ah.

Toggle quote (9 lines)
>> Maybe it's premature; as I'm not even sure if fails to builds natively;
>> some of its dependencies don't cross-build, but it may just build on the
>> Hurd? I haven't built a guix checkout in a childhurd for some time...
>
> Yeah. I’d lean towards keeping things simple for now, and we can always
> do ‘guix shell -D guix’ on the Hurd… until everything builds fine. :-)
>
> WDYT?

Yes, sure; guess we can manage that :)

--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 31 Aug 19:09 +0200
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)
87jzfwhb5k.fsf@gnu.org
Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (19 lines)
> Ludovic Courtès writes:
>
>> In principle I agree it would be nice, but there’s no guarantee that
>> ‘%current-system’ will have the “right” value when the manifest is
>> evaluated.
>
> ah.
>
>>> Maybe it's premature; as I'm not even sure if fails to builds natively;
>>> some of its dependencies don't cross-build, but it may just build on the
>>> Hurd? I haven't built a guix checkout in a childhurd for some time...
>>
>> Yeah. I’d lean towards keeping things simple for now, and we can always
>> do ‘guix shell -D guix’ on the Hurd… until everything builds fine. :-)
>>
>> WDYT?
>
> Yes, sure; guess we can manage that :)

Pushed as 9af235335e8f8baf7f434a76570a954999231879.

Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 72674@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72674
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch