You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
222 lines
5.5 KiB
222 lines
5.5 KiB
# 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_COMPAT=( python2_7 )
|
|
|
|
#USE_RUBY="ruby18 ruby19"
|
|
#RUBY_OPTIONAL="yes"
|
|
|
|
WEBAPP_MANUAL_SLOT=yes
|
|
|
|
inherit eutils autotools depend.apache webapp distutils-r1 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 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-r1_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-r1_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_prerm() {
|
|
webapp_pkg_prerm
|
|
}
|