summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-04-19 15:28:19 +0200
committerLudovic Courtès <ludo@gnu.org>2019-04-19 17:46:40 +0200
commit35a09fd9c1aeb1023352b8e29c483b2fa6c4e41a (patch)
tree72366a0538706cd253b65547eba7f893584e034d
parent24963c13075b07db0c4e6005df9cde3bb51b2e32 (diff)
downloadguix-35a09fd9c1aeb1023352b8e29c483b2fa6c4e41a.tar.gz
maint: Build all the 'guix' packages in parallel.
Until now, the 'guix' package shipped in binary tarballs and system
images would be built sequentially for each system type, one at a time.
Now all of them can potentially be built in parallel.

* Makefile.am (system_flags): New function.
(release): Run "guix build guix" before "make binary-tarballs" and
before "guix system disk-image" to build all the 'guix' packages in
parallel.
-rw-r--r--Makefile.am9
1 files changed, 9 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 93203f0c81..99d6ed64b6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -684,6 +684,9 @@ GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION)
 # Prefix of the Guix VM image file name.
 GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
 
+# Return the sequence of '-s' flags for the given systems.
+system_flags = $(foreach system,$(1),-s $(system))
+
 # The release process works in several phases:
 #
 #   0. We assume the developer created a 'vX.Y' tag.
@@ -714,6 +717,9 @@ release: dist
 	   "`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
 	git add $(top_srcdir)/gnu/packages/package-management.scm
 	git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
+	$(top_builddir)/pre-inst-env guix build guix	\
+	      $(call system_flags,$(SUPPORTED_SYSTEMS))	\
+	      -v1 --no-grafts -K
 	rm -f $(BINARY_TARBALLS)
 	$(MAKE) $(BINARY_TARBALLS)
 	for system in $(SUPPORTED_SYSTEMS) ; do					\
@@ -725,6 +731,9 @@ release: dist
 	   "`git rev-parse HEAD`"
 	git add $(top_srcdir)/gnu/packages/package-management.scm
 	git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
+	$(top_builddir)/pre-inst-env guix build guix			\
+	      $(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS))	\
+	      -v1 --no-grafts -K
 	for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do				\
 	  image=`$(top_builddir)/pre-inst-env						\
 	    guix system disk-image							\