mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
sci-libs/gdal: fix compilation with >=app-text/poppler-0.64.0
Closes: https://bugs.gentoo.org/656252 Closes: https://github.com/gentoo/gentoo/pull/8895 Package-Manager: Portage-2.3.40, Repoman-2.3.9
This commit is contained in:
committed by
Amy Liffey
parent
256c75221f
commit
d2fd2e5c98
11
sci-libs/gdal/files/gdal-2.2.3-goocast.patch
Normal file
11
sci-libs/gdal/files/gdal-2.2.3-goocast.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/frmts/pdf/pdfobject.cpp 2018-05-29 11:23:00.980957371 +0300
|
||||
+++ b/frmts/pdf/pdfobject.cpp 2018-05-29 11:23:44.378955265 +0300
|
||||
@@ -1055,7 +1055,7 @@
|
||||
{
|
||||
if (GetType() == PDFObjectType_String)
|
||||
{
|
||||
- GooString* gooString = m_po->getString();
|
||||
+ GooString* gooString =(GooString*) m_po->getString();
|
||||
return (osStr = GDALPDFGetUTF8StringFromBytes(reinterpret_cast<const GByte*>(gooString->getCString()),
|
||||
static_cast<int>(gooString->getLength())));
|
||||
}
|
||||
291
sci-libs/gdal/gdal-2.2.3-r2.ebuild
Normal file
291
sci-libs/gdal/gdal-2.2.3-r2.ebuild
Normal file
@@ -0,0 +1,291 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
GENTOO_DEPEND_ON_PERL="no"
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit autotools perl-module distutils-r1 toolchain-funcs flag-o-matic java-pkg-opt-2
|
||||
|
||||
DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
|
||||
HOMEPAGE="http://www.gdal.org/"
|
||||
SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
SLOT="0/2.2"
|
||||
LICENSE="BSD Info-ZIP MIT"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl oracle pdf perl png postgres python spatialite sqlite threads webp xls"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/expat
|
||||
dev-libs/json-c:=
|
||||
dev-libs/libpcre
|
||||
dev-libs/libxml2:=
|
||||
media-libs/tiff:0=
|
||||
sci-libs/libgeotiff
|
||||
sys-libs/zlib:=[minizip(+)]
|
||||
armadillo? ( sci-libs/armadillo:=[lapack] )
|
||||
curl? ( net-misc/curl )
|
||||
fits? ( sci-libs/cfitsio:= )
|
||||
geos? ( >=sci-libs/geos-2.2.1 )
|
||||
gif? ( media-libs/giflib:= )
|
||||
gml? ( >=dev-libs/xerces-c-3.1 )
|
||||
hdf5? ( >=sci-libs/hdf5-1.6.4:=[szip] )
|
||||
jpeg? ( virtual/jpeg:0 )
|
||||
jpeg2k? ( media-libs/openjpeg:2= )
|
||||
mdb? ( dev-java/jackcess:1 )
|
||||
mysql? ( virtual/mysql )
|
||||
netcdf? ( sci-libs/netcdf:= )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
ogdi? ( sci-libs/ogdi )
|
||||
opencl? ( virtual/opencl )
|
||||
oracle? ( dev-db/oracle-instantclient:= )
|
||||
pdf? ( >=app-text/poppler-0.24.3:= )
|
||||
perl? ( dev-lang/perl:= )
|
||||
png? ( media-libs/libpng:0= )
|
||||
postgres? ( >=dev-db/postgresql-8.4:= )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/numpy[${PYTHON_USEDEP}]
|
||||
)
|
||||
spatialite? ( dev-db/spatialite )
|
||||
sqlite? ( dev-db/sqlite:3 )
|
||||
webp? ( media-libs/libwebp:= )
|
||||
xls? ( dev-libs/freexl )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
java? ( >=virtual/jre-1.7:* )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-shells/bash-completion
|
||||
doc? ( app-doc/doxygen )
|
||||
java? ( >=virtual/jdk-1.7:* )
|
||||
perl? ( dev-lang/swig:0 )
|
||||
python? (
|
||||
dev-lang/swig:0
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
mdb? ( java )
|
||||
python? ( ${PYTHON_REQUIRED_USE} )
|
||||
spatialite? ( sqlite )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-soname.patch"
|
||||
"${FILESDIR}/${P}-json-c-0.13.patch" # bug 641658
|
||||
"${FILESDIR}/${P}-bashcomp-path.patch" # bug 641866
|
||||
"${FILESDIR}/${P}-goocast.patch" # bug 656252
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# fix datadir and docdir placement
|
||||
sed -e "s:@datadir@:@datadir@/gdal:" \
|
||||
-e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
|
||||
-i "${S}"/GDALmake.opt.in || die
|
||||
|
||||
# the second sed expression should fix bug 371075
|
||||
sed -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
|
||||
-e "s:--prefix=\$(DESTDIR):--prefix=:" \
|
||||
-i "${S}"/swig/python/GNUmakefile || die
|
||||
|
||||
# Fix spatialite/sqlite include issue
|
||||
sed -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
|
||||
-i ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
|
||||
|
||||
# Fix freexl configure check
|
||||
sed -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
|
||||
-i configure.ac || die
|
||||
|
||||
sed -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
|
||||
-i configure.ac || die
|
||||
|
||||
sed -e 's:^ar:$(AR):g' \
|
||||
-i ogr/ogrsf_frmts/sdts/install-libs.sh || die
|
||||
|
||||
# updated for newer swig (must specify the path to input files)
|
||||
sed -e "s: gdal_array.i: ../include/gdal_array.i:" \
|
||||
-e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
|
||||
-i swig/python/GNUmakefile || die "sed python makefile failed"
|
||||
sed -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
|
||||
-i swig/python/setup.cfg || die "sed python setup.cfg failed"
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# bug 619148
|
||||
append-cxxflags -std=c++14
|
||||
|
||||
tc-export AR RANLIB
|
||||
local myopts=()
|
||||
|
||||
if use java; then
|
||||
myopts+=(
|
||||
--with-java=$(java-config --jdk-home 2>/dev/null)
|
||||
--with-jvm-lib=dlopen
|
||||
$(use_with mdb)
|
||||
)
|
||||
else
|
||||
myopts+=( --without-java --without-mdb )
|
||||
fi
|
||||
|
||||
if use sqlite; then
|
||||
append-libs -lsqlite3
|
||||
fi
|
||||
|
||||
# pcidsk is internal, because there is no such library yet released
|
||||
# also that thing is developed by the gdal people
|
||||
# kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
|
||||
# bsb - legal issues
|
||||
# ingres - same story as oracle oci
|
||||
# jasper - disabled because unmaintained and vulnerable; openjpeg will be used as JPEG-2000 provider instead
|
||||
# podofo - we use poppler instead they are exclusive for each other
|
||||
# tiff is a hard dep
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--includedir="${EPREFIX}/usr/include/${PN}" \
|
||||
--disable-pdf-plugin \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--with-expat \
|
||||
--with-geotiff \
|
||||
--with-grib \
|
||||
--with-hide-internal-symbols \
|
||||
--with-libjson-c="${EPREFIX}/usr/" \
|
||||
--with-libtiff \
|
||||
--with-libtool \
|
||||
--with-libz="${EPREFIX}/usr/" \
|
||||
--with-gnm \
|
||||
--with-cryptopp=no \
|
||||
--without-bsb \
|
||||
--without-dods-root \
|
||||
--without-ecw \
|
||||
--without-epsilon \
|
||||
--without-fme \
|
||||
--without-grass \
|
||||
--without-hdf4 \
|
||||
--without-idb \
|
||||
--without-ingres \
|
||||
--without-jasper \
|
||||
--without-jp2mrsid \
|
||||
--without-kakadu \
|
||||
--without-mrsid \
|
||||
--without-msg \
|
||||
--without-mrf \
|
||||
--without-pcraster \
|
||||
--without-pdfium \
|
||||
--without-sde \
|
||||
--without-sosi \
|
||||
--without-mongocxx \
|
||||
--without-podofo \
|
||||
--disable-lto \
|
||||
$(use_enable debug) \
|
||||
$(use_with armadillo) \
|
||||
$(use_with aux_xml pam) \
|
||||
$(use_with curl) \
|
||||
$(use_with fits cfitsio) \
|
||||
$(use_with geos) \
|
||||
$(use_with gif) \
|
||||
$(use_with gml xerces) \
|
||||
$(use_with hdf5) \
|
||||
$(use_with jpeg pcidsk) \
|
||||
$(use_with jpeg) \
|
||||
$(use_with jpeg2k openjpeg) \
|
||||
$(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
|
||||
$(use_with netcdf) \
|
||||
$(use_with oracle oci) \
|
||||
$(use_with odbc) \
|
||||
$(use_with ogdi ogdi "${EPREFIX}"/usr) \
|
||||
$(use_with opencl) \
|
||||
$(use_with perl) \
|
||||
$(use_with png) \
|
||||
$(use_with pdf poppler) \
|
||||
$(use_with postgres pg) \
|
||||
$(use_with python) \
|
||||
$(use_with spatialite) \
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
|
||||
$(use_with threads) \
|
||||
$(use_with webp) \
|
||||
$(use_with xls freexl) \
|
||||
${myopts}
|
||||
|
||||
# mysql-config puts this in (and boy is it a PITA to get it out)
|
||||
if use mysql; then
|
||||
sed -e "s: -rdynamic : :" \
|
||||
-i GDALmake.opt || die "sed LIBS failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl; then
|
||||
rm "${S}"/swig/perl/*_wrap.cpp || die
|
||||
emake -C "${S}"/swig/perl generate
|
||||
fi
|
||||
|
||||
# gdal-config needed before generating Python bindings
|
||||
default
|
||||
|
||||
if use perl ; then
|
||||
pushd "${S}"/swig/perl > /dev/null || die
|
||||
perl-module_src_configure
|
||||
perl-module_src_compile
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
rm -f "${S}"/swig/python/*_wrap.cpp || die
|
||||
emake -C "${S}"/swig/python generate
|
||||
pushd "${S}"/swig/python > /dev/null || die
|
||||
distutils-r1_src_compile
|
||||
popd > /dev/null || die
|
||||
fi
|
||||
|
||||
use doc && emake docs
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use perl ; then
|
||||
pushd "${S}"/swig/perl > /dev/null || die
|
||||
perl-module_src_install
|
||||
popd > /dev/null || die
|
||||
sed -e 's:BINDINGS = \(.*\) perl:BINDINGS = \1:g' \
|
||||
-i GDALmake.opt || die
|
||||
fi
|
||||
|
||||
use perl && perl_delete_localpod
|
||||
|
||||
local DOCS=( Doxyfile HOWTO-RELEASE NEWS )
|
||||
use doc && HTML_DOCS=( html/. )
|
||||
|
||||
default
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
python_doscript scripts/*.py
|
||||
}
|
||||
|
||||
if use python; then
|
||||
# Don't clash with gdal's docs
|
||||
unset DOCS HTML_DOCS
|
||||
|
||||
pushd "${S}"/swig/python > /dev/null || die
|
||||
distutils-r1_src_install
|
||||
popd > /dev/null || die
|
||||
|
||||
newdoc swig/python/README.txt README-python.txt
|
||||
|
||||
insinto /usr/share/${PN}/samples
|
||||
doins -r swig/python/samples/
|
||||
fi
|
||||
|
||||
doman "${S}"/man/man*/*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Check available image and data formats after building with"
|
||||
elog "gdalinfo and ogrinfo (using the --formats switch)."
|
||||
}
|
||||
Reference in New Issue
Block a user