GNU bug report logs - #47484
[PATCH]: Use 'gtk-doc/stable' instead of 'gtk-doc' in native-inputs

Previous Next

Package: guix-patches;

Reported by: Maxime Devos <maximedevos <at> telenet.be>

Date: Mon, 29 Mar 2021 19:22:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 47484 AT debbugs.gnu.org.

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#47484; Package guix-patches. (Mon, 29 Mar 2021 19:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxime Devos <maximedevos <at> telenet.be>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 29 Mar 2021 19:22:02 GMT) Full text and rfc822 format available.

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

From: Maxime Devos <maximedevos <at> telenet.be>
To: guix-patches <at> gnu.org
Cc: mhw <at> netris.org
Subject: [PATCH]: Use 'gtk-doc/stable' instead of 'gtk-doc' in native-inputs
Date: Mon, 29 Mar 2021 21:20:35 +0200
[Message part 1 (text/plain, inline)]
Hi Guix,

See: <https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00538.html>

* Patch #1: Use 'gtk-doc/stable' instead of 'gtk-doc' in native-inputs

To test packages can still be built:

<start snip>
PACKAGES="thermald glimpse glib mate-desktop atril caja-extensions"
PACKAGES+=" mate-utils eom engrampa pluma mate-polkit"
PACKAGES+=" libgnt loudmouth denemo gsequencer libu2f-host libu2f-server"
PACKAGES+=" keybinder keybinder-3.0"

./pre-inst-env guix build $PACKAGES -M

# Output:
The following derivation will be built:
   /gnu/store/n84fwcigw3djfxv12iqv76bwp2gx9mnf-denemo-2.5.0.drv
The following files will be downloaded:
[...]

./pre-inst-env guix build denemo
[Bla bla.]
# Success!

<end snip>

To test no references to imagemagick or gtk-doc are retained:

./pre-inst-env guix graph --type=references $PACKAGES
# ^ search for imagemagick in output
# ^ TODO it should not be required to substitute $PACKAGES
#   first, as the 'references' information is in the narinfo.

* Patch #2: Export canonicalize-reference
* Patch #3: Add a '#:disallowed-references' argument to 'python-build'.

Used in later patches.

* Patch #4: Let 'python-sphinx' use 'imagemagick/stable'.

python-sphinx depends on imagemagick.  As (before this patch series),
many packages depend on 'python-sphinx' ...

<start snip>
guix refresh --list-dependent python-sphinx
Building the following 199 packages would ensure 427 dependent packages are rebuilt: [...]
<end snip>

... it may be worthwile to depend a /stable variant of python-sphinx,
and use it when sphinx is used only for generating the documentation.
However, defining a variant of python-sphinx is not required,
as python-sphinx does not retain its reference to imagemagick.

Thus, I simply replaced 'imagemagick' with 'imagemagick/stable' in the
inputs.  To make sure python-sphinx does not retain references to imagemagick/stable,
I added #:disallowed-references `(,imagemagick/stable) to #:arguments.

It is commented out in the patch to avoid rebuilds:

$ ./pre-inst-env guix build python-sphinx
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 1.6 MB will be downloaded:
>    /gnu/store/sf2kdppaf8z2ri40rlp27l7ffkd8kvyf-python-sphinx-3.3.1
> substituting /gnu/store/sf2kdppaf8z2ri40rlp27l7ffkd8kvyf-python-sphinx-3.3.1...
> downloading from https://ci.guix.gnu.org/nar/lzip/sf2kdppaf8z2ri40rlp27l7ffkd8kvyf-python-sphinx-3.3.1 ...
>  python-sphinx-3.3.1  1.5MiB                                    121KiB/s 00:13 [##################] 100.0%
> [...]

When uncommented, 'python-sphinx' still builds.


* Patch #5 .. #10: I replaced imagemagick with imagemagick/stable in some packages

* After this patch series: how many packages would be rebuild if imagemagick
  is updated?

$ ./pre-inst-env guix refresh --list-dependent imagemagick <at> 6.9.12-4
> Building the following 47 packages would ensure 73 dependent packages are rebuilt: [..]

Also, I verified ./pre-inst-env guix build guix still succeeds.

Greetings,
Maxime.
[0001-gnu-Use-gtk-doc-stable-in-native-inputs-instead-of-g.patch (text/x-patch, attachment)]
[0002-guix-build-system-gnu-Export-canonicalize-reference.patch (text/x-patch, attachment)]
[0003-build-system-python-Add-disallowed-references.patch (text/x-patch, attachment)]
[0004-gnu-sphinx-Use-imagemagick-stable-variant.patch (text/x-patch, attachment)]
[0005-gnu-wpa-supplicant-gui-Use-imagemagick-stable-varian.patch (text/x-patch, attachment)]
[0006-gnu-wpa-supplicant-gui-Don-t-return-t-from-phases.patch (text/x-patch, attachment)]
[0007-guix-build-system-qt-Support-disallowed-references.patch (text/x-patch, attachment)]
[0008-gnu-bandage-Do-not-yet-use-the-imagemagick-stable-va.patch (text/x-patch, attachment)]
[0009-guix-build-system-cmake-Support-disallowed-reference.patch (text/x-patch, attachment)]
[0010-gnu-inkscape-1.0-Do-not-yet-use-imagemagick-stable.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#47484; Package guix-patches. (Thu, 01 Apr 2021 18:58:02 GMT) Full text and rfc822 format available.

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

From: Mark H Weaver <mhw <at> netris.org>
To: Maxime Devos <maximedevos <at> telenet.be>, guix-patches <at> gnu.org
Subject: Re: [PATCH]: Use 'gtk-doc/stable' instead of 'gtk-doc' in
 native-inputs
Date: Thu, 01 Apr 2021 14:56:02 -0400
Hi Maxime,

Thanks so much for taking this on.  The reason for my delayed response
is that I'm a bit nervous about using these known-buggy "*/stable"
packages more comprehensively until we have a better understanding of
<https://bugs.gnu.org/47479> and how to address it.

      Mark




This bug report was last modified 3 years and 23 days ago.

Previous Next


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