nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1# cd nixpkgs
2# nix-build -A tests.testers.hasCmakeConfigModules
3{
4 lib,
5 testers,
6 boost,
7 mpi,
8 eigen,
9 runCommand,
10}:
11
12lib.recurseIntoAttrs {
13
14 boost-versions-match = testers.hasCmakeConfigModules {
15 package = boost;
16 moduleNames = [
17 "Boost"
18 "boost_math"
19 ];
20 versionCheck = true;
21 };
22
23 boost-versions-mismatch = testers.testBuildFailure (
24 testers.hasCmakeConfigModules {
25 package = boost;
26 moduleNames = [
27 "Boost"
28 "boost_math"
29 ];
30 version = "1.2.3"; # Deliberately-incorrect version number
31 versionCheck = true;
32 }
33 );
34
35 boost-no-versionCheck = testers.hasCmakeConfigModules {
36 package = boost;
37 moduleNames = [
38 "Boost"
39 "boost_math"
40 ];
41 version = "1.2.3"; # Deliberately-incorrect version number
42 versionCheck = false;
43 };
44
45 boost-has-boost_mpi = testers.hasCmakeConfigModules {
46 package = boost.override { useMpi = true; };
47 moduleNames = [
48 "boost_mpi"
49 ];
50 buildInputs = [ mpi ];
51 };
52
53 boost_mpi-does-not-have-mpi = testers.testBuildFailure (
54 testers.hasCmakeConfigModules {
55 package = boost.override { useMpi = true; };
56 moduleNames = [
57 "boost_mpi"
58 ];
59 }
60 );
61
62 eigen-has-Eigen = testers.hasCmakeConfigModules {
63 package = eigen;
64 moduleNames = [ "Eigen3" ];
65 };
66
67 eigen-does-not-have-eigen = testers.testBuildFailure (
68 testers.hasCmakeConfigModules {
69 package = eigen;
70 moduleNames = [ "eigen3" ];
71 }
72 );
73}