Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/gdal/
Date: Sat, 14 May 2022 21:24:26
Message-Id: 1652563346.4097f2e8d9678a4059101601c23b74bf304d07f8.sam@gentoo
1 commit: 4097f2e8d9678a4059101601c23b74bf304d07f8
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 14 05:25:47 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat May 14 21:22:26 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4097f2e8
7
8 sci-libs/gdal: add 3.5.0
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 sci-libs/gdal/Manifest | 2 +
13 sci-libs/gdal/gdal-3.5.0.ebuild | 234 ++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 236 insertions(+)
15
16 diff --git a/sci-libs/gdal/Manifest b/sci-libs/gdal/Manifest
17 index 1b80072ec060..e2720060f6c1 100644
18 --- a/sci-libs/gdal/Manifest
19 +++ b/sci-libs/gdal/Manifest
20 @@ -1,3 +1,5 @@
21 DIST gdal-3.4.1.tar.xz 13257288 BLAKE2B 3b01e8345579c9d46fb3d4ff240f5b97cf13eb4b580ecc93044e0ca3d99e2d19fa2a2a52a2342b3158d67525a1de18a9ba77a2033ad891f73fee682b2c10cade SHA512 a66362996f255cb75116693b4ee398337ec8b9699b5cd7fed90105f72832faa20750b77ebbc3e8d59ab72a23b35c4e4e78513cc803bd93e1b7846711ccfb5bff
22 DIST gdal-3.4.2.tar.xz 13273280 BLAKE2B b40e2978d0841386b52de1ad08cec862c52aab8c015aecd58983bb8c5bbf8d86ca8e4ef5d2bbae39f421b3c78eecd0df1b3cd83d6bf25b1469563b4f9f37d8ca SHA512 7b7e2800b2c23ffe6b7739fbf77748e3be2db9e34b061753da5e175f6ad6ed7f9f91856d3838f071a17a6afab96c258d37a15502e254d2008310d3061031af73
23 DIST gdal-3.4.3.tar.xz 13275504 BLAKE2B 5b1cc2be9c2af7a326dc532d547b1e7d2f9c4af32d8f16998f09332a88a53305243313711cc24fe5d028b8edc131ebccda6daf08b5c67d9a2c55fd4e04fe9cee SHA512 2b97e44b9bd84eb43b4c4894b7b6e748522b2f5e8b6cbecc8247fe5ea862795dd44ba2b52934a83688a949805cee4eef9f1aa66360fb831fea3eae956ab0bef3
24 +DIST gdal-3.5.0.tar.xz 8826500 BLAKE2B 7123ff4a7270b309d458e4a7bd32241cdef53953c305c5027873424794f4ed27d2a4838f86c42f9f84b5174ff499ee5539694c41e906509d21d899ccfe38ff99 SHA512 15d9675ffe5e76fdcb431bef1dce0ed8c23695f418186f37c63f4c7274322924095662bbbc95232d5b4d700704c1c4922d52b419cef5bb67f3bb64ee59654d8b
25 +DIST gdalautotest-3.5.0.tar 50442240 BLAKE2B 15005f16530690e584e39b036881c339f147e525e3e0dc39b57d027c493ab89027baa2ea3a0ed148c8fa3ebb7cd53cdb4cf4d53c96d068b5a89caf28165e213b SHA512 723c57425dd5f8acd61795be98b450844b5664b9940d47823829d510b8fb84d1d6db9ca880200d7732a83e7b0f1ae6e33269d8ebd91bf0e7d99e887b5f79aad0
26
27 diff --git a/sci-libs/gdal/gdal-3.5.0.ebuild b/sci-libs/gdal/gdal-3.5.0.ebuild
28 new file mode 100644
29 index 000000000000..fa5448c24673
30 --- /dev/null
31 +++ b/sci-libs/gdal/gdal-3.5.0.ebuild
32 @@ -0,0 +1,234 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +
38 +PYTHON_COMPAT=( python3_{8..10} )
39 +inherit cmake java-pkg-opt-2 python-single-r1
40 +
41 +DESCRIPTION="Translator library for raster geospatial data formats (includes OGR support)"
42 +HOMEPAGE="https://gdal.org/"
43 +SRC_URI="https://download.osgeo.org/${PN}/${PV}/${P}.tar.xz"
44 +# Seems to not be compressed...
45 +SRC_URI+=" test? ( https://download.osgeo.org/${PN}/${PV}/${PN}autotest-${PV}.tar.gz -> ${PN}autotest-${PV}.tar )"
46 +
47 +LICENSE="BSD Info-ZIP MIT"
48 +SLOT="0/31" # subslot is libgdal.so.<SONAME>
49 +KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
50 +IUSE="armadillo +curl cpu_flags_x86_avx cpu_flags_x86_avx2 cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 doc fits geos gif gml hdf5 heif java jpeg jpeg2k lzma mysql netcdf odbc ogdi opencl oracle pdf png postgres python spatialite sqlite test webp xls zstd"
51 +# Tests fail to build in 3.5.0, let's not worry too much yet given
52 +# we're only just porting to CMake. Revisit later.
53 +RESTRICT="!test? ( test ) test"
54 +
55 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
56 + spatialite? ( sqlite )"
57 +
58 +BDEPEND="virtual/pkgconfig
59 + doc? ( app-doc/doxygen )
60 + java? (
61 + dev-java/ant-core
62 + dev-lang/swig:0
63 + >=virtual/jdk-1.8:*
64 + )
65 + python? (
66 + dev-lang/swig:0
67 + $(python_gen_cond_dep '
68 + dev-python/setuptools[${PYTHON_USEDEP}]
69 + ')
70 + )"
71 +DEPEND="dev-libs/expat
72 + dev-libs/json-c:=
73 + dev-libs/libpcre2
74 + dev-libs/libxml2:2
75 + dev-libs/openssl:=
76 + media-libs/tiff
77 + >=sci-libs/libgeotiff-1.5.1-r1:=
78 + >=sci-libs/proj-6.0.0:=
79 + sys-libs/zlib[minizip(+)]
80 + armadillo? ( sci-libs/armadillo:=[lapack] )
81 + curl? ( net-misc/curl )
82 + fits? ( sci-libs/cfitsio:= )
83 + geos? ( >=sci-libs/geos-3.8.0 )
84 + gif? ( media-libs/giflib:= )
85 + gml? ( >=dev-libs/xerces-c-3.1 )
86 + heif? ( media-libs/libheif:= )
87 + hdf5? ( >=sci-libs/hdf5-1.6.4:=[szip] )
88 + jpeg? ( media-libs/libjpeg-turbo:= )
89 + jpeg2k? ( media-libs/openjpeg:2= )
90 + lzma? ( || (
91 + app-arch/xz-utils
92 + app-arch/lzma
93 + ) )
94 + mysql? ( virtual/mysql )
95 + netcdf? ( sci-libs/netcdf:= )
96 + odbc? ( dev-db/unixODBC )
97 + ogdi? ( sci-libs/ogdi )
98 + opencl? ( virtual/opencl )
99 + oracle? ( dev-db/oracle-instantclient:= )
100 + pdf? ( app-text/poppler:= )
101 + png? ( media-libs/libpng:= )
102 + postgres? ( >=dev-db/postgresql-8.4:= )
103 + python? (
104 + ${PYTHON_DEPS}
105 + $(python_gen_cond_dep '
106 + dev-python/numpy[${PYTHON_USEDEP}]
107 + ')
108 + )
109 + spatialite? ( dev-db/spatialite )
110 + sqlite? ( dev-db/sqlite:3 )
111 + webp? ( media-libs/libwebp:= )
112 + xls? ( dev-libs/freexl )
113 + zstd? ( app-arch/zstd:= )"
114 +RDEPEND="${DEPEND}
115 + java? ( >=virtual/jre-1.8:* )"
116 +
117 +pkg_setup() {
118 + use python && python-single-r1_pkg_setup
119 + use java && java-pkg-opt-2_pkg_setup
120 +}
121 +
122 +src_prepare() {
123 + cmake_src_prepare
124 +
125 + if use test ; then
126 + mv "${WORKDIR}"/gdalautotest-${PV} "${S}"/autotest || die
127 + fi
128 +}
129 +
130 +src_configure() {
131 + local mycmakeargs=(
132 + -DENABLE_IPO=OFF
133 + -DGDAL_USE_EXTERNAL_LIBS=ON
134 + -DGDAL_USE_INTERNAL_LIBS=OFF
135 +
136 + # Options here are generally off because of one of:
137 + # - Not yet packaged dependencies
138 + #
139 + # - Off for autotools build and didn't want more churn by
140 + # enabling during port to CMake. Feel free to request them
141 + # being turned on if useful for you.
142 + -DGDAL_USE_ARMADILLO=$(usex armadillo)
143 + -DGDAL_USE_ARROW=OFF
144 + -DGDAL_USE_BLOSC=OFF
145 + -DGDAL_USE_BRUNSLI=OFF
146 + -DGDAL_USE_CRNLIB=OFF
147 + -DGDAL_USE_CFITSIO=$(usex fits)
148 + -DGDAL_USE_CURL=$(usex curl)
149 + -DGDAL_USE_CRYPTOPP=OFF
150 + -DGDAL_USE_DEFLATE=OFF
151 + -DGDAL_USE_ECW=OFF
152 + -DGDAL_USE_EXPAT=ON
153 + -DGDAL_USE_FILEGDB=OFF
154 + -DGDAL_USE_FREEXL=$(usex xls)
155 + -DGDAL_USE_FYBA=OFF
156 + -DGDAL_USE_GEOTIFF=ON
157 + -DGDAL_USE_GEOS=$(usex geos)
158 + -DGDAL_USE_GIF=$(usex gif)
159 + -DGDAL_USE_GTA=OFF
160 + -DGDAL_USE_HEIF=$(usex heif)
161 + -DGDAL_USE_HDF4=OFF
162 + -DGDAL_USE_HDF5=$(usex hdf5)
163 + -DGDAL_USE_HDFS=OFF
164 + -DGDAL_USE_ICONV=ON # TODO dep
165 + -DGDAL_USE_IDB=OFF
166 + -DGDAL_USE_JPEG=$(usex jpeg)
167 +
168 + # https://gdal.org/build_hints.html#jpeg12
169 + # Independent of whether using system libjpeg
170 + -DGDAL_USE_JPEG12_INTERNAL=ON
171 +
172 + -DGDAL_USE_JSONC=ON
173 + -DGDAL_USE_JXL=OFF
174 + -DGDAL_USE_KDU=OFF
175 + -DGDAL_USE_KEA=OFF
176 + -DGDAL_USE_LERC=OFF
177 + -DGDAL_USE_LIBKML=OFF
178 + -DGDAL_USE_LIBLZMA=$(usex lzma)
179 + -DGDAL_USE_LIBXML2=ON
180 + -DGDAL_USE_LURATECH=OFF
181 + -DGDAL_USE_LZ4=OFF
182 + -DGDAL_USE_MONGOCXX=OFF
183 + -DGDAL_USE_MRSID=OFF
184 + -DGDAL_USE_MSSQL_NCLI=OFF
185 + -DGDAL_USE_MSSQL_ODBC=OFF
186 + -DGDAL_USE_MYSQL=$(usex mysql)
187 + -DGDAL_USE_NETCDF=$(usex netcdf)
188 + -DGDAL_USE_ODBC=$(usex odbc)
189 + -DGDAL_USE_ODBCCPP=OFF
190 + -DGDAL_USE_OGDI=$(usex ogdi)
191 + -DGDAL_USE_OPENCAD=OFF
192 + -DGDAL_USE_OPENCL=$(usex opencl)
193 + -DGDAL_USE_OPENEXR=OFF
194 + -DGDAL_USE_OPENJPEG=$(usex jpeg2k)
195 + -DGDAL_USE_OPENSSL=ON
196 + -DGDAL_USE_ORACLE=$(usex oracle)
197 + -DGDAL_USE_PARQUET=OFF
198 + -DGDAL_USE_PCRE2=ON
199 + -DGDAL_USE_PDFIUM=OFF
200 + -DGDAL_USE_PNG=$(usex png)
201 + -DGDAL_USE_POPPLER=$(usex pdf)
202 + -DGDAL_USE_POSTGRESQL=$(usex postgres)
203 + -DGDAL_USE_QHULL=OFF
204 + -DGDAL_USE_RASTERLITE2=OFF
205 + -DGDAL_USE_RDB=OFF
206 + -DGDAL_USE_SPATIALITE=$(usex spatialite)
207 + -DGDAL_USE_SQLITE3=$(usex sqlite)
208 + -DGDAL_USE_SFCGAL=OFF
209 + -DGDAL_USE_TEIGHA=OFF
210 + -DGDAL_USE_TIFF=ON
211 + -DGDAL_USE_TILEDB=OFF
212 + -DGDAL_USE_WEBP=$(usex webp)
213 + -DGDAL_USE_XERCESC=$(usex gml)
214 + -DGDAL_USE_ZLIB=ON
215 + -DGDAL_USE_ZSTD=$(usex zstd)
216 +
217 + # Bindings
218 + -DBUILD_PYTHON_BINDINGS=$(usex python)
219 + -DBUILD_JAVA_BINDINGS=$(usex java)
220 +
221 + # Check work/gdal-3.5.0_build/CMakeCache.txt after configure
222 + # and https://github.com/OSGeo/gdal/blob/master/cmake/helpers/CheckCompilerMachineOption.cmake#L71
223 + # Commented out: not (yet?) implemented upstream.
224 + # Also, arm64 stuff is a TODO upstream, but not there (yet?)
225 + -Dtest_avx=$(usex cpu_flags_x86_avx)
226 + -Dtest_avx2=$(usex cpu_flags_x86_avx2)
227 + -Dtest_sse=$(usex cpu_flags_x86_sse)
228 + -Dtest_sse2=$(usex cpu_flags_x86_sse2)
229 + #-Dtest_sse3=$(usex cpu_flags_x86_sse3)
230 + -Dtest_sse4.1=$(usex cpu_flags_x86_sse4_1)
231 + #-Dtest_sse4.2=$(usex cpu_flags_x86_sse4_2)
232 + #-Dtest_sse4a=$(usex cpu_flags_x86_sse4a)
233 + -Dtest_ssse3=$(usex cpu_flags_x86_ssse3)
234 + #-Dtest_fma4=$(usex cpu_flags_x86_fma4)
235 + #-Dtest_xop=$(usex cpu_flags_x86_xop)
236 + )
237 +
238 + cmake_src_configure
239 +}
240 +
241 +src_compile() {
242 + cmake_src_compile
243 +
244 + use doc && cmake_src_compile doc
245 +}
246 +
247 +src_test() {
248 + export GDAL_RUN_SLOW_TESTS=0
249 + export GDAL_DOWNLOAD_TEST_DATA=0
250 +
251 + # Two test suites:
252 + # 1. autotests (much larger, uses pytest)
253 + # 2. Small set of fuzzing tests (no download needed)
254 + cmake_src_test
255 +}
256 +
257 +src_install() {
258 + cmake_src_install
259 +
260 + # TODO: install docs?
261 +}
262 +
263 +pkg_postinst() {
264 + elog "Check available image and data formats after building with"
265 + elog "gdalinfo and ogrinfo (using the --formats switch)."
266 +}