From a31ba8aaeb7c57619348a9a417e61240ff0ebc22 Mon Sep 17 00:00:00 2001 From: Micha Glave Date: Tue, 22 Oct 2019 12:53:56 +0200 Subject: [PATCH] mapserver 7.4.2 with fastcgi --- sci-geosciences/mapserver/Manifest | 3 + .../mapserver-7.0.0-no-applicable-code.patch | 34 +++ .../mapserver/mapserver-7.4.2.ebuild | 219 ++++++++++++++++++ 3 files changed, 256 insertions(+) create mode 100644 sci-geosciences/mapserver/Manifest create mode 100644 sci-geosciences/mapserver/files/mapserver-7.0.0-no-applicable-code.patch create mode 100644 sci-geosciences/mapserver/mapserver-7.4.2.ebuild diff --git a/sci-geosciences/mapserver/Manifest b/sci-geosciences/mapserver/Manifest new file mode 100644 index 0000000..9734bc4 --- /dev/null +++ b/sci-geosciences/mapserver/Manifest @@ -0,0 +1,3 @@ +AUX mapserver-7.0.0-no-applicable-code.patch 812 BLAKE2B b3946628fc518dd37111e6f2293391fb6ddca7ba7ceb019a764c528d3c6e450e3ef5941fa2201995b40efe39e63c78c14a4e321f49f96c811541a99e90e83a71 SHA512 dab7c98095791b369c52d10e6737ac65f60ff7e02b8fcb5bceb2440025fa0552a936a16593aaa66b35434db0659184b667cc54962274510b062690029778a44c +DIST mapserver-7.4.2.tar.gz 2688497 BLAKE2B 36c13931c19546495ca9bb78c19a926a41c1b8405bbc4b48afebb817ee104a262f1a18c915f3dfd6251b46c399827de583d18c9583f76fd060c27aaee53ced9a SHA512 b1de8849f710c57fa3c48b42138ac0528b9b37a9f45df2ed86c85c6ae434073f7c6b584d16283b8a03a9ca18d4592366b02f4fafced9d3bda35fe672fffdfbf4 +EBUILD mapserver-7.4.2.ebuild 4992 BLAKE2B 3b5318b5862b82cfb1e232f3e98995b2da993587de120e30830bf2988b3764f6e70541847a35ce1fd1bbbc5e5b9ccd7724095726906b0751782be5ef1dbdb696 SHA512 af8ffa363cae5ac8b63cd5fa51499f4cec0a65b05fb535e36003bbca5f4efac6cafb71c97bb19ae03807e00048dcdbb9468a35f182758be769cfb759bb69f941 diff --git a/sci-geosciences/mapserver/files/mapserver-7.0.0-no-applicable-code.patch b/sci-geosciences/mapserver/files/mapserver-7.0.0-no-applicable-code.patch new file mode 100644 index 0000000..f438bec --- /dev/null +++ b/sci-geosciences/mapserver/files/mapserver-7.0.0-no-applicable-code.patch @@ -0,0 +1,34 @@ +diff --git a/mapwfs11.c b/mapwfs11.c +index 20ab164..4dc15fc 100755 +--- a/mapwfs11.c ++++ b/mapwfs11.c +@@ -29,12 +29,12 @@ + + #include "mapserver.h" + #include "mapows.h" ++#include "mapowscommon.h" + + + + #if defined(USE_WFS_SVR) && defined(USE_LIBXML2) + #include "maplibxml2.h" +-#include "mapowscommon.h" + #include "mapogcfilter.h" + + /************************************************************************/ +diff --git a/mapwfs20.c b/mapwfs20.c +index 710d444..cf69ee3 100755 +--- a/mapwfs20.c ++++ b/mapwfs20.c +@@ -29,10 +29,10 @@ + + #include "mapserver.h" + #include "mapows.h" ++#include "mapowscommon.h" + + #if defined(USE_WFS_SVR) && defined(USE_LIBXML2) + #include "maplibxml2.h" +-#include "mapowscommon.h" + #include "mapogcfilter.h" + + #define MS_OWS_11_NAMESPACE_PREFIX MS_OWSCOMMON_OWS_NAMESPACE_PREFIX diff --git a/sci-geosciences/mapserver/mapserver-7.4.2.ebuild b/sci-geosciences/mapserver/mapserver-7.4.2.ebuild new file mode 100644 index 0000000..100ef05 --- /dev/null +++ b/sci-geosciences/mapserver/mapserver-7.4.2.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +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 +WEBAPP_OPTIONAL=yes + +inherit cmake-utils depend.apache distutils-r1 eutils flag-o-matic multilib perl-module php-ext-source-r3 webapp # ruby-ng + +DESCRIPTION="Development environment for building spatially enabled webapps" +HOMEPAGE="https://mapserver.org/" +SRC_URI="https://download.osgeo.org/mapserver/${MY_P}.tar.gz" + +LICENSE="MIT" +KEYWORDS="~amd64 ~x86" +SLOT="0" +# force default gdal and proj if not cause compilation problem +IUSE="apache bidi cairo fastcgi +gdal geos mysql opengl oracle perl php postgis +proj python svg threads tiff xml xslt" # ruby php tcl + +REQUIRED_USE=" + php? ( php_targets_php5-6 ) + xslt? ( xml )" + +RDEPEND=" + dev-libs/expat + >=media-libs/gd-2.0.12[truetype,jpeg,png,zlib] + media-libs/giflib + net-misc/curl + virtual/jpeg:= + virtual/libiconv + x11-libs/agg + fastcgi? ( dev-libs/fcgi ) + apache? ( app-admin/webapp-config ) + bidi? ( dev-libs/fribidi + media-libs/harfbuzz ) + cairo? ( x11-libs/cairo ) + gdal? ( + sci-libs/gdal:=[oracle?] + dev-libs/protobuf-c + ) + geos? ( sci-libs/geos ) + mysql? ( virtual/mysql ) + opengl? ( + media-libs/ftgl + media-libs/mesa[X(+)] + ) + oracle? ( + dev-db/oracle-instantclient:= + ) + 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 )" + +want_apache2 apache + +PATCHES=( + "${FILESDIR}/${PN}-7.0.0-no-applicable-code.patch" +) + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + if use apache ; then + webapp_pkg_setup + fi + use perl && perl_set_version + #use ruby && ruby-ng_pkg_setup +} + +src_unpack() { + default + # HACK: Make symlinks for php targets + local slot + for slot in $(php_get_slots); do + 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 + + # For enable compilation with proj-6 + if use proj ; then + append-cppflags -DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1 + fi + + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + "-DCMAKE_SKIP_RPATH=ON" + "-DWITH_SDE=OFF" + "-DWITH_ICONV=ON" + "-DWITH_GD=ON" + "-DWITH_GIF=ON" + "-DWITH_CURL=ON" + "-DINSTALL_LIB_DIR=${ROOT}usr/$(get_libdir)" + "-DWITH_APACHE_MODULE=$(usex apache ON OFF)" + "-DWITH_PROJ=$(usex proj ON OFF)" + "-DWITH_WMS=$(usex proj ON OFF)" + "-DWITH_KML=$(usex xml ON OFF)" + "-DWITH_FCGI=$(usex fastcgi ON OFF)" + "-DWITH_GEOS=$(usex geos ON OFF)" + "-DWITH_GDAL=$(usex gdal ON OFF)" + "-DWITH_OGR=$(usex gdal ON OFF)" + "-DWITH_ORACLESPATIAL=$(usex oracle 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_SVGCAIRO=$(usex svg OFF ON)" + "-DWITH_RSVG=$(usex svg ON OFF)" + "-DWITH_PHP=$(usex php ON OFF)" + "-DWITH_PYTHON=$(usex python ON OFF)" + "-DWITH_PERL=$(usex perl ON OFF)" + "-DWITH_PROTOBUFC=$(usex gdal 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() { + if use apache ; then + webapp_src_preinst + fi + + cmake-utils_src_install + + if use php ; then + php-ext-source-r3_createinifiles + fi + + if use apache ; then + webapp_src_install + fi +} + +pkg_postinst() { + if use apache ; then + webapp_pkg_postinst + fi +} + +pkg_prerm() { + if use apache ; then + webapp_pkg_prerm + fi +}