From 93911d60150ed55b8ec2afed75726779490ace12 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 16 Feb 2026 01:20:52 +0900 Subject: [PATCH] internal/rosa: pcre2 artifact Required by GLib. Signed-off-by: Ophestra --- internal/rosa/all.go | 2 ++ internal/rosa/pcre2.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 internal/rosa/pcre2.go diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 51d1576..3c087e5 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -55,6 +55,7 @@ const ( NSSCACert Ninja OpenSSL + PCRE2 Packaging Patch Perl @@ -160,6 +161,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "nss-cacert": NSSCACert, "ninja": Ninja, "openssl": OpenSSL, + "pcre2": PCRE2, "packaging": Packaging, "patch": Patch, "perl": Perl, diff --git a/internal/rosa/pcre2.go b/internal/rosa/pcre2.go new file mode 100644 index 0000000..406129a --- /dev/null +++ b/internal/rosa/pcre2.go @@ -0,0 +1,33 @@ +package rosa + +import ( + "hakurei.app/internal/pkg" +) + +func (t Toolchain) newPCRE2() pkg.Artifact { + const ( + version = "10.47" + checksum = "IbC24vVayju6nB9EhrBPSDexk22wDecdpyrjgC3nCZXkwTnUjq4CD2q5sopqu6CW" + ) + return t.NewViaMake("pcre2", version, pkg.NewHTTPGetTar( + nil, "https://github.com/PCRE2Project/pcre2/releases/download/"+ + "pcre2-"+version+"/pcre2-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ), &MakeAttr{ + ScriptEarly: ` +# RunGrepTest expects /bin/echo +ln -s ../system/bin/toybox /bin/echo +`, + + Configure: [][2]string{ + {"enable-jit"}, + {"enable-pcre2-8"}, + {"enable-pcre2-16"}, + {"enable-pcre2-32"}, + }, + }, + t.Load(Diffutils), + ) +} +func init() { artifactsF[PCRE2] = Toolchain.newPCRE2 }