Merge branch 'master' of ssh://git.code.sf.net/p/foam-extend/foam-extend-3.2
[foam-extend-3.2.git] / vagrantSandbox / Vagrantfile
blob97a7180acd85b8c4ecd60e31f4f1d67b11694cf9
1 # -*- mode: ruby -*-
2 # vi: set ft=ruby :
4 Vagrant.configure("2") do |config|
5   config.vm.synced_folder "..", "/FOAM-sources"
7   config.vm.hostname="vagrant."+ (ENV["HOSTNAME"] || `hostname`.strip)
9   nrCPU=1
10   if ENV["WM_VAGRANT_CPUS"]
11     nrCPU=ENV["WM_VAGRANT_CPUS"].to_i
12   else
13     if ENV["WM_NCOMPPROCS"]
14       nrCPU=ENV["WM_NCOMPPROCS"].to_i/2
15     end
16   end
17   if nrCPU<1
18     nrCPU=1
19   end
21   config.vm.provider :virtualbox do |vb|
22     #   # Don't boot with headless mode
23     #   vb.gui = true
24     #
25     #   # Use VBoxManage to customize the VM. For example to change memory:
26     #     vb.customize ["modifyvm", :id, "--memory", "1024"]
27     vb.cpus=nrCPU
28     # make sure each CPU has enough memory (at least .5 Gig per CPU. 2.5 Gig Minimum to run the testHarness)
29     vb.memory=512*[(1+nrCPU),5].max
30     vb.gui=false
31   end
33   config.vm.define :trusty do |trusty|
34     trusty.vm.box = "ubuntu/trusty64"
35     trusty.vm.box_check_update = true
36     trusty.vm.provision :shell do |s|
37       s.args   = "trusty"
38       s.path   = "initUbunutuScript.sh"
39     end
40     trusty.vm.hostname="trusty."+config.vm.hostname
41   end
43   # default
44   config.vm.define :precise do |precise|
45     precise.vm.box = "hashicorp/precise64"
46     precise.vm.box_check_update = true
47     #    precise.vm.box_url = "http://files.vagrantup.com/precise64.box"
48     precise.vm.provision :shell do |s|
49       s.args   = "precise"
50       s.path   = "initUbunutuScript.sh"
51     end
52     precise.vm.hostname="precise."+config.vm.hostname
53   end
55   config.vm.define :centos65 do |centos65|
56     centos65.vm.box = "chef/centos-6.5"
57     centos65.vm.box_check_update = true
58     #    centos65.vm.box_url = "https://github.com/2creatives/vagrant-centos/releases/download/v6.5.1/centos65-x86_64-20131205.box"
59     centos65.vm.provision :shell do |s|
60       s.args   = "centos65"
61       s.path   = "initCentOSRHELScript.sh"
62     end
63     centos65.vm.hostname="centos65."+config.vm.hostname
64   end
66   config.vm.define :centos70 do |centos70|
67     centos70.vm.box = "matyunin/centos7"
68     centos70.vm.box_check_update = true
69     centos70.vm.provision :shell do |s|
70       s.args   = "centos70"
71       s.path   = "initCentOSRHELScript.sh"
72     end
73     centos70.vm.hostname="centos70."+config.vm.hostname
74   end
76   # legacy
77   config.vm.define :lucid do |lucid|
78     lucid.vm.box = "lucid64"
79     lucid.vm.box_url = "http://files.vagrantup.com/lucid64.box"
80     lucid.vm.provision :shell do |s|
81       s.args   = "lucid"
82       s.path   = "initUbunutuScript.sh"
83     end
84     lucid.vm.hostname="lucid."+config.vm.hostname
85   end
87   #legacy
88   config.vm.define :maverick do |maverick|
89     maverick.vm.box = "maverick64"
90     maverick.vm.box_url = "http://mathie-vagrant-boxes.s3.amazonaws.com/maverick64.box"
91     maverick.vm.provision :shell do |s|
92       s.args   = "lucid"
93       s.path   = "initUbunutuScript.sh"
94     end
95     maverick.vm.hostname="maverick."+config.vm.hostname
96   end
98   # experimental
99   config.vm.define :freebsd92 do |freebsd92|
100     freebsd92.vm.box = "chef/freebsd-9.2"
101     freebsd92.vm.box_check_update = true
102 #     freebsd92.vm.box_url = "https://wunki.org/files/freebsd-9.2-amd64-wunki.box"
103 #    freebsd92.vm.box_url = "http://iris.hosting.lv/freebsd-9.2-i386.box"
104     freebsd92.vm.provision :shell do |s|
105       s.args   = "freebsd92"
106       s.path   = "initFreeBSDScript.sh"
107     end
108     freebsd92.vm.synced_folder "..", "/FOAM-sources", type: "rsync", rsync__exclude: "vagrantSandbox/"
109     freebsd92.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: "ccache4vm/"
110     freebsd92.vm.hostname="freebsd92."+config.vm.hostname
111   end
113   # legacy/experimental
114   config.vm.define :freebsd10 do |freebsd10|
115     freebsd10.vm.box = "chef/freebsd-10.0"
116     #    freebsd10.vm.box = "arkadi/freebsd-10.0-i386"
117     freebsd10.vm.box_check_update = true
118     # freebsd10.vm.box = "freebsd10"
119 #     freebsd10.vm.box_url = "https://wunki.org/files/freebsd-10.0-amd64-wunki.box"
120 #    freebsd10.vm.box_url = "http://iris.hosting.lv/freebsd-10.0-i386.box"
121     freebsd10.vm.provision :shell do |s|
122       s.args   = "freebsd10"
123       s.path   = "initFreeBSDScript.sh"
124     end
126     freebsd10.vm.network :private_network, ip: "10.0.0.2"
128     # configure the NICs
129     freebsd10.vm.provider :virtualbox do |vb|
130       vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
131       vb.customize ["modifyvm", :id, "--nictype2", "virtio"]
132     end
134     # use NFS for the synced folder
135     freebsd10.vm.synced_folder "..", "/FOAM-sources", :nfs => true
136     freebsd10.vm.synced_folder '.', '/vagrant', :nfs => true
138     freebsd10.vm.hostname="freebsd10."+config.vm.hostname
139   end
141   # legacy
142   config.vm.define :opensuse12 do |opensuse12|
143     opensuse12.vm.box = "opensuse12"
144     opensuse12.vm.box_url = "http://sourceforge.net/projects/opensusevagrant/files/12.3/opensuse-12.3-64.box/download"
145     opensuse12.vm.provision :shell do |s|
146       s.args   = "opensuse12"
147       s.path   = "initOpenSUSEScript.sh"
148     end
149     opensuse12.vm.hostname="opensuse12."+config.vm.hostname
150   end
152   config.vm.define :opensuse13 do |opensuse13|
153     opensuse13.vm.box = "berendt/opensuse-13.1-x86_64"
154     opensuse13.vm.box_check_update = true
155     opensuse13.vm.provision :shell do |s|
156       s.args   = "opensuse13"
157       s.path   = "initOpenSUSEScript.sh"
158     end
159     opensuse13.vm.hostname="opensuse13."+config.vm.hostname
160   end
162   config.vm.define :archlinux do |archlinux|
163     archlinux.vm.box = "terrywang/archlinux"
164     archlinux.vm.box_check_update = true
165     archlinux.vm.provision :shell do |s|
166       s.args   = "archlinux"
167       s.path   = "initArchlinuxScript.sh"
168     end
169     archlinux.vm.hostname="archlinux."+config.vm.hostname
170   end