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}