diff options
Diffstat (limited to 'sci-geosciences/mapserver/mapserver-6.0.1-r2.ebuild')
-rw-r--r-- | sci-geosciences/mapserver/mapserver-6.0.1-r2.ebuild | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/sci-geosciences/mapserver/mapserver-6.0.1-r2.ebuild b/sci-geosciences/mapserver/mapserver-6.0.1-r2.ebuild new file mode 100644 index 000000000000..6766c1d2e838 --- /dev/null +++ b/sci-geosciences/mapserver/mapserver-6.0.1-r2.ebuild @@ -0,0 +1,234 @@ +# Copyright 1999-2015 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-4 php5-5" + +PYTHON_DEPEND="python? 2" +SUPPORT_PYTHON_ABIS="1" +RESTRICT_PYTHON_ABIS="3.* *-jython" +PYTHON_MODNAME="mapscript.py" + +#USE_RUBY="ruby18 ruby19" +#RUBY_OPTIONAL="yes" + +WEBAPP_MANUAL_SLOT=yes + +inherit eutils autotools depend.apache webapp distutils perl-module php-ext-source-r2 multilib # ruby-ng + +DESCRIPTION="OpenSource development environment for constructing spatially enabled Internet-web applications" +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-4 php_targets_php5-5 ) )" + +RDEPEND=" + !${CATEGORY}/${PN}:${PV} + 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 ) + 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] ) +" +for i in perl python; do + SWIG_DEPEND+=" ${i}? ( >=dev-lang/swig-2.0 )" +done +DEPEND="${RDEPEND} ${SWIG_DEPEND}" +unset SWIG_DEPEND +unset i + +need_apache2 + +S=${WORKDIR}/${MY_P} + +_enter_build_dir() { + [[ -z ${1} ]] && die "Missing path argument" + local workdir=${1} + shift + [[ -z ${1} ]] && die "missing command argument" + + echo ">>> Running \"${@}\" in work directory \"${workdir}\"" + pushd "${workdir}" > /dev/null || die "Failed to enter directory" + ${@} || die + popd > /dev/null +} + +each_ruby_configure() { ${RUBY} extconf.rb || die ; } + +ext-source-r2_src_install() { + local slot + for slot in $(php_get_slots); do + php_init_slot_env ${slot} + insinto "${EXT_DIR}" + newins "${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so" || die "Unable to install extension" + done + php-ext-source-r2_createinifiles +} + +pkg_setup() { + webapp_pkg_setup + use perl && perl_set_version + use python && python_pkg_setup + #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 + for slot in $(php_get_slots); do + rm -rf "${WORKDIR}/${slot}" || die + ln -s "${PHP_EXT_S}" "${WORKDIR}/${slot}" || die + done +} + +src_prepare() { + epatch "${FILESDIR}/6.0.0_rc1-ldflags.patch" \ + "${FILESDIR}/6.0.0_rc1-bool.patch" \ + "${FILESDIR}/6.0.0_rc1-php_ldflags.patch" \ + "${FILESDIR}/6.1.0-php-5.4.patch" + + eautoreconf +} + +src_configure() { + local myopts + + if use gdal && use proj ; then + myopts+=" + --with-wfs + --with-wcs + --with-wfsclient + --with-wmsclient + " + use xml && myopts+=" --with-sos" + fi + + # some scripts require configure time options so place it here + if use php ; then + use php_targets_php5-4 && myopts+=" --with-php=${EPREFIX}/usr/$(get_libdir)/php5.4/include/php/" + use php_targets_php5-5 && myopts+=" --with-php=${EPREFIX}/usr/$(get_libdir)/php5.5/include/php/" + fi + + # sde is ESRI package that you have to buy first + # oraclespatial needs oracle server for testing/usage + # note that some options accept just path, they are not on/off switches! + econf \ + --without-oraclespatial \ + --without-sde \ + --with-libiconv \ + --with-jpeg \ + --with-gd \ + --with-gif="${EPREFIX}/usr/" \ + --with-wms \ + --with-kml \ + --with-curl-config \ + --with-agg-svg-symbols \ + --with-httpd="${APACHE_BIN}" \ + --with-fastcgi \ + $(use_with opengl ogl) \ + $(use_with opengl ftgl) \ + $(use_with proj) \ + $(use_with threads) \ + $(use_with geos) \ + $(use_with gdal) \ + $(use_with gdal ogr) \ + $(use_with postgis) \ + $(use_with mysql) \ + $(use_with xml xml2-config) \ + $(use_with xslt) \ + $(use_with xslt xml-mapfile) \ + $(use_with bidi fribidi-config) \ + $(use_with cairo) \ + ${myopts} + + #use ruby && _enter_build_dir "${S}/mapscript/ruby" "ln -s ../mapscript.i ./" + #use ruby && _enter_build_dir "${S}/mapscript/ruby" "ruby-ng_src_configure" +} + +src_compile() { + default + use python && _enter_build_dir "${S}/mapscript/python" "distutils_src_compile" + use perl && _enter_build_dir "${S}/mapscript/perl" "perl-module_src_prep" + use perl && _enter_build_dir "${S}/mapscript/perl" "perl-module_src_compile" + #use php && php-ext-source-r2_src_compile # already compiled by the emake all + #use ruby && _enter_build_dir "${S}/mapscript/ruby" "ruby-ng_src_compile" +} + +src_install() { + local step="Installing" + local extra_dir="fonts tests tests/vera symbols" + local i + + dobin shp2img legend shptree shptreevis shp2img legend shptreetst scalebar \ + sortshp tile4ms msencrypt mapserver-config + + dodoc INSTALL README HISTORY.TXT + + for i in ${extra_dir}; do + docinto /usr/share/doc/${PF}/${i} + dodoc -r ${i}/* || die + done + + use python && _enter_build_dir "${S}/mapscript/python" "distutils_src_install" + use perl && _enter_build_dir "${S}/mapscript/perl" "perl-module_src_install" + use perl && _enter_build_dir "${S}/mapscript/perl" "perl_delete_localpod" + use php && ext-source-r2_src_install + #use ruby && _enter_build_dir "${S}/mapscript/ruby" "ruby-ng_src_install" + + webapp_src_preinst + exeinto "${MY_CGIBINDIR}" + doexe "${S}/mapserv" + webapp_src_install +} + +pkg_preinst() { + use perl && perl_set_version +} + +pkg_postinst() { + webapp_pkg_postinst + use python && distutils_pkg_postinst +} + +pkg_prerm() { + webapp_pkg_prerm +} + +pkg_postrm() { + use python && distutils_pkg_postrm +} |