all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: 49597@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#49597] [PATCH core-updates 00/15] Ajust packages to label-less input style
Date: Fri, 16 Jul 2021 17:50:09 +0200	[thread overview]
Message-ID: <20210716155009.32118-1-ludo@gnu.org> (raw)

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





             reply	other threads:[~2021-07-16 15:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-16 15:50 Ludovic Courtès [this message]
2021-07-16 15:54 ` [bug#49597] [PATCH core-updates 01/15] gnu: commencement: Use gexps and 'local-file' to refer to patches Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 02/15] gnu: tzdata: Remove input labels Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 03/15] gnu: Simplify "Xvbf" invocation in pre-check phases Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 04/15] gnu: Use 'search-input-directory' when looking for tzdata Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 05/15] gnu: Use 'search-input-directory' for the SDL header directory Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 06/15] gnu: Use 'search-input-directory' for the OpenEXR " Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 07/15] gnu: Use 'search-input-file' when searching for Automake files Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 08/15] gnu: Use 'search-input-directory' for the Eigen header directory Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 09/15] gnu: Use 'search-input-directory' for glibc locale data Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 10/15] gnu: Use 'search-input-directory' when looking for C/C++ library headers Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 11/15] gnu: Use 'search-input-file' when looking for *.so and *.a Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 12/15] gnu: Use 'search-input-file' when looking for executables Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 13/15] gnu: mozjs: Use 'which' where appropriate Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 14/15] gnu: Use 'search-input-file' when looking for .jar files Ludovic Courtès
2021-07-18 15:56     ` Maxime Devos
2021-07-19 14:52       ` [bug#49597] [PATCH core-updates 00/15] Ajust packages to label-less input style Ludovic Courtès
2021-07-16 15:54   ` [bug#49597] [PATCH core-updates 15/15] gnu: Use 'search-input-directory' and 'search-input-file' where appropriate Ludovic Courtès
2021-07-17 15:06 ` [bug#49597] [PATCH core-updates 00/15] Ajust packages to label-less input style Mathieu Othacehe
2021-07-18 15:44 ` Maxime Devos
2021-07-19 14:50   ` Ludovic Courtès
2021-07-19 16:47     ` Maxime Devos
2021-07-20 21:14       ` Ludovic Courtès
2021-07-24 14:29 ` bug#49597: " Ludovic Courtès
2021-07-25  9:54   ` [bug#49597] " Mathieu Othacehe
2021-07-25 15:13     ` Maxime Devos
2021-07-25 17:17       ` Mathieu Othacehe
2021-07-25 17:05     ` Ludovic Courtès
2021-07-25 17:18       ` Mathieu Othacehe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210716155009.32118-1-ludo@gnu.org \
    --to=ludo@gnu.org \
    --cc=49597@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.