From 880fe019ae64df37815bbdb1a22305f99dae759d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 1 Oct 2020 10:19:47 +0200 Subject: [PATCH] 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'. --- Makefile.am | 13 ++++++++++++- configure.ac | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 01a3dc10ef..a75d9c1ffc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,6 +47,18 @@ scripts/guix: scripts/guix.in Makefile $(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-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 = \ pre-inst-env \ test-env @@ -330,7 +342,6 @@ dist_noinst_DATA = \ # Auxiliary files for packages. AUX_FILES = \ - gnu/packages/aux-files/guile-launcher.c \ gnu/packages/aux-files/chromium/master-preferences.json \ gnu/packages/aux-files/emacs/guix-emacs.el \ gnu/packages/aux-files/linux-libre/5.8-arm.conf \ diff --git a/configure.ac b/configure.ac index adca374619..6861112eaf 100644 --- a/configure.ac +++ b/configure.ac @@ -105,6 +105,9 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3]) fi +dnl Get CFLAGS and LDFLAGS for libguile. +GUILE_FLAGS + dnl Installation directories for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"