--- Begin Message ---
Subject: |
[PATCH core-updates 00/15] Ajust packages to label-less input style |
Date: |
Fri, 16 Jul 2021 17:50:09 +0200 |
Hello Guix!
This series of patches updates the style of package definitions.
The first one uses gexps and ‘local-file’ in (gnu packages base).
The rest is about removing reliance on input labels in build-side
code, primarily by changing:
(string-append (assoc-ref inputs "LABEL") "FILE")
to one of:
(search-input-file inputs "FILE")
(search-input-directory inputs "FILE")
This change will help if we eventually remove input labels entirely
from the API (remember that input labels are now unnecessary in
package definitions but they’re still returned by ‘package-inputs’
and similar procedures).
The idea is that code should not rely on package names when looking
for files as this would prevent things such as
‘--with-inputs=openmpi=mpich’ since the label in the original package
would be “openmpi” whereas it’d be “mpich” in the transformed package.
In this case (a kind of “virtual dependencies”), a better idiom is:
(search-input-file inputs "lib/libmpi.so")
as this explicitly accommodates any implementation of that library.
I initially made the ‘search-input-file’ changes by grepping for
“(string-append (search-input inputs”, replacing everything in wgrep
mode. I then reviewed changes one by one (though without rebuilding
everything) and committed them in chunks of similar changes for
easier review/bisecting.
I’d like to push this to core-updates soonish.
Feedback welcome!
Ludo’.
Ludovic Courtès (15):
gnu: commencement: Use gexps and 'local-file' to refer to patches.
gnu: tzdata: Remove input labels.
gnu: Simplify "Xvbf" invocation in pre-check phases.
gnu: Use 'search-input-directory' when looking for tzdata.
gnu: Use 'search-input-directory' for the SDL header directory.
gnu: Use 'search-input-directory' for the OpenEXR header directory.
gnu: Use 'search-input-file' when searching for Automake files.
gnu: Use 'search-input-directory' for the Eigen header directory.
gnu: Use 'search-input-directory' for glibc locale data.
gnu: Use 'search-input-directory' when looking for C/C++ library
headers.
gnu: Use 'search-input-file' when looking for *.so and *.a.
gnu: Use 'search-input-file' when looking for executables.
gnu: mozjs: Use 'which' where appropriate.
gnu: Use 'search-input-file' when looking for .jar files.
gnu: Use 'search-input-directory' and 'search-input-file' where
appropriate.
gnu/packages/admin.scm | 6 +-
gnu/packages/arcan.scm | 6 +-
gnu/packages/audio.scm | 15 +-
gnu/packages/axoloti.scm | 8 +-
gnu/packages/backup.scm | 3 +-
gnu/packages/base.scm | 128 ++--
gnu/packages/benchmark.scm | 3 +-
gnu/packages/bioinformatics.scm | 79 ++-
gnu/packages/boost.scm | 7 +-
gnu/packages/bootloaders.scm | 42 +-
gnu/packages/calcurse.scm | 4 +-
gnu/packages/calendar.scm | 4 +-
gnu/packages/cedille.scm | 3 +-
gnu/packages/chemistry.scm | 3 +-
gnu/packages/commencement.scm | 902 ++++++++++++++--------------
gnu/packages/compression.scm | 10 +-
gnu/packages/cran.scm | 25 +-
gnu/packages/cups.scm | 5 +-
gnu/packages/dictionaries.scm | 5 +-
gnu/packages/django.scm | 3 +-
gnu/packages/dlang.scm | 4 +-
gnu/packages/education.scm | 32 +-
gnu/packages/emacs-xyz.scm | 67 +--
gnu/packages/emulators.scm | 13 +-
gnu/packages/engineering.scm | 32 +-
gnu/packages/entr.scm | 6 +-
gnu/packages/file-systems.scm | 22 +-
gnu/packages/finance.scm | 7 +-
gnu/packages/flashing-tools.scm | 6 +-
gnu/packages/fontutils.scm | 3 +-
gnu/packages/freedesktop.scm | 3 +-
gnu/packages/game-development.scm | 16 +-
gnu/packages/games.scm | 104 ++--
gnu/packages/geo.scm | 6 +-
gnu/packages/gimp.scm | 6 +-
gnu/packages/glib.scm | 16 +-
gnu/packages/gnome.scm | 51 +-
gnu/packages/gnupg.scm | 12 +-
gnu/packages/gnuzilla.scm | 14 +-
gnu/packages/golang.scm | 12 +-
gnu/packages/graphics.scm | 19 +-
gnu/packages/graphviz.scm | 5 +-
gnu/packages/groovy.scm | 2 +-
gnu/packages/guile-xyz.scm | 10 +-
gnu/packages/haskell-xyz.scm | 5 +-
gnu/packages/haskell.scm | 7 +-
gnu/packages/hurd.scm | 9 +-
gnu/packages/ibus.scm | 9 +-
gnu/packages/image-processing.scm | 7 +-
gnu/packages/image-viewers.scm | 9 +-
gnu/packages/image.scm | 6 +-
gnu/packages/irc.scm | 2 +-
gnu/packages/irods.scm | 19 +-
gnu/packages/java-graphics.scm | 3 +-
gnu/packages/java.scm | 91 ++-
gnu/packages/julia.scm | 6 +-
gnu/packages/kde-frameworks.scm | 15 +-
gnu/packages/kde-multimedia.scm | 3 +-
gnu/packages/kde-pim.scm | 14 +-
gnu/packages/kde-plasma.scm | 3 +-
gnu/packages/kde.scm | 10 +-
gnu/packages/kodi.scm | 3 +-
gnu/packages/language.scm | 10 +-
gnu/packages/less.scm | 9 +-
gnu/packages/libreoffice.scm | 7 +-
gnu/packages/linux.scm | 54 +-
gnu/packages/lisp-xyz.scm | 52 +-
gnu/packages/lisp.scm | 11 +-
gnu/packages/llvm.scm | 15 +-
gnu/packages/lua.scm | 4 +-
gnu/packages/lxde.scm | 9 +-
gnu/packages/machine-learning.scm | 17 +-
gnu/packages/mail.scm | 12 +-
gnu/packages/mate.scm | 4 +-
gnu/packages/maths.scm | 34 +-
gnu/packages/messaging.scm | 7 +-
gnu/packages/mpi.scm | 12 +-
gnu/packages/music.scm | 14 +-
gnu/packages/netpbm.scm | 8 +-
gnu/packages/networking.scm | 32 +-
gnu/packages/node.scm | 22 +-
gnu/packages/ocaml.scm | 10 +-
gnu/packages/orpheus.scm | 9 +-
gnu/packages/package-management.scm | 4 +-
gnu/packages/pascal.scm | 6 +-
gnu/packages/password-utils.scm | 6 +-
gnu/packages/perl.scm | 5 +-
gnu/packages/photo.scm | 8 +-
gnu/packages/pretty-print.scm | 5 +-
gnu/packages/pumpio.scm | 6 +-
gnu/packages/python-crypto.scm | 4 +-
gnu/packages/python-xyz.scm | 34 +-
gnu/packages/python.scm | 4 +-
gnu/packages/qt.scm | 4 +-
gnu/packages/radio.scm | 28 +-
gnu/packages/rrdtool.scm | 4 +-
gnu/packages/ruby.scm | 8 +-
gnu/packages/rust.scm | 6 +-
gnu/packages/scheme.scm | 8 +-
gnu/packages/screen.scm | 3 +-
gnu/packages/security-token.scm | 19 +-
gnu/packages/selinux.scm | 7 +-
gnu/packages/serialization.scm | 3 +-
gnu/packages/spice.scm | 4 +-
gnu/packages/statistics.scm | 8 +-
gnu/packages/suckless.scm | 4 +-
gnu/packages/sync.scm | 5 +-
gnu/packages/syndication.scm | 7 +-
gnu/packages/telephony.scm | 11 +-
gnu/packages/terminals.scm | 2 +-
gnu/packages/tex.scm | 4 +-
gnu/packages/tls.scm | 3 +-
gnu/packages/uml.scm | 3 +-
gnu/packages/version-control.scm | 30 +-
gnu/packages/video.scm | 14 +-
gnu/packages/vim.scm | 6 +-
gnu/packages/virtualization.scm | 27 +-
gnu/packages/vpn.scm | 12 +-
gnu/packages/web.scm | 4 +-
gnu/packages/wine.scm | 4 +-
gnu/packages/wm.scm | 14 +-
gnu/packages/wxwidgets.scm | 10 +-
gnu/packages/xdisorg.scm | 5 +-
gnu/packages/xfce.scm | 3 +-
gnu/packages/xorg.scm | 16 +-
125 files changed, 1198 insertions(+), 1472 deletions(-)
base-commit: 12c2648f4e8e050d9374ca70efd1856dc8238979
--
2.32.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#49597: [PATCH core-updates 00/15] Ajust packages to label-less input style |
Date: |
Sat, 24 Jul 2021 16:29:30 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
> gnu: commencement: Use gexps and 'local-file' to refer to patches.
> gnu: tzdata: Remove input labels.
> gnu: Simplify "Xvbf" invocation in pre-check phases.
> gnu: Use 'search-input-directory' when looking for tzdata.
> gnu: Use 'search-input-directory' for the SDL header directory.
> gnu: Use 'search-input-directory' for the OpenEXR header directory.
> gnu: Use 'search-input-file' when searching for Automake files.
> gnu: Use 'search-input-directory' for the Eigen header directory.
> gnu: Use 'search-input-directory' for glibc locale data.
> gnu: Use 'search-input-directory' when looking for C/C++ library
> headers.
> gnu: Use 'search-input-file' when looking for *.so and *.a.
> gnu: Use 'search-input-file' when looking for executables.
> gnu: mozjs: Use 'which' where appropriate.
> gnu: Use 'search-input-file' when looking for .jar files.
> gnu: Use 'search-input-directory' and 'search-input-file' where
> appropriate.
I went ahead and pushed as d468a03a00738bb0742148e056f7a557aae08f2f.
Now to see if I broke something…
Ludo’.
--- End Message ---