From 89cefca2e1aebfbd65b89151be7e6d646aa4e6cb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 24 Mar 2024 21:55:44 +0200 Subject: [PATCH 01/24] gdal: add v3.8.4 --- recipes/gdal/config.yml | 2 ++ recipes/gdal/post_3.5.0/conandata.yml | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 60275f391db83..13687b241eb0f 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.4": + folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" "3.7.3": diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 159958b913d13..e5a7703f23962 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.4": + url: "https://github.com/OSGeo/gdal/releases/download/v3.8.4/gdal-3.8.4.tar.gz" + sha256: "c435a2ec08eca3d4c2bfe774081f8c433c00e56ee2f0f2f4f6494c2d078fcfb9" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -9,6 +12,16 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: + "3.8.4": + - patch_file: "patches/3.8.1/0-replace-find-package.patch" + patch_description: "Use custom version of find_package() for Conan deps" + patch_type: "conan" + - patch_file: "patches/3.7.3/1-do-not-force-private-linking.patch" + patch_description: "Fix private linking not working for some Conan dependencies" + patch_type: "conan" + - patch_file: "patches/3.5.3/2-allow-cycles-in-cmake-targets.patch" + patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" + patch_type: "conan" "3.8.3": - patch_file: "patches/3.8.1/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" From 8a28f98afc6ee6b253e802e143167f65fc30cab0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 24 Mar 2024 22:38:48 +0200 Subject: [PATCH 02/24] gdal: fix global visibility of non-uppercase dependency vars --- recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake index cc5455d748073..c2a0c7d2b30be 100644 --- a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake +++ b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake @@ -14,7 +14,6 @@ function(find_package2 pkgname) find_package(${pkgname} ${ARGN} QUIET CONFIG - GLOBAL # Forbid the use of system libs entirely NO_DEFAULT_PATH PATHS ${CMAKE_PREFIX_PATH} @@ -37,6 +36,14 @@ function(find_package2 pkgname) set(${key}_VERSION ${${pkgname}_VERSION} CACHE BOOL "") # Add as cache vars for global visibility + set(${pkgname}_DEFINITIONS "${${pkgname}_DEFINITIONS}" CACHE STRING "") + set(${pkgname}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") + set(${pkgname}_INCLUDE_DIR "${${pkgname}_INCLUDE_DIR}" CACHE STRING "") + set(${pkgname}_INCLUDE_DIRS "${${pkgname}_INCLUDE_DIRS}" CACHE STRING "") + set(${pkgname}_LIBRARIES "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${pkgname}_LIBRARY "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${pkgname}_TARGET "${targets}" CACHE STRING "") + set(${pkgname}_VERSION ${${pkgname}_VERSION} CACHE BOOL "") set(${pkgname}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") set(${pkgname}_TARGET "${targets}" CACHE STRING "") set(${pkgname}_VERSION ${${pkgname}_VERSION_STRING} CACHE BOOL "") From bbd9fc19a8a5a37099d51d061ebc6920d102a634 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 24 Mar 2024 22:39:08 +0200 Subject: [PATCH 03/24] gdal: bump deps --- recipes/gdal/post_3.5.0/conanfile.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 49c2e7d3e5d6e..7418aa855fb2a 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_armadillo: self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/14.0.2") + self.requires("arrow/15.0.0") if self.options.with_basisu: self.requires("libbasisu/1.15.0") if self.options.with_blosc: @@ -207,10 +207,10 @@ def requirements(self): if self.options.with_ecw: self.requires("libecwj2/3.3") if self.options.with_expat: - self.requires("expat/2.5.0") + self.requires("expat/2.6.2") if self.options.with_exr: - self.requires("openexr/3.2.1") - self.requires("imath/3.1.9") + self.requires("openexr/3.2.3") + self.requires("imath/3.1.10") if self.options.with_freexl: self.requires("freexl/2.0.0") if self.options.with_geos: @@ -228,7 +228,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.1") + self.requires("libjpeg-turbo/3.0.2") if self.options.with_jxl: self.requires("libjxl/0.6.1") if self.options.with_kea: @@ -246,7 +246,7 @@ def requirements(self): if self.options.with_libkml: self.requires("libkml/1.3.0") if self.options.with_lzma: - self.requires("xz_utils/5.4.5") + self.requires("xz_utils/5.6.1") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_mongocxx: @@ -262,21 +262,20 @@ def requirements(self): if self.options.with_opencl: self.requires("opencl-icd-loader/2023.12.14") if self.options.with_openjpeg: - self.requires("openjpeg/2.5.0") + self.requires("openjpeg/2.5.2") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre: self.requires("pcre/8.45") if self.options.with_pcre2: - self.requires("pcre2/10.42") + self.requires("pcre2/10.43") # TODO: pdfium recipe needs to be compatible with https://github.com/rouault/pdfium_build_gdal_3_8 # if self.options.with_pdfium: # self.requires("pdfium/95.0.4629") if self.options.with_pg: - # libpq 15+ is not supported - self.requires("libpq/14.9") + self.requires("libpq/15.4") if self.options.with_png: - self.requires("libpng/1.6.40") + self.requires("libpng/[>=1.6 <2]") if self.options.with_podofo: self.requires("podofo/0.9.7") if self.options.with_poppler: @@ -286,7 +285,7 @@ def requirements(self): if self.options.with_rasterlite2: self.requires("librasterlite2/1.1.0-beta1") if self.options.with_spatialite: - self.requires("libspatialite/5.0.1") + self.requires("libspatialite/5.1.0") if self.options.with_sqlite3: self.requires("sqlite3/3.44.2") if self.options.with_tiledb: @@ -296,7 +295,7 @@ def requirements(self): if self.options.with_xerces: self.requires("xerces-c/3.2.5") if self.options.with_xml2: - self.requires("libxml2/2.12.3") + self.requires("libxml2/2.12.5") if self.options.with_zstd: self.requires("zstd/1.5.5") # Use of external shapelib is not recommended and is currently broken. From cb3c2d16131cfb7d3936cfeb5cff38e205703268 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Mar 2024 14:46:51 +0200 Subject: [PATCH 04/24] gdal: fix duplicate lines in .cmake --- recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake index c2a0c7d2b30be..9ce27380e4cc2 100644 --- a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake +++ b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake @@ -44,9 +44,6 @@ function(find_package2 pkgname) set(${pkgname}_LIBRARY "${${pkgname}_LIBRARIES}" CACHE STRING "") set(${pkgname}_TARGET "${targets}" CACHE STRING "") set(${pkgname}_VERSION ${${pkgname}_VERSION} CACHE BOOL "") - set(${pkgname}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") - set(${pkgname}_TARGET "${targets}" CACHE STRING "") - set(${pkgname}_VERSION ${${pkgname}_VERSION_STRING} CACHE BOOL "") message(STATUS "Found ${pkgname}: ${${pkgname}_FOUND}") message(STATUS " ${key}_TARGET: ${${key}_TARGET}") From b019d8b1e9c93f8d150b9a601bc8ed5d2577264d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Mar 2024 14:55:22 +0200 Subject: [PATCH 05/24] gdal: bump tiledb, poppler, kealib --- recipes/gdal/post_3.5.0/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 7418aa855fb2a..a9d7ffa513aba 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -232,7 +232,7 @@ def requirements(self): if self.options.with_jxl: self.requires("libjxl/0.6.1") if self.options.with_kea: - self.requires("kealib/1.4.14") + self.requires("kealib/1.5.2") if self.options.with_lerc: self.requires("lerc/4.0.1") if self.options.get_safe("with_libaec"): @@ -279,7 +279,7 @@ def requirements(self): if self.options.with_podofo: self.requires("podofo/0.9.7") if self.options.with_poppler: - self.requires("poppler/21.07.0") + self.requires("poppler/24.03.0") if self.options.with_qhull: self.requires("qhull/8.0.1") if self.options.with_rasterlite2: @@ -289,7 +289,7 @@ def requirements(self): if self.options.with_sqlite3: self.requires("sqlite3/3.44.2") if self.options.with_tiledb: - self.requires("tiledb/2.17.4") + self.requires("tiledb/2.21.0") if self.options.with_webp: self.requires("libwebp/1.3.2") if self.options.with_xerces: From 3aa1ef1893b894242a850a750e57023a9a1ca3c4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Mar 2024 16:50:19 +0200 Subject: [PATCH 06/24] gdal: require libjxl/0.8.2 --- recipes/gdal/post_3.5.0/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index a9d7ffa513aba..e73d5e417d350 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -230,7 +230,8 @@ def requirements(self): elif self.options.with_jpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.2") if self.options.with_jxl: - self.requires("libjxl/0.6.1") + # 0.9+ is not compatible as of v3.8.4 + self.requires("libjxl/0.8.2") if self.options.with_kea: self.requires("kealib/1.5.2") if self.options.with_lerc: From e5745437e0caed10c23620a0cb8d373f7c20f3c6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Mar 2024 18:09:08 +0200 Subject: [PATCH 07/24] gdal: building of tools is currently broken for shared=True --- recipes/gdal/post_3.5.0/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index e73d5e417d350..3774a9e8c3d66 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -339,6 +339,11 @@ def validate(self): self.output.error(msg) raise ConanInvalidConfiguration(msg) + if self.options.tools and self.options.shared: + # FIXME: probably also broken for shared dependencies + # None of the deps are linked correctly for shared builds, probably due to CMake visibility issues. + raise ConanInvalidConfiguration("Building of tools is currently broken for shared=True") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 296eaa4399059ffb697f1ddac41a9010ec76afa1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Mar 2024 12:45:15 +0200 Subject: [PATCH 08/24] gdal: revert most version bumps --- recipes/gdal/post_3.5.0/conanfile.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 3774a9e8c3d66..df4e19ab43c05 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -207,10 +207,10 @@ def requirements(self): if self.options.with_ecw: self.requires("libecwj2/3.3") if self.options.with_expat: - self.requires("expat/2.6.2") + self.requires("expat/2.5.0") if self.options.with_exr: - self.requires("openexr/3.2.3") - self.requires("imath/3.1.10") + self.requires("openexr/3.2.1") + self.requires("imath/3.1.9") if self.options.with_freexl: self.requires("freexl/2.0.0") if self.options.with_geos: @@ -233,7 +233,7 @@ def requirements(self): # 0.9+ is not compatible as of v3.8.4 self.requires("libjxl/0.8.2") if self.options.with_kea: - self.requires("kealib/1.5.2") + self.requires("kealib/1.4.14") if self.options.with_lerc: self.requires("lerc/4.0.1") if self.options.get_safe("with_libaec"): @@ -247,7 +247,7 @@ def requirements(self): if self.options.with_libkml: self.requires("libkml/1.3.0") if self.options.with_lzma: - self.requires("xz_utils/5.6.1") + self.requires("xz_utils/5.4.5") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_mongocxx: @@ -263,13 +263,13 @@ def requirements(self): if self.options.with_opencl: self.requires("opencl-icd-loader/2023.12.14") if self.options.with_openjpeg: - self.requires("openjpeg/2.5.2") + self.requires("openjpeg/2.5.0") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_pcre: self.requires("pcre/8.45") if self.options.with_pcre2: - self.requires("pcre2/10.43") + self.requires("pcre2/10.42") # TODO: pdfium recipe needs to be compatible with https://github.com/rouault/pdfium_build_gdal_3_8 # if self.options.with_pdfium: # self.requires("pdfium/95.0.4629") @@ -280,7 +280,7 @@ def requirements(self): if self.options.with_podofo: self.requires("podofo/0.9.7") if self.options.with_poppler: - self.requires("poppler/24.03.0") + self.requires("poppler/21.07.0") if self.options.with_qhull: self.requires("qhull/8.0.1") if self.options.with_rasterlite2: @@ -296,7 +296,7 @@ def requirements(self): if self.options.with_xerces: self.requires("xerces-c/3.2.5") if self.options.with_xml2: - self.requires("libxml2/2.12.5") + self.requires("libxml2/2.12.3") if self.options.with_zstd: self.requires("zstd/1.5.5") # Use of external shapelib is not recommended and is currently broken. From 62c39adeb04a56599fd23c2f7039ad1bec54fcba Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Apr 2024 23:39:52 +0300 Subject: [PATCH 09/24] gdal: bump 3.8.4 -> 3.8.5 --- recipes/gdal/config.yml | 2 +- recipes/gdal/post_3.5.0/conandata.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 13687b241eb0f..9c00688e7736d 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,5 +1,5 @@ versions: - "3.8.4": + "3.8.5": folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index e5a7703f23962..967c168921c0e 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.8.4": - url: "https://github.com/OSGeo/gdal/releases/download/v3.8.4/gdal-3.8.4.tar.gz" - sha256: "c435a2ec08eca3d4c2bfe774081f8c433c00e56ee2f0f2f4f6494c2d078fcfb9" + "3.8.5": + url: "https://github.com/OSGeo/gdal/releases/download/v3.8.5/gdal-3.8.5.tar.gz" + sha256: "0c865c7931c7e9bb4832f50fb53aec8676cbbaccd6e55945011b737fb89a49c2" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,7 +12,7 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.8.4": + "3.8.5": - patch_file: "patches/3.8.1/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" From d241f1fce5c41e1a7273275115d8d323d4aa00d8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 20 Apr 2024 15:03:37 +0300 Subject: [PATCH 10/24] gdal: bump versions for #23277 --- recipes/gdal/post_3.5.0/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index df4e19ab43c05..01e8307f0aa5d 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -207,7 +207,7 @@ def requirements(self): if self.options.with_ecw: self.requires("libecwj2/3.3") if self.options.with_expat: - self.requires("expat/2.5.0") + self.requires("expat/[>=2.6.2 <3]") if self.options.with_exr: self.requires("openexr/3.2.1") self.requires("imath/3.1.9") @@ -274,7 +274,7 @@ def requirements(self): # if self.options.with_pdfium: # self.requires("pdfium/95.0.4629") if self.options.with_pg: - self.requires("libpq/15.4") + self.requires("libpq/15.5") if self.options.with_png: self.requires("libpng/[>=1.6 <2]") if self.options.with_podofo: @@ -288,7 +288,7 @@ def requirements(self): if self.options.with_spatialite: self.requires("libspatialite/5.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.44.2") + self.requires("sqlite3/3.45.3") if self.options.with_tiledb: self.requires("tiledb/2.21.0") if self.options.with_webp: @@ -296,7 +296,7 @@ def requirements(self): if self.options.with_xerces: self.requires("xerces-c/3.2.5") if self.options.with_xml2: - self.requires("libxml2/2.12.3") + self.requires("libxml2/[>=2.12.5 <3]") if self.options.with_zstd: self.requires("zstd/1.5.5") # Use of external shapelib is not recommended and is currently broken. From 78a8a23b9b2546dffe05cfa12ca8ee207fa179b3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 20 Apr 2024 15:55:15 +0300 Subject: [PATCH 11/24] gdal: bump proj #21512 --- recipes/gdal/post_3.5.0/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 01e8307f0aa5d..606e69ca7a2bb 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -182,7 +182,7 @@ def requirements(self): self.requires("json-c/0.17") self.requires("libgeotiff/1.7.1") self.requires("libtiff/4.6.0") - self.requires("proj/9.3.1") + self.requires("proj/9.4.0") # Used in a public header here: # https://github.com/OSGeo/gdal/blob/v3.7.1/port/cpl_minizip_ioapi.h#L26 self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) From 70f20ef07de096409ca8d6f3cf9f6315d3689dd4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 May 2024 10:25:30 +0300 Subject: [PATCH 12/24] gdal: bump to v3.9.0 --- recipes/gdal/config.yml | 2 +- recipes/gdal/post_3.5.0/conandata.yml | 14 ++++---- recipes/gdal/post_3.5.0/conanfile.py | 5 +-- .../3.9.0/0-replace-find-package.patch | 34 +++++++++++++++++++ .../1-do-not-force-private-linking.patch | 19 +++++++++++ .../2-allow-cycles-in-cmake-targets.patch | 21 ++++++++++++ 6 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 9c00688e7736d..991f952cf39d7 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,5 +1,5 @@ versions: - "3.8.5": + "3.9.0": folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 967c168921c0e..0fbfc78de3f19 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.8.5": - url: "https://github.com/OSGeo/gdal/releases/download/v3.8.5/gdal-3.8.5.tar.gz" - sha256: "0c865c7931c7e9bb4832f50fb53aec8676cbbaccd6e55945011b737fb89a49c2" + "3.9.0": + url: "https://github.com/OSGeo/gdal/releases/download/v3.9.0/gdal-3.9.0.tar.gz" + sha256: "3b29b573b60d156cf160805290474b625c4197ca36a79fd14f83ec8f77f29ba0" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,14 +12,14 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.8.5": - - patch_file: "patches/3.8.1/0-replace-find-package.patch" + "3.9.0": + - patch_file: "patches/3.9.0/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" - - patch_file: "patches/3.7.3/1-do-not-force-private-linking.patch" + - patch_file: "patches/3.9.0/1-do-not-force-private-linking.patch" patch_description: "Fix private linking not working for some Conan dependencies" patch_type: "conan" - - patch_file: "patches/3.5.3/2-allow-cycles-in-cmake-targets.patch" + - patch_file: "patches/3.9.0/2-allow-cycles-in-cmake-targets.patch" patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" patch_type: "conan" "3.8.3": diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 606e69ca7a2bb..a2acabb26db1d 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -182,7 +182,7 @@ def requirements(self): self.requires("json-c/0.17") self.requires("libgeotiff/1.7.1") self.requires("libtiff/4.6.0") - self.requires("proj/9.4.0") + self.requires("proj/9.3.1") # Used in a public header here: # https://github.com/OSGeo/gdal/blob/v3.7.1/port/cpl_minizip_ioapi.h#L26 self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) @@ -288,7 +288,7 @@ def requirements(self): if self.options.with_spatialite: self.requires("libspatialite/5.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.45.3") + self.requires("sqlite3/3.44.2") if self.options.with_tiledb: self.requires("tiledb/2.21.0") if self.options.with_webp: @@ -351,6 +351,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) tc.variables["GDAL_SET_INSTALL_RELATIVE_RPATH"] = True + tc.variables["GDAL_FIND_PACKAGE_PROJ_MODE"] = "CONFIG" tc.variables["BUILD_JAVA_BINDINGS"] = False tc.variables["BUILD_CSHARP_BINDINGS"] = False diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch new file mode 100644 index 0000000000000..a9c53aa0bb499 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch @@ -0,0 +1,34 @@ +--- cmake/helpers/CheckDependentLibraries.cmake ++++ cmake/helpers/CheckDependentLibraries.cmake +@@ -11,7 +11,7 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,9 +109,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- if(FIND_PACKAGE2_${name}_ENABLED) +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- else() ++ find_package2(${name} QUIET) ++ if(FALSE) + set(_find_package_args) + # For some reason passing the HDF5 version requirement cause a linking error of the libkea driver on Conda Windows builds... + if (_GCP_VERSION AND NOT ("${name}" STREQUAL "TileDB") AND NOT ("${name}" STREQUAL "HDF5")) +@@ -487,8 +486,8 @@ + NAMES json-c + TARGETS json-c::json-c JSONC::JSONC + ) +-gdal_internal_library(JSONC REQUIRED) +-if(TARGET json-c::json-c) ++find_package2(JSONC REQUIRED) ++if(FALSE) + get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) + find_path(GDAL_JSON_INCLUDE_DIR NAMES json.h PATHS ${include_dirs} PATH_SUFFIXES json-c NO_DEFAULT_PATH) + list(APPEND include_dirs "${GDAL_JSON_INCLUDE_DIR}") diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch new file mode 100644 index 0000000000000..02ee8acd46954 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch @@ -0,0 +1,19 @@ +--- cmake/helpers/GdalDriverHelper.cmake ++++ cmake/helpers/GdalDriverHelper.cmake +@@ -347,7 +347,7 @@ + set(_oneValueArgs) + set(_multiValueArgs PRIVATE) + cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) +- if (NOT _DRIVER_PRIVATE) ++ if (FALSE) + message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") + endif () + is_plugin(RES ${target}) +@@ -364,6 +364,7 @@ + else () + gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) + gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) ++ target_link_libraries(${ARGV}) + endif () + + # For debugging purposes diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch b/recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch new file mode 100644 index 0000000000000..1d6229087e0fc --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch @@ -0,0 +1,21 @@ +--- cmake/helpers/GdalDriverHelper.cmake ++++ cmake/helpers/GdalDriverHelper.cmake +@@ -316,6 +316,7 @@ + target_compile_options(${_TARGET} PRIVATE ${_res}) + endif () + get_property(_res TARGET ${_LIB} PROPERTY INTERFACE_LINK_LIBRARIES) ++ list(REMOVE_ITEM _res ${_LIB}) + if (_res) + gdal_target_interfaces(${_TARGET} ${_res}) + endif () + +--- cmake/helpers/GdalGenerateConfig.cmake ++++ cmake/helpers/GdalGenerateConfig.cmake +@@ -50,6 +50,7 @@ + if(TARGET "${_lib}") + get_target_property(_link_libraries ${_lib} INTERFACE_LINK_LIBRARIES) + get_target_property(_type ${_lib} TYPE) ++ list(REMOVE_ITEM _link_libraries ${_lib}) + if(_link_libraries AND NOT TYPE STREQUAL "SHARED_LIBRARY") + list(INSERT ARGN 0 ${_link_libraries}) + endif() From ec5cc9acd339eb77305f0211de38b1bb52a1df24 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 May 2024 10:44:32 +0300 Subject: [PATCH 13/24] gdal: adjust dependency versions, revert most bumps --- recipes/gdal/post_3.5.0/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index a2acabb26db1d..dd1f1d17a2d76 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_armadillo: self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/15.0.0") + self.requires("arrow/16.0.0") if self.options.with_basisu: self.requires("libbasisu/1.15.0") if self.options.with_blosc: @@ -228,7 +228,7 @@ def requirements(self): if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.2") + self.requires("libjpeg-turbo/3.0.1") if self.options.with_jxl: # 0.9+ is not compatible as of v3.8.4 self.requires("libjxl/0.8.2") From 81deecb85c8ede3ec12f900d37d94a283c0ea099 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 14 May 2024 13:48:14 +0300 Subject: [PATCH 14/24] gdal: revert arrow bump --- recipes/gdal/post_3.5.0/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index dd1f1d17a2d76..1b376863d2a56 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_armadillo: self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/16.0.0") + self.requires("arrow/14.0.2") if self.options.with_basisu: self.requires("libbasisu/1.15.0") if self.options.with_blosc: From bd44e319bc32c9683a02899f9f704310ce887304 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 20 May 2024 07:39:48 +0300 Subject: [PATCH 15/24] gdal: bump arrow to handle missing binary --- recipes/gdal/post_3.5.0/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 1b376863d2a56..dd1f1d17a2d76 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_armadillo: self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/14.0.2") + self.requires("arrow/16.0.0") if self.options.with_basisu: self.requires("libbasisu/1.15.0") if self.options.with_blosc: From e86fe25882fd942854c9459ec8c16a936d805ed8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jul 2024 15:43:30 +0300 Subject: [PATCH 16/24] gdal: bump to v3.9.1 --- recipes/gdal/config.yml | 2 +- recipes/gdal/post_3.5.0/conandata.yml | 14 +++++++------- .../{3.9.0 => 3.9.1}/0-replace-find-package.patch | 4 ++-- .../1-do-not-force-private-linking.patch | 8 ++++---- .../2-allow-cycles-in-cmake-targets.patch | 10 +++++----- 5 files changed, 19 insertions(+), 19 deletions(-) rename recipes/gdal/post_3.5.0/patches/{3.9.0 => 3.9.1}/0-replace-find-package.patch (92%) rename recipes/gdal/post_3.5.0/patches/{3.9.0 => 3.9.1}/1-do-not-force-private-linking.patch (81%) rename recipes/gdal/post_3.5.0/patches/{3.9.0 => 3.9.1}/2-allow-cycles-in-cmake-targets.patch (78%) diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 991f952cf39d7..57c75a5c5464d 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,5 +1,5 @@ versions: - "3.9.0": + "3.9.1": folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 0fbfc78de3f19..3f838100aa0a0 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.9.0": - url: "https://github.com/OSGeo/gdal/releases/download/v3.9.0/gdal-3.9.0.tar.gz" - sha256: "3b29b573b60d156cf160805290474b625c4197ca36a79fd14f83ec8f77f29ba0" + "3.9.1": + url: "https://github.com/OSGeo/gdal/releases/download/v3.9.1/gdal-3.9.1.tar.gz" + sha256: "46cd95ad0f270af0cd317ddc28fa5e0a7ad0b0fd160a7bd22909150df53e3418" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,14 +12,14 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.9.0": - - patch_file: "patches/3.9.0/0-replace-find-package.patch" + "3.9.1": + - patch_file: "patches/3.9.1/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" - - patch_file: "patches/3.9.0/1-do-not-force-private-linking.patch" + - patch_file: "patches/3.9.1/1-do-not-force-private-linking.patch" patch_description: "Fix private linking not working for some Conan dependencies" patch_type: "conan" - - patch_file: "patches/3.9.0/2-allow-cycles-in-cmake-targets.patch" + - patch_file: "patches/3.9.1/2-allow-cycles-in-cmake-targets.patch" patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" patch_type: "conan" "3.8.3": diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch similarity index 92% rename from recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch rename to recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch index a9c53aa0bb499..3d2718893703c 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.0/0-replace-find-package.patch +++ b/recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch @@ -1,5 +1,5 @@ ---- cmake/helpers/CheckDependentLibraries.cmake -+++ cmake/helpers/CheckDependentLibraries.cmake +--- a/cmake/helpers/CheckDependentLibraries.cmake ++++ b/cmake/helpers/CheckDependentLibraries.cmake @@ -11,7 +11,7 @@ include(CheckFunctionExists) include(CMakeDependentOption) diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch similarity index 81% rename from recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch rename to recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch index 02ee8acd46954..625263a19ceb6 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.0/1-do-not-force-private-linking.patch +++ b/recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch @@ -1,6 +1,6 @@ ---- cmake/helpers/GdalDriverHelper.cmake -+++ cmake/helpers/GdalDriverHelper.cmake -@@ -347,7 +347,7 @@ +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -386,7 +386,7 @@ set(_oneValueArgs) set(_multiValueArgs PRIVATE) cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) @@ -9,7 +9,7 @@ message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") endif () is_plugin(RES ${target}) -@@ -364,6 +364,7 @@ +@@ -403,6 +403,7 @@ else () gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) diff --git a/recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch b/recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch similarity index 78% rename from recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch rename to recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch index 1d6229087e0fc..8e940f4051c08 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.0/2-allow-cycles-in-cmake-targets.patch +++ b/recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch @@ -1,6 +1,6 @@ ---- cmake/helpers/GdalDriverHelper.cmake -+++ cmake/helpers/GdalDriverHelper.cmake -@@ -316,6 +316,7 @@ +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -355,6 +355,7 @@ target_compile_options(${_TARGET} PRIVATE ${_res}) endif () get_property(_res TARGET ${_LIB} PROPERTY INTERFACE_LINK_LIBRARIES) @@ -9,8 +9,8 @@ gdal_target_interfaces(${_TARGET} ${_res}) endif () ---- cmake/helpers/GdalGenerateConfig.cmake -+++ cmake/helpers/GdalGenerateConfig.cmake +--- a/cmake/helpers/GdalGenerateConfig.cmake ++++ b/cmake/helpers/GdalGenerateConfig.cmake @@ -50,6 +50,7 @@ if(TARGET "${_lib}") get_target_property(_link_libraries ${_lib} INTERFACE_LINK_LIBRARIES) From 4c4ff159abb40eb7a35597fb44644831807e567e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jul 2024 15:44:37 +0300 Subject: [PATCH 17/24] gdal: adjust qhull component to not break with #24532 --- recipes/gdal/post_3.5.0/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index dd1f1d17a2d76..987add0785215 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -788,7 +788,7 @@ def package_info(self): if self.options.with_rasterlite2: self.cpp_info.requires.extend(["librasterlite2::librasterlite2"]) if self.options.with_qhull: - self.cpp_info.requires.extend(["qhull::libqhull"]) + self.cpp_info.requires.extend(["qhull::qhull"]) if self.options.with_spatialite: self.cpp_info.requires.extend(["libspatialite::libspatialite"]) if self.options.with_sqlite3: From 5267d5d31cec2e0574604c8c8f92f96f36ead356 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 31 Jul 2024 21:08:11 +0300 Subject: [PATCH 18/24] gdal: add version ranges, bump some deps Bumped deps that were previously broken anyway. Bumped vulnerable libarchive version. --- recipes/gdal/post_3.5.0/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 987add0785215..fab7f86be74df 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -189,7 +189,7 @@ def requirements(self): if self.options.with_armadillo: self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/16.0.0") + self.requires("arrow/17.0.0") if self.options.with_basisu: self.requires("libbasisu/1.15.0") if self.options.with_blosc: @@ -233,13 +233,13 @@ def requirements(self): # 0.9+ is not compatible as of v3.8.4 self.requires("libjxl/0.8.2") if self.options.with_kea: - self.requires("kealib/1.4.14") + self.requires("kealib/1.5.2") if self.options.with_lerc: self.requires("lerc/4.0.1") if self.options.get_safe("with_libaec"): self.requires("libaec/1.0.6") if self.options.with_libarchive: - self.requires("libarchive/3.7.2") + self.requires("libarchive/3.7.4") if self.options.with_libdeflate: self.requires("libdeflate/1.19") if self.options.with_libiconv: @@ -247,7 +247,7 @@ def requirements(self): if self.options.with_libkml: self.requires("libkml/1.3.0") if self.options.with_lzma: - self.requires("xz_utils/5.4.5") + self.requires("xz_utils/[>=5.4.5 <6]") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_mongocxx: @@ -298,7 +298,7 @@ def requirements(self): if self.options.with_xml2: self.requires("libxml2/[>=2.12.5 <3]") if self.options.with_zstd: - self.requires("zstd/1.5.5") + self.requires("zstd/[^1.5]") # Use of external shapelib is not recommended and is currently broken. # https://github.com/OSGeo/gdal/issues/5711 # if self.options.with_shapelib: From 7ff3b27eed42836788c2fdbfe5e0e7ccfd623e49 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 16 Aug 2024 15:46:48 +0300 Subject: [PATCH 19/24] gdal: bump to v3.9.2 --- recipes/gdal/config.yml | 2 +- recipes/gdal/post_3.5.0/conandata.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index 57c75a5c5464d..d51e4bc19debc 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,5 +1,5 @@ versions: - "3.9.1": + "3.9.2": folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 3f838100aa0a0..7948cddaf27fb 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.9.1": - url: "https://github.com/OSGeo/gdal/releases/download/v3.9.1/gdal-3.9.1.tar.gz" - sha256: "46cd95ad0f270af0cd317ddc28fa5e0a7ad0b0fd160a7bd22909150df53e3418" + "3.9.2": + url: "https://github.com/OSGeo/gdal/releases/download/v3.9.2/gdal-3.9.2.tar.gz" + sha256: "c9767e79ca7245f704bfbcb47d771b2dc317d743536b78d648c3e92b95fbc21e" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,7 +12,7 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.9.1": + "3.9.2": - patch_file: "patches/3.9.1/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" From a0480a22774477e3c68d40e35f298a6f0e6b09a1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 7 Oct 2024 17:44:04 +0300 Subject: [PATCH 20/24] gdal: use tc.cache_variables --- recipes/gdal/post_3.5.0/conanfile.py | 246 +++++++++++++-------------- 1 file changed, 123 insertions(+), 123 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index fab7f86be74df..b1bb781e382ff 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -349,147 +349,147 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) - tc.variables["GDAL_SET_INSTALL_RELATIVE_RPATH"] = True - tc.variables["GDAL_FIND_PACKAGE_PROJ_MODE"] = "CONFIG" - - tc.variables["BUILD_JAVA_BINDINGS"] = False - tc.variables["BUILD_CSHARP_BINDINGS"] = False - tc.variables["BUILD_PYTHON_BINDINGS"] = False - tc.variables["BUILD_APPS"] = self.options.tools - tc.variables["BUILD_TESTING"] = False - - tc.variables["GDAL_USE_ARCHIVE"] = self.options.with_libarchive - tc.variables["GDAL_USE_ARMADILLO"] = self.options.with_armadillo - tc.variables["GDAL_USE_ARROW"] = self.options.with_arrow - tc.variables["GDAL_USE_ARROWDATASET"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules - tc.variables["GDAL_USE_BASISU"] = self.options.with_basisu - tc.variables["GDAL_USE_BLOSC"] = self.options.with_blosc - tc.variables["GDAL_USE_BRUNSLI"] = self.options.with_brunsli - tc.variables["GDAL_USE_CFITSIO"] = self.options.with_cfitsio - tc.variables["GDAL_USE_CRNLIB"] = self.options.with_dds - tc.variables["GDAL_USE_CRYPTOPP"] = self.options.with_cryptopp - tc.variables["GDAL_USE_CURL"] = self.options.with_curl - tc.variables["GDAL_USE_DEFLATE"] = self.options.with_libdeflate - tc.variables["GDAL_USE_ECW"] = self.options.with_ecw - tc.variables["GDAL_USE_EXPAT"] = self.options.with_expat - tc.variables["GDAL_USE_FILEGDB"] = False - tc.variables["GDAL_USE_FREEXL"] = self.options.with_freexl - tc.variables["GDAL_USE_FYBA"] = False - tc.variables["GDAL_USE_GEOS"] = self.options.with_geos - tc.variables["GDAL_USE_GEOTIFF"] = True - tc.variables["GDAL_USE_GEOTIFF_INTERNAL"] = False - tc.variables["GDAL_USE_GIF"] = self.options.with_gif - tc.variables["GDAL_USE_GIF_INTERNAL"] = False - tc.variables["GDAL_USE_GTA"] = self.options.with_gta - tc.variables["GDAL_USE_HDF4"] = self.options.with_hdf4 - tc.variables["GDAL_USE_HDF5"] = self.options.with_hdf5 - tc.variables["GDAL_USE_HDFS"] = False - tc.variables["GDAL_USE_HEIF"] = self.options.with_heif - tc.variables["GDAL_USE_ICONV"] = self.options.with_libiconv - tc.variables["GDAL_USE_IDB"] = False - tc.variables["GDAL_USE_JPEG"] = bool(self.options.with_jpeg) - tc.variables["GDAL_USE_JPEG_INTERNAL"] = False - tc.variables["GDAL_USE_JPEG12_INTERNAL"] = False - tc.variables["GDAL_USE_JSONC"] = True - tc.variables["GDAL_USE_JSONC_INTERNAL"] = False - tc.variables["GDAL_USE_JXL"] = self.options.with_jxl - tc.variables["GDAL_USE_JXL_THREADS"] = self.options.with_jxl - tc.variables["GDAL_USE_KDU"] = False - tc.variables["GDAL_USE_KEA"] = self.options.with_kea - tc.variables["GDAL_USE_LERC"] = self.options.with_lerc - tc.variables["GDAL_USE_LERC_INTERNAL"] = False - tc.variables["GDAL_USE_LIBAEC"] = self.options.get_safe("with_libaec", False) - tc.variables["GDAL_USE_LIBCSF"] = False - tc.variables["GDAL_USE_LIBCSF_INTERNAL"] = self.options.with_libcsf - tc.variables["GDAL_USE_LIBKML"] = self.options.with_libkml - tc.variables["GDAL_USE_LIBLZMA"] = self.options.with_lzma - tc.variables["GDAL_USE_LIBQB3"] = False - tc.variables["GDAL_USE_LIBXML2"] = self.options.with_xml2 - tc.variables["GDAL_USE_LURATECH"] = False - tc.variables["GDAL_USE_LZ4"] = self.options.with_lz4 - tc.variables["GDAL_USE_MONGOCXX"] = self.options.with_mongocxx - tc.variables["GDAL_USE_MRSID"] = False - tc.variables["GDAL_USE_MSSQL_NCLI"] = False - tc.variables["GDAL_USE_MSSQL_ODBC"] = False - tc.variables["GDAL_USE_MYSQL"] = bool(self.options.with_mysql) - tc.variables["GDAL_USE_NETCDF"] = self.options.with_netcdf - tc.variables["GDAL_USE_ODBC"] = self.options.with_odbc - tc.variables["GDAL_USE_ODBCCPP"] = False - tc.variables["GDAL_USE_OGDI"] = False - tc.variables["GDAL_USE_OPENCAD"] = False - tc.variables["GDAL_USE_OPENCAD_INTERNAL"] = self.options.with_opencad - tc.variables["GDAL_USE_OPENCL"] = self.options.with_opencl - tc.variables["GDAL_USE_OPENEXR"] = self.options.with_exr - tc.variables["GDAL_USE_OPENJPEG"] = self.options.with_openjpeg - tc.variables["GDAL_USE_OPENSSL"] = self.options.with_openssl - tc.variables["GDAL_USE_ORACLE"] = False - tc.variables["GDAL_USE_PARQUET"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet - tc.variables["GDAL_USE_PCRE"] = self.options.with_pcre - tc.variables["GDAL_USE_PCRE2"] = self.options.with_pcre2 - tc.variables["GDAL_USE_PDFIUM"] = False # self.options.with_pdfium - tc.variables["GDAL_USE_PNG"] = self.options.with_png - tc.variables["GDAL_USE_PNG_INTERNAL"] = False - tc.variables["GDAL_USE_PODOFO"] = self.options.with_podofo - tc.variables["GDAL_USE_POPPLER"] = self.options.with_poppler - tc.variables["GDAL_USE_POSTGRESQL"] = self.options.with_pg - tc.variables["GDAL_USE_PUBLICDECOMPWT"] = self.options.with_publicdecompwt - tc.variables["GDAL_USE_QHULL"] = self.options.with_qhull - tc.variables["GDAL_USE_QHULL_INTERNAL"] = False - tc.variables["GDAL_USE_RASTERLITE2"] = self.options.with_rasterlite2 - tc.variables["GDAL_USE_SFCGAL"] = False - tc.variables["GDAL_USE_SHAPELIB"] = False - tc.variables["GDAL_USE_SHAPELIB_INTERNAL"] = self.options.with_shapelib - tc.variables["GDAL_USE_SPATIALITE"] = self.options.with_spatialite - tc.variables["GDAL_USE_SQLITE3"] = self.options.with_sqlite3 - tc.variables["GDAL_USE_TEIGHA"] = False - tc.variables["GDAL_USE_TIFF_INTERNAL"] = False - tc.variables["GDAL_USE_TILEDB"] = self.options.with_tiledb - tc.variables["GDAL_USE_WEBP"] = self.options.with_webp - tc.variables["GDAL_USE_XERCESC"] = self.options.with_xerces - tc.variables["GDAL_USE_ZLIB"] = True - tc.variables["GDAL_USE_ZLIB_INTERNAL"] = False - tc.variables["GDAL_USE_ZSTD"] = self.options.with_zstd - - tc.variables["Parquet_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet - tc.variables["ArrowDataset_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules + tc.cache_variables["GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = self.options.get_safe("fPIC", True) + tc.cache_variables["GDAL_SET_INSTALL_RELATIVE_RPATH"] = True + tc.cache_variables["GDAL_FIND_PACKAGE_PROJ_MODE"] = "CONFIG" + + tc.cache_variables["BUILD_JAVA_BINDINGS"] = False + tc.cache_variables["BUILD_CSHARP_BINDINGS"] = False + tc.cache_variables["BUILD_PYTHON_BINDINGS"] = False + tc.cache_variables["BUILD_APPS"] = self.options.tools + tc.cache_variables["BUILD_TESTING"] = False + + tc.cache_variables["GDAL_USE_ARCHIVE"] = self.options.with_libarchive + tc.cache_variables["GDAL_USE_ARMADILLO"] = self.options.with_armadillo + tc.cache_variables["GDAL_USE_ARROW"] = self.options.with_arrow + tc.cache_variables["GDAL_USE_ARROWDATASET"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules + tc.cache_variables["GDAL_USE_BASISU"] = self.options.with_basisu + tc.cache_variables["GDAL_USE_BLOSC"] = self.options.with_blosc + tc.cache_variables["GDAL_USE_BRUNSLI"] = self.options.with_brunsli + tc.cache_variables["GDAL_USE_CFITSIO"] = self.options.with_cfitsio + tc.cache_variables["GDAL_USE_CRNLIB"] = self.options.with_dds + tc.cache_variables["GDAL_USE_CRYPTOPP"] = self.options.with_cryptopp + tc.cache_variables["GDAL_USE_CURL"] = self.options.with_curl + tc.cache_variables["GDAL_USE_DEFLATE"] = self.options.with_libdeflate + tc.cache_variables["GDAL_USE_ECW"] = self.options.with_ecw + tc.cache_variables["GDAL_USE_EXPAT"] = self.options.with_expat + tc.cache_variables["GDAL_USE_FILEGDB"] = False + tc.cache_variables["GDAL_USE_FREEXL"] = self.options.with_freexl + tc.cache_variables["GDAL_USE_FYBA"] = False + tc.cache_variables["GDAL_USE_GEOS"] = self.options.with_geos + tc.cache_variables["GDAL_USE_GEOTIFF"] = True + tc.cache_variables["GDAL_USE_GEOTIFF_INTERNAL"] = False + tc.cache_variables["GDAL_USE_GIF"] = self.options.with_gif + tc.cache_variables["GDAL_USE_GIF_INTERNAL"] = False + tc.cache_variables["GDAL_USE_GTA"] = self.options.with_gta + tc.cache_variables["GDAL_USE_HDF4"] = self.options.with_hdf4 + tc.cache_variables["GDAL_USE_HDF5"] = self.options.with_hdf5 + tc.cache_variables["GDAL_USE_HDFS"] = False + tc.cache_variables["GDAL_USE_HEIF"] = self.options.with_heif + tc.cache_variables["GDAL_USE_ICONV"] = self.options.with_libiconv + tc.cache_variables["GDAL_USE_IDB"] = False + tc.cache_variables["GDAL_USE_JPEG"] = bool(self.options.with_jpeg) + tc.cache_variables["GDAL_USE_JPEG_INTERNAL"] = False + tc.cache_variables["GDAL_USE_JPEG12_INTERNAL"] = False + tc.cache_variables["GDAL_USE_JSONC"] = True + tc.cache_variables["GDAL_USE_JSONC_INTERNAL"] = False + tc.cache_variables["GDAL_USE_JXL"] = self.options.with_jxl + tc.cache_variables["GDAL_USE_JXL_THREADS"] = self.options.with_jxl + tc.cache_variables["GDAL_USE_KDU"] = False + tc.cache_variables["GDAL_USE_KEA"] = self.options.with_kea + tc.cache_variables["GDAL_USE_LERC"] = self.options.with_lerc + tc.cache_variables["GDAL_USE_LERC_INTERNAL"] = False + tc.cache_variables["GDAL_USE_LIBAEC"] = self.options.get_safe("with_libaec", False) + tc.cache_variables["GDAL_USE_LIBCSF"] = False + tc.cache_variables["GDAL_USE_LIBCSF_INTERNAL"] = self.options.with_libcsf + tc.cache_variables["GDAL_USE_LIBKML"] = self.options.with_libkml + tc.cache_variables["GDAL_USE_LIBLZMA"] = self.options.with_lzma + tc.cache_variables["GDAL_USE_LIBQB3"] = False + tc.cache_variables["GDAL_USE_LIBXML2"] = self.options.with_xml2 + tc.cache_variables["GDAL_USE_LURATECH"] = False + tc.cache_variables["GDAL_USE_LZ4"] = self.options.with_lz4 + tc.cache_variables["GDAL_USE_MONGOCXX"] = self.options.with_mongocxx + tc.cache_variables["GDAL_USE_MRSID"] = False + tc.cache_variables["GDAL_USE_MSSQL_NCLI"] = False + tc.cache_variables["GDAL_USE_MSSQL_ODBC"] = False + tc.cache_variables["GDAL_USE_MYSQL"] = bool(self.options.with_mysql) + tc.cache_variables["GDAL_USE_NETCDF"] = self.options.with_netcdf + tc.cache_variables["GDAL_USE_ODBC"] = self.options.with_odbc + tc.cache_variables["GDAL_USE_ODBCCPP"] = False + tc.cache_variables["GDAL_USE_OGDI"] = False + tc.cache_variables["GDAL_USE_OPENCAD"] = False + tc.cache_variables["GDAL_USE_OPENCAD_INTERNAL"] = self.options.with_opencad + tc.cache_variables["GDAL_USE_OPENCL"] = self.options.with_opencl + tc.cache_variables["GDAL_USE_OPENEXR"] = self.options.with_exr + tc.cache_variables["GDAL_USE_OPENJPEG"] = self.options.with_openjpeg + tc.cache_variables["GDAL_USE_OPENSSL"] = self.options.with_openssl + tc.cache_variables["GDAL_USE_ORACLE"] = False + tc.cache_variables["GDAL_USE_PARQUET"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet + tc.cache_variables["GDAL_USE_PCRE"] = self.options.with_pcre + tc.cache_variables["GDAL_USE_PCRE2"] = self.options.with_pcre2 + tc.cache_variables["GDAL_USE_PDFIUM"] = False # self.options.with_pdfium + tc.cache_variables["GDAL_USE_PNG"] = self.options.with_png + tc.cache_variables["GDAL_USE_PNG_INTERNAL"] = False + tc.cache_variables["GDAL_USE_PODOFO"] = self.options.with_podofo + tc.cache_variables["GDAL_USE_POPPLER"] = self.options.with_poppler + tc.cache_variables["GDAL_USE_POSTGRESQL"] = self.options.with_pg + tc.cache_variables["GDAL_USE_PUBLICDECOMPWT"] = self.options.with_publicdecompwt + tc.cache_variables["GDAL_USE_QHULL"] = self.options.with_qhull + tc.cache_variables["GDAL_USE_QHULL_INTERNAL"] = False + tc.cache_variables["GDAL_USE_RASTERLITE2"] = self.options.with_rasterlite2 + tc.cache_variables["GDAL_USE_SFCGAL"] = False + tc.cache_variables["GDAL_USE_SHAPELIB"] = False + tc.cache_variables["GDAL_USE_SHAPELIB_INTERNAL"] = self.options.with_shapelib + tc.cache_variables["GDAL_USE_SPATIALITE"] = self.options.with_spatialite + tc.cache_variables["GDAL_USE_SQLITE3"] = self.options.with_sqlite3 + tc.cache_variables["GDAL_USE_TEIGHA"] = False + tc.cache_variables["GDAL_USE_TIFF_INTERNAL"] = False + tc.cache_variables["GDAL_USE_TILEDB"] = self.options.with_tiledb + tc.cache_variables["GDAL_USE_WEBP"] = self.options.with_webp + tc.cache_variables["GDAL_USE_XERCESC"] = self.options.with_xerces + tc.cache_variables["GDAL_USE_ZLIB"] = True + tc.cache_variables["GDAL_USE_ZLIB_INTERNAL"] = False + tc.cache_variables["GDAL_USE_ZSTD"] = self.options.with_zstd + + tc.cache_variables["Parquet_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.parquet + tc.cache_variables["ArrowDataset_FOUND"] = self.options.with_arrow and self.dependencies["arrow"].options.dataset_modules # General workaround for try_compile() tests in the project # https://github.com/conan-io/conan/issues/12180 - tc.variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = self.settings.build_type + tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) # https://github.com/OSGeo/gdal/blob/v3.8.1/cmake/modules/packages/FindSQLite3.cmake if self.options.with_sqlite3: - tc.variables["SQLite3_HAS_COLUMN_METADATA"] = self.dependencies["sqlite3"].options.enable_column_metadata - tc.variables["SQLite3_HAS_RTREE"] = self.dependencies["sqlite3"].options.enable_rtree - tc.variables["SQLite3_HAS_LOAD_EXTENSION"] = not self.dependencies["sqlite3"].options.omit_load_extension - tc.variables["SQLite3_HAS_PROGRESS_HANDLER"] = True - tc.variables["SQLite3_HAS_MUTEX_ALLOC"] = True + tc.cache_variables["SQLite3_HAS_COLUMN_METADATA"] = self.dependencies["sqlite3"].options.enable_column_metadata + tc.cache_variables["SQLite3_HAS_RTREE"] = self.dependencies["sqlite3"].options.enable_rtree + tc.cache_variables["SQLite3_HAS_LOAD_EXTENSION"] = not self.dependencies["sqlite3"].options.omit_load_extension + tc.cache_variables["SQLite3_HAS_PROGRESS_HANDLER"] = True + tc.cache_variables["SQLite3_HAS_MUTEX_ALLOC"] = True tc.preprocessor_definitions["SQLite3_HAS_COLUMN_METADATA"] = 1 if self.dependencies["sqlite3"].options.enable_column_metadata else 0 tc.preprocessor_definitions["SQLite3_HAS_RTREE"] = 1 if self.dependencies["sqlite3"].options.enable_rtree else 0 # https://github.com/OSGeo/gdal/blob/v3.8.0/cmake/helpers/CheckDependentLibraries.cmake#L419-L450 - tc.variables["HAVE_JPEGTURBO_DUAL_MODE_8_12"] = ( - self.options.with_jpeg == "libjpeg-turbo" and - bool(self.dependencies["libjpeg-turbo"].options.get_safe("enable12bit")) + tc.cache_variables["HAVE_JPEGTURBO_DUAL_MODE_8_12"] = bool( + self.options.with_jpeg == "libjpeg-turbo" and + self.dependencies["libjpeg-turbo"].options.get_safe("enable12bit") ) # https://github.com/OSGeo/gdal/blob/v3.8.0/port/CMakeLists.txt - tc.variables["BLOSC_HAS_BLOSC_CBUFFER_VALIDATE"] = ( - self.options.with_blosc and - Version(self.dependencies["c-blosc"].ref.version) >= "1.21.5" + tc.cache_variables["BLOSC_HAS_BLOSC_CBUFFER_VALIDATE"] = bool( + self.options.with_blosc and + Version(self.dependencies["c-blosc"].ref.version) >= "1.21.5" ) # https://github.com/OSGeo/gdal/blob/v3.8.0/frmts/hdf5/CMakeLists.txt#L61-L64 - tc.variables["GDAL_ENABLE_HDF5_GLOBAL_LOCK"] = ( - self.options.with_hdf5 and - bool(self.dependencies["hdf5"].options.get_safe("threadsafe")) + tc.cache_variables["GDAL_ENABLE_HDF5_GLOBAL_LOCK"] = bool( + self.options.with_hdf5 and + self.dependencies["hdf5"].options.get_safe("threadsafe") ) # https://github.com/OSGeo/gdal/blob/v3.8.0/frmts/hdf4/CMakeLists.txt#L28-L46 - tc.variables["HDF4_HAS_MAXOPENFILES"] = ( - self.options.with_hdf4 and - Version(self.dependencies["hdf4"].ref.version) >= "4.2.5" + tc.cache_variables["HDF4_HAS_MAXOPENFILES"] = bool( + self.options.with_hdf4 and + Version(self.dependencies["hdf4"].ref.version) >= "4.2.5" ) # https://github.com/OSGeo/gdal/blob/4bb78aab3ae9ab5433042bc27239d1555cbe272e/cmake/helpers/CheckDependentLibraries.cmake#L301-L318 # The detection fails for some reason # Setting it to non-const is compatible with all platforms - tc.variables["_ICONV_SECOND_ARGUMENT_IS_NOT_CONST"] = True + tc.cache_variables["_ICONV_SECOND_ARGUMENT_IS_NOT_CONST"] = True tc.generate() From a8b54b635e9ecf9cc6f3223b37f30feeab9dfb1c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Nov 2024 11:53:15 +0200 Subject: [PATCH 21/24] gdal: bump to v3.9.3 --- recipes/gdal/config.yml | 2 +- recipes/gdal/post_3.5.0/conandata.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index d51e4bc19debc..6dc720acfa528 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,5 +1,5 @@ versions: - "3.9.2": + "3.9.3": folder: "post_3.5.0" "3.8.3": folder: "post_3.5.0" diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 7948cddaf27fb..253926fcacf04 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.9.2": - url: "https://github.com/OSGeo/gdal/releases/download/v3.9.2/gdal-3.9.2.tar.gz" - sha256: "c9767e79ca7245f704bfbcb47d771b2dc317d743536b78d648c3e92b95fbc21e" + "3.9.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.9.3/gdal-3.9.3.tar.gz" + sha256: "f293d8ccc6b98f617db88f8593eae37f7e4b32d49a615b2cba5ced12c7bebdae" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,7 +12,7 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.9.2": + "3.9.3": - patch_file: "patches/3.9.1/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" From 69a32ce8ffcc8c44937e711b24e160e9bc905469 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Nov 2024 12:00:03 +0200 Subject: [PATCH 22/24] gdal: bump tiledb version --- recipes/gdal/post_3.5.0/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index b1bb781e382ff..fe1ba3afe7cf5 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -239,7 +239,7 @@ def requirements(self): if self.options.get_safe("with_libaec"): self.requires("libaec/1.0.6") if self.options.with_libarchive: - self.requires("libarchive/3.7.4") + self.requires("libarchive/3.7.2") if self.options.with_libdeflate: self.requires("libdeflate/1.19") if self.options.with_libiconv: @@ -290,7 +290,7 @@ def requirements(self): if self.options.with_sqlite3: self.requires("sqlite3/3.44.2") if self.options.with_tiledb: - self.requires("tiledb/2.21.0") + self.requires("tiledb/2.26.1") if self.options.with_webp: self.requires("libwebp/1.3.2") if self.options.with_xerces: @@ -302,7 +302,7 @@ def requirements(self): # Use of external shapelib is not recommended and is currently broken. # https://github.com/OSGeo/gdal/issues/5711 # if self.options.with_shapelib: - # self.requires("shapelib/1.6.0") + # self.requires("shapelib/1.6.1") def build_requirements(self): # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 From e60be447c7b57e7a29ea4dc3b6c393df877c763d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Dec 2024 15:52:05 +0200 Subject: [PATCH 23/24] gdal: let GDAL detect sqlite3 features --- recipes/gdal/post_3.5.0/conanfile.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index fe1ba3afe7cf5..54a47d8c87326 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -4,6 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -307,6 +308,8 @@ def requirements(self): def build_requirements(self): # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 self.tool_requires("cmake/[>=3.18 <4]") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/[>=2.2 <3]") def package_id(self): # Ignore deprecated options @@ -457,15 +460,6 @@ def generate(self): # General workaround for try_compile() tests in the project # https://github.com/conan-io/conan/issues/12180 tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) - # https://github.com/OSGeo/gdal/blob/v3.8.1/cmake/modules/packages/FindSQLite3.cmake - if self.options.with_sqlite3: - tc.cache_variables["SQLite3_HAS_COLUMN_METADATA"] = self.dependencies["sqlite3"].options.enable_column_metadata - tc.cache_variables["SQLite3_HAS_RTREE"] = self.dependencies["sqlite3"].options.enable_rtree - tc.cache_variables["SQLite3_HAS_LOAD_EXTENSION"] = not self.dependencies["sqlite3"].options.omit_load_extension - tc.cache_variables["SQLite3_HAS_PROGRESS_HANDLER"] = True - tc.cache_variables["SQLite3_HAS_MUTEX_ALLOC"] = True - tc.preprocessor_definitions["SQLite3_HAS_COLUMN_METADATA"] = 1 if self.dependencies["sqlite3"].options.enable_column_metadata else 0 - tc.preprocessor_definitions["SQLite3_HAS_RTREE"] = 1 if self.dependencies["sqlite3"].options.enable_rtree else 0 # https://github.com/OSGeo/gdal/blob/v3.8.0/cmake/helpers/CheckDependentLibraries.cmake#L419-L450 tc.cache_variables["HAVE_JPEGTURBO_DUAL_MODE_8_12"] = bool( self.options.with_jpeg == "libjpeg-turbo" and @@ -560,7 +554,7 @@ def generate(self): "qhull": "QHULL", # "sfcgal": "SFCGAL", "shapelib": "Shapelib", - "sqlite3": "SQLite3", + "sqlite3": "SQLite3-disabled", # Use FindSQLite3.cmake with pkg-config from GDAL "tiledb": "TileDB", "xerces-c": "XercesC", "xz_utils": "LibLZMA", @@ -636,6 +630,9 @@ def generate(self): deps.generate() + deps = PkgConfigDeps(self) + deps.generate() + def _patch_sources(self): apply_conandata_patches(self) # Fix Deflate::Deflate not being correctly propagated internally. From 696cc5ac098d3b77ac47412210dd152ad0823003 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 18 Dec 2024 15:54:13 +0200 Subject: [PATCH 24/24] gdal: bump to v3.10.0 --- recipes/gdal/post_3.5.0/conandata.yml | 14 +++++++------- recipes/gdal/post_3.5.0/conanfile.py | 12 +++++++++--- .../{3.9.1 => 3.10.0}/0-replace-find-package.patch | 8 +++++--- .../1-do-not-force-private-linking.patch | 4 ++-- .../2-allow-cycles-in-cmake-targets.patch | 3 +-- 5 files changed, 24 insertions(+), 17 deletions(-) rename recipes/gdal/post_3.5.0/patches/{3.9.1 => 3.10.0}/0-replace-find-package.patch (90%) rename recipes/gdal/post_3.5.0/patches/{3.9.1 => 3.10.0}/1-do-not-force-private-linking.patch (94%) rename recipes/gdal/post_3.5.0/patches/{3.9.1 => 3.10.0}/2-allow-cycles-in-cmake-targets.patch (97%) diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 253926fcacf04..95f327b572dd8 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,7 +1,7 @@ sources: - "3.9.3": - url: "https://github.com/OSGeo/gdal/releases/download/v3.9.3/gdal-3.9.3.tar.gz" - sha256: "f293d8ccc6b98f617db88f8593eae37f7e4b32d49a615b2cba5ced12c7bebdae" + "3.10.0": + url: "https://github.com/OSGeo/gdal/releases/download/v3.10.0/gdal-3.10.0.tar.gz" + sha256: "946ef444489bedbc1b04bd4c115d67ae8d3f3e4a5798d5a2f1cb2a11014105b2" "3.8.3": url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" @@ -12,14 +12,14 @@ sources: url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.9.3": - - patch_file: "patches/3.9.1/0-replace-find-package.patch" + "3.10.0": + - patch_file: "patches/3.10.0/0-replace-find-package.patch" patch_description: "Use custom version of find_package() for Conan deps" patch_type: "conan" - - patch_file: "patches/3.9.1/1-do-not-force-private-linking.patch" + - patch_file: "patches/3.10.0/1-do-not-force-private-linking.patch" patch_description: "Fix private linking not working for some Conan dependencies" patch_type: "conan" - - patch_file: "patches/3.9.1/2-allow-cycles-in-cmake-targets.patch" + - patch_file: "patches/3.10.0/2-allow-cycles-in-cmake-targets.patch" patch_description: "Fix CMake failure due to cyclical dependencies in CMakeDeps targets" patch_type: "conan" "3.8.3": diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 54a47d8c87326..0a2ca2431cf0b 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -643,11 +643,17 @@ def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), "JXL_THREADS", "JXL", strict=False) # Workaround for Parquet and ArrowDataset being provided by Arrow on CCI. - replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), - "gdal_check_package(Parquet", "# gdal_check_package(Parquet") - if Version(self.version) >= "3.6.0": + if Version(self.version) >= "3.10.0": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibrariesArrowParquet.cmake"), + "gdal_check_package(Parquet", "# gdal_check_package(Parquet") + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibrariesArrowParquet.cmake"), + "gdal_check_package(ArrowDataset", "# gdal_check_package(ArrowDataset") + elif Version(self.version) >= "3.6.0": replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), "gdal_check_package(ArrowDataset", "# gdal_check_package(ArrowDataset") + else: + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), + "gdal_check_package(Parquet", "# gdal_check_package(Parquet") def build(self): self._patch_sources() diff --git a/recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.10.0/0-replace-find-package.patch similarity index 90% rename from recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch rename to recipes/gdal/post_3.5.0/patches/3.10.0/0-replace-find-package.patch index 3d2718893703c..eb730b0e46845 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.1/0-replace-find-package.patch +++ b/recipes/gdal/post_3.5.0/patches/3.10.0/0-replace-find-package.patch @@ -1,5 +1,5 @@ ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake +--- a/cmake/helpers/CheckDependentLibrariesCommon.cmake ++++ b/cmake/helpers/CheckDependentLibrariesCommon.cmake @@ -11,7 +11,7 @@ include(CheckFunctionExists) include(CMakeDependentOption) @@ -21,7 +21,9 @@ set(_find_package_args) # For some reason passing the HDF5 version requirement cause a linking error of the libkea driver on Conda Windows builds... if (_GCP_VERSION AND NOT ("${name}" STREQUAL "TileDB") AND NOT ("${name}" STREQUAL "HDF5")) -@@ -487,8 +486,8 @@ +--- a/cmake/helpers/CheckDependentLibraries.cmake ++++ b/cmake/helpers/CheckDependentLibraries.cmake +@@ -176,8 +176,8 @@ NAMES json-c TARGETS json-c::json-c JSONC::JSONC ) diff --git a/recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.10.0/1-do-not-force-private-linking.patch similarity index 94% rename from recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch rename to recipes/gdal/post_3.5.0/patches/3.10.0/1-do-not-force-private-linking.patch index 625263a19ceb6..240e1f6128b41 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.1/1-do-not-force-private-linking.patch +++ b/recipes/gdal/post_3.5.0/patches/3.10.0/1-do-not-force-private-linking.patch @@ -1,6 +1,6 @@ --- a/cmake/helpers/GdalDriverHelper.cmake +++ b/cmake/helpers/GdalDriverHelper.cmake -@@ -386,7 +386,7 @@ +@@ -394,7 +394,7 @@ set(_oneValueArgs) set(_multiValueArgs PRIVATE) cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) @@ -9,7 +9,7 @@ message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") endif () is_plugin(RES ${target}) -@@ -403,6 +403,7 @@ +@@ -411,6 +411,7 @@ else () gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) diff --git a/recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch b/recipes/gdal/post_3.5.0/patches/3.10.0/2-allow-cycles-in-cmake-targets.patch similarity index 97% rename from recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch rename to recipes/gdal/post_3.5.0/patches/3.10.0/2-allow-cycles-in-cmake-targets.patch index 8e940f4051c08..aeeaa69ea861a 100644 --- a/recipes/gdal/post_3.5.0/patches/3.9.1/2-allow-cycles-in-cmake-targets.patch +++ b/recipes/gdal/post_3.5.0/patches/3.10.0/2-allow-cycles-in-cmake-targets.patch @@ -1,6 +1,6 @@ --- a/cmake/helpers/GdalDriverHelper.cmake +++ b/cmake/helpers/GdalDriverHelper.cmake -@@ -355,6 +355,7 @@ +@@ -363,6 +363,7 @@ target_compile_options(${_TARGET} PRIVATE ${_res}) endif () get_property(_res TARGET ${_LIB} PROPERTY INTERFACE_LINK_LIBRARIES) @@ -8,7 +8,6 @@ if (_res) gdal_target_interfaces(${_TARGET} ${_res}) endif () - --- a/cmake/helpers/GdalGenerateConfig.cmake +++ b/cmake/helpers/GdalGenerateConfig.cmake @@ -50,6 +50,7 @@