aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-07-24 17:04:42 +0900
committerOphestra <cat@gensokyo.uk>2026-07-24 18:48:20 +0900
commit6c2ca507b92c5cbe1abc03f5a24e037af5812e57 (patch)
treed05d80395939eadbb5ad78a6baa426b3b80b7afb
parent1a8212ee02248c8a75472486f15f88ba3f7bc9b0 (diff)
internal/rosa/package: byacc
Much cleaner than bison and compiles much faster. This should be used whenever possible. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/llvm_test.go2
-rw-r--r--internal/rosa/package/awk.az3
-rw-r--r--internal/rosa/package/bison.az4
-rw-r--r--internal/rosa/package/byacc.az22
-rw-r--r--internal/rosa/package/gnu.az4
-rw-r--r--internal/rosa/package/iproute2.az4
-rw-r--r--internal/rosa/package/x.az2
7 files changed, 30 insertions, 11 deletions
diff --git a/internal/rosa/llvm_test.go b/internal/rosa/llvm_test.go
index 0a09ff2f..af5f6530 100644
--- a/internal/rosa/llvm_test.go
+++ b/internal/rosa/llvm_test.go
@@ -8,7 +8,7 @@ import (
)
func TestLLVMInputs(t *testing.T) {
- const wantInputCount = 467
+ const wantInputCount = 473
_, llvm := rosa.Native().Std().MustLoad(rosa.H("llvm"))
var n int
diff --git a/internal/rosa/package/awk.az b/internal/rosa/package/awk.az
index fed7910c..8f97fa04 100644
--- a/internal/rosa/package/awk.az
+++ b/internal/rosa/package/awk.az
@@ -18,13 +18,14 @@ package awk {
omitDefaults = true;
inPlace = true;
skipConfigure = true;
+ make = [ "YACC='yacc -d -b awkgram'" ];
preCheck = "install -vD a.out /system/bin/awk\n";
install = "install -vD a.out /work/system/bin/awk";
};
inputs = [
m4,
- bison,
+ byacc,
diffutils,
];
}
diff --git a/internal/rosa/package/bison.az b/internal/rosa/package/bison.az
index 4f7dd796..c732ed1b 100644
--- a/internal/rosa/package/bison.az
+++ b/internal/rosa/package/bison.az
@@ -10,9 +10,6 @@ package bison {
compress = gzip;
};
- // awk dependency loop
- toyboxEarly = true;
-
exec = make {
check = [
"TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests {
@@ -27,5 +24,6 @@ package bison {
];
};
+ toyboxEarly = true;
inputs = [ m4 ];
}
diff --git a/internal/rosa/package/byacc.az b/internal/rosa/package/byacc.az
new file mode 100644
index 00000000..e79bb1ba
--- /dev/null
+++ b/internal/rosa/package/byacc.az
@@ -0,0 +1,22 @@
+package byacc {
+ description = "Berkeley Yacc";
+ website = "https://invisible-island.net/byacc";
+ anitya = 233;
+
+ version# = "20260126";
+ source = remoteTar {
+ url = "https://invisible-island.net/archives/byacc/"+
+ "byacc-"+version+".tgz";
+ compress = gzip;
+ checksum = "3IXzewZmFUW3hkFKBuweR0hUSftlI2zE0lBZf16I8oK3mFEyj51FzVv1wvA12uoC";
+ };
+
+ // awk dependency loop
+ toyboxEarly = true;
+
+ // test suite assumes writable source
+ writable = true;
+ chmod = true;
+
+ exec = make {};
+}
diff --git a/internal/rosa/package/gnu.az b/internal/rosa/package/gnu.az
index c1547f37..d1da6b8a 100644
--- a/internal/rosa/package/gnu.az
+++ b/internal/rosa/package/gnu.az
@@ -12,9 +12,6 @@ package m4 {
compress = bzip2;
};
- // awk dependency loop
- toyboxEarly = true;
-
writable = true;
early = `
chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
@@ -22,6 +19,7 @@ chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
exec = make {};
+ toyboxEarly = true;
inputs = [
diffutils,
diff --git a/internal/rosa/package/iproute2.az b/internal/rosa/package/iproute2.az
index 2804ebab..c759fec6 100644
--- a/internal/rosa/package/iproute2.az
+++ b/internal/rosa/package/iproute2.az
@@ -28,7 +28,7 @@ package iproute2 {
"prefix": "/system";
"color": "auto";
};
- make = [ "CC=cc" ];
+ make = [ "CC=cc", "YACC=yacc" ];
// wants root
skipCheck = true;
};
@@ -36,7 +36,7 @@ package iproute2 {
inputs = [
pkg-config,
m4,
- bison,
+ byacc,
flex,
libbpf,
diff --git a/internal/rosa/package/x.az b/internal/rosa/package/x.az
index cb5e51f6..845f479e 100644
--- a/internal/rosa/package/x.az
+++ b/internal/rosa/package/x.az
@@ -562,7 +562,7 @@ package xkbcomp {
automake,
libtool,
pkg-config,
- bison,
+ byacc,
util-macros,
libxkbfile,