summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-01 10:19:47 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-05 23:19:19 +0200
commit880fe019ae64df37815bbdb1a22305f99dae759d (patch)
treedf0c8c1f4fd87af8a6abbce0142cef7e636d6dbb
parent1d4ab335b22a93e01c2eb1eb3e93fc6534157040 (diff)
downloadguix-880fe019ae64df37815bbdb1a22305f99dae759d.tar.gz
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'.
-rw-r--r--Makefile.am13
-rw-r--r--configure.ac3
2 files changed, 15 insertions, 1 deletions
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"