aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/azalea/testdata
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-15 06:48:04 +0900
committerOphestra <cat@gensokyo.uk>2026-05-16 14:29:28 +0900
commitd38d306147979cbc7f161d1150d6786572598497 (patch)
tree4e8a4e493333ff7a171baf4eb2547ab3dfc6449f /internal/rosa/azalea/testdata
parentc32c06b2e88f7ccc21bf05c2ebfb12bf884e335c (diff)
internal/rosa/azalea: ast and parser
This syntax is not final, but acts as a stopgap solution and a proof of concept. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/azalea/testdata')
-rw-r--r--internal/rosa/azalea/testdata/gcc.az57
1 files changed, 57 insertions, 0 deletions
diff --git a/internal/rosa/azalea/testdata/gcc.az b/internal/rosa/azalea/testdata/gcc.az
new file mode 100644
index 00000000..2ef069a9
--- /dev/null
+++ b/internal/rosa/azalea/testdata/gcc.az
@@ -0,0 +1,57 @@
+package gcc {
+ description = "The GNU Compiler Collection";
+ website = "https://www.gnu.org/software/gcc";
+ anitya = 6502;
+
+ version* = "16.1.0";
+ source = remoteTar {
+ url = "https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/"+
+ "gcc-"+version+"/gcc-"+version+".tar.gz";
+ checksum = "4ASoWbxaA2FW7PAB0zzHDPC5XnNhyaAyjtDPpGzceSLeYnEIXsNYZR3PA_Zu5P0K";
+ compress = gzip;
+ };
+ patches = [
+ "musl-off64_t-loff_t.patch",
+ "musl-legacy-lfs.patch",
+ ];
+
+ // GCC spends most of its time in its many configure scripts, however
+ // it also saturates the CPU for a consequential amount of time.
+ exclusive = true;
+
+ exec = make {
+ configure = {
+ "disable-multilib";
+ "enable-default-pie";
+ "disable-nls";
+ "with-gnu-as";
+ "with-gnu-ld";
+ "with-system-zlib";
+ "enable-languages": "c,c++,go";
+ "with-native-system-header-dir": "/system/include";
+ "with-multilib-list": arch {
+ amd64, arm64 = "''";
+ default = unset;
+ };
+ };
+ make = [
+ "BOOT_CFLAGS='-O2 -g'",
+ noop { key = value; } + "\x00",
+ "bootstrap",
+ ];
+
+ // This toolchain is hacked to pieces, it is not expected to ever work
+ // well in its current state. That does not matter as long as the
+ // toolchain it produces passes its own test suite.
+ skip-check = true;
+ };
+
+ inputs = [
+ binutils,
+
+ mpc,
+ zlib,
+ libucontext,
+ kernel-headers,
+ ];
+}