aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/cmake/package.az
blob: 38d2c2860419a342750c7e2a93e2b2510af8fa93 (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
package cmake-source {
	description = "CMake source tree";
	exclude = true;

	version# = "4.4.4";
	output = remoteGitHubRelease {
		suffix = "Kitware/CMake";
		tag = "v"+version;
		name = "cmake-"+version+".tar.gz";
		checksum = "I7vJROVzty0xtoWvDQzR5JpnEl-gO-1kXd-qIO2lWgj65Hgyd4kA08mM1wk5l8z3";
		compress = gzip;
	};
	patches = [
		"disable-broken-tests-musl.patch",
		"disable-flaky-tests.patch",
	];
}

package cmake-early {
	description = "minimal CMake bootstrap build";
	exclude = true;
	source = cmake-source;

	// expected to be writable in the copy made during bootstrap
	writable = true;
	chmod = true;

	exec = make {
		defaults = false;

		configureName = "/usr/src/cmake-early/bootstrap";
		configure = {
			"prefix": "/system";
			"parallel": jobsE;
			"--";
			"-DCMAKE_USE_OPENSSL": "OFF";
		};

		// tested in full build
		check = nil;
	};

	inputs = [ kernel-headers ];
}

package cmake {
	description = "cross-platform, open-source build system";
	website = "https://cmake.org";
	anitya = 306;
	source = cmake-source;

	// test suite expects writable source tree
	writable = true;
	chmod = true;

	exec = cmake {
		early = true;
		make = true;
		cache = {
			"CMAKE_USE_OPENSSL": "OFF";
			"CMake_TEST_NO_NETWORK": "ON";
			"CMake_TEST_BOOTSTRAP": "OFF";
		};
	};

	inputs = [ kernel-headers ];
}