summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-geosciences/mapserver/mapserver-7.0.3.ebuild')
-rw-r--r--sci-geosciences/mapserver/mapserver-7.0.3.ebuild195
1 files changed, 195 insertions, 0 deletions
diff --git a/sci-geosciences/mapserver/mapserver-7.0.3.ebuild b/sci-geosciences/mapserver/mapserver-7.0.3.ebuild
new file mode 100644
index 000000000000..4010edaf3c93
--- /dev/null
+++ b/sci-geosciences/mapserver/mapserver-7.0.3.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MY_P="${PN}-${PV/_/-}"
+
+PHP_EXT_OPTIONAL_USE="php"
+PHP_EXT_NAME="php_mapscript"
+PHP_EXT_S="${WORKDIR}/${MY_P}/mapscript/php/"
+PHP_EXT_SKIP_PHPIZE="no"
+USE_PHP="php5-6"
+
+PYTHON_COMPAT=( python2_7 )
+
+#USE_RUBY="ruby18 ruby19"
+#RUBY_OPTIONAL="yes"
+
+WEBAPP_MANUAL_SLOT=yes
+
+inherit eutils depend.apache webapp distutils-r1 flag-o-matic perl-module php-ext-source-r2 multilib cmake-utils # ruby-ng
+
+DESCRIPTION="Development environment for building spatially enabled webapps"
+HOMEPAGE="http://mapserver.org/"
+SRC_URI="http://download.osgeo.org/mapserver/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="bidi cairo gdal geos mysql opengl perl php postgis proj python threads tiff xml xslt" # ruby php tcl
+
+REQUIRED_USE="php? ( php_targets_php5-6 )
+ xslt? ( xml )"
+
+RDEPEND="
+ dev-libs/expat
+ dev-libs/fcgi
+ >=media-libs/gd-2.0.12[truetype,jpeg,png,zlib]
+ media-libs/giflib
+ net-misc/curl
+ virtual/jpeg:=
+ virtual/libiconv
+ x11-libs/agg
+ bidi? ( dev-libs/fribidi
+ media-libs/harfbuzz )
+ cairo? ( x11-libs/cairo )
+ gdal? ( >=sci-libs/gdal-1.8.0 )
+ geos? ( sci-libs/geos )
+ mysql? ( virtual/mysql )
+ opengl? (
+ media-libs/ftgl
+ media-libs/mesa
+ )
+ perl? ( dev-lang/perl:= )
+ postgis? ( dev-db/postgis )
+ proj? ( sci-libs/proj net-misc/curl )
+ tiff? (
+ media-libs/tiff:=
+ sci-libs/libgeotiff
+ )
+ xml? ( dev-libs/libxml2:2 )
+ xslt? ( dev-libs/libxslt[crypt] )
+"
+DEPEND="${RDEPEND}
+ perl? ( >=dev-lang/swig-2.0 )
+ python? ( >=dev-lang/swig-2.0 )"
+
+need_apache2
+
+PATCHES=(
+ "${FILESDIR}/${PN}-7.0.0-sec-format.patch" # see https://github.com/mapserver/mapserver/pull/5248
+ "${FILESDIR}/${PN}-7.0.0-no-applicable-code.patch"
+)
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ webapp_pkg_setup
+ use perl && perl_set_version
+ #use ruby && ruby-ng_pkg_setup
+}
+
+src_unpack() {
+ # unpack A and then copy the php thingies into workdir/php-slot
+ php-ext-source-r2_src_unpack
+ # HACK: and then remove it and replace by symlink
+ local slot
+ for slot in $(php_get_slots); do
+ rm -rf "${WORKDIR}/${slot}" || die
+ ln -s "${PHP_EXT_S}" "${WORKDIR}/${slot}" || die
+ done
+}
+
+src_prepare() {
+ local glibdir="${EPREFIX}/usr/include/glib-2.0"
+ local usrglibdir="${EPREFIX}/usr/$(get_libdir)/glib-2.0/include"
+
+ sed -e "s:^include_directories(:&${glibdir})\ninclude_directories(:" \
+ -i "${S}/CMakeLists.txt" || die
+ sed -e "s:include_directories(:&${usrglibdir})\ninclude_directories(:" \
+ -i "${S}/CMakeLists.txt" || die
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ "-DCMAKE_SKIP_RPATH=ON"
+ "-DWITH_ORACLESPATIAL=OFF"
+ "-DWITH_SDE=OFF"
+ "-DWITH_APACHE_MODULE=ON"
+ "-DWITH_ICONV=ON"
+ "-DWITH_GD=ON"
+ "-DWITH_GIF=ON"
+ "-DWITH_CURL=ON"
+ "-DWITH_FCGI=ON"
+ "-DINSTALL_LIB_DIR=${ROOT}usr/$(get_libdir)"
+ "-DWITH_PROJ=$(usex proj ON OFF)"
+ "-DWITH_WMS=$(usex proj ON OFF)"
+ "-DWITH_KML=$(usex xml ON OFF)"
+ "-DWITH_GEOS=$(usex geos ON OFF)"
+ "-DWITH_GDAL=$(usex gdal ON OFF)"
+ "-DWITH_OGR=$(usex gdal ON OFF)"
+ "-DWITH_POSTGIS=$(usex postgis ON OFF)"
+ "-DWITH_MYSQL=$(usex mysql ON OFF)"
+ "-DWITH_LIBXML2=$(usex xml ON OFF)"
+ "-DWITH_XMLMAPFILE=$(usex xslt ON OFF)"
+ "-DWITH_FRIBIDI=$(usex bidi ON OFF)"
+ "-DWITH_HARFBUZZ=$(usex bidi ON OFF)"
+ "-DWITH_CAIRO=$(usex cairo ON OFF)"
+ "-DWITH_PHP=$(usex php ON OFF)"
+ "-DWITH_PYTHON=$(usex python ON OFF)"
+ "-DWITH_PERL=$(usex perl ON OFF)"
+ )
+
+ if use gdal && use proj ; then
+ mycmakeargs+=( "-DWITH_WFS=ON"
+ "-DWITH_WCS=ON"
+ "-DWITH_CLIENT_WMS=ON"
+ "-DWITH_CLIENT_WFS=ON"
+ "-DWITH_SOS=$(usex xml ON OFF)"
+ )
+ else
+ mycmakeargs+=( "-DWITH_WFS=OFF"
+ "-DWITH_WCS=OFF"
+ "-DWITH_CLIENT_WMS=OFF"
+ "-DWITH_CLIENT_WFS=OFF"
+ "-DWITH_SOS=OFF"
+ )
+ fi
+
+ if use php ; then
+ local slot
+ for slot in $(php_get_slots); do
+ local php_config="${EPREFIX}/usr/$(get_libdir)/${slot}/bin/php-config"
+ [[ -x ${php_config} ]] \
+ || die "php-config '${php_config}' not valid or not executable"
+
+ local php_include_dir=$(${php_config} --include-dir)
+ [[ -d ${php_include_dir} ]] || die "PHP Include dir not found or not valid"
+
+ mycmakeargs+=(
+ -DPHP5_CONFIG_EXECUTABLE="${php_config}"
+ -DPHP5_INCLUDES="${php_include_dir}"
+ )
+ done
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use php ; then
+ php-ext-source-r2_createinifiles
+ fi
+ webapp_src_preinst
+ exeinto "${MY_CGIBINDIR}"
+ doexe "${S}_build/mapserv"
+ webapp_src_install
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+}
+
+pkg_prerm() {
+ webapp_pkg_prerm
+}