build: Use a 'guile' executable that doesn't warn about locales.

This gets rid of:

  guile: warning: failed to install locale

when running the 'guix' command on a foreign distro where 'GUIX_LOCPATH'
isn't set.

* Makefile.am (pkglibexec_PROGRAMS, guile_SOURCES, guile_LDADD)
(guile_CFLAGS): New variables.
(install-exec-hook): New target.
(AUX_FILES): Remove 'guile-launcher.c'.
* configure.ac: Use 'GUILE_FLAGS'.
This commit is contained in:
Ludovic Courtès 2020-10-01 10:19:47 +02:00
parent 1d4ab335b2
commit 880fe019ae
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 15 additions and 1 deletions

@ -47,6 +47,18 @@ scripts/guix: scripts/guix.in Makefile
$(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t" $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t"
$(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@" $(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
# This is our variant of the 'guile' executable, one that doesn't complain
# about locales.
pkglibexec_PROGRAMS = guile
guile_SOURCES = gnu/packages/aux-files/guile-launcher.c
guile_LDADD = $(GUILE_LIBS)
guile_CFLAGS = $(GUILE_CFLAGS)
# Have the 'guix' command refer to our 'guile'.
install-exec-hook:
$(SED) -i "$(DESTDIR)$(bindir)/guix" \
-e 's,^#![[:graph:]]\+,#!$(pkglibexecdir)/guile,g'
nodist_noinst_SCRIPTS = \ nodist_noinst_SCRIPTS = \
pre-inst-env \ pre-inst-env \
test-env test-env
@ -330,7 +342,6 @@ dist_noinst_DATA = \
# Auxiliary files for packages. # Auxiliary files for packages.
AUX_FILES = \ AUX_FILES = \
gnu/packages/aux-files/guile-launcher.c \
gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/5.8-arm.conf \ gnu/packages/aux-files/linux-libre/5.8-arm.conf \

@ -105,6 +105,9 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then
PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3]) PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3])
fi fi
dnl Get CFLAGS and LDFLAGS for libguile.
GUILE_FLAGS
dnl Installation directories for .scm and .go files. dnl Installation directories for .scm and .go files.
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache" guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"