| # Copyright 1999-2015 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| PYTHON_COMPAT=( python2_7 ) |
| PYTHON_REQ_USE="sqlite" |
| |
| inherit eutils multilib gnome2-utils cmake-utils python-single-r1 |
| |
| DESCRIPTION="User friendly Geographic Information System" |
| HOMEPAGE="http://www.qgis.org/" |
| SRC_URI=" |
| http://qgis.org/downloads/qgis-${PV}.tar.bz2 |
| examples? ( http://download.osgeo.org/qgis/data/qgis_sample_data.tar.gz )" |
| |
| LICENSE="GPL-2" |
| SLOT="0" |
| KEYWORDS="~amd64 ~x86" |
| IUSE="examples grass gsl mapserver postgres python test" |
| |
| REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) |
| mapserver? ( python )" |
| |
| RDEPEND=" |
| ${PYTHON_DEPS} |
| dev-libs/expat |
| sci-geosciences/gpsbabel |
| >=sci-libs/gdal-1.6.1[geos,python?,${PYTHON_USEDEP}] |
| sci-libs/geos |
| gsl? ( sci-libs/gsl ) |
| sci-libs/libspatialindex |
| sci-libs/proj |
| dev-qt/qtcore:4 |
| dev-qt/qtgui:4 |
| dev-qt/qtsvg:4 |
| dev-qt/qtsql:4 |
| dev-qt/qtwebkit:4 |
| dev-qt/designer:4 |
| x11-libs/qscintilla |
| || ( |
| ( || ( <x11-libs/qwt-6.1.2:6[svg] >=x11-libs/qwt-6.1.2:6[svg,qt4] ) >=x11-libs/qwtpolar-1 ) |
| ( x11-libs/qwt:5[svg] <x11-libs/qwtpolar-1 ) |
| ) |
| grass? ( || ( >=sci-geosciences/grass-7.0.0 ) ) |
| mapserver? ( dev-libs/fcgi ) |
| postgres? ( dev-db/postgresql:* ) |
| python? ( |
| dev-python/PyQt4[X,sql,svg,webkit,${PYTHON_USEDEP}] |
| dev-python/sip[${PYTHON_USEDEP}] |
| dev-python/qscintilla-python[${PYTHON_USEDEP}] |
| postgres? ( dev-python/psycopg:2[${PYTHON_USEDEP}] ) |
| ${PYTHON_DEPS} |
| ) |
| dev-db/sqlite:3 |
| dev-db/spatialite |
| app-crypt/qca:2[qt4,openssl] |
| " |
| |
| DEPEND="${RDEPEND} |
| sys-devel/bison |
| sys-devel/flex" |
| |
| pkg_setup() { |
| python-single-r1_pkg_setup |
| } |
| |
| src_configure() { |
| local mycmakeargs=( |
| "-DQGIS_MANUAL_SUBDIR=/share/man/" |
| "-DBUILD_SHARED_LIBS=ON" |
| "-DQGIS_LIB_SUBDIR=$(get_libdir)" |
| "-DQGIS_PLUGIN_SUBDIR=$(get_libdir)/qgis" |
| "-DWITH_INTERNAL_QWTPOLAR=OFF" |
| "-DPEDANTIC=OFF" |
| "-DWITH_APIDOC=OFF" |
| "-DWITH_SPATIALITE=ON" |
| "-DWITH_INTERNAL_SPATIALITE=OFF" |
| $(cmake-utils_use_with postgres POSTGRESQL) |
| $(cmake-utils_use_with grass GRASS) |
| $(cmake-utils_use_with mapserver SERVER) |
| $(cmake-utils_use_with python BINDINGS) |
| $(cmake-utils_use python BINDINGS_GLOBAL_INSTALL) |
| $(cmake-utils_use_with python PYSPATIALITE) |
| $(cmake-utils_use_with gsl GSL) |
| $(cmake-utils_use_enable test TESTS) |
| $(usex grass "-DGRASS_PREFIX=/usr/" "") |
| ) |
| |
| if has_version '>=x11-libs/qwtpolar-1' && has_version 'x11-libs/qwt:5' ; then |
| elog "Both >=x11-libs/qwtpolar-1 and x11-libs/qwt:5 installed. Force build with qwt6" |
| if has_version '>=x11-libs/qwt-6.1.2' ; then |
| mycmakeargs+=( |
| "-DQWT_INCLUDE_DIR=/usr/include/qwt6" |
| "-DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6-qt4.so" |
| ) |
| else |
| mycmakeargs+=( |
| "-DQWT_INCLUDE_DIR=/usr/include/qwt6" |
| "-DQWT_LIBRARY=/usr/$(get_libdir)/libqwt6.so" |
| ) |
| fi |
| fi |
| |
| cmake-utils_src_configure |
| } |
| |
| src_install() { |
| cmake-utils_src_install |
| dodoc BUGS ChangeLog CODING |
| |
| newicon -s 128 images/icons/qgis-icon.png qgis.png |
| make_desktop_entry qgis "QGIS " qgis |
| |
| if use examples; then |
| insinto /usr/share/doc/${PF}/examples |
| doins -r "${WORKDIR}"/qgis_sample_data/* |
| fi |
| |
| python_optimize "${D}"/usr/share/qgis/python/plugins \ |
| "${D}"/$(python_get_sitedir)/qgis |
| |
| if use grass; then |
| python_fix_shebang "${D}"/usr/share/qgis/grass/scripts |
| python_optimize "${D}"/usr/share/qgis/grass/scripts |
| fi |
| } |
| |
| pkg_preinst() { |
| gnome2_icon_savelist |
| } |
| |
| pkg_postinst() { |
| if use postgres; then |
| elog "If you don't intend to use an external PostGIS server" |
| elog "you should install:" |
| elog " dev-db/postgis" |
| else |
| if use python ; then |
| elog "Support of PostgreSQL is disabled." |
| elog "But some installed python-plugins needs import psycopg2 module." |
| elog "If you do not need this modules just disable them in main menu." |
| elog "Or you need to set USE=postgres" |
| fi |
| fi |
| |
| gnome2_icon_cache_update |
| } |
| |
| pkg_postrm() { |
| gnome2_icon_cache_update |
| } |