diff options
Diffstat (limited to 'contrib/vagrant')
-rw-r--r-- | contrib/vagrant/Vagrantfile | 55 | ||||
-rw-r--r-- | contrib/vagrant/bootstrap.ubuntu.sh | 48 |
2 files changed, 103 insertions, 0 deletions
diff --git a/contrib/vagrant/Vagrantfile b/contrib/vagrant/Vagrantfile new file mode 100644 index 000000000..d6b671b24 --- /dev/null +++ b/contrib/vagrant/Vagrantfile | |||
@@ -0,0 +1,55 @@ | |||
1 | # -*- mode: ruby -*- | ||
2 | # vi: set ft=ruby : | ||
3 | # | ||
4 | # Source https://github.com/alxn/vpp/blob/master/build-root/vagrant/Vagrantfile | ||
5 | |||
6 | Vagrant.configure(2) do |config| | ||
7 | |||
8 | config.vm.box = "bento/ubuntu-16.04" | ||
9 | config.vm.box_version = "2.2.9" | ||
10 | config.vm.provision 'shell', path: 'bootstrap.ubuntu.sh' | ||
11 | |||
12 | # Add .gnupg dir in so folks can sign patches | ||
13 | # Note, as gnupg puts socket files in that dir, we have | ||
14 | # to be cautious and make sure we are dealing with a plain file | ||
15 | homedir = File.expand_path("~/") | ||
16 | Dir["#{homedir}/.gnupg/**/*"].each do |fname| | ||
17 | if File.file?(fname) | ||
18 | destname = fname.sub(Regexp.escape("#{homedir}/"),'') | ||
19 | config.vm.provision "file", source: fname, destination: destname | ||
20 | end | ||
21 | end | ||
22 | |||
23 | # Copy in the .gitconfig if it exists | ||
24 | if File.file?(File.expand_path("~/.gitconfig")) | ||
25 | config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig" | ||
26 | end | ||
27 | |||
28 | # vagrant-cachier caches apt/yum etc to speed subsequent | ||
29 | # vagrant up | ||
30 | # to enable, run | ||
31 | # vagrant plugin install vagrant-cachier | ||
32 | # | ||
33 | if Vagrant.has_plugin?("vagrant-cachier") | ||
34 | config.cache.scope = :box | ||
35 | end | ||
36 | |||
37 | # use http proxy if avaiable | ||
38 | if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf") | ||
39 | config.proxy.http = "$http_proxy" | ||
40 | config.proxy.https = "$https_proxy" | ||
41 | config.proxy.no_proxy = "localhost,127.0.0.1" | ||
42 | end | ||
43 | |||
44 | config.vm.synced_folder "../../", "/gnunet", disabled: false | ||
45 | config.vm.provider "virtualbox" do |vb| | ||
46 | vb.memory = "4096" | ||
47 | end | ||
48 | config.vm.provider "vmware_fusion" do |fusion,override| | ||
49 | fusion.vmx["memsize"] = "4096" | ||
50 | end | ||
51 | config.vm.provider "vmware_workstation" do |vws,override| | ||
52 | vws.vmx["memsize"] = "4096" | ||
53 | vws.vmx["numvcpus"] = "4" | ||
54 | end | ||
55 | end | ||
diff --git a/contrib/vagrant/bootstrap.ubuntu.sh b/contrib/vagrant/bootstrap.ubuntu.sh new file mode 100644 index 000000000..4bf032e3e --- /dev/null +++ b/contrib/vagrant/bootstrap.ubuntu.sh | |||
@@ -0,0 +1,48 @@ | |||
1 | #/bin/bash | ||
2 | # Source https://gnunet.org/dependencies and README | ||
3 | |||
4 | apt-get update | ||
5 | |||
6 | # Install required tools | ||
7 | apt-get -y install git build-essential gnupg curl openssl gnutls-bin miniupnpc | ||
8 | |||
9 | # Autotools required for compiling | ||
10 | apt-get -y install autoconf automake libtool autopoint | ||
11 | |||
12 | # Tools for debugging | ||
13 | apt-get -y install gdb valgrind | ||
14 | |||
15 | # Direct dependencies obtained from README | ||
16 | apt-get -y install libmicrohttpd-dev | ||
17 | apt-get -y install libextractor-dev | ||
18 | apt-get -y install libunistring-dev | ||
19 | apt-get -y install libidn11-dev | ||
20 | apt-get -y install libgcrypt20-dev | ||
21 | apt-get -y install libgnutls30-dev | ||
22 | apt-get -y install libltdl-dev | ||
23 | apt-get -y install libcurl3 | ||
24 | apt-get -y install sqlite3 libsqlite3-dev | ||
25 | apt-get -y install zlib1g-dev | ||
26 | # apt-get -y install texlive-full # Skipped > 1GB | ||
27 | # optional for gnunet-conversation | ||
28 | # apt-get -y install libpulse-dev libopus-dev libogg-dev gstreamer1.0 | ||
29 | # optional for gnunet-qr | ||
30 | apt-get -y install python-zbar | ||
31 | # optional for experimental code | ||
32 | apt-get -y install libglpk-dev | ||
33 | # | ||
34 | apt-get -y install libbluetooth-dev libjansson-dev | ||
35 | |||
36 | # Compilation process | ||
37 | addgroup gnunetdns | ||
38 | adduser --system --home "/var/lib/gnunet" --group gnunet --shell /bin/sh | ||
39 | # cd /gnunet | ||
40 | # . bootstrap | ||
41 | # export GNUNET_PREFIX=/usr/local/lib # or other directory of your choice | ||
42 | # ./configure --prefix=$GNUNET_PREFIX/.. --with-extractor=$LE_PREFIX | ||
43 | # make | ||
44 | # make install | ||
45 | # make check | ||
46 | # echo "/usr/local/lib/gnunet" > /etc/ld.so.conf.d/libgnunet.conf | ||
47 | # ldconfig | ||
48 | # sudo -u gnunet gnunet-arm -s | ||