Gentoo Archives: gentoo-commits

From: Sebastien Fabbro <bicatali@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] dev/bicatali:master commit in: sci-libs/gdal/files/, sci-libs/gdal/
Date: Mon, 23 Nov 2015 23:09:48
Message-Id: 1447977303.0f5ce17af2a51ffe31b5e83603400d5f55c5cd7c.bicatali@gentoo
1 commit: 0f5ce17af2a51ffe31b5e83603400d5f55c5cd7c
2 Author: S├ębastien Fabbro <bicatali <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 19 23:55:03 2015 +0000
4 Commit: Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 19 23:55:03 2015 +0000
6 URL: https://gitweb.gentoo.org/dev/bicatali.git/commit/?id=0f5ce17a
7
8 sci-libs/gdal: version bump, fixing swig dependencies
9
10 Package-Manager: portage-2.2.25
11
12 sci-libs/gdal/Manifest | 1 +
13 sci-libs/gdal/files/gdal-1.5.0-install_name.patch | 45 +++
14 sci-libs/gdal/files/gdal-1.5.0-soname.patch | 13 +
15 sci-libs/gdal/gdal-2.0.1.ebuild | 317 ++++++++++++++++++++++
16 sci-libs/gdal/metadata.xml | 23 ++
17 5 files changed, 399 insertions(+)
18
19 diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
20 new file mode 100644
21 index 0000000..cb64ac2
22 --- /dev/null
23 +++ b/sci-libs/gdal/Manifest
24 @@ -0,0 +1 @@
25 +DIST gdal-2.0.1.tar.gz 11592723 SHA256 b55f794768e104a2fd0304eaa61bb8bda3dc7c4e14f2c9d0913baca3e55b83ab SHA512 b3b22e53b6e4b68911d84260d79ed382625f9d71722759a89f49fdd736d1f1ad183bda99e0f09d3f368fead89b509df58daa35a367473dfd5628855d331efa23 WHIRLPOOL 1b1218d5d6c84e41051475c38b412ebb49511c4a1ae948f56edb5939d9eb9599546b9bd89a3cb6b2517d205723201e77bde64955bb3eb0b5bccfda799d5bffe3
26
27 diff --git a/sci-libs/gdal/files/gdal-1.5.0-install_name.patch b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
28 new file mode 100644
29 index 0000000..e175752
30 --- /dev/null
31 +++ b/sci-libs/gdal/files/gdal-1.5.0-install_name.patch
32 @@ -0,0 +1,45 @@
33 +--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
34 ++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
35 +@@ -97,6 +97,10 @@
36 + GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT)
37 + GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal
38 +
39 ++# for building without libtool
40 ++GDAL_SLIB_SO_VER = $(GDAL_VERSION_MAJOR).$(LIBGDAL_CURRENT).$(LIBGDAL_REVISION)
41 ++GDAL_SLIB_SONAME = -install_name $(INST_LIB)/libgdal.$(GDAL_VERSION_MAJOR).$(SO_EXT)
42 ++
43 + # Mac OS X Framework definition
44 + MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
45 +
46 +--- GNUmakefile.orig 2010-03-09 14:03:08 +0100
47 ++++ GNUmakefile 2010-03-09 14:05:29 +0100
48 +@@ -218,7 +218,7 @@
49 +
50 + ifeq ($(HAVE_LD_SHARED),yes)
51 +
52 +-GDAL_SLIB_B = $(notdir $(GDAL_SLIB))
53 ++GDAL_SLIB_B = libgdal
54 +
55 + install-lib:
56 +
57 +@@ -226,14 +226,14 @@
58 + ifeq ($(MACOSX_FRAMEWORK),yes)
59 + $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/GDAL
60 + else
61 +- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B)
62 +- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR)
63 +- rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
64 +- $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER)
65 ++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).dylib
66 ++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib
67 ++ rm -f $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
68 ++ $(INSTALL_LIB) $(GDAL_SLIB) $(DESTDIR)$(INST_LIB)/$(GDAL_SLIB_B).$(GDAL_VER).dylib
69 + (cd $(DESTDIR)$(INST_LIB) ; \
70 +- ln -s $(GDAL_SLIB_B).$(GDAL_VER) $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR))
71 ++ ln -s $(GDAL_SLIB_B).$(GDAL_VER).dylib $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib)
72 + (cd $(DESTDIR)$(INST_LIB) ; \
73 +- ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR) $(GDAL_SLIB_B))
74 ++ ln -s $(GDAL_SLIB_B).$(GDAL_VERSION_MAJOR).dylib $(GDAL_SLIB_B).dylib)
75 + endif
76 +
77 + else
78
79 diff --git a/sci-libs/gdal/files/gdal-1.5.0-soname.patch b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
80 new file mode 100644
81 index 0000000..f784536
82 --- /dev/null
83 +++ b/sci-libs/gdal/files/gdal-1.5.0-soname.patch
84 @@ -0,0 +1,13 @@
85 +--- GDALmake.opt.in.orig 2008-02-02 18:25:48.000000000 -0800
86 ++++ GDALmake.opt.in 2008-02-02 18:54:53.000000000 -0800
87 +@@ -97,6 +97,10 @@
88 + GDAL_SLIB = $(GDAL_ROOT)/libgdal.$(SO_EXT)
89 + GDAL_SLIB_LINK = -L$(GDAL_ROOT) -lgdal
90 +
91 ++# for building without libtool
92 ++GDAL_SLIB_SO_VER = $(GDAL_VERSION_MAJOR).$(LIBGDAL_CURRENT).$(LIBGDAL_REVISION)
93 ++GDAL_SLIB_SONAME = -Wl,-soname,libgdal.$(SO_EXT).$(GDAL_VERSION_MAJOR)
94 ++
95 + # Mac OS X Framework definition
96 + MACOSX_FRAMEWORK = @MACOSX_FRAMEWORK@
97 +
98
99 diff --git a/sci-libs/gdal/gdal-2.0.1.ebuild b/sci-libs/gdal/gdal-2.0.1.ebuild
100 new file mode 100644
101 index 0000000..9503bee
102 --- /dev/null
103 +++ b/sci-libs/gdal/gdal-2.0.1.ebuild
104 @@ -0,0 +1,317 @@
105 +# Copyright 1999-2015 Gentoo Foundation
106 +# Distributed under the terms of the GNU General Public License v2
107 +# $Id$
108 +
109 +EAPI=5
110 +
111 +WANT_AUTOCONF="2.5"
112 +
113 +GENTOO_DEPEND_ON_PERL="no"
114 +PYTHON_COMPAT=( python2_7 python3_{3,4} )
115 +DISTUTILS_OPTIONAL=1
116 +
117 +inherit autotools eutils libtool perl-module distutils-r1 python-r1 toolchain-funcs java-pkg-opt-2
118 +
119 +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
120 +HOMEPAGE="http://www.gdal.org/"
121 +SRC_URI="http://download.osgeo.org/${PN}/${PV}/${P}.tar.gz"
122 +
123 +SLOT="0"
124 +LICENSE="MIT"
125 +KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
126 +IUSE="armadillo +aux_xml curl debug doc fits geos gif gml hdf5 java jpeg jpeg2k mdb mysql netcdf odbc ogdi opencl pdf perl png postgres python spatialite sqlite threads xls"
127 +
128 +RDEPEND="
129 + dev-libs/expat
130 + dev-libs/json-c
131 + dev-libs/libpcre
132 + dev-libs/libxml2
133 + media-libs/tiff:0=
134 + sci-libs/libgeotiff
135 + sys-libs/zlib[minizip(+)]
136 + armadillo? ( sci-libs/armadillo[lapack] )
137 + curl? ( net-misc/curl )
138 + fits? ( sci-libs/cfitsio )
139 + geos? ( >=sci-libs/geos-2.2.1 )
140 + gif? ( media-libs/giflib )
141 + gml? ( >=dev-libs/xerces-c-3 )
142 + hdf5? ( >=sci-libs/hdf5-1.6.4[szip] )
143 + java? ( >=virtual/jre-1.6:* )
144 + jpeg? ( virtual/jpeg:0= )
145 + jpeg2k? ( media-libs/jasper )
146 + mysql? ( virtual/mysql )
147 + netcdf? ( sci-libs/netcdf )
148 + odbc? ( dev-db/unixODBC )
149 + ogdi? ( sci-libs/ogdi )
150 + opencl? ( virtual/opencl )
151 + pdf? ( >=app-text/poppler-0.24.3:= )
152 + perl? ( dev-lang/perl:= )
153 + png? ( media-libs/libpng:0= )
154 + postgres? ( >=dev-db/postgresql-8.4:= )
155 + python? (
156 + ${PYTHON_DEPS}
157 + dev-python/setuptools[${PYTHON_USEDEP}]
158 + dev-python/numpy[${PYTHON_USEDEP}]
159 + )
160 + sqlite? ( dev-db/sqlite:3 )
161 + spatialite? ( dev-db/spatialite )
162 + xls? ( dev-libs/freexl )
163 +"
164 +
165 +SWIG_DEP=">=dev-lang/swig-2.0.2"
166 +
167 +DEPEND="${RDEPEND}
168 + doc? ( app-doc/doxygen )
169 + java? ( >=virtual/jdk-1.6 )
170 + perl? ( ${SWIG_DEP} )
171 + python? ( ${SWIG_DEP} )"
172 +
173 +AT_M4DIR="${S}/m4"
174 +MAKEOPTS+=" -j1"
175 +
176 +REQUIRED_USE="
177 + spatialite? ( sqlite )
178 + mdb? ( java )
179 +"
180 +
181 +pkg_setup() {
182 + java-pkg-opt-2_pkg_setup
183 +}
184 +
185 +src_prepare() {
186 + java-pkg-opt-2_src_prepare
187 +
188 + # fix datadir and docdir placement
189 + sed -i \
190 + -e "s:@datadir@:@datadir@/gdal:" \
191 + -e "s:@exec_prefix@/doc:@exec_prefix@/share/doc/${PF}/html:g" \
192 + "${S}"/GDALmake.opt.in || die
193 +
194 + # the second sed expression should fix bug 371075
195 + sed -i \
196 + -e "s:setup.py install:setup.py install --root=\$(DESTDIR):" \
197 + -e "s:--prefix=\$(DESTDIR):--prefix=:" \
198 + "${S}"/swig/python/GNUmakefile || die
199 +
200 + # -soname is only accepted by GNU ld/ELF
201 + [[ ${CHOST} == *-darwin* ]] \
202 + && epatch "${FILESDIR}"/${PN}-1.5.0-install_name.patch \
203 + || epatch "${FILESDIR}"/${PN}-1.5.0-soname.patch
204 +
205 + # Fix spatialite/sqlite include issue
206 + sed -i \
207 + -e 's:spatialite/sqlite3.h:sqlite3.h:g' \
208 + ogr/ogrsf_frmts/sqlite/ogr_sqlite.h || die
209 +
210 + # Fix freexl configure check
211 + sed -i \
212 + -e 's:FREEXL_LIBS=missing):FREEXL_LIBS=missing,-lm):g' \
213 + configure.in || die
214 +
215 + sed \
216 + -e "s: /usr/: \"${EPREFIX}\"/usr/:g" \
217 + -i configure.in || die
218 +
219 + sed \
220 + -e 's:^ar:$(AR):g' \
221 + -i ogr/ogrsf_frmts/sdts/install-libs.sh || die
222 +
223 + tc-export AR RANLIB
224 +
225 + eautoreconf
226 +
227 + prepare_python() {
228 + mkdir -p "${BUILD_DIR}" || die
229 + find "${S}" -type d -maxdepth 1 -exec ln -s {} "${BUILD_DIR}"/ \; ||die
230 + find "${S}" -type f -maxdepth 1 -exec cp --target="${BUILD_DIR}"/ {} + ||die
231 +# mkdir -p "${BUILD_DIR}"/swig/python || die
232 +# mkdir -p "${BUILD_DIR}"/apps || die
233 +# cp -dpR --target="${BUILD_DIR}"/swig/ \
234 +# "${S}"/swig/{python,SWIGmake.base,GNUmakefile} || die
235 +# ln -s "${S}"/swig/include "${BUILD_DIR}"/swig/ || die
236 +# ln -s "${S}"/apps/gdal-config "${BUILD_DIR}"/apps/ || die
237 +# ln -s "${S}"/port "${BUILD_DIR}"/ || die
238 + }
239 + if use python; then
240 + python_foreach_impl prepare_python
241 + fi
242 +}
243 +
244 +gdal_src_configure() {
245 + local myopts=""
246 +
247 + if use java; then
248 + myopts+="
249 + --with-java=$(java-config --jdk-home 2>/dev/null)
250 + $(use_with mdb)"
251 + else
252 + myopts+=" --without-java --without-mdb"
253 + use mdb && ewarn "mdb requires java use enabled. disabling"
254 + fi
255 +
256 + if use sqlite; then
257 + myopts+=" LIBS=-lsqlite3"
258 + fi
259 +
260 + # pcidsk is internal, because there is no such library yet released
261 + # also that thing is developed by the gdal people
262 + # kakadu, mrsid jp2mrsid - another jpeg2k stuff, ignore
263 + # bsb - legal issues
264 + # oracle - disabled, i dont have and can't test
265 + # ingres - same story as oracle oci
266 + # podofo - we use poppler instead they are exclusive for each other
267 + # tiff is a hard dep
268 + ECONF_SOURCE="${S}" econf \
269 + --includedir="${EPREFIX}/usr/include/${PN}" \
270 + --disable-static \
271 + --enable-shared \
272 + --with-expat \
273 + --with-geotiff \
274 + --with-grib \
275 + --with-libtiff \
276 + --with-libz="${EPREFIX}/usr/" \
277 + --with-ogr \
278 + --without-bsb \
279 + --without-dods-root \
280 + --without-dwgdirect \
281 + --without-epsilon \
282 + --without-fme \
283 + --without-grass \
284 + --without-hdf4 \
285 + --without-idb \
286 + --without-ingres \
287 + --without-jp2mrsid \
288 + --without-kakadu \
289 + --without-libtool \
290 + --without-mrsid \
291 + --without-msg \
292 + --without-oci \
293 + --without-pcraster \
294 + --without-podofo \
295 + --without-sde \
296 + $(use_enable debug) \
297 + $(use_with armadillo) \
298 + $(use_with aux_xml pam) \
299 + $(use_with curl) \
300 + --without-ecw \
301 + $(use_with fits cfitsio) \
302 + $(use_with geos) \
303 + $(use_with gif) \
304 + $(use_with gml xerces) \
305 + $(use_with hdf5) \
306 + $(use_with jpeg pcidsk) \
307 + $(use_with jpeg) \
308 + $(use_with jpeg2k jasper) \
309 + $(use_with mysql mysql "${EPREFIX}"/usr/bin/mysql_config) \
310 + $(use_with netcdf) \
311 + $(use_with odbc) \
312 + $(use_with ogdi ogdi "${EPREFIX}"/usr) \
313 + $(use_with opencl) \
314 + $(use_with pdf poppler) \
315 + $(use_with perl) \
316 + $(use_with png) \
317 + $(use_with postgres pg) \
318 + $(use_with python) \
319 + $(use_with spatialite) \
320 + $(use_with sqlite sqlite3 "${EPREFIX}"/usr) \
321 + $(use_with threads) \
322 + $(use_with xls freexl) \
323 + ${myopts}
324 +
325 + # mysql-config puts this in (and boy is it a PITA to get it out)
326 + if use mysql; then
327 + sed -i \
328 + -e "s: -rdynamic : :" \
329 + GDALmake.opt || die "sed LIBS failed"
330 + fi
331 +
332 + if [[ -n $use_python ]]; then
333 + # updated for newer swig (must specify the path to input files)
334 + sed -i \
335 + -e "s: gdal_array.i: ../include/gdal_array.i:" \
336 + -e "s:\$(DESTDIR)\$(prefix):\$(DESTDIR)\$(INST_PREFIX):g" \
337 + swig/python/GNUmakefile || die "sed python makefile failed"
338 + sed -i \
339 + -e "s:library_dirs = :library_dirs = /usr/$(get_libdir):g" \
340 + swig/python/setup.cfg || die "sed python setup.cfg failed"
341 +# -e "s:gdal_config=.*$:gdal_config=../../../apps/gdal-config:g" \
342 + fi
343 +}
344 +
345 +src_configure() {
346 + local use_python=""
347 +
348 + gdal_src_configure
349 +
350 + if use python; then
351 + use_python="yes"
352 + python_foreach_impl run_in_build_dir gdal_src_configure
353 + fi
354 +}
355 +
356 +src_compile() {
357 + if use perl; then
358 + rm "${S}"/swig/perl/*_wrap.cpp
359 + emake -C "${S}"/swig/perl generate
360 + fi
361 +
362 + default
363 +
364 + if use perl ; then
365 + pushd "${S}"/swig/perl > /dev/null
366 + perl-module_src_configure
367 + perl-module_src_compile
368 + popd > /dev/null
369 + fi
370 +
371 + use doc && emake docs
372 +
373 + compile_python() {
374 + rm -f swig/python/*_wrap.cpp
375 + emake -C swig/python generate
376 + emake -C swig/python build
377 + }
378 + if use python; then
379 + python_foreach_impl run_in_build_dir compile_python
380 + fi
381 +}
382 +
383 +src_install() {
384 + if use perl ; then
385 + pushd "${S}"/swig/perl > /dev/null
386 + perl-module_src_install
387 + popd > /dev/null
388 + sed -e 's:BINDINGS = \(.*\) perl:BINDINGS = \1:g' \
389 + -i GDALmake.opt || die
390 + fi
391 +
392 + default
393 +
394 + use perl && perl_delete_localpod
395 +
396 + dodoc Doxyfile HOWTO-RELEASE NEWS
397 +
398 + use doc && dohtml html/*
399 +
400 + install_python() {
401 + emake -C swig/python DESTDIR="${D}" install
402 + }
403 + if use python; then
404 + python_foreach_impl run_in_build_dir install_python
405 + newdoc swig/python/README.txt README-python.txt
406 + insinto /usr/share/${PN}/samples
407 + doins swig/python/samples/*
408 + python_replicate_script "${ED}"/usr/bin/*py
409 + fi
410 +
411 + pushd man/man1 > /dev/null
412 + for i in * ; do
413 + newman ${i} ${i}
414 + done
415 + popd > /dev/null
416 +}
417 +
418 +pkg_postinst() {
419 + elog "Check available image and data formats after building with"
420 + elog "gdalinfo and ogrinfo (using the --formats switch)."
421 +}
422
423 diff --git a/sci-libs/gdal/metadata.xml b/sci-libs/gdal/metadata.xml
424 new file mode 100644
425 index 0000000..943ca93
426 --- /dev/null
427 +++ b/sci-libs/gdal/metadata.xml
428 @@ -0,0 +1,23 @@
429 +<?xml version="1.0" encoding="UTF-8"?>
430 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
431 +<pkgmetadata>
432 + <herd>sci-geosciences</herd>
433 + <longdescription>
434 +GDAL is the Geospatial Data Abstraction Library, a set of tools for
435 +converting between geospatial raster data formats (includes OGR for
436 +vector data).
437 +</longdescription>
438 + <use>
439 + <flag name="armadillo">Use <pkg>sci-libs/armadillo</pkg> for faster TPS transform computation</flag>
440 + <flag name="aux_xml">Enable Portable Auxilliary Metadata generation</flag>
441 + <flag name="fits">Enable support for NASA's <pkg>sci-libs/cfitsio</pkg> library</flag>
442 + <flag name="geos">Add support for geometry engine (<pkg>sci-libs/geos</pkg>)</flag>
443 + <flag name="gml">Enable support for <pkg>dev-libs/xerces-c</pkg> C++ API</flag>
444 + <flag name="hdf5">Add support for the Hierarchical Data Format v5 (<pkg>sci-libs/hdf5</pkg>)</flag>
445 + <flag name="mdb">Enable support for Microsoft Access database</flag>
446 + <flag name="spatialite">Enable Spatial DBMS over sqlite <pkg>dev-db/spatialite</pkg></flag>
447 + <flag name="opencl">Enable OpenCL support</flag>
448 + <flag name="ogdi">Enable support for the open geographic datastore interface (<pkg>sci-libs/ogdi</pkg>)</flag>
449 + <flag name="xls">Add the <pkg>dev-libs/freexl</pkg> library for xls import support</flag>
450 + </use>
451 +</pkgmetadata>