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