diff --git a/internal/rosa/musl-fts.go b/internal/rosa/musl-fts.go deleted file mode 100644 index a5b38a21..00000000 --- a/internal/rosa/musl-fts.go +++ /dev/null @@ -1,34 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newMuslFts() (pkg.Artifact, string) { - const ( - version = "1.2.7" - checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ" - ) - return t.NewPackage("musl-fts", version, newFromGitHub( - "void-linux/musl-fts", - "v"+version, - checksum, - ), &PackageAttr{ - Env: []string{ - "CC=cc -fPIC", - }, - }, &MakeHelper{ - Generate: "./bootstrap.sh", - }, - Automake, - Libtool, - PkgConfig, - ), version -} -func init() { - native.mustRegister(Toolchain.newMuslFts, &Metadata{ - Name: "musl-fts", - Description: "implementation of fts(3) functions which are missing in musl libc", - Website: "https://github.com/void-linux/musl-fts", - - ID: 26980, - }) -} diff --git a/internal/rosa/musl-obstack.go b/internal/rosa/musl-obstack.go deleted file mode 100644 index dfa168a8..00000000 --- a/internal/rosa/musl-obstack.go +++ /dev/null @@ -1,34 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newMuslObstack() (pkg.Artifact, string) { - const ( - version = "1.2.3" - checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG" - ) - return t.NewPackage("musl-obstack", version, newFromGitHub( - "void-linux/musl-obstack", - "v"+version, - checksum, - ), &PackageAttr{ - Env: []string{ - "CC=cc -fPIC", - }, - }, &MakeHelper{ - Generate: "./bootstrap.sh", - }, - Automake, - Libtool, - PkgConfig, - ), version -} -func init() { - native.mustRegister(Toolchain.newMuslObstack, &Metadata{ - Name: "musl-obstack", - Description: "obstack functions and macros separated from glibc", - Website: "https://github.com/void-linux/musl-obstack", - - ID: 146206, - }) -} diff --git a/internal/rosa/ncurses.go b/internal/rosa/ncurses.go deleted file mode 100644 index be75dd14..00000000 --- a/internal/rosa/ncurses.go +++ /dev/null @@ -1,36 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newNcurses() (pkg.Artifact, string) { - const ( - version = "6.6" - checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w" - ) - return t.NewPackage("ncurses", version, newTar( - "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz", - checksum, - pkg.TarGzip, - ), nil, &MakeHelper{ - // "tests" are actual demo programs, not a test suite. - SkipCheck: true, - - Configure: []KV{ - {"with-pkg-config"}, - {"enable-pc-files"}, - {"with-shared"}, - {"with-cxx-shared"}, - }, - }, - PkgConfig, - ), version -} -func init() { - native.mustRegister(Toolchain.newNcurses, &Metadata{ - Name: "ncurses", - Description: "a free software emulation of curses in System V Release 4.0 (SVr4)", - Website: "https://invisible-island.net/ncurses/", - - ID: 373226, - }) -} diff --git a/internal/rosa/netfilter.go b/internal/rosa/netfilter.go deleted file mode 100644 index 4ac70878..00000000 --- a/internal/rosa/netfilter.go +++ /dev/null @@ -1,141 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newLibmnl() (pkg.Artifact, string) { - const ( - version = "1.0.5" - checksum = "DN-vbbvQDpxXJm0TJ6xlluILvfrB86avrCTX50XyE9SEFSAZ_o8nuKc5Gu0Am7-u" - ) - return t.NewPackage("libmnl", version, newTar( - "https://www.netfilter.org/projects/libmnl/files/"+ - "libmnl-"+version+".tar.bz2", - checksum, - pkg.TarBzip2, - ), &PackageAttr{ - Patches: []KV{ - {"libbsd-sys-queue", `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; -`}, - }, - }, &MakeHelper{ - Configure: []KV{ - {"enable-static"}, - }, - }, - Libbsd, - KernelHeaders, - ), version -} -func init() { - native.mustRegister(Toolchain.newLibmnl, &Metadata{ - Name: "libmnl", - Description: "a minimalistic user-space library oriented to Netlink developers", - Website: "https://www.netfilter.org/projects/libmnl/", - - ID: 1663, - }) -} - -func (t Toolchain) newLibnftnl() (pkg.Artifact, string) { - const ( - version = "1.3.1" - checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9" - ) - return t.NewPackage("libnftnl", version, t.newTagRemote( - "https://git.netfilter.org/libnftnl", - "libnftnl-"+version, checksum, - ), &PackageAttr{ - Env: []string{ - "CFLAGS=-D_GNU_SOURCE", - }, - }, &MakeHelper{ - Generate: "./autogen.sh", - Configure: []KV{ - {"enable-static"}, - }, - }, - Automake, - Libtool, - PkgConfig, - - Libmnl, - KernelHeaders, - ), version -} -func init() { - native.mustRegister(Toolchain.newLibnftnl, &Metadata{ - Name: "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/", - - Dependencies: P{ - Libmnl, - }, - - ID: 1681, - }) -} - -func (t Toolchain) newIPTables() (pkg.Artifact, string) { - const ( - version = "1.8.13" - checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ" - ) - return t.NewPackage("iptables", version, t.newTagRemote( - "https://git.netfilter.org/iptables", - "v"+version, checksum, - ), &PackageAttr{ - ScriptEarly: ` -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 -`, - }, &MakeHelper{ - Generate: "./autogen.sh", - Configure: []KV{ - {"enable-static"}, - }, - ScriptCheckEarly: ` -ln -s ../system/bin/bash /bin/ -chmod +w /etc/ && ln -s ../usr/src/iptables/etc/ethertypes /etc/ - `, - }, - Automake, - Libtool, - PkgConfig, - Bash, - Python, - - Libnftnl, - KernelHeaders, - ), version -} -func init() { - native.mustRegister(Toolchain.newIPTables, &Metadata{ - Name: "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/", - - Dependencies: P{ - Libnftnl, - }, - - ID: 1394, - }) -} diff --git a/internal/rosa/nettle.go b/internal/rosa/nettle.go deleted file mode 100644 index e65942b4..00000000 --- a/internal/rosa/nettle.go +++ /dev/null @@ -1,33 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newNettle() (pkg.Artifact, string) { - const ( - version = "4.0" - checksum = "6agC-vHzzoqAlaX3K9tX8yHgrm03HLqPZzVzq8jh_ePbuPMIvpxereu_uRJFmQK7" - ) - return t.NewPackage("nettle", version, newTar( - "https://ftpmirror.gnu.org/gnu/nettle/nettle-"+version+".tar.gz", - checksum, - pkg.TarGzip, - ), nil, (*MakeHelper)(nil), - M4, - Diffutils, - - GMP, - ), version -} -func init() { - native.mustRegister(Toolchain.newNettle, &Metadata{ - Name: "nettle", - Description: "a low-level cryptographic library", - Website: "https://www.lysator.liu.se/~nisse/nettle/", - - Dependencies: P{ - GMP, - }, - - ID: 2073, - }) -} diff --git a/internal/rosa/openssl.go b/internal/rosa/openssl.go deleted file mode 100644 index b0e2d01d..00000000 --- a/internal/rosa/openssl.go +++ /dev/null @@ -1,53 +0,0 @@ -package rosa - -import "hakurei.app/internal/pkg" - -func (t Toolchain) newOpenSSL() (pkg.Artifact, string) { - const ( - version = "3.6.2" - checksum = "jH004dXTiE01Hp0kyShkWXwrSHEksZi4i_3v47D9H9Uz9LQ1aMwF7mrl2Tb4t_XA" - ) - return t.NewPackage("openssl", version, newFromGitHubRelease( - "openssl/openssl", - "openssl-"+version, - "openssl-"+version+".tar.gz", - checksum, - pkg.TarGzip, - ), &PackageAttr{ - Env: []string{ - "CC=cc", - }, - }, &MakeHelper{ - OmitDefaults: true, - - ConfigureName: "/usr/src/openssl/Configure", - Configure: []KV{ - {"prefix", "/system"}, - {"libdir", "lib"}, - {"openssldir", "etc/ssl"}, - {"", "no-docs"}, - }, - Check: []string{ - "HARNESS_JOBS=" + jobsE, - "test", - }, - }, - Perl, - Coreutils, - - Zlib, - KernelHeaders, - ), version -} -func init() { - native.mustRegister(Toolchain.newOpenSSL, &Metadata{ - Name: "openssl", - Description: "TLS/SSL and crypto library", - Website: "https://www.openssl.org/", - - ID: 2566, - - // strange malformed tags treated as pre-releases in Anitya - latest: (*Versions).getStable, - }) -} 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, + ]; +} diff --git a/internal/rosa/state_native.go b/internal/rosa/state_native.go index 49ede789..a092e79e 100644 --- a/internal/rosa/state_native.go +++ b/internal/rosa/state_native.go @@ -20,7 +20,6 @@ var ( FontUtil = H("font-util") Freetype = H("freetype") Fuse = H("fuse") - GMP = H("gmp") GLib = H("glib") Gawk = H("gawk") GenInitCPIO = H("gen_init_cpio") @@ -42,8 +41,6 @@ var ( Libffi = H("libffi") Libfontenc = H("libfontenc") Libmd = H("libmd") - Libmnl = H("libmnl") - Libnftnl = H("libnftnl") Libpciaccess = H("libpciaccess") Libseccomp = H("libseccomp") Libtasn1 = H("libtasn1")