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

Full log


View this message in rfc822 format

From: Maxime Devos <maximedevos <at> telenet.be>
To: 47484 <at> debbugs.gnu.org
Cc: mhw <at> netris.org
Subject: [bug#47484] [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)]

This bug report was last modified 4 years and 78 days ago.

Previous Next


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