1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# Maintainer: Erich Eckner <arch at eckner dot net>
# Contributor: gaelic
pkgname=qgis-git
_pkgname=qgis
pkgver=3.0.0.r47282.8f9a378d76
_pkgver=${pkgver%.*.*}
_commit=${pkgver##*.}
pkgrel=1
pkgdesc='Geographic Information System (GIS) that supports vector, raster & database formats - Development master'
url='http://qgis.org/'
license=('GPL')
arch=('i686' 'x86_64')
depends=('qt5-tools' 'qt5-script' 'qtkeychain' 'qca-qt5' 'qt5-webkit' 'proj' 'geos' 'sqlite' 'python-gdal' 'python-owslib' 'python-future' 'python-sip' 'python-psycopg2' 'python-yaml' 'python-numpy' 'python-jinja' 'python-pygments' 'qwtpolar' 'expat' 'python-qscintilla-qt5' 'spatialindex' 'gsl' 'libzip')
makedepends=('git' 'cmake' 'txt2tags' 'libglvnd')
optdepends=('grass: for GRASS providers and plugin (6 or 7)'
# 'gsl: for georeferencer'
'postgresql: for postgis and SPIT support'
'gpsbabel: for gps plugin'
'fcgi: for qgis mapserver'
'ocilib: oracle provider')
#install="$_pkgname.install"
source=("${_pkgname}::git://github.com/qgis/QGIS.git#commit=$_commit")
sha512sums=('SKIP')
conflicts=('qgis')
provides=('qgis')
pkgver(){
cd "$_pkgname"
printf '%s.r%s.%s' \
"$(
git archive ${_commit} -- debian/changelog | \
tar -Ox | \
sed -n '
s/^\s*\* Release of \(\S\+\)\s*$/\1/
T
p
' | \
sort -V | \
tail -n1
)" \
"$(
git rev-list --count ${_commit}
)" \
"$(
git rev-parse --short ${_commit}
)"
}
prepare() {
cd $_pkgname
# Fix desktop file for /usr/bin/qgis-github
sed -e 's/\/usr\/bin\/qgis/\/usr\/bin\/qgis-git/g' \
-e 's/Icon=qgis/Icon=qgis-git/g' \
-i debian/qgis.desktop
# Remove mime types already defined by freedesktop.org
sed -e '/type="image\/tiff"/,/<\/mime-type>/d' \
-e '/type="image\/jpeg"/,/<\/mime-type>/d' \
-e '/type="image\/jp2"/,/<\/mime-type>/d' \
-e '/type="application\/x-adobe-mif"/,/<\/mime-type>/d' \
-i debian/qgis.xml
[[ -d build ]] || mkdir build
}
build() {
cd $_pkgname/build
cmake -G "Unix Makefiles" ../ \
-DCMAKE_INSTALL_PREFIX=/opt/$pkgname \
-DQGIS_MANUAL_SUBDIR=share/man \
-DENABLE_TESTS=FALSE \
-DWITH_INTERNAL_QWTPOLAR=FALSE \
-DWITH_INTERNAL_{HTTPLIB2,JINJA2,MARKUPSAFE,OWSLIB,PYGMENTS,DATEUTIL,PYTZ,YAML,NOSE2,SIX,FUTURE}=FALSE \
-DWITH_GEOREFERENCER=TRUE
# -DWITH_SERVER=TRUE \
# -DWITH_GLOBE=TRUE
make
}
package() {
cd $_pkgname/build
# Add optional deps based on selected or autodetected options
[[ -n "$(sed -n '/^GRASS_PREFIX:/ s/.*=//p' CMakeCache.txt)" ]] && optdepends+=('grass6: GRASS6 plugin')
[[ -n "$(sed -n '/^GRASS_PREFIX7:/ s/.*=//p' CMakeCache.txt)" ]] && optdepends+=('grass: GRASS7 plugin')
[[ "$(sed -n '/^WITH_SERVER:/ s/.*=//p' CMakeCache.txt)" == "TRUE" ]] && optdepends+=('fcgi: Map Server')
[[ "$(sed -n '/^WITH_GLOBE:/ s/.*=//p' CMakeCache.txt)" == "TRUE" ]] && optdepends+=('osgearth: Globe plugin')
make DESTDIR="$pkgdir" install
cd "$srcdir/$_pkgname"
install -d -m755 $pkgdir/usr/bin
ln -s /opt/$pkgname/bin/qgis "$pkgdir/usr/bin/qgis-git"
# install desktop files and icons
install -Dm644 debian/qgis.desktop -t "$pkgdir/usr/share/applications/"
for resolution in `ls /usr/share/icons/hicolor/|egrep '[0-9]'`; do
if [ -e debian/icons/qgis-icon{$resolution}.png ]
then
install -Dm644 debian/icons/qgis-icon${resolution}.png "$pkgdir/usr/share/icons/hicolor/${resolution}/apps/$pkgname.png"
fi
done
install -Dm644 images/icons/qgis_icon.svg "$pkgdir/usr/share/icons/hicolor/scalable/apps/$pkgname.svg"
# install mime information and icon
install -Dm644 debian/qgis.xml "$pkgdir/usr/share/mime/packages/qgis.xml"
for resolution in `ls /usr/share/icons/hicolor/|egrep '[0-9]'`; do
if [ -e debian/icons/qgis-mime-icon{$resolution}.png ]
then
install -Dm644 debian/icons/qgis-mime-icon${resolution}.png "$pkgdir/usr/share/icons/hicolor/${resolution}/mimetypes/qgis-mime.png"
fi
done
install -Dm644 images/icons/qgis_mime_icon.svg "$pkgdir/usr/share/icons/hicolor/scalable/mimetypes/qgis-mime.svg"
for type in qgs qlr qml qpt; do
for resolution in `ls /usr/share/icons/hicolor/|egrep '[0-9]'`; do
if [ -e debian/icons/qgis-${type}${resolution}.png ]
then
install -Dm644 debian/icons/qgis-${type}${resolution}.png "$pkgdir/usr/share/icons/hicolor/${resolution}/mimetypes/qgis-$type.png"
fi
done
done
for type in asc ddf dem dt0 dxf gml img mime mldata qgs qlr qml qpt shp sqlite; do
install -Dm644 images/icons/qgis_${type}_icon.svg "$pkgdir/usr/share/icons/hicolor/scalable/mimetypes/qgis-$type.svg"
done
# compile python files, since the cmake option doesn't seem to account for DESTDIR
python -m compileall -q "$pkgdir"
# link libraries
install -d -m755 "${pkgdir}"/etc/ld.so.conf.d/
echo '/opt/qgis-git/lib' > "${pkgdir}"/etc/ld.so.conf.d/qgis-git.conf
}
|