Hi Guix,
See:
* Patch #1: Use 'gtk-doc/stable' instead of 'gtk-doc' in native-inputs
To test packages can still be built:
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!
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' ...
guix refresh --list-dependent python-sphinx
Building the following 199 packages would ensure 427 dependent packages are rebuilt: [...]
... 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@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.