summary refs log tree commit diff
path: root/pkgs/build-support/vm/test.nix
blob: ae91cbfe84ef0af933028419f79db06461ab9230 (plain) (blame)
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
68
69
70
with import ../../.. {};
with vmTools;

rec {


  # Run the PatchELF derivation in a VM.
  buildPatchelfInVM = runInLinuxVM patchelf;


  testRPMImage = makeImageTestScript diskImages.fedora8i386;


  buildPatchelfRPM = buildRPM {
    name = "patchelf-rpm";
    src = patchelf.src;
    diskImage = diskImages.fedora12i386;
  };

  
  testUbuntuImage = makeImageTestScript diskImages.ubuntu810i386;

  
  buildInDebian = runInLinuxImage (stdenv.mkDerivation {
    name = "deb-compile";
    src = patchelf.src;
    diskImage = diskImages.ubuntu810i386;
    memSize = 512;
    phases = "sysInfoPhase unpackPhase patchPhase configurePhase buildPhase checkPhase installPhase fixupPhase distPhase";
    sysInfoPhase = ''
      dpkg-query --list
    '';
  });


  testFreeBSD = runInGenericVM {
    name = "aterm-freebsd";
    src = aterm242fixes.src;
    diskImage = "/tmp/freebsd-7.0.qcow";

    postPreVM = ''
      cp $src aterm.tar.bz2
    '';

    buildCommand = ''
      set > /tmp/my-env
      . /mnt/saved-env
      . /tmp/my-env
      unset TEMP
      unset TEMPDIR
      unset TMP
      unset TMPDIR

      set -x

      echo "Hello World!!!"
      mkdir /mnt/out
      echo "bar" > /mnt/out/foo

      cd /tmp
      tar xvf /mnt/aterm.tar.bz2
      cd aterm-*
      ./configure --prefix=/mnt/out
      make
      make install
    '';
  };
  

}