aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/perl.az
blob: 3554fa840abc61cc73aec7ccbb31b55aae23b0bc (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
package perl {
	description = "The Perl Programming language";
	website = "https://www.perl.org";
	anitya = 13599;
	// odd-even versioning
	anityaFallback = true;

	version* = "5.42.2";
	source = remoteTar {
		url = "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz";
		checksum = "Me_xFfgkRnVyG0sE6a74TktK2OUq9Z1LVJNEu_9RdZG3S2fbjfzNiuk2SJqHAgbm";
		compress = gzip;
	};

	// uses source tree as scratch space
	writable = true;
	chmod = true;
	early = `
echo 'print STDOUT "1..0 # Skip broken test\n";' > ext/Pod-Html/t/htmldir3.t
chmod +w /system/bin && rm -f /system/bin/ps # perl does not like toybox ps
`;

	toyboxEarly = true;
	exec = make {
		omitDefaults = true;
		inPlace = true;

		configureName = "./Configure";
		configure = {
			"-des";
			"Dprefix": "/system";
			"Dcc": "clang";
			"Dcflags": "--std=gnu99";
			"Dldflags": `"${LDFLAGS:-''}"`;
			"Doptimize": "'-O2 -fno-strict-aliasing'";
			"Duseithreads";
			"Duseshrplib";
		};

		check = [
			"TEST_JOBS=" + jobsLE,
			"test_harness",
		];

		install = `LD_LIBRARY_PATH="$PWD" ./perl -Ilib -I. installperl --destdir=/work`;
	};
}