app-crypt/qca: rename openssl USE flag -> ssl
[gentoo.git] / sci-geosciences / qgis / qgis-2.14.5.ebuild
1 # Copyright 1999-2016 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI="6"
6
7 PYTHON_COMPAT=( python2_7 )
8 PYTHON_REQ_USE="sqlite"
9
10 inherit eutils gnome2-utils cmake-utils python-single-r1
11
12 DESCRIPTION="User friendly Geographic Information System"
13 HOMEPAGE="http://www.qgis.org/"
14 SRC_URI="
15         http://qgis.org/downloads/qgis-${PV}.tar.bz2
16         examples? ( http://download.osgeo.org/qgis/data/qgis_sample_data.tar.gz )"
17
18 LICENSE="GPL-2+ GPL-3+"
19 SLOT="0"
20 KEYWORDS="~amd64 ~x86"
21 IUSE="examples grass gsl mapserver oracle postgres python"
22
23 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
24                 mapserver? ( python )"
25
26 RDEPEND="
27         ${PYTHON_DEPS}
28         dev-libs/expat
29         sci-geosciences/gpsbabel
30         >=sci-libs/gdal-1.6.1:=[geos,python?,${PYTHON_USEDEP}]
31         sci-libs/geos
32         gsl? ( sci-libs/gsl:= )
33         sci-libs/libspatialindex:=
34         sci-libs/proj
35         dev-qt/designer:4
36         dev-qt/qtcore:4
37         dev-qt/qtgui:4
38         dev-qt/qtscript:4
39         dev-qt/qtsvg:4
40         dev-qt/qtsql:4
41         dev-qt/qtwebkit:4
42         x11-libs/qscintilla:=
43         || (
44                 ( || ( <x11-libs/qwt-6.1.2:6[svg] >=x11-libs/qwt-6.1.2:6[svg,qt4] ) >=x11-libs/qwtpolar-1 )
45                 ( x11-libs/qwt:5[svg] <x11-libs/qwtpolar-1 )
46         )
47         grass? ( || ( >=sci-geosciences/grass-7.0.0:= ) )
48         mapserver? ( dev-libs/fcgi )
49         oracle? ( dev-db/oracle-instantclient:= )
50         postgres? ( dev-db/postgresql:= )
51         python? (
52                 dev-python/PyQt4[X,sql,svg,webkit,${PYTHON_USEDEP}]
53                 dev-python/sip[${PYTHON_USEDEP}]
54                 dev-python/qscintilla-python[${PYTHON_USEDEP}]
55                 dev-python/python-dateutil[${PYTHON_USEDEP}]
56                 dev-python/httplib2[${PYTHON_USEDEP}]
57                 dev-python/jinja[${PYTHON_USEDEP}]
58                 dev-python/markupsafe[${PYTHON_USEDEP}]
59                 dev-python/pygments[${PYTHON_USEDEP}]
60                 dev-python/pytz[${PYTHON_USEDEP}]
61                 dev-python/six[${PYTHON_USEDEP}]
62                 postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] )
63                 ${PYTHON_DEPS}
64         )
65         dev-db/sqlite:3
66         dev-db/spatialite
67         app-crypt/qca:2[qt4,ssl]
68 "
69
70 DEPEND="${RDEPEND}
71         sys-devel/bison
72         sys-devel/flex"
73
74 DOCS=( BUGS ChangeLog NEWS )
75
76 # Disabling test suite because upstream disallow running from install path
77 RESTRICT="test"
78
79 pkg_setup() {
80         python-single-r1_pkg_setup
81 }
82
83 src_configure() {
84         local mycmakeargs=(
85                 "-DQGIS_MANUAL_SUBDIR=/share/man/"
86                 "-DBUILD_SHARED_LIBS=ON"
87                 "-DQGIS_LIB_SUBDIR=$(get_libdir)"
88                 "-DQGIS_PLUGIN_SUBDIR=$(get_libdir)/qgis"
89                 "-DWITH_INTERNAL_DATEUTIL=OFF"
90                 "-DWITH_INTERNAL_HTTPLIB2=OFF"
91                 "-DWITH_INTERNAL_JINJA2=OFF"
92                 "-DWITH_INTERNAL_MARKUPSAFE=OFF"
93                 "-DWITH_INTERNAL_PYGMENTS=OFF"
94                 "-DWITH_INTERNAL_PYTZ=OFF"
95                 "-DWITH_INTERNAL_QWTPOLAR=OFF"
96                 "-DWITH_INTERNAL_SIX=OFF"
97                 "-DPEDANTIC=OFF"
98                 "-DWITH_APIDOC=OFF"
99                 "-DWITH_SPATIALITE=ON"
100                 "-DWITH_INTERNAL_SPATIALITE=OFF"
101                 -DENABLE_TESTS=no
102                 -DWITH_BINDINGS="$(usex python)"
103                 -DWITH_BINDINGS_GLOBAL_INSTALL="$(usex python)"
104                 -DWITH_GRASS="$(usex grass)"
105                 $(usex grass "-DGRASS_PREFIX=/usr/" "")
106                 -DWITH_GSL="$(usex gsl)"
107                 -DWITH_ORACLE="$(usex oracle)"
108                 -DWITH_POSTGRESQL="$(usex postgres)"
109                 -DWITH_PYSPATIALITE="$(usex python)"
110                 -DWITH_SERVER="$(usex mapserver)"
111         )
112
113         if has_version '>=x11-libs/qwtpolar-1' &&  has_version 'x11-libs/qwt:5' ; then
114                 elog "Both >=x11-libs/qwtpolar-1 and x11-libs/qwt:5 installed. Force build with qwt6"
115                 if has_version '>=x11-libs/qwt-6.1.2' ; then
116                         mycmakeargs+=(
117                                 "-DQWT_INCLUDE_DIR=/usr/include/qwt6"
118                                 "-DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6-qt4.so"
119                         )
120                 else
121                         mycmakeargs+=(
122                                 "-DQWT_INCLUDE_DIR=/usr/include/qwt6"
123                                 "-DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6.so"
124                         )
125                 fi
126         fi
127
128         cmake-utils_src_configure
129 }
130
131 src_install() {
132         cmake-utils_src_install
133
134         newicon -s 128 images/icons/qgis-icon.png qgis.png
135         make_desktop_entry qgis "QGIS " qgis
136
137         if use examples; then
138                 insinto /usr/share/doc/${PF}/examples
139                 doins -r "${WORKDIR}"/qgis_sample_data/*
140         fi
141
142         python_optimize "${D}"/usr/share/qgis/python \
143                 "${D}"/$(python_get_sitedir)/qgis \
144                 "${D}"/$(python_get_sitedir)/pyspatialite
145
146         if use grass; then
147                 python_fix_shebang "${D}"/usr/share/qgis/grass/scripts
148                 python_optimize "${D}"/usr/share/qgis/grass/scripts
149         fi
150 }
151
152 pkg_preinst() {
153         gnome2_icon_savelist
154 }
155
156 pkg_postinst() {
157         if use postgres; then
158                 elog "If you don't intend to use an external PostGIS server"
159                 elog "you should install:"
160                 elog "   dev-db/postgis"
161         else
162                 if use python ; then
163                         elog "Support of PostgreSQL is disabled."
164                         elog "But some installed python-plugins needs import psycopg2 module."
165                         elog "If you do not need this modules just disable them in main menu."
166                         elog "Or you need to set USE=postgres"
167                 fi
168         fi
169
170         gnome2_icon_cache_update
171 }
172
173 pkg_postrm() {
174         gnome2_icon_cache_update
175 }