aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/ssl.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-11 23:51:10 +0900
committerOphestra <cat@gensokyo.uk>2026-02-12 01:19:40 +0900
commit1791b604b525cd67f3b6c393a1364688762aa2e0 (patch)
tree84b622364fb5530d97edecb1beccfee9d59ed602 /internal/rosa/ssl.go
parent59ff6db7ec627bd8237b9508ef78c65204971cfc (diff)
internal/rosa/make: configurable configure and install
This makes the helper useful for non-autotools build systems. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/ssl.go')
-rw-r--r--internal/rosa/ssl.go74
1 files changed, 43 insertions, 31 deletions
diff --git a/internal/rosa/ssl.go b/internal/rosa/ssl.go
index 997411c4..28b01971 100644
--- a/internal/rosa/ssl.go
+++ b/internal/rosa/ssl.go
@@ -12,45 +12,57 @@ func (t Toolchain) newNSS() pkg.Artifact {
version0 = "4_38_2"
checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0"
)
- return t.New("nss-"+version, 0, []pkg.Artifact{
- t.Load(Perl),
- t.Load(Python),
- t.Load(Unzip),
- t.Load(Make),
- t.Load(Gawk),
- t.Load(Coreutils),
+ return t.NewViaMake("nss", version, t.NewPatchedSource(
+ "nss", version, pkg.NewHTTPGetTar(
+ nil, "https://github.com/nss-dev/nss/archive/refs/tags/"+
+ "NSS_"+version+"_RTM.tar.gz",
+ mustDecode(checksum),
+ pkg.TarGzip,
+ ), false,
+ ), &MakeAttr{
+ Paths: []pkg.ExecPath{
+ pkg.Path(AbsUsrSrc.Append("nspr.zip"), false, pkg.NewHTTPGet(
+ nil, "https://hg-edge.mozilla.org/projects/nspr/archive/"+
+ "NSPR_"+version0+"_RTM.zip",
+ mustDecode(checksum0),
+ )),
+ },
- t.Load(Zlib),
- t.Load(KernelHeaders),
- }, nil, nil, `
+ Writable: true,
+ OmitDefaults: true,
+ SkipConfigure: true,
+ InPlace: true,
+
+ ScriptEarly: `
unzip /usr/src/nspr.zip -d /usr/src
-mv '/usr/src/nspr-NSPR_`+version0+`_RTM' /usr/src/nspr
+mv '/usr/src/nspr-NSPR_` + version0 + `_RTM' /usr/src/nspr
cd /usr/src/nss
-
-make \
- "-j$(nproc)" \
- CCC="clang++" \
- NSDISTMODE=copy \
- BUILD_OPT=1 \
- USE_64=1 \
- nss_build_all
+`,
+ SkipCheck: true,
+ Make: []string{
+ "CCC=clang++",
+ "NSDISTMODE=copy",
+ "BUILD_OPT=1",
+ "USE_64=1",
+ "nss_build_all",
+ },
+ ScriptInstall: `
mkdir -p /work/system/nss
cp -r \
/usr/src/dist/. \
lib/ckfw/builtins/certdata.txt \
/work/system/nss
-`, pkg.Path(AbsUsrSrc.Append("nss"), true, t.NewPatchedSource(
- "nss", version, pkg.NewHTTPGetTar(
- nil, "https://github.com/nss-dev/nss/archive/refs/tags/"+
- "NSS_"+version+"_RTM.tar.gz",
- mustDecode(checksum),
- pkg.TarGzip,
- ), false,
- )), pkg.Path(AbsUsrSrc.Append("nspr.zip"), false, pkg.NewHTTPGet(
- nil, "https://hg-edge.mozilla.org/projects/nspr/archive/"+
- "NSPR_"+version0+"_RTM.zip",
- mustDecode(checksum0),
- )))
+`,
+ },
+ t.Load(Perl),
+ t.Load(Python),
+ t.Load(Unzip),
+ t.Load(Gawk),
+ t.Load(Coreutils),
+
+ t.Load(Zlib),
+ t.Load(KernelHeaders),
+ )
}
func init() { artifactsF[NSS] = Toolchain.newNSS }