summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-geosciences/mapserver/mapserver-4.10.0.ebuild')
-rw-r--r--sci-geosciences/mapserver/mapserver-4.10.0.ebuild298
1 files changed, 298 insertions, 0 deletions
diff --git a/sci-geosciences/mapserver/mapserver-4.10.0.ebuild b/sci-geosciences/mapserver/mapserver-4.10.0.ebuild
new file mode 100644
index 000000000000..ea6764c13d3c
--- /dev/null
+++ b/sci-geosciences/mapserver/mapserver-4.10.0.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-geosciences/mapserver/mapserver-4.10.0.ebuild,v 1.1 2006/11/25 03:39:43 djay Exp $
+
+PHP_EXT_NAME="php_mapscript php_proj"
+RUBY_OPTIONAL="yes"
+
+inherit eutils autotools distutils depend.php depend.apache webapp ruby java-pkg
+
+DESCRIPTION="OpenSource development environment for constructing spatially enabled Internet-web applications."
+
+HOMEPAGE="http://mapserver.gis.umn.edu/"
+
+SRC_URI="http://cvs.gis.umn.edu/dist/${P}.tar.gz"
+
+LICENSE="MIT"
+
+KEYWORDS="~x86"
+
+#I must check for mygis use flag availability
+#"mono"
+IUSE="xml pdf proj geos tiff gdal xpm threads postgis ming php python perl ruby tcl java"
+
+
+DEPEND="media-libs/libpng
+ media-libs/jpeg
+ >=media-libs/gd-2.0.12
+ media-libs/freetype
+ sys-libs/zlib
+ net-www/apache
+ geos? ( sci-libs/geos )
+ proj? ( sci-libs/proj net-misc/curl )
+ xml? ( dev-libs/libxml2 )
+ gdal? ( sci-libs/gdal )
+ postgis? ( dev-db/postgis )
+ tiff? ( media-libs/tiff sci-libs/libgeotiff )
+ xpm? ( x11-libs/libXpm )
+ ming? ( media-libs/ming )
+ pdf? ( media-libs/pdflib )
+ php? ( dev-lang/php dev-lang/swig )
+ ruby? ( dev-lang/ruby dev-lang/swig )
+ perl? ( dev-perl/DBI dev-lang/swig )
+ python? ( dev-lang/python dev-lang/swig )
+ java? ( =virtual/jdk-1.4* dev-java/java-config dev-lang/swig )
+ tcl? ( dev-lang/tcl dev-lang/swig )"
+
+WEBAPP_MANUAL_SLOT=yes
+
+want_apache
+
+cd_script() {
+ einfo "$2 the mapserver $1-mapscript"
+ cd "${S}"/mapscript/$1 || die "Unable to go into $1 mapscript dir"
+}
+
+pkg_setup(){
+ webapp_pkg_setup
+ if use php; then
+ # check how many versions of php was installed
+ has_php
+ np=0
+ if has_version '=dev-lang/php-5*'; then
+ np="$(expr ${np} + 1)"
+ fi
+ if has_version '=dev-lang/php-4*' ; then
+ np="$(expr ${np} + 1)"
+ fi
+ toD="$(if [ ${np} -gt 1 ]; then echo s; fi)"
+ einfo "Using ${np} PHP version${toD}"
+ fi
+}
+
+src_unpack() {
+ unpack "${A}"
+ cd "${S}"
+
+ local MY_PUSE,MY_GPUSE
+ MY_PUSE="wmsserver wmsclient"
+ MY_GPUSE="wfs wcs wmsclient wfsclient"
+
+ if (use tcl); then
+ epatch "${FILESDIR}"/${PN}_tcl.patch
+ fi
+
+ if (use php); then
+ if [ ${np} -eq 2 ]; then
+ mkdir ./mapscript/php4
+ cp -r ./mapscript/php3 ./mapscript/php5 ||\
+ die "Unable to copy php mapscript directory"
+ epatch "${FILESDIR}"/${PF}_php.patch
+ fi
+ fi
+}
+
+src_compile() {
+ local step
+ step="Building"
+ cd "${S}"
+
+ AT_GNUCONF_UPDATE="no" eautoreconf
+
+ my_conf="--with-httpd=${APACHECTL/'ctl'/} --with-freetype"
+
+ if use geos; then
+ my_conf="${my_conf} --with-geos=$(which geos-config)"
+ fi
+
+ if (use gdal && use proj); then
+ my_conf="--with-ogr ${my_conf}";
+ for i in ${MY_GPUSE}; do
+ my_conf="${my_conf} --with-${i}"
+ done
+ fi
+
+ if (use proj); then
+ for i in ${MY_ProjUSE}; do
+ my_conf="${my_conf} --with-${i}"
+ done
+ if (use xml); then
+ my_conf="${my_conf} --with-sos"
+ fi
+ fi
+
+ if (use php); then
+ ewarn "You use ${np} version of php"
+ if [ ${np} -eq 2 ] ; then
+ for i in 4 5; do
+ uses_php${i}
+ my_conf="${my_conf} --with-php${i}=${PHPPREFIX}"
+ done
+ else
+ my_conf="${my_conf} --with-php=${PHPPREFIX}/include/php"
+ fi
+ fi
+
+ if (use perl || use python || use ruby || use tcl || use php) ; then
+ my_conf="${my_conf} --with-mapscript";
+ fi
+
+ cd "${S}"
+ econf $(use_with gdal)\
+ $(use_with perl)\
+ $(use_with python)\
+ $(use_with ruby)\
+ $(use_with tcl)\
+ $(use_with proj)\
+ $(use_with postgis)\
+ $(use_with tiff)\
+ $(use_with pdf)\
+ $(use_with ming)\
+ $(use_with java)\
+ ${my_conf}\
+ || die "econf failed"
+
+ make || die "make failed"
+
+ if (use php && use proj); then
+ if [ ${np} -eq 2 ]; then
+ cp *.so ../php4/ || die "Unable to copy php4 mapscript object files"
+ fi
+ fi
+
+ if use perl; then
+ cd_script perl ${step}
+ perl Makefile.PL || die "Unable to build perl mapscript"
+ emake || die "Unable to build perl mapscript"
+ fi
+
+ if use python; then
+ cd_script python ${step}
+ cp modern/* . || die "Unable to find necessairies files for python"
+ distutils_src_compile || die "Unable to build python mapscript"
+ fi
+
+ if use ruby; then
+ cd_script ruby ${step}
+ RUBY_ECONF="-I${D}"
+ ruby_econf
+ cp ../mapscript.i . || die "Unable to find mapscript.i"
+ sed -e "s:ruby.h defines.h::g" -i ./Makefile
+ ruby_emake
+ fi
+
+ if use tcl; then
+ cd_script tcl ${step}
+ sed "s:perlvars:mapscriptvars:" -i configure
+ sed -e "s:tail -:tail -n :g" -e "s:head -:head -n :g" -i configure ||\
+ die "Unable to modify the configure file"
+ econf --with-tcl=/usr || die "Unable to configure tcl mapscript"
+ touch tclmodule.i
+ sed -e "s:-DTCL_WIDE_INT_TYPE=long long:-DTCL_WIDE_INT_TYPE=long\\\ long:g" \
+ -i Makefile || die "Unable to modify Makefile"
+ emake || die "Unable to build tcl mapscript"
+ fi
+
+ if use java; then
+ cd_script java ${step}
+ emake interface || die "Unable to build java mapscript"
+ emake all || die "Unable to build java mapscript"
+ fi
+
+}
+
+
+mapscript_install_examples() {
+ einfo "$1-mapscript examples could be found in the following directory"
+ einfo "/usr/share/doc/${PF}/mapscript/examples/$1"
+ insinto /usr/share/doc/${PF}/mapscript/examples/$1/
+ doins examples/* || die "Unable to install specified sample data"
+}
+
+src_install() {
+ local step
+ step="Installing"
+ extra_dir="fonts tests tests/vera symbols"
+
+ dodir /usr /usr/bin
+
+ into /usr
+
+ if use php; then
+ if [ 2 -eq "${np}" ] ; then
+ for i in 4 5; do
+ cd_script php$i ${step}
+ uses_php$i
+ EXT_DIR="$(${PHPCONFIG} --extension-dir)"
+ dodir ${EXT_DIR}
+ cp *.so ${D}/${EXT_DIR} || \
+ die "Unable to setup php5 mapscript support"
+ done
+ else
+ cd_script php3 ${step}
+ EXT_DIR="$(${PHPCONFIG} --extension-dir)"
+ dodir ${EXT_DIR}
+ cp *.so ${D}/${EXT_DIR} || \
+ die "Unable to setup php4 mapscript support"
+ fi
+ mapscript_install_examples php
+ fi
+
+ if use ruby; then
+ cd_script ruby ${step}
+ ruby_einstall
+ mapscript_install_examples ruby
+ fi
+
+ if use perl; then
+ cd_script perl ${step}
+ make DESTDIR="${D}" install || \
+ die "Unable to setup perl mapscript support"
+ mapscript_install_examples perl
+ fi
+
+ if use tcl; then
+ cd_script tcl ${step}
+ sed "s:\$(TCL_EXEC_PREFIX):\$(DESTDIR)\$(TCL_EXEC_PREFIX):g" -i Makefile
+ make DESTDIR="${D}" install || \
+ die "Unable to setup tcl mapscript support"
+ mapscript_install_examples tcl
+ fi
+
+ if use python; then
+ cd_script python ${step}
+ distutils_src_install
+ mapscript_install_examples python
+ fi
+
+ if (use java); then
+ cd_script java ${step}
+ java-pkg_dojar mapscript.jar
+ java-pkg_doso libmapscript.so
+ mapscript_install_examples java
+ fi
+
+ cd "${S}"
+ into /usr
+
+ if use pdf; then
+ dobin "${S}"/shp2pdf || die "Unable to setup shp2pdf"
+ fi
+
+ dobin "${S}"/sortshp "${S}"/shp2img "${S}"/shptree "${S}"/shptreevis \
+ "${S}"/shptreetst "${S}"/legend "${S}"/scalebar "${S}"/tile4ms || \
+ die "Unable to setup mapserver tools"
+
+ dodoc INSTALL README HISTORY.TXT || \
+ die "Unable to setup documentation"
+
+ for i in ${extra_dir}; do
+ insinto /usr/share/doc/${PF}/$i
+ doins "${S}"/$i/* || die "Unable to add extra_dir to document tree"
+ done
+
+ webapp_src_preinst
+ chmod +x "${S}"/mapserv || die "Unable to find mapserv"
+ cp "${S}"/mapserv "${D}"/${MY_CGIBINDIR} || die "Unable to install mapserv"
+ webapp_src_install
+}