[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
57/67: build: Build gnu/packages/*.go in five steps.
From: |
guix-commits |
Subject: |
57/67: build: Build gnu/packages/*.go in five steps. |
Date: |
Tue, 18 Jul 2023 10:16:15 -0400 (EDT) |
janneke pushed a commit to branch hurd-team
in repository guix.
commit da4fd872941577db4cb3855cac16653e65f02038
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Wed May 24 15:46:44 2023 +0200
build: Build gnu/packages/*.go in five steps.
This breaks-up packages into five chunks of ~150,000 lines, allowing guix
build --target=i586-pc-gnu from an x86 host.
This is a followup to 1aa7ee52c6c520c2dbbdb06f1381466e9fd96294.
* Makefile.am (first_half): Rename to...
(first_quart): ...this, and also split into...
(second_quart): ...this.
(third_quart, MODULES_PACKAGES3, MODULES_PACKAGE4): New variables.
(make-packages3-go, make-packages4-go): New targets.
(make-packages-go): Add them.
---
Makefile.am | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 54 insertions(+), 8 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index d680c8c76c..315de679ac 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -774,19 +774,45 @@ endef
# in <https://issues.guix.gnu.org/48963>. Each 'eval' call below creates a
# 'make-*-go' phony target that builds the corresponding subset.
-first_half := \
- gnu/packages/a% gnu/packages/b% gnu/packages/c% gnu/packages/d% \
- gnu/packages/e% gnu/packages/f% gnu/packages/g% gnu/packages/h% \
- gnu/packages/i% gnu/packages/j% gnu/packages/k% gnu/packages/l%
+first_fifth := \
+ gnu/packages/a% gnu/packages/b% gnu/packages/c%
+
+second_fifth :=
\
+ gnu/packages/d% gnu/packages/e% gnu/packages/f%
+
+third_fifth := \
+ gnu/packages/g% gnu/packages/h% gnu/packages/i%
+
+fourth_fifth :=
\
+ gnu/packages/j% gnu/packages/k% gnu/packages/l% gnu/packages/m% \
+ gnu/packages/n% gnu/packages/o%
MODULES_CORE := guix.scm $(filter-out guix/scripts/%,$(filter
guix/%,$(MODULES)))
-MODULES_PACKAGES1 := $(filter $(first_half),$(MODULES))
-MODULES_PACKAGES2 := $(filter-out $(first_half),$(filter
gnu/packages/%,$(MODULES)))
-MODULES_PACKAGES := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2)
+MODULES_PACKAGES1 := $(filter $(first_fifth),$(MODULES))
+MODULES_PACKAGES2 := $(filter $(second_fifth),$(MODULES))
+MODULES_PACKAGES3 := $(filter $(third_fifth),$(MODULES))
+MODULES_PACKAGES4 := $(filter $(fourth_fifth),$(MODULES))
+MODULES_PACKAGES5 := $(filter-out $(first_fifth) $(second_fifth) \
+ $(third_fifth) $(fourth_fifth), \
+ $(filter gnu/packages/%,$(MODULES)))
+MODULES_PACKAGES := $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) \
+ $(MODULES_PACKAGES3) $(MODULES_PACKAGES4) \
+ $(MODULES_PACKAGES5)
MODULES_SYSTEM := gnu.scm $(filter-out gnu/packages/%,$(filter
gnu/%,$(MODULES)))
MODULES_CLI := $(filter guix/scripts/%,$(MODULES))
MODULES_PO := guix/build/po.scm
+print-p1:
+ @echo $(MODULES_PACKAGES1)
+print-p2:
+ @echo $(MODULES_PACKAGES2)
+print-p3:
+ @echo $(MODULES_PACKAGES3)
+print-p4:
+ @echo $(MODULES_PACKAGES4)
+print-p5:
+ @echo $(MODULES_PACKAGES5)
+
$(eval $(call guile-compilation-rule,make-core-go, \
$(MODULES_CORE) guix/config.scm $(dist_noinst_DATA), \
0))
@@ -802,7 +828,27 @@ $(eval $(call guile-compilation-rule,make-packages2-go,
\
$(words $(MODULES_CORE) $(MODULES_PACKAGES1))))
.PHONY: make-packages2-go
-make-packages-go: make-packages1-go make-packages2-go
+$(eval $(call guile-compilation-rule,make-packages3-go,
\
+ $(MODULES_PACKAGES3) make-core-go make-packages1-go make-packages2-go,
\
+ $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2))))
+.PHONY: make-packages3-go
+
+$(eval $(call guile-compilation-rule,make-packages4-go,
\
+ $(MODULES_PACKAGES4) make-core-go make-packages1-go make-packages2-go
\
+ make-packages3-go, \
+ $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) \
+ $(MODULES_PACKAGES3))))
+.PHONY: make-packages4-go
+
+$(eval $(call guile-compilation-rule,make-packages5-go,
\
+ $(MODULES_PACKAGES5) make-core-go make-packages1-go make-packages2-go
\
+ make-packages3-go make-packages4-go, \
+ $(words $(MODULES_CORE) $(MODULES_PACKAGES1) $(MODULES_PACKAGES2) \
+ $(MODULES_PACKAGES3) $(MODULES_PACKAGES4))))
+.PHONY: make-packages5-go
+
+make-packages-go: make-packages1-go make-packages2-go \
+ make-packages3-go make-packages4-go make-packages5-go
.PHONY: make-packages-go
$(eval $(call guile-compilation-rule,make-system-go, \
- 26/67: gnu: libgpg-error: Skip failing test on the Hurd., (continued)
- 26/67: gnu: libgpg-error: Skip failing test on the Hurd., guix-commits, 2023/07/18
- 06/67: gnu: commencement: hurd-headers-boot0: Update to 0.9.git20230216., guix-commits, 2023/07/18
- 53/67: gnu: guile-2.0: Skip failing tests on the Hurd., guix-commits, 2023/07/18
- 44/67: gnu: doxygen: Fix build for the Hurd., guix-commits, 2023/07/18
- 35/67: gnu: libpaper: Disable tests for the Hurd., guix-commits, 2023/07/18
- 51/67: gnu: fontforge: Support build on the Hurd., guix-commits, 2023/07/18
- 42/67: gnu: cmake-bootstrap: Fix build for the Hurd., guix-commits, 2023/07/18
- 46/67: gnu: guile-git: Skip http proxy test on the Hurd., guix-commits, 2023/07/18
- 34/67: gnu: parted: Disable tests for the Hurd., guix-commits, 2023/07/18
- 37/67: gnu: openssl-1.1: Fix shared build for the Hurd., guix-commits, 2023/07/18
- 57/67: build: Build gnu/packages/*.go in five steps.,
guix-commits <=
- 55/67: system: hurd: Add swap-services to hurd-default-essential-services., guix-commits, 2023/07/18
- 59/67: gnu: guix: Disable some test on 32bit., guix-commits, 2023/07/18
- 62/67: gnu: guix: Update to 1.4.0-9.dc1edb2ba6., guix-commits, 2023/07/18
- 56/67: gnu: hurd: Support native build on the Hurd., guix-commits, 2023/07/18
- 64/67: DRAFT hurd-boot: Support second boot., guix-commits, 2023/07/18
- 67/67: locale: Set %default-locale-definitions to glibc/hurd on the Hurd., guix-commits, 2023/07/18
- 23/67: gnu: elfutils: Skip failing tests on the Hurd., guix-commits, 2023/07/18
- 49/67: gnu: harfbuzz: Support build for the Hurd., guix-commits, 2023/07/18
- 58/67: self: Build gnu/packages/*.go in 26 steps on the Hurd., guix-commits, 2023/07/18
- 61/67: gnu: guix: Update to 1.4.0-8.278cdc70f2., guix-commits, 2023/07/18