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 |
+} |