aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-01-02 16:19:10 +0000
committerChristopher Baines <mail@cbaines.net>2022-01-02 16:19:10 +0000
commit9a7dac283466b5c39533adb950cf78d057f2c08d (patch)
treebff4f33c9b835b8dd138d78d129aebc94b38c174
parent2ff82fcef4c07b7b847c678ac9ff296a66b7d29f (diff)
downloadbuild-coordinator-9a7dac283466b5c39533adb950cf78d057f2c08d.tar
build-coordinator-9a7dac283466b5c39533adb950cf78d057f2c08d.tar.gz
Hack the autotools stuff to try and allow minimal builds
No idea what this stuff is, but modify it with the intent of allowing building just the sources related to the agent, if guile-fibers is missing. This should make it easier to avoid problems in Guix where things like guile-fibers are currently broken for aarch64-linux, and also avoid having a load of perl dependencies for the agent, which doesn't use sqitch.
-rw-r--r--Makefile.am15
-rw-r--r--configure.ac9
2 files changed, 19 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index ae2e48b..79feb77 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,16 +5,20 @@ bin_SCRIPTS = \
scripts/guix-build-coordinator-agent \
scripts/guix-build-coordinator-queue-builds-from-guix-data-service
-SOURCES = \
+MINIMALSOURCES = \
guix-build-coordinator/agent-messaging.scm \
guix-build-coordinator/agent-messaging/abstract.scm \
- guix-build-coordinator/agent-messaging/local.scm \
guix-build-coordinator/agent-messaging/http.scm \
- guix-build-coordinator/agent-messaging/http/server.scm \
guix-build-coordinator/agent.scm \
+ guix-build-coordinator/config.scm \
+ guix-build-coordinator/utils.scm
+
+ALLSOURCES = \
+ $(MINIMALSOURCES) \
+ guix-build-coordinator/agent-messaging/local.scm \
+ guix-build-coordinator/agent-messaging/http/server.scm \
guix-build-coordinator/build-allocator.scm \
guix-build-coordinator/client-communication.scm \
- guix-build-coordinator/config.scm \
guix-build-coordinator/coordinator.scm \
guix-build-coordinator/datastore.scm \
guix-build-coordinator/datastore/abstract.scm \
@@ -22,9 +26,10 @@ SOURCES = \
guix-build-coordinator/datastore/sqlite.scm \
guix-build-coordinator/guix-data-service.scm \
guix-build-coordinator/hooks.scm \
- guix-build-coordinator/utils.scm \
guix-build-coordinator/utils/fibers.scm
+SOURCES = $($(CONFSOURCES))
+
install-data-local:
mkdir -p "$(DESTDIR)$(pkgdatadir)" || exit 1;
cp -r sqitch "$(DESTDIR)$(pkgdatadir)/" || exit 1;
diff --git a/configure.ac b/configure.ac
index 013cbfe..1e6a6b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,6 +38,15 @@ if test "x$have_guile_lib" != "xyes"; then
AC_MSG_ERROR([Guile-lib is missing; please install it.])
fi
+dnl Check for guile-fibers.
+GUILE_MODULE_AVAILABLE([have_guile_fibers], [(fibers)])
+if test "x$have_guile_fibers" != "xyes"; then
+ CONFSOURCES="MINIMALSOURCES"
+else
+ CONFSOURCES="ALLSOURCES"
+fi
+AC_SUBST([CONFSOURCES])
+
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([guix-build-coordinator/config.scm])