1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
8 PHP_EXT_OPTIONAL_USE="php"
9 PHP_EXT_NAME="php_mapscript"
10 PHP_EXT_S="${WORKDIR}/${MY_P}/mapscript/php/"
11 PHP_EXT_SKIP_PHPIZE="no"
14 PYTHON_COMPAT=( python2_7 )
16 #USE_RUBY="ruby18 ruby19"
19 WEBAPP_MANUAL_SLOT=yes
21 inherit eutils depend.apache webapp distutils-r1 flag-o-matic perl-module php-ext-source-r3 multilib cmake-utils # ruby-ng
23 DESCRIPTION="Development environment for building spatially enabled webapps"
24 HOMEPAGE="https://mapserver.org/"
25 SRC_URI="https://download.osgeo.org/mapserver/${MY_P}.tar.gz"
28 KEYWORDS="~amd64 ~x86"
30 IUSE="bidi cairo gdal geos mysql opengl perl php postgis proj python threads tiff xml xslt" # ruby php tcl
33 php? ( php_targets_php5-6 )
39 >=media-libs/gd-2.0.12[truetype,jpeg,png,zlib]
45 bidi? ( dev-libs/fribidi
47 cairo? ( x11-libs/cairo )
48 gdal? ( >=sci-libs/gdal-1.8.0 )
49 geos? ( sci-libs/geos )
50 mysql? ( virtual/mysql )
55 perl? ( dev-lang/perl:= )
56 postgis? ( dev-db/postgis )
57 proj? ( sci-libs/proj net-misc/curl )
62 xml? ( dev-libs/libxml2:2 )
63 xslt? ( dev-libs/libxslt[crypt] )
66 perl? ( >=dev-lang/swig-2.0 )
67 python? ( >=dev-lang/swig-2.0 )"
72 "${FILESDIR}/${PN}-7.0.0-sec-format.patch" # see https://github.com/mapserver/mapserver/pull/5248
73 "${FILESDIR}/${PN}-7.0.0-no-applicable-code.patch"
74 "${FILESDIR}/${P}-missing-macro.patch"
81 use perl && perl_set_version
82 #use ruby && ruby-ng_pkg_setup
87 # HACK: Make symlinks for php targets
89 for slot in $(php_get_slots); do
90 ln -s "${PHP_EXT_S}" "${WORKDIR}/${slot}" || die
95 local glibdir="${EPREFIX}/usr/include/glib-2.0"
96 local usrglibdir="${EPREFIX}/usr/$(get_libdir)/glib-2.0/include"
98 sed -e "s:^include_directories(:&${glibdir})\ninclude_directories(:" \
99 -i "${S}/CMakeLists.txt" || die
100 sed -e "s:include_directories(:&${usrglibdir})\ninclude_directories(:" \
101 -i "${S}/CMakeLists.txt" || die
103 cmake-utils_src_prepare
108 "-DCMAKE_SKIP_RPATH=ON"
109 "-DWITH_ORACLESPATIAL=OFF"
111 "-DWITH_APACHE_MODULE=ON"
117 "-DINSTALL_LIB_DIR=${ROOT}usr/$(get_libdir)"
118 "-DWITH_PROJ=$(usex proj ON OFF)"
119 "-DWITH_WMS=$(usex proj ON OFF)"
120 "-DWITH_KML=$(usex xml ON OFF)"
121 "-DWITH_GEOS=$(usex geos ON OFF)"
122 "-DWITH_GDAL=$(usex gdal ON OFF)"
123 "-DWITH_OGR=$(usex gdal ON OFF)"
124 "-DWITH_POSTGIS=$(usex postgis ON OFF)"
125 "-DWITH_MYSQL=$(usex mysql ON OFF)"
126 "-DWITH_LIBXML2=$(usex xml ON OFF)"
127 "-DWITH_XMLMAPFILE=$(usex xslt ON OFF)"
128 "-DWITH_FRIBIDI=$(usex bidi ON OFF)"
129 "-DWITH_HARFBUZZ=$(usex bidi ON OFF)"
130 "-DWITH_CAIRO=$(usex cairo ON OFF)"
131 "-DWITH_PHP=$(usex php ON OFF)"
132 "-DWITH_PYTHON=$(usex python ON OFF)"
133 "-DWITH_PERL=$(usex perl ON OFF)"
136 if use gdal && use proj ; then
137 mycmakeargs+=( "-DWITH_WFS=ON"
139 "-DWITH_CLIENT_WMS=ON"
140 "-DWITH_CLIENT_WFS=ON"
141 "-DWITH_SOS=$(usex xml ON OFF)"
144 mycmakeargs+=( "-DWITH_WFS=OFF"
146 "-DWITH_CLIENT_WMS=OFF"
147 "-DWITH_CLIENT_WFS=OFF"
154 for slot in $(php_get_slots); do
155 local php_config="${EPREFIX}/usr/$(get_libdir)/${slot}/bin/php-config"
156 [[ -x ${php_config} ]] \
157 || die "php-config '${php_config}' not valid or not executable"
159 local php_include_dir=$(${php_config} --include-dir)
160 [[ -d ${php_include_dir} ]] || die "PHP Include dir not found or not valid"
163 -DPHP5_CONFIG_EXECUTABLE="${php_config}"
164 -DPHP5_INCLUDES="${php_include_dir}"
169 cmake-utils_src_configure
173 cmake-utils_src_compile
177 cmake-utils_src_install
180 php-ext-source-r3_createinifiles
183 exeinto "${MY_CGIBINDIR}"
184 doexe "${S}_build/mapserv"