aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/gnu.az
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-18 22:00:52 +0900
committerOphestra <cat@gensokyo.uk>2026-05-18 22:06:00 +0900
commit594221eb78fede12840121982782a470e6ed29d0 (patch)
tree84142dce80eb59e4b8b0a2babad2777de5c37c85 /internal/rosa/package/gnu.az
parent34822925e18cb35e1815d3837a8b55169953d876 (diff)
internal/rosa/package: migrate gnutls
This is the first nontrivial package to be migrated to azalea. Validated to generate identical IR. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/gnu.az')
-rw-r--r--internal/rosa/package/gnu.az664
1 files changed, 664 insertions, 0 deletions
diff --git a/internal/rosa/package/gnu.az b/internal/rosa/package/gnu.az
new file mode 100644
index 00000000..3dc7074f
--- /dev/null
+++ b/internal/rosa/package/gnu.az
@@ -0,0 +1,664 @@
+// GNU software with trivial packaging.
+
+package m4 {
+ description = "a macro processor with GNU extensions";
+ website = "https://www.gnu.org/software/m4";
+ anitya = 1871;
+
+ version* = "1.4.21";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2";
+ checksum = "pPa6YOo722Jw80l1OsH1tnUaklnPFjFT-bxGw5iAVrZTm1P8FQaWao_NXop46-pm";
+ compress = bzip2;
+ };
+
+ writable = true;
+ early = `
+chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
+`;
+
+ exec = make {};
+
+ inputs = [
+ diffutils,
+
+ kernel-headers,
+ ];
+}
+
+package autoconf {
+ description = "M4 macros to produce self-contained configure script";
+ website = "https://www.gnu.org/software/autoconf";
+ anitya = 141;
+
+ version* = "2.73";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz";
+ checksum = "yGabDTeOfaCUB0JX-h3REYLYzMzvpDwFmFFzHNR7QilChCUNE4hR6q7nma4viDYg";
+ compress = gzip;
+ };
+
+ // test suite is very expensive
+ exclusive = true;
+
+ exec = make {
+ check = [
+ "TESTSUITEFLAGS=" + jobsFlagE,
+ "check",
+ ];
+ };
+
+ inputs = [
+ m4,
+ perl,
+ bash,
+ diffutils,
+ ];
+
+ runtime = [
+ m4,
+ perl,
+ ];
+}
+
+package automake {
+ description = "a tool for automatically generating Makefile.in files";
+ website = "https://www.gnu.org/software/automake";
+ anitya = 144;
+
+ version* = "1.18.1";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz";
+ checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' t/objcxx-minidemo.sh
+test_disable '#!/bin/sh' t/objcxx-deps.sh
+
+test_disable '#!/bin/sh' t/dist-no-built-sources.sh
+test_disable '#!/bin/sh' t/distname.sh
+test_disable '#!/bin/sh' t/pr9.sh
+`;
+
+ exec = make {};
+
+ inputs = [
+ grep,
+ gzip,
+ autoconf,
+ diffutils,
+ ];
+
+ runtime = [ autoconf ];
+}
+
+package libtool {
+ description = "a generic library support script";
+ website = "https://www.gnu.org/software/libtool";
+ anitya = 1741;
+
+ version* = "2.5.4";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz";
+ checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q";
+ compress = gzip;
+ };
+
+ exec = make {
+ // _Z2a2c: symbol not found
+ skipEarlyStageCheck = true;
+
+ check = [
+ "TESTSUITEFLAGS=" + jobsFlagE,
+ "check",
+ ];
+ };
+
+ inputs = [
+ m4,
+ diffutils,
+ ];
+}
+
+package gzip {
+ description = "a popular data compression program";
+ website = "https://www.gnu.org/software/gzip";
+ anitya = 1290;
+
+ version* = "1.14";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz";
+ checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q";
+ compress = gzip;
+ };
+
+ exec = make {
+ // dependency loop
+ skipCheck = true;
+ };
+}
+
+package sed {
+ description = "a non-interactive command-line text editor";
+ website = "https://www.gnu.org/software/sed";
+ anitya = 4789;
+
+ version* = "4.10";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/sed/sed-"+version+".tar.gz";
+ checksum = "TXTRFQJCyflb-bpBRI2S5Y1DpplwvT7-KfXtpqN4AdZgZ5OtI6yStn1-bkhDKx51";
+ compress = gzip;
+ };
+
+ exec = make {};
+
+ inputs = [
+ diffutils,
+
+ kernel-headers,
+ ];
+}
+
+package diffutils {
+ description = "several programs related to finding differences between files";
+ website = "https://www.gnu.org/software/diffutils";
+ anitya = 436;
+
+ version* = "3.12";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz";
+ checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
+test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
+test_disable '#!/bin/sh' tests/cmp
+`;
+
+ toyboxEarly = true;
+ exec = make {};
+}
+
+package patch {
+ description = "a program to apply diff output to files";
+ website = "https://savannah.gnu.org/projects/patch";
+ anitya = 2597;
+
+ version* = "2.8";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz";
+ checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' tests/ed-style
+test_disable '#!/bin/sh' tests/need-filename
+`;
+
+ toyboxEarly = true;
+ exec = make {};
+}
+
+package gawk {
+ description = "an implementation of awk with GNU extensions";
+ website = "https://www.gnu.org/software/gawk";
+ anitya = 868;
+
+ version* = "5.4.0";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz";
+ checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C";
+ compress = gzip;
+ };
+
+ toyboxEarly = true;
+ exec = make {
+ // dependency loop
+ skipCheck = true;
+ };
+}
+
+package grep {
+ description = "searches input for lines containing a match to a pattern";
+ website = "https://www.gnu.org/software/grep";
+ anitya = 1251;
+
+ version* = "3.12";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz";
+ checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
+test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
+`;
+
+ exec = make {};
+
+ inputs = [ diffutils ];
+}
+
+package gettext {
+ description = "tools for producing multi-lingual messages";
+ website = "https://www.gnu.org/software/gettext";
+ anitya = 898;
+
+ version* = "1.0";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz";
+ checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' gettext-tools/tests/msgcat-22
+test_disable '#!/bin/sh' gettext-tools/tests/msgconv-2
+test_disable '#!/bin/sh' gettext-tools/tests/msgconv-8
+test_disable '#!/bin/sh' gettext-tools/tests/xgettext-python-3
+test_disable '#!/bin/sh' gettext-tools/tests/msgmerge-compendium-6
+test_disable '#!/bin/sh' gettext-tools/tests/gettextpo-1
+test_disable '#!/bin/sh' gettext-tools/tests/format-c-5
+test_disable '#!/bin/sh' gettext-tools/gnulib-tests/test-c32ispunct.sh
+test_disable 'int main(){return 0;}' gettext-tools/gnulib-tests/test-stdcountof-h.c
+
+touch gettext-tools/autotools/archive.dir.tar
+`;
+
+ exec = make {};
+
+ inputs = [
+ diffutils,
+ gzip,
+ sed,
+
+ kernel-headers,
+ ];
+}
+
+package findutils {
+ description = "the basic directory searching utilities";
+ website = "https://www.gnu.org/software/findutils";
+ anitya = 812;
+
+ version* = "4.10.0";
+ source = remoteFile {
+ url = "https://ftpmirror.gnu.org/gnu/findutils/findutils-"+version+".tar.xz";
+ checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6";
+ };
+
+ early = `
+echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh
+echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
+`;
+
+ exec = make {};
+
+ inputs = [
+ diffutils,
+ xz,
+ sed,
+ ];
+}
+
+package bash {
+ description = "the Bourne Again SHell";
+ website = "https://www.gnu.org/software/bash";
+ anitya = 166;
+
+ version* = "5.3";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz";
+ checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq";
+ compress = gzip;
+ };
+
+ toyboxEarly = true;
+ exec = make {
+ configure = {
+ "without-bash-malloc";
+ };
+ postInstall = "ln -s bash /work/system/bin/sh\n";
+ };
+}
+
+package coreutils {
+ description = "the basic file, shell and text manipulation utilities";
+ website = "https://www.gnu.org/software/coreutils";
+ anitya = 343;
+
+ version* = "9.11";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz";
+ checksum = "t8UMed5wpFEoC56aa42_yidfOAaRGzOfj7MRtQkkqgGbpXiskNA8bd-EmVSQkZie";
+ compress = gzip;
+ };
+
+ toyboxEarly = true;
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
+test_disable '#!/bin/sh' tests/ls/hyperlink.sh
+test_disable '#!/bin/sh' tests/misc/user.sh
+test_disable 'int main(){return 0;}' gnulib-tests/test-chown.c
+test_disable 'int main(){return 0;}' gnulib-tests/test-fchownat.c
+test_disable 'int main(){return 0;}' gnulib-tests/test-lchown.c
+`;
+
+ exec = make {
+ configure = {
+ "enable-single-binary": "symlinks";
+ };
+ };
+
+ inputs = [
+ perl,
+ bash,
+
+ kernel-headers,
+ ];
+}
+
+package tar {
+ description = "provides the ability to create tar archives";
+ website = "https://www.gnu.org/software/tar";
+ anitya = 4939;
+
+ version* = "1.35";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz";
+ checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA";
+ compress = gzip;
+ };
+
+ exec = make {
+ configure = {
+ "disable-acl";
+ "without-posix-acls";
+ "without-xattrs";
+ };
+
+ check = [
+ // very expensive
+ "TARTEST_SKIP_LARGE_FILES=1",
+
+ "TESTSUITEFLAGS=" + jobsFlagE,
+ "check",
+ ];
+ };
+
+ inputs = [
+ diffutils,
+
+ gzip,
+ bzip2,
+ zstd,
+ ];
+}
+
+package texinfo {
+ description = "the GNU square-wheel-reinvension of man pages";
+ website = "https://www.gnu.org/software/texinfo";
+ anitya = 4958;
+
+ version* = "7.3";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz";
+ checksum = "RRmC8Xwdof7JuZJeWGAQ_GeASIHAuJFQMbNONXBz5InooKIQGmqmWRjGNGEr5n4-";
+ compress = gzip;
+ };
+
+ exec = make {
+ // nonstandard glibc extension
+ skipCheck = true;
+ };
+
+ inputs = [ perl ];
+
+ runtime = [
+ perl,
+ gawk,
+ ];
+}
+
+package gperf {
+ description = "a perfect hash function generator";
+ website = "https://www.gnu.org/software/gperf";
+ anitya = 1237;
+
+ version* = "3.3";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz";
+ checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7";
+ compress = gzip;
+ };
+
+ exec = make {};
+
+ inputs = [ diffutils ];
+}
+
+package bc {
+ description = "an arbitrary precision numeric processing language";
+ website = "https://www.gnu.org/software/bc";
+ anitya = 170;
+
+ version* = "1.08.2";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz";
+ checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy";
+ compress = gzip;
+ };
+
+ // source expected to be writable
+ writable = true;
+ chmod = true;
+
+ exec = make {};
+
+ inputs = [
+ texinfo,
+ ];
+}
+
+package libiconv {
+ description = "iconv implementation independent of glibc";
+ website = "https://www.gnu.org/software/libiconv";
+ anitya = 10656;
+
+ version* = "1.19";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz";
+ checksum = "UibB6E23y4MksNqYmCCrA3zTFO6vJugD1DEDqqWYFZNuBsUWMVMcncb_5pPAr88x";
+ compress = gzip;
+ };
+
+ exec = make {};
+}
+
+package parallel {
+ description = "a shell tool for executing jobs in parallel using one or more computers";
+ website = "https://www.gnu.org/software/parallel";
+ anitya = 5448;
+
+ version* = "20260422";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/parallel/parallel-"+version+".tar.bz2";
+ checksum = "eTsepxgqhXpMEhPd55qh-W5y4vjKn0x9TD2mzbJCNZYtFf4lT4Wzoqr74HGJYBEH";
+ compress = bzip2;
+ };
+
+ early = `
+ln -s ../system/bin/bash /bin/
+`;
+
+ exec = make {};
+
+ inputs = [
+ perl,
+ bash,
+ ];
+
+ runtime = [ perl ];
+}
+
+package libunistring {
+ description = "provides functions for manipulating Unicode strings";
+ website = "https://www.gnu.org/software/libunistring";
+ anitya = 1747;
+
+ version* = "1.4.2";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/libunistring/libunistring-"+version+".tar.gz";
+ checksum = "iW9BbfLoVlXjWoLTZ4AekQSu4cFBnLcZ4W8OHWbv0AhJNgD3j65_zqaLMzFKylg2";
+ compress = gzip;
+ };
+
+ writable = true;
+ early = `
+test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
+
+test_disable '#!/bin/sh' tests/test-c32ispunct.sh
+test_disable 'int main(){return 0;}' tests/test-c32ispunct.c
+`;
+
+ exec = make {};
+
+ inputs = [
+ diffutils,
+ ];
+}
+
+package libtasn1 {
+ description = "the ASN.1 library used by GnuTLS, p11-kit and some other packages";
+ website = "https://www.gnu.org/software/libtasn1";
+ anitya = 1734;
+
+ version* = "4.21.0";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-"+version+".tar.gz";
+ checksum = "9DYI3UYbfYLy8JsKUcY6f0irskbfL0fHZA91Q-JEOA3kiUwpodyjemRsYRjUpjuq";
+ compress = gzip;
+ };
+
+ exec = make {};
+}
+
+package readline {
+ description = "provides a set of functions for use by applications that allow users to edit command lines as they are typed in";
+ website = "https://tiswww.cwru.edu/php/chet/readline/rltop.html";
+ anitya = 4173;
+
+ version* = "8.3";
+ source = remoteTar {
+ url = "https://ftpmirror.gnu.org/gnu/readline/readline-"+version+".tar.gz";
+ checksum = "r-lcGRJq_MvvBpOq47Z2Y1OI2iqrmtcqhTLVXR0xWo37ZpC2uT_md7gKq5o_qTMV";
+ compress = gzip;
+ };
+
+ exec = make {
+ configure = {
+ "with-curses";
+ "with-shared-termcap-library";
+ };
+ };
+
+ inputs = [ ncurses ];
+ runtime = [ ncurses ];
+}
+
+package gmp {
+ description = "a free library for arbitrary precision arithmetic";
+ website = "https://gmplib.org";
+ anitya = 1186;
+
+ version* = "6.3.0";
+ source = remoteTar {
+ url = "https://gcc.gnu.org/pub/gcc/infrastructure/"+
+ "gmp-"+version+".tar.bz2";
+ checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5";
+ compress = bzip2;
+ };
+
+ env = [
+ "CC=cc",
+ ];
+
+ exec = make {};
+
+ inputs = [ m4 ];
+}
+
+package mpfr {
+ description = "a C library for multiple-precision floating-point computations";
+ website = "https://www.mpfr.org";
+ anitya = 2019;
+
+ version* = "4.2.2";
+ source = remoteTar {
+ url = "https://gcc.gnu.org/pub/gcc/infrastructure/"+
+ "mpfr-"+version+".tar.bz2";
+ checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B";
+ compress = bzip2;
+ };
+
+ exec = make {};
+
+ inputs = [ gmp ];
+ runtime = [ gmp ];
+}
+
+package mpc {
+ description = "a C library for the arithmetic of complex numbers";
+ website = "https://www.multiprecision.org";
+ anitya = 1667;
+
+ version* = "1.4.1";
+ source = remoteGitLab {
+ domain = "gitlab.inria.fr";
+ suffix = "mpc/mpc";
+ ref = version;
+ checksum = "ZffaZyWkvIw0iPvRe5EJ7O-VvHtSkbbb3K_7SgPtK810NvGan7nbF0T5-6tozjQN";
+ };
+
+ // does not find mpc-impl.h otherwise
+ enterSource = true;
+
+ exec = make {
+ inPlace = true;
+ generate = "autoreconf -vfi";
+ };
+
+ inputs = [
+ automake,
+ libtool,
+ texinfo,
+
+ mpfr,
+ ];
+
+ runtime = [ mpfr ];
+}