internal/rosa/package: migrate bzip2, curl, connman
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m54s
Test / Hakurei (push) Successful in 3m53s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m21s
Test / Hakurei (race detector) (push) Successful in 6m30s
Test / Flake checks (push) Successful in 1m19s

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-19 22:26:40 +09:00
parent 009a4e0d58
commit 1c6f30379e
7 changed files with 112 additions and 143 deletions

View File

@@ -1,36 +0,0 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newBzip2() (pkg.Artifact, string) {
const (
version = "1.0.8"
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
)
return t.NewPackage("bzip2", version, newTar(
"https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz",
checksum,
pkg.TarGzip,
), &PackageAttr{
Writable: true,
EnterSource: true,
}, &MakeHelper{
// uses source tree as scratch space
SkipConfigure: true,
SkipCheck: true,
InPlace: true,
Make: []string{
"CC=cc",
},
Install: "make PREFIX=/work/system install",
}), version
}
func init() {
native.mustRegister(Toolchain.newBzip2, &Metadata{
Name: "bzip2",
Description: "a freely available, patent free, high-quality data compressor",
Website: "https://sourceware.org/bzip2/",
ID: 237,
})
}

View File

@@ -1,54 +0,0 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newCurl() (pkg.Artifact, string) {
const (
version = "8.20.0"
checksum = "xyHXwrngIRGMasuzhn-I5MSCOhktwINbsWt1f_LuR-5jRVvyx_g6U1EQfDLEbr9r"
)
return t.NewPackage("curl", version, newTar(
"https://curl.se/download/curl-"+version+".tar.bz2",
checksum,
pkg.TarBzip2,
), &PackageAttr{
// remove broken test
Writable: true,
ScriptEarly: `
chmod +w tests/data && rm -f tests/data/test459
`,
}, &MakeHelper{
Configure: []KV{
{"with-openssl"},
{"with-ca-bundle", "/system/etc/ssl/certs/ca-bundle.crt"},
{"disable-smb"},
},
Check: []string{
"TFLAGS=" + jobsLFlagE,
"test-nonflaky",
},
},
Perl,
Python,
PkgConfig,
Diffutils,
Libpsl,
OpenSSL,
), version
}
func init() {
native.mustRegister(Toolchain.newCurl, &Metadata{
Name: "curl",
Description: "command line tool and library for transferring data with URLs",
Website: "https://curl.se/",
Dependencies: P{
Libpsl,
OpenSSL,
},
ID: 381,
})
}

View File

@@ -0,0 +1,27 @@
package bzip2 {
description = "a freely available, patent free, high-quality data compressor";
website = "https://sourceware.org/bzip2";
anitya = 237;
version* = "1.0.8";
source = remoteTar {
url = "https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz";
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c";
compress = gzip;
};
// uses source tree as scratch space
writable = true;
enterSource = true;
exec = make {
skipConfigure = true;
skipCheck = true;
inPlace = true;
make = [
"CC=cc",
];
install = "make PREFIX=/work/system install";
};
}

View File

@@ -1,20 +1,4 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newConnman() (pkg.Artifact, string) {
const (
version = "2.0"
checksum = "MhVTdJOhndnZn2SWd8URKo_Pj7Zvc14tntEbrVOf9L3yVWJvpb3v3Q6104tWJgtW"
)
return t.NewPackage("connman", version, newTar(
"https://git.kernel.org/pub/scm/network/connman/connman.git/"+
"snapshot/connman-"+version+".tar.gz",
checksum,
pkg.TarGzip,
), &PackageAttr{
Patches: []KV{
{"alpine-musl-res", `musl does not implement res_ninit
musl does not implement res_ninit
--- a/gweb/gresolv.c
+++ b/gweb/gresolv.c
@@ -73,35 +57,3 @@ func (t Toolchain) newConnman() (pkg.Artifact, string) {
}
if (!resolv->nameserver_list)
`},
},
}, &MakeHelper{
Generate: "./bootstrap",
},
Automake,
Libtool,
PkgConfig,
DBus,
IPTables,
GnuTLS,
Readline,
KernelHeaders,
), version
}
func init() {
native.mustRegister(Toolchain.newConnman, &Metadata{
Name: "connman",
Description: "a daemon for managing Internet connections",
Website: "https://git.kernel.org/pub/scm/network/connman/connman.git/",
Dependencies: P{
DBus,
IPTables,
GnuTLS,
Readline,
},
ID: 337,
})
}

View File

@@ -0,0 +1,37 @@
package connman {
description = "a daemon for managing Internet connections";
website = "https://git.kernel.org/pub/scm/network/connman/connman.git";
anitya = 337;
version* = "2.0";
source = remoteTar {
url = "https://git.kernel.org/pub/scm/network/connman/connman.git/"+
"snapshot/connman-"+version+".tar.gz";
checksum = "MhVTdJOhndnZn2SWd8URKo_Pj7Zvc14tntEbrVOf9L3yVWJvpb3v3Q6104tWJgtW";
compress = gzip;
};
patches = [ "alpine-musl-res.patch" ];
exec = make {
generate = "./bootstrap";
};
inputs = [
automake,
libtool,
pkg-config,
dbus,
iptables,
gnutls,
readline,
kernel-headers,
];
runtime = [
dbus,
iptables,
gnutls,
readline,
];
}

View File

@@ -0,0 +1,47 @@
package curl {
description = "command line tool and library for transferring data with URLs";
website = "https://curl.se";
anitya = 381;
version* = "8.20.0";
source = remoteTar {
url = "https://curl.se/download/curl-"+version+".tar.bz2";
checksum = "xyHXwrngIRGMasuzhn-I5MSCOhktwINbsWt1f_LuR-5jRVvyx_g6U1EQfDLEbr9r";
compress = bzip2;
};
// remove broken test
writable = true;
early = "\nchmod +w tests/data && rm -f tests/data/test459\n";
exec = make {
configure = {
"with-openssl";
"with-ca-bundle": "/system/etc/ssl/certs/ca-bundle.crt";
"disable-smb";
};
check = [
"TFLAGS=" + jobsLFlagE,
"test-nonflaky",
];
};
inputs = [
perl,
python,
pkg-config,
diffutils,
libpsl,
openssl,
];
runtime = [
zlib,
zstd,
libpsl,
openssl,
];
}

View File

@@ -32,14 +32,12 @@ var (
Gettext = H("gettext")
Git = H("git")
Glslang = H("glslang")
GnuTLS = H("gnutls")
Go = H("go")
Gperf = H("gperf")
Gzip = H("gzip")
Hakurei = H("hakurei")
HakureiDist = H("hakurei-dist")
Hwdata = H("hwdata")
IPTables = H("iptables")
Kmod = H("kmod")
LIT = H("lit")
LibX11 = H("libX11")
@@ -66,7 +64,6 @@ var (
Libnftnl = H("libnftnl")
Libpciaccess = H("libpciaccess")
Libpng = H("libpng")
Libpsl = H("libpsl")
Libseccomp = H("libseccomp")
Libtasn1 = H("libtasn1")
Libtirpc = H("libtirpc")
@@ -104,7 +101,6 @@ var (
PythonSetuptools = H("python-setuptools")
PythonWheel = H("python-wheel")
QEMU = H("qemu")
Readline = H("readline")
Sed = H("sed")
SPIRVHeaders = H("spirv-headers")
SPIRVLLVMTranslator = H("spirv-llvm-translator")