From 47f4e287fc7ec65a3de20891004462a63dea68b3 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 20 May 2026 04:37:42 +0900 Subject: internal/rosa/package: migrate multiple libraries Signed-off-by: Ophestra --- internal/rosa/package/musl-fts.az | 26 +++++ internal/rosa/package/musl-obstack.az | 26 +++++ internal/rosa/package/ncurses.az | 26 +++++ .../rosa/package/netfilter/libbsd-sys-queue.patch | 13 +++ internal/rosa/package/netfilter/package.az | 107 +++++++++++++++++++++ internal/rosa/package/nettle.az | 23 +++++ internal/rosa/package/openssl.az | 45 +++++++++ 7 files changed, 266 insertions(+) create mode 100644 internal/rosa/package/musl-fts.az create mode 100644 internal/rosa/package/musl-obstack.az create mode 100644 internal/rosa/package/ncurses.az create mode 100644 internal/rosa/package/netfilter/libbsd-sys-queue.patch create mode 100644 internal/rosa/package/netfilter/package.az create mode 100644 internal/rosa/package/nettle.az create mode 100644 internal/rosa/package/openssl.az (limited to 'internal/rosa/package') diff --git a/internal/rosa/package/musl-fts.az b/internal/rosa/package/musl-fts.az new file mode 100644 index 00000000..f2273c50 --- /dev/null +++ b/internal/rosa/package/musl-fts.az @@ -0,0 +1,26 @@ +package musl-fts { + description = "implementation of fts(3) functions which are missing in musl libc"; + website = "https://github.com/void-linux/musl-fts"; + anitya = 26980; + + version* = "1.2.7"; + source = remoteGitHub { + suffix = "void-linux/musl-fts"; + tag = "v"+version; + checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"; + }; + + env = [ + "CC=cc -fPIC", + ]; + + exec = make { + generate = "./bootstrap.sh"; + }; + + inputs = [ + automake, + libtool, + pkg-config, + ]; +} diff --git a/internal/rosa/package/musl-obstack.az b/internal/rosa/package/musl-obstack.az new file mode 100644 index 00000000..379eaf5d --- /dev/null +++ b/internal/rosa/package/musl-obstack.az @@ -0,0 +1,26 @@ +package musl-obstack { + description = "obstack functions and macros separated from glibc"; + website = "https://github.com/void-linux/musl-obstack"; + anitya = 146206; + + version* = "1.2.3"; + source = remoteGitHub { + suffix = "void-linux/musl-obstack"; + tag = "v"+version; + checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"; + }; + + env = [ + "CC=cc -fPIC", + ]; + + exec = make { + generate = "./bootstrap.sh"; + }; + + inputs = [ + automake, + libtool, + pkg-config, + ]; +} diff --git a/internal/rosa/package/ncurses.az b/internal/rosa/package/ncurses.az new file mode 100644 index 00000000..d4b52fa3 --- /dev/null +++ b/internal/rosa/package/ncurses.az @@ -0,0 +1,26 @@ +package ncurses { + description = "a free software emulation of curses in System V Release 4.0 (SVr4)"; + website = "https://invisible-island.net/ncurses"; + anitya = 373226; + + version* = "6.6"; + source = remoteTar { + url = "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz"; + checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"; + compress = gzip; + }; + + exec = make { + configure = { + "with-pkg-config"; + "enable-pc-files"; + "with-shared"; + "with-cxx-shared"; + }; + + // "tests" are actual demo programs, not a test suite. + skipCheck = true; + }; + + inputs = [ pkg-config ]; +} diff --git a/internal/rosa/package/netfilter/libbsd-sys-queue.patch b/internal/rosa/package/netfilter/libbsd-sys-queue.patch new file mode 100644 index 00000000..369ff19e --- /dev/null +++ b/internal/rosa/package/netfilter/libbsd-sys-queue.patch @@ -0,0 +1,13 @@ +diff --git a/examples/netfilter/nfct-daemon.c b/examples/netfilter/nfct-daemon.c +index d223ac2..a7878d0 100644 +--- a/examples/netfilter/nfct-daemon.c ++++ b/examples/netfilter/nfct-daemon.c +@@ -20,7 +20,7 @@ + #include + #include + +-#include ++#include + + struct nstats { + LIST_ENTRY(nstats) list; diff --git a/internal/rosa/package/netfilter/package.az b/internal/rosa/package/netfilter/package.az new file mode 100644 index 00000000..b6ee9cd5 --- /dev/null +++ b/internal/rosa/package/netfilter/package.az @@ -0,0 +1,107 @@ +package libmnl { + description = "a minimalistic user-space library oriented to Netlink developers"; + website = "https://www.netfilter.org/projects/libmnl"; + anitya = 1663; + + version* = "1.0.5"; + source = remoteTar { + url = "https://www.netfilter.org/projects/libmnl/files/"+ + "libmnl-"+version+".tar.bz2"; + checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u"; + compress = bzip2; + }; + patches = [ "libbsd-sys-queue.patch" ]; + + exec = make { + configure = { + "enable-static"; + }; + }; + + inputs = [ + libbsd, + kernel-headers, + ]; +} + +package libnftnl { + description = "a userspace library providing a low-level netlink API to the in-kernel nf_tables subsystem"; + website = "https://www.netfilter.org/projects/libnftnl"; + anitya = 1681; + + version* = "1.3.1"; + source = remoteGit { + url = "https://git.netfilter.org/libnftnl"; + tag = "libnftnl-"+version; + checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9"; + }; + + env = [ + "CFLAGS=-D_GNU_SOURCE", + ]; + + exec = make { + generate = "./autogen.sh"; + configure = { + "enable-static"; + }; + }; + + inputs = [ + automake, + libtool, + pkg-config, + + libmnl, + kernel-headers, + ]; + + runtime = [ libmnl ]; +} + +package iptables { + description = "the userspace command line program used to configure the Linux 2.4.x and later packet filtering ruleset"; + website = "https://www.netfilter.org/projects/iptables"; + anitya = 1394; + + version* = "1.8.13"; + source = remoteGit { + url = "https://git.netfilter.org/iptables"; + tag = "v"+version; + checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ"; + }; + + early = ` +rm \ + extensions/libxt_connlabel.txlate \ + extensions/libxt_conntrack.txlate +sed -i \ + 's/de:ad:0:be:ee:ff/DE:AD:00:BE:EE:FF/g' \ + extensions/libebt_dnat.txlate \ + extensions/libebt_snat.txlate +`; + + exec = make { + generate = "./autogen.sh"; + configure = { + "enable-static"; + }; + preCheck = ` +ln -s ../system/bin/bash /bin/ +chmod +w /etc/ && ln -s ../usr/src/iptables/etc/ethertypes /etc/ +`; + }; + + inputs = [ + automake, + libtool, + pkg-config, + bash, + python, + + libnftnl, + kernel-headers, + ]; + + runtime = [ libnftnl ]; +} diff --git a/internal/rosa/package/nettle.az b/internal/rosa/package/nettle.az new file mode 100644 index 00000000..5b993868 --- /dev/null +++ b/internal/rosa/package/nettle.az @@ -0,0 +1,23 @@ +package nettle { + description = "a low-level cryptographic library"; + website = "https://www.lysator.liu.se/~nisse/nettle"; + anitya = 2073; + + version* = "4.0"; + source = remoteTar { + url = "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz"; + checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7"; + compress = gzip; + }; + + exec = make {}; + + inputs = [ + m4, + diffutils, + + gmp, + ]; + + runtime = [ gmp ]; +} diff --git a/internal/rosa/package/openssl.az b/internal/rosa/package/openssl.az new file mode 100644 index 00000000..9cdfc333 --- /dev/null +++ b/internal/rosa/package/openssl.az @@ -0,0 +1,45 @@ +package openssl { + description = "TLS/SSL and crypto library"; + website = "https://www.openssl.org"; + anitya = 2566; + // strange malformed tags treated as pre-releases in Anitya + latest = anityaFallback; + + version* = "3.6.2"; + source = remoteGitHubRelease { + suffix = "openssl/openssl"; + tag = "openssl-"+version; + name = "openssl-"+version+".tar.gz"; + checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA"; + compress = gzip; + }; + + env = [ + "CC=cc", + ]; + + exec = make { + omitDefaults = true; + + configureName = "/usr/src/openssl/Configure"; + configure = { + "prefix": "/system"; + "libdir": "lib"; + "openssldir": "etc/ssl"; + "": "no-docs"; + }; + + check = [ + "HARNESS_JOBS=" + jobsE, + "test", + ]; + }; + + inputs = [ + perl, + coreutils, + + zlib, + kernel-headers, + ]; +} -- cgit v1.3.1