diff options
author | Christopher Baines <mail@cbaines.net> | 2022-01-02 16:19:10 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2022-01-02 16:19:10 +0000 |
commit | 9a7dac283466b5c39533adb950cf78d057f2c08d (patch) | |
tree | bff4f33c9b835b8dd138d78d129aebc94b38c174 | |
parent | 2ff82fcef4c07b7b847c678ac9ff296a66b7d29f (diff) | |
download | build-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.am | 15 | ||||
-rw-r--r-- | configure.ac | 9 |
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]) |