GNU bug report logs - #72674
[PATCH] gnu: guix: Remove unnecessary dependencies.

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Fri, 16 Aug 2024 17:56:01 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 72674 in the body.
You can then email your comments to 72674 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#72674; Package guix-patches. (Fri, 16 Aug 2024 17:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ludovic Courtès <ludo <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 16 Aug 2024 17:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>,
 Janneke Nieuwenhuizen <janneke <at> gnu.org>
Subject: [PATCH] gnu: guix: Remove unnecessary dependencies.
Date: Fri, 16 Aug 2024 19:54:36 +0200
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 <at> gnu.org>
Change-Id: Ia9d05c699e3cc2f9a9235a67f8ec840c26b66a82
---
 gnu/packages/package-management.scm |  4 +---
 manifest.scm                        | 16 +++++++++++++++-
 2 files changed, 16 insertions(+), 4 deletions(-)

Hi!

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.

WDYT?

Thanks,
Ludo’.

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





Information forwarded to guix-patches <at> gnu.org:
bug#72674; Package guix-patches. (Sat, 17 Aug 2024 07:16:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>, guix-patches <at> gnu.org
Subject: Re: [PATCH] gnu: guix: Remove unnecessary dependencies.
Date: Sat, 17 Aug 2024 09:13:57 +0200
Ludovic Courtès writes:

Hi!

> 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!

> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#72674; Package guix-patches. (Mon, 19 Aug 2024 08:47:02 GMT) Full text and rfc822 format available.

Message #11 received at 72674 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 72674 <at> debbugs.gnu.org, maxim.cournoyer <at> gmail.com
Subject: Re: [bug#72674] [PATCH] gnu: guix: Remove unnecessary dependencies.
Date: Mon, 19 Aug 2024 10:45:27 +0200
Hi,

Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> 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.

> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#72674; Package guix-patches. (Mon, 19 Aug 2024 09:06:02 GMT) Full text and rfc822 format available.

Message #14 received at 72674 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 72674 <at> debbugs.gnu.org, maxim.cournoyer <at> gmail.com
Subject: Re: [bug#72674] [PATCH] gnu: guix: Remove unnecessary dependencies.
Date: Mon, 19 Aug 2024 11:04:31 +0200
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 :)

-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 31 Aug 2024 17:11:03 GMT) Full text and rfc822 format available.

Notification sent to Ludovic Courtès <ludo <at> gnu.org>:
bug acknowledged by developer. (Sat, 31 Aug 2024 17:11:03 GMT) Full text and rfc822 format available.

Message #19 received at 72674-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 72674-done <at> debbugs.gnu.org, maxim.cournoyer <at> gmail.com
Subject: Re: [bug#72674] [PATCH] gnu: guix: Remove unnecessary dependencies.
Date: Sat, 31 Aug 2024 19:09:27 +0200
Hi,

Janneke Nieuwenhuizen <janneke <at> gnu.org> skribis:

> 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’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 29 Sep 2024 11:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 264 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.