aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/vagrant/Vagrantfile55
-rw-r--r--contrib/vagrant/bootstrap.ubuntu.sh48
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
6Vagrant.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
55end
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
4apt-get update
5
6# Install required tools
7apt-get -y install git build-essential gnupg curl openssl gnutls-bin miniupnpc
8
9# Autotools required for compiling
10apt-get -y install autoconf automake libtool autopoint
11
12# Tools for debugging
13apt-get -y install gdb valgrind
14
15# Direct dependencies obtained from README
16apt-get -y install libmicrohttpd-dev
17apt-get -y install libextractor-dev
18apt-get -y install libunistring-dev
19apt-get -y install libidn11-dev
20apt-get -y install libgcrypt20-dev
21apt-get -y install libgnutls30-dev
22apt-get -y install libltdl-dev
23apt-get -y install libcurl3
24apt-get -y install sqlite3 libsqlite3-dev
25apt-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
30apt-get -y install python-zbar
31# optional for experimental code
32apt-get -y install libglpk-dev
33#
34apt-get -y install libbluetooth-dev libjansson-dev
35
36# Compilation process
37addgroup gnunetdns
38adduser --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