aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/nss.az
blob: 2805003605b59c70d602bd4454ab1302ca6b5d54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package nspr {
	description = "nspr source tree";
	anitya = 7953;
	exclude = true;

	version# = "4.40";
	output = remoteTar {
		url = "https://ftp.mozilla.org/pub/nspr/releases/v"+version+
			"/src/nspr-"+version+".tar.gz";
		checksum = "ku6h1DpeUalAUz4suFlLNRgk3N7VEHh7noIECbYEz7C_3bwU13CiLHf35OutbYqN";
		compress = gzip;
	};
}

package nss {
	description = "Network Security Services";
	website = "https://firefox-source-docs.mozilla.org/security/nss/index.html";
	anitya = 2503;

	version# = "3.126";
	source = remoteGitHub {
		suffix = "nss-dev/nss";
		tag = "NSS_"+join {
			elems = split {
				s = version;
				sep = ".";
				n = 3;
			};
			sep = "_";
		}+"_RTM";
		checksum = "gzMK4RkCHhgmhe33imV0qzZ8e2_VFAsF5M2db-1jrCWzh6XGijm51P2DIdDO2Dsf";
	};
	extra = [ nspr ];

	enterSource = true;
	writable = true;
	chmod = true;
	early = "\nln -s extra/nspr/nspr /usr/src/nspr\nchmod +w ../nspr/\n";

	exec = make {
		defaults = false;
		chdir = false;
		configure = nil;
		make = [
			"CCC=clang++",
			"NSDISTMODE=copy",
			"BUILD_OPT=1",
			"USE_64=1",
			"nss_build_all",
		];
		check = nil;
		install = `
cp -r \
	/usr/src/dist/. \
	lib/ckfw/builtins/certdata.txt \
	/work/
`;
	};

	inputs = [
		perl,
		python,
		awk,
		coreutils,

		zlib,
		kernel-headers,
	];

	runtime = [ zlib ];
}

package nss-cacert {
	description = "bundle of X.509 certificates of public Certificate Authorities";
	website = "https://curl.se/docs/caextract.html";
	version = unversioned;

	source = nss;

	enterSource = true;
	exec = generic {
		chdir = false;
		build = `
mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \
	--certdata_input certdata.txt \
	--ca_bundle_output /work/system/etc/ssl/certs/ca-bundle.crt \
	--ca_standard_bundle_output /work/system/etc/ssl/certs/ca-no-trust-rules-bundle.crt \
	--ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
	--ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
	--p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit
`;
	};

	inputs = [
		bash,

		buildcatrust,
	];
}