1let
2 pkgs = import ../../.. { };
3
4 inherit (pkgs)
5 hello
6 patchelf
7 pcmanfm
8 stdenv
9 ;
10
11 inherit (pkgs.vmTools)
12 buildRPM
13 diskImages
14 makeImageTestScript
15 runInLinuxImage
16 runInLinuxVM
17 ;
18in
19
20{
21
22 # Run the PatchELF derivation in a VM.
23 buildPatchelfInVM = runInLinuxVM patchelf;
24
25 buildHelloInVM = runInLinuxVM hello;
26 buildStructuredAttrsHelloInVM = runInLinuxVM (hello.overrideAttrs { __structuredAttrs = true; });
27
28 buildPcmanrmInVM = runInLinuxVM (
29 pcmanfm.overrideAttrs (old: {
30 # goes out-of-memory with many cores
31 enableParallelBuilding = false;
32 })
33 );
34
35 testRPMImage = makeImageTestScript diskImages.fedora27x86_64;
36
37 buildPatchelfRPM = buildRPM {
38 name = "patchelf-rpm";
39 src = patchelf.src;
40 diskImage = diskImages.fedora27x86_64;
41 diskImageFormat = "qcow2";
42 };
43
44 testUbuntuImage = makeImageTestScript diskImages.ubuntu1804i386;
45
46 buildInDebian = runInLinuxImage (
47 stdenv.mkDerivation {
48 name = "deb-compile";
49 src = patchelf.src;
50 diskImage = diskImages.ubuntu1804i386;
51 diskImageFormat = "qcow2";
52 memSize = 512;
53 postHook = ''
54 dpkg-query --list
55 '';
56 }
57 );
58
59}