aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-22 14:17:56 +0900
committerOphestra <cat@gensokyo.uk>2026-10-22 16:24:59 +0900
commit016d745b94b31d0ef4fd54d2a04dc9e09b3f0d20 (patch)
tree9e4b1429db31c2b590252f92a1d3f8056ca481a7 /internal/rosa/package
parentfe1acbe8bc14d8d8ae19e94d2b80576f6d6b183e (diff)
internal/rosa: bootstrap make in two steps
This enables the test suite in the second make stage. This change also fixes a typo in the second stage make build script. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package')
-rw-r--r--internal/rosa/package/gnu.az1
-rw-r--r--internal/rosa/package/gzip/package.az3
-rw-r--r--internal/rosa/package/make.az49
-rw-r--r--internal/rosa/package/perl.az1
-rw-r--r--internal/rosa/package/toybox.az1
5 files changed, 48 insertions, 7 deletions
diff --git a/internal/rosa/package/gnu.az b/internal/rosa/package/gnu.az
index e117173e..5481e1f0 100644
--- a/internal/rosa/package/gnu.az
+++ b/internal/rosa/package/gnu.az
@@ -198,6 +198,7 @@ test_disable '#!/bin/sh' tests/need-filename
toyboxEarly = true;
exec = make {
+ early = true;
defaults = false;
};
}
diff --git a/internal/rosa/package/gzip/package.az b/internal/rosa/package/gzip/package.az
index 6c6b3b1f..94c67a89 100644
--- a/internal/rosa/package/gzip/package.az
+++ b/internal/rosa/package/gzip/package.az
@@ -10,8 +10,11 @@ package gzip {
compress = gzip;
};
patches = [ "late-include.patch" ];
+ toyboxEarly = true;
exec = make {
+ early = true;
+ defaults = false;
// dependency loop
check = nil;
};
diff --git a/internal/rosa/package/make.az b/internal/rosa/package/make.az
index 771bd20d..4aaf5736 100644
--- a/internal/rosa/package/make.az
+++ b/internal/rosa/package/make.az
@@ -1,26 +1,61 @@
-package make {
- description = "a tool which controls the generation of executables and other non-source files";
- website = "https://www.gnu.org/software/make";
- anitya = 1877;
+package make-source {
+ description = "GNU make source tree";
+ exclude = true;
version# = "4.4.1";
- source = remoteTar {
+ output = remoteTar {
url = "https://mirrors.kernel.org/gnu/make/make-"+version+".tar.gz";
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a";
compress = gzip;
};
+}
+package make-early {
+ description = "early, dependency-free build of make";
+ exclude = true;
+
+ source = make-source;
toyboxEarly = true;
exec = generic {
- build = `/usr/src/make/configure \
+ build = `/usr/src/make-early/configure \
--prefix=/system \
- --host= '`+triple+`' \
+ --host='`+triple+`' \
+ --target='`+triple+`' \
--build='`+hostTriple+`' \
--disable-dependency-tracking
./build.sh
`;
// test suite wants perl
+ check = "";
+
install = "./make DESTDIR=/work install\n";
};
}
+package make {
+ description = "a tool which controls the generation of executables and other non-source files";
+ website = "https://www.gnu.org/software/make";
+ anitya = 1877;
+
+ source = make-source;
+ toyboxEarly = true;
+
+ // GNU tar not yet available
+ writable = true;
+ early = `
+chmod +w tests/scripts/misc
+rm \
+ tests/scripts/misc/close_stdout \
+ tests/scripts/misc/general4
+`;
+
+ exec = make {
+ early = true;
+ defaults = false;
+ };
+
+ tools = [
+ perl,
+ gzip,
+ ];
+}
diff --git a/internal/rosa/package/perl.az b/internal/rosa/package/perl.az
index 8d21c8ca..3009c75b 100644
--- a/internal/rosa/package/perl.az
+++ b/internal/rosa/package/perl.az
@@ -28,6 +28,7 @@ disable_test ext/POSIX/t/time.t
toyboxEarly = true;
exec = make {
+ early = true;
defaults = false;
chdir = false;
diff --git a/internal/rosa/package/toybox.az b/internal/rosa/package/toybox.az
index b90e08d2..720c736a 100644
--- a/internal/rosa/package/toybox.az
+++ b/internal/rosa/package/toybox.az
@@ -22,6 +22,7 @@ package toybox {
toyboxEarly = true;
exec = make {
+ early = true;
defaults = false;
chdir = false;