--- /dev/null
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+#
+# Source https://github.com/alxn/vpp/blob/master/build-root/vagrant/Vagrantfile
+
+Vagrant.configure(2) do |config|
+
+ config.vm.box = "bento/ubuntu-16.04"
+ config.vm.box_version = "2.2.9"
+ config.vm.provision 'shell', path: 'bootstrap.ubuntu.sh'
+
+ # Add .gnupg dir in so folks can sign patches
+ # Note, as gnupg puts socket files in that dir, we have
+ # to be cautious and make sure we are dealing with a plain file
+ homedir = File.expand_path("~/")
+ Dir["#{homedir}/.gnupg/**/*"].each do |fname|
+ if File.file?(fname)
+ destname = fname.sub(Regexp.escape("#{homedir}/"),'')
+ config.vm.provision "file", source: fname, destination: destname
+ end
+ end
+
+ # Copy in the .gitconfig if it exists
+ if File.file?(File.expand_path("~/.gitconfig"))
+ config.vm.provision "file", source: "~/.gitconfig", destination: ".gitconfig"
+ end
+
+ # vagrant-cachier caches apt/yum etc to speed subsequent
+ # vagrant up
+ # to enable, run
+ # vagrant plugin install vagrant-cachier
+ #
+ if Vagrant.has_plugin?("vagrant-cachier")
+ config.cache.scope = :box
+ end
+
+ # use http proxy if avaiable
+ if ENV['http_proxy'] && Vagrant.has_plugin?("vagrant-proxyconf")
+ config.proxy.http = "$http_proxy"
+ config.proxy.https = "$https_proxy"
+ config.proxy.no_proxy = "localhost,127.0.0.1"
+ end
+
+ config.vm.synced_folder "../../", "/gnunet", disabled: false
+ config.vm.provider "virtualbox" do |vb|
+ vb.memory = "4096"
+ end
+ config.vm.provider "vmware_fusion" do |fusion,override|
+ fusion.vmx["memsize"] = "4096"
+ end
+ config.vm.provider "vmware_workstation" do |vws,override|
+ vws.vmx["memsize"] = "4096"
+ vws.vmx["numvcpus"] = "4"
+ end
+end
--- /dev/null
+#/bin/bash
+# Source https://gnunet.org/dependencies and README
+
+apt-get update
+
+# Install required tools
+apt-get -y install git build-essential gnupg curl openssl gnutls-bin miniupnpc
+
+# Autotools required for compiling
+apt-get -y install autoconf automake libtool autopoint
+
+# Tools for debugging
+apt-get -y install gdb valgrind
+
+# Direct dependencies obtained from README
+apt-get -y install libmicrohttpd-dev
+apt-get -y install libextractor-dev
+apt-get -y install libunistring-dev
+apt-get -y install libidn11-dev
+apt-get -y install libgcrypt20-dev
+apt-get -y install libgnutls30-dev
+apt-get -y install libltdl-dev
+apt-get -y install libcurl3
+apt-get -y install sqlite3 libsqlite3-dev
+apt-get -y install zlib1g-dev
+# apt-get -y install texlive-full # Skipped > 1GB
+# optional for gnunet-conversation
+# apt-get -y install libpulse-dev libopus-dev libogg-dev gstreamer1.0
+# optional for gnunet-qr
+apt-get -y install python-zbar
+# optional for experimental code
+apt-get -y install libglpk-dev
+#
+apt-get -y install libbluetooth-dev libjansson-dev
+
+# Compilation process
+addgroup gnunetdns
+adduser --system --home "/var/lib/gnunet" --group gnunet --shell /bin/sh
+# cd /gnunet
+# . bootstrap
+# export GNUNET_PREFIX=/usr/local/lib # or other directory of your choice
+# ./configure --prefix=$GNUNET_PREFIX/.. --with-extractor=$LE_PREFIX
+# make
+# make install
+# make check
+# echo "/usr/local/lib/gnunet" > /etc/ld.so.conf.d/libgnunet.conf
+# ldconfig
+# sudo -u gnunet gnunet-arm -s