aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/bison.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-21 23:06:34 +0900
committerOphestra <cat@gensokyo.uk>2026-05-21 23:06:34 +0900
commit68a91523b9e58ee8a9f86723d616e82c0645b64a (patch)
treea16f116b6b606d50bd2e887a173b981552ca0eb0 /internal/rosa/bison.go
parent564732162223e76a307bb06e132e9f0351f239bf (diff)
internal/rosa/package: migrate bison
This is the final remaining trivial legacy artifact. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/bison.go')
-rw-r--r--internal/rosa/bison.go76
1 files changed, 0 insertions, 76 deletions
diff --git a/internal/rosa/bison.go b/internal/rosa/bison.go
deleted file mode 100644
index 68f97a68..00000000
--- a/internal/rosa/bison.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package rosa
-
-import (
- "slices"
- "strconv"
- "strings"
-
- "hakurei.app/internal/pkg"
-)
-
-// skipGNUTests generates a string for skipping specific tests by number in a
-// GNU test suite. This is nontrivial because the test suite does not support
-// excluding tests in any way, so ranges for all but the skipped tests have to
-// be specified instead.
-//
-// For example, to skip test 764, ranges around the skipped test must be
-// specified:
-//
-// 1-763 765-
-//
-// Tests are numbered starting from 1. The resulting string is unquoted.
-func skipGNUTests(tests ...int) string {
- tests = slices.Clone(tests)
- slices.Sort(tests)
-
- var buf strings.Builder
-
- if tests[0] != 1 {
- buf.WriteString("1-")
- }
-
- for i, n := range tests {
- if n != 1 && (i == 0 || tests[i-1] != n-1) {
- buf.WriteString(strconv.Itoa(n - 1))
- buf.WriteString(" ")
- }
- if i == len(tests)-1 || tests[i+1] != n+1 {
- buf.WriteString(strconv.Itoa(n + 1))
- buf.WriteString("-")
- }
- }
- return buf.String()
-}
-
-func (t Toolchain) newBison() (pkg.Artifact, string) {
- const (
- version = "3.8.2"
- checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
- )
- return t.NewPackage("bison", version, newTar(
- "https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz",
- checksum,
- pkg.TarGzip,
- ), nil, &MakeHelper{
- Check: []string{
- "TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests(
- // clang miscompiles (SIGILL)
- 764,
- ) + "'",
- "check",
- },
- },
- H("m4"),
- _diffutils,
- H("sed"),
- ), version
-}
-func init() {
- native.mustRegister(Toolchain.newBison, &Metadata{
- Name: "bison",
- Description: "a general-purpose parser generator",
- Website: "https://www.gnu.org/software/bison/",
-
- ID: 193,
- })
-}