3
3
using BinaryBuilder, Pkg
4
4
5
5
name = " GDAL"
6
- upstream_version = v " 3.10.1 "
6
+ upstream_version = v " 3.10.2 "
7
7
# The version offset is used for two purposes:
8
8
# - If we need to release multiple jll packages for the same GDAL
9
9
# library (usually for weird packaging reasons) then we increase the
@@ -19,7 +19,7 @@ version = VersionNumber(upstream_version.major * 100 + version_offset.major,
19
19
# Collection of sources required to build GDAL
20
20
sources = [
21
21
GitSource (" https://github.com/OSGeo/gdal.git" ,
22
- " 9b7a7c8ffa7b7aff696974c432d4254a809b3efe " ),
22
+ " e31053b64d9db2e0dc6f8eec0982908a2087eedf " ),
23
23
ArchiveSource (" https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.15.sdk.tar.xz" ,
24
24
" 2408d07df7f324d3beea818585a6d990ba99587c218a3969f924dfcc4de93b62" ),
25
25
DirectorySource (" ./bundled" )
@@ -54,10 +54,6 @@ if [[ "${target}" == x86_64-apple-darwin* ]]; then
54
54
popd
55
55
fi
56
56
57
- # We cannot enable HDF4. Our HDF4_jll package provides a file `netcdf.h` that conflicts with NetCDF_jll.
58
- # -DGDAL_ENABLE_DRIVER_HDF4=ON
59
- # -DGDAL_USE_HDF4=ON
60
-
61
57
CMAKE_FLAGS=(
62
58
-B build
63
59
-DCMAKE_INSTALL_PREFIX=${prefix}
@@ -68,20 +64,21 @@ CMAKE_FLAGS=(
68
64
-DBUILD_CSHARP_BINDINGS=OFF
69
65
-DBUILD_JAVA_BINDINGS=OFF
70
66
-DBUILD_PYTHON_BINDINGS=OFF
71
- -DGDAL_USE_ARROW =ON
67
+ -DGDAL_ENABLE_DRIVER_HDF4 =ON
72
68
-DGDAL_USE_BLOSC=ON
73
69
-DGDAL_USE_CURL=ON
74
70
-DGDAL_USE_EXPAT=ON
71
+ -DGDAL_USE_HDF4=ON
75
72
-DGDAL_USE_GEOS=ON
76
73
-DGDAL_USE_GEOTIFF=ON
77
- # TODO: Disable gif only on Windows
78
- -DGDAL_USE_GIF=OFF # Would break GDAL on Windows as of Giflib_jll v5.2.2 (#8781)
74
+ -DGDAL_USE_HDF4=ON
75
+ -DGDAL_USE_HDF5=ON
79
76
-DGDAL_USE_LERC=ON
80
77
-DGDAL_USE_LIBLZMA=ON
81
78
-DGDAL_USE_LIBXML2=ON
82
79
-DGDAL_USE_LZ4=ON
80
+ -DGDAL_USE_NETCDF=ON
83
81
-DGDAL_USE_OPENJPEG=ON
84
- -DGDAL_USE_PARQUET=ON
85
82
-DGDAL_USE_PNG=ON
86
83
-DGDAL_USE_POSTGRESQL=ON
87
84
-DGDAL_USE_QHULL=ON
@@ -97,35 +94,29 @@ CMAKE_FLAGS=(
97
94
-DPostgreSQL_LIBRARY=${libdir}/libpq.${dlext}
98
95
)
99
96
100
- # NetCDF is the most restrictive dependency as far as platform availability, so we'll use it where applicable but disable it otherwise
101
- if ! find ${libdir} -name "libnetcdf* .${dlext}" -exec false '{}' + ; then
102
- CMAKE_FLAGS+=(-DGDAL_USE_NETCDF=ON)
103
- else
104
- echo "Disabling NetCDF support"
105
- CMAKE_FLAGS+=(-DGDAL_USE_NETCDF=OFF )
97
+ # Use Arrow only if available
98
+ if [ -e " ${libdir}/libarrow .${dlext}" ] ; then
99
+ CMAKE_FLAGS+=(
100
+ -DGDAL_USE_ARROW=ON
101
+ -DGDAL_USE_PARQUET=ON
102
+ )
106
103
fi
107
104
108
- # HDF5 is also a restrictive dependency as far as platform availability, so we'll use it where applicable but disable it otherwise
109
- if ! find ${libdir} -name "libhdf5*.${dlext}" -exec false '{}' +; then
110
- CMAKE_FLAGS+=(-DGDAL_USE_HDF5=ON)
111
- else
112
- echo "Disabling HDF5 support"
113
- CMAKE_FLAGS+=(-DGDAL_USE_HDF5=OFF)
105
+ # Disable gif on Windows
106
+ if [[ "${target}" == *mingw* ]]; then
107
+ CMAKE_FLAGS+=(-DGDAL_USE_GIF=OFF) # Would break GDAL on Windows as of Giflib_jll v5.2.2 (#8781)
114
108
fi
115
109
116
110
cmake ${CMAKE_FLAGS[@]}
117
111
cmake --build build --parallel ${nproc}
118
112
cmake --install build
113
+
114
+ install_license LICENSE.TXT
119
115
"""
120
116
121
117
# These are the platforms we will build for by default, unless further
122
118
# platforms are passed in on the command line
123
119
platforms = expand_cxxstring_abis (supported_platforms ())
124
- # Disable until the dependencies are available for this platform
125
- filter! (p -> ! (Sys. isfreebsd (p) && arch (p) == " aarch64" ), platforms)
126
-
127
- # Disable riscv for now
128
- platforms = filter! (p -> arch (p) != " riscv64" , platforms)
129
120
130
121
# The products that we will ensure are always built
131
122
products = [
@@ -183,50 +174,40 @@ products = [
183
174
ExecutableProduct (" ogrtindex" , :ogrtindex_path ),
184
175
]
185
176
186
- hdf5_platforms = [
187
- Platform (" x86_64" , " linux" ),
188
- Platform (" aarch64" , " linux" ),
189
- Platform (" armv6l" , " linux" ),
190
- Platform (" armv7l" , " linux" ),
191
- Platform (" i686" , " linux" ),
192
- Platform (" powerpc64le" , " linux" ),
193
- Platform (" x86_64" , " macos" ),
194
- Platform (" aarch64" , " macos" ),
195
- Platform (" x86_64" , " windows" ),
196
- Platform (" i686" , " windows" ),
197
- ]
198
- hdf5_platforms = expand_cxxstring_abis (hdf5_platforms)
199
-
200
177
# Dependencies that must be installed before this package can be built
201
178
dependencies = [
202
- BuildDependency (PackageSpec (; name= " OpenMPI_jll" , version= v " 4.1.6" ); platforms= filter (p -> nbits (p)== 32 , platforms)),
203
- Dependency (" Arrow_jll" ; compat= " 18.1.0" ),
204
- Dependency (" Blosc_jll" ; compat= " 1.21.1" ),
205
- Dependency (" Expat_jll" ; compat= " 2.2.10" ),
206
- Dependency (" GEOS_jll" ; compat= " 3.11.2" ),
207
- # Dependency("HDF4_jll"; compat="4.3.0"),
208
- # We had to restrict compat with HDF5 because of ABI breakage:
209
- # https://github.com/JuliaPackaging/Yggdrasil/pull/10347#issuecomment-2662923973
210
- # Updating to a newer HDF5 version is likely possible without problems but requires rebuilding this package
211
- Dependency (" HDF5_jll" ; compat= " =1.14.3" , platforms= hdf5_platforms),
212
- Dependency (" LERC_jll" ; compat= " 4" ),
179
+ BuildDependency (PackageSpec (; name= " OpenMPI_jll" , version= v " 4.1.8" ); platforms= filter (p -> nbits (p)== 32 , platforms)),
180
+ # We cannot build with Arrow 19.0.0. There are undefined
181
+ # references to many GLIBC symbols from Arrow_jll. It might be
182
+ # that we would need to switch to a newer GCC when building;
183
+ # Arrow_jll uses GCC 11.1
184
+ # Dependency("Arrow_jll"; compat="19.0.0"),
185
+ Dependency (" Arrow_jll" ; compat= " 18.1.1" ),
186
+ Dependency (" Blosc_jll" ; compat= " 1.21.7" ),
187
+ Dependency (" Expat_jll" ; compat= " 2.6.5" ),
188
+ Dependency (" GEOS_jll" ; compat= " 3.13.1" ),
189
+ Dependency (" HDF4_jll" ; compat= " 4.3.1" ),
190
+ Dependency (" HDF5_jll" ; compat= " ~1.14.6" ),
191
+ Dependency (" LERC_jll" ; compat= " 4.0.1" ),
213
192
Dependency (" LibCURL_jll" ; compat= " 7.73,8" ),
214
- Dependency (" LibPQ_jll" ; compat= " 16" ),
215
- Dependency (" Libtiff_jll" ; compat= " 4.7" ),
216
- Dependency (" Lz4_jll" ; compat= " 1.9.3" ),
217
- Dependency (" NetCDF_jll" ; compat= " 400.902.210" , platforms= hdf5_platforms),
218
- Dependency (" OpenJpeg_jll" ; compat= " 2.5" ),
219
- Dependency (" PCRE2_jll" ; compat= " 10.35.0" ),
220
- Dependency (" PROJ_jll" ; compat= " 902.500" ),
221
- Dependency (" Qhull_jll" ; compat= " 8.0.999" ),
222
- Dependency (" SQLite_jll" ; compat= " 3.45" ),
223
- Dependency (" XML2_jll" ; compat= " 2.9.11" ),
224
- Dependency (" XZ_jll" ; compat= " 5.2.5" ),
193
+ Dependency (" LibPQ_jll" ; compat= " 16.8" ),
194
+ Dependency (" Libtiff_jll" ; compat= " 4.7.1" ),
195
+ Dependency (" Lz4_jll" ; compat= " 1.10.1" ),
196
+ Dependency (" NetCDF_jll" ; compat= " 401.900.300" ),
197
+ Dependency (" OpenJpeg_jll" ; compat= " 2.5.4" ),
198
+ # No compat bound so that things work for riscv64
199
+ # Dependency("PCRE2_jll"; compat="10.35.0"),
200
+ Dependency (" PCRE2_jll" ),
201
+ Dependency (" PROJ_jll" ; compat= " 902.500.100" ),
202
+ Dependency (" Qhull_jll" ; compat= " 10008.0.1004" ),
203
+ Dependency (" SQLite_jll" ; compat= " 3.48.0" ),
204
+ Dependency (" XML2_jll" ; compat= " 2.13.6" ),
205
+ Dependency (" XZ_jll" ; compat= " 5.6.4" ),
225
206
Dependency (" Zlib_jll" ; compat= " 1.2.12" ),
226
- Dependency (" Zstd_jll" ; compat= " 1.5.6 " ),
227
- Dependency (" libgeotiff_jll" ; compat= " 100.702.300 " ),
228
- Dependency (" libpng_jll" ; compat= " 1.6.38 " ),
229
- Dependency (" libwebp_jll" ; compat= " 1.2.4 " ),
207
+ Dependency (" Zstd_jll" ; compat= " 1.5.7 " ),
208
+ Dependency (" libgeotiff_jll" ; compat= " 100.702.400 " ),
209
+ Dependency (" libpng_jll" ; compat= " 1.6.47 " ),
210
+ Dependency (" libwebp_jll" ; compat= " 1.5.0 " ),
230
211
]
231
212
232
213
# Build the tarballs, and possibly a `build.jl` as well.
0 commit comments