forked from rosa/hakurei
This syntax is not final, but acts as a stopgap solution and a proof of concept. Signed-off-by: Ophestra <cat@gensokyo.uk>
58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
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; },
|
|
"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,
|
|
];
|
|
}
|