Skip to content

Commit 6327340

Browse files
committed
Vagrant: add a PROJ6 build
1 parent cce4556 commit 6327340

File tree

4 files changed

+38
-4
lines changed

4 files changed

+38
-4
lines changed

Vagrantfile

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ require 'socket'
77
VAGRANTFILE_API_VERSION = "2"
88

99
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
10+
vm_ram = ENV['VAGRANT_VM_RAM'] || 1024
11+
vm_cpu = ENV['VAGRANT_VM_CPU'] || 2
12+
1013
config.vm.box = "ubuntu/trusty64"
1114

1215
config.vm.hostname = "mapserver-vagrant"
1316

1417
config.vm.network :forwarded_port, guest: 80, host: 8080
1518

1619
config.vm.provider "virtualbox" do |v|
17-
v.customize ["modifyvm", :id, "--memory", 1024, "--cpus", 2]
20+
v.customize ["modifyvm", :id, "--memory", vm_ram, "--cpus", vm_cpu]
1821
v.customize ["modifyvm", :id, "--ioapic", "on", "--largepages", "off", "--vtxvpid", "off"]
1922
v.name = "mapserver-vagrant"
2023
end
@@ -31,6 +34,7 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
3134
config.vm.provision "shell", path: "scripts/vagrant/virtualbox-fix.sh"
3235
config.vm.provision "shell", path: "scripts/vagrant/packages.sh"
3336
config.vm.provision "shell", path: "scripts/vagrant/postgis.sh"
37+
config.vm.provision "shell", path: "scripts/vagrant/proj6.sh"
3438
config.vm.provision "shell", path: "scripts/vagrant/mapserver.sh"
3539

3640
end

scripts/vagrant/mapserver.sh

+17-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#!/bin/sh
1+
#!/bin/bash
22

3-
NUMTHREADS=2 # we have 2 cpus configured
3+
NUMTHREADS=$(nproc)
44
export NUMTHREADS
55

66
cd /vagrant
@@ -24,3 +24,18 @@ cmake -G "Unix Makefiles" -DWITH_CLIENT_WMS=1 \
2424

2525
make -j $NUMTHREADS
2626
sudo make install
27+
cd ..
28+
29+
mkdir build_vagrant_proj6
30+
cd build_vagrant_proj6
31+
cmake -G "Unix Makefiles" -DWITH_CLIENT_WMS=1 \
32+
-DWITH_CLIENT_WFS=1 -DWITH_KML=1 -DWITH_SOS=1 -DWITH_PHP=1 \
33+
-DWITH_PYTHON=1 -DWITH_JAVA=0 -DWITH_THREAD_SAFETY=1 \
34+
-DWITH_FCGI=0 -DWITH_EXEMPI=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
35+
-DWITH_RSVG=1 -DWITH_CURL=1 -DWITH_FRIBIDI=1 -DWITH_HARFBUZZ=1 \
36+
-DPROJ_INCLUDE_DIR=/vagrant/install-vagrant-proj-6/include -DPROJ_LIBRARY=/vagrant/install-vagrant-proj-6/lib/libproj.so.15 \
37+
-DCMAKE_C_FLAGS="-DPROJ_RENAME_SYMBOLS" -DCMAKE_CXX_FLAGS="-DPROJ_RENAME_SYMBOLS" \
38+
..
39+
40+
make -j $NUMTHREADS
41+
cd ..

scripts/vagrant/packages.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ apt-get install -q -y git build-essential pkg-config cmake libgeos-dev rake \
1818
librsvg2-dev libpng12-dev libjpeg-dev libgif-dev \
1919
libfreetype6-dev libfcgi-dev libcurl4-gnutls-dev libcairo2-dev \
2020
libgdal1-dev libfribidi-dev libexempi-dev \
21-
libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler libharfbuzz-dev gdal-bin
21+
libprotobuf-dev libprotobuf-c0-dev protobuf-c-compiler libharfbuzz-dev gdal-bin \
22+
curl sqlite3

scripts/vagrant/proj6.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
set -eu
4+
5+
NUMTHREADS=$(nproc)
6+
export NUMTHREADS
7+
8+
cd /vagrant
9+
curl -s http://download.osgeo.org/proj/proj-6.1.1.tar.gz > proj-6.1.1.tar.gz
10+
tar xzf proj-6.1.1.tar.gz
11+
rm -rf vagrant-proj
12+
mv proj-6.1.1 vagrant-proj
13+
(cd vagrant-proj/data && curl -s http://download.osgeo.org/proj/proj-datumgrid-1.8.tar.gz > proj-datumgrid-1.8.tar.gz && tar xvzf proj-datumgrid-1.8.tar.gz)
14+
(cd vagrant-proj; CFLAGS='-DPROJ_RENAME_SYMBOLS -O2' CXXFLAGS='-DPROJ_RENAME_SYMBOLS -O2' ./configure --disable-static --prefix=/vagrant/install-vagrant-proj-6 && make -j $NUMTHREADS && make -j $NUMTHREADS install)

0 commit comments

Comments
 (0)