From 349d8693bf696c37c33bd50dd201614741ad5b8a Mon Sep 17 00:00:00 2001 From: Ophestra Date: Wed, 21 Jan 2026 21:33:12 +0900 Subject: [PATCH] internal/rosa: perl artifact This runs without tests for now, will be enabled after some toolchain patches. Signed-off-by: Ophestra --- internal/rosa/perl.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 internal/rosa/perl.go diff --git a/internal/rosa/perl.go b/internal/rosa/perl.go new file mode 100644 index 0000000..169a64d --- /dev/null +++ b/internal/rosa/perl.go @@ -0,0 +1,32 @@ +package rosa + +import "hakurei.app/internal/pkg" + +// NewPerl returns a [pkg.Artifact] containing an installation of perl. +func (t Toolchain) NewPerl() pkg.Artifact { + const ( + version = "5.42.0" + checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9" + ) + return t.New("perl-"+version, []pkg.Artifact{ + t.NewMake(), + }, nil, nil, ` +chmod -R +w /usr/src/perl && cd /usr/src/perl + +./Configure \ + -des \ + -Dprefix=/system \ + -Dcc="${CC}" \ + -Dcflags='--std=gnu99' \ + -Dldflags="${LDFLAGS}" \ + -Doptimize='-O2 -fno-strict-aliasing' \ + -Duseithreads +make "-j$(nproc)" # test +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("perl"), true, pkg.NewHTTPGetTar( + nil, + "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +}