From 069896f16d8bac0efcc0c34f45d58295bd8917f6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 20:27:19 +0100 Subject: [PATCH 0001/1307] (#21116) libgpiod/all: bump deps * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libgpiod/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libgpiod/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgpiod/all/conanfile.py b/recipes/libgpiod/all/conanfile.py index 0ef6b491e9243..f35d2c80dd4b3 100644 --- a/recipes/libgpiod/all/conanfile.py +++ b/recipes/libgpiod/all/conanfile.py @@ -45,11 +45,11 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-headers-generic/5.14.9") + self.requires("linux-headers-generic/6.5.9") def build_requirements(self): self.build_requires("libtool/2.4.7") - self.build_requires("pkgconf/1.9.5") + self.build_requires("pkgconf/2.0.3") self.build_requires("autoconf-archive/2022.09.03") def source(self): From ca2d1f2e7360948c0cf3534cdb50376fc7f22074 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 21:30:09 +0100 Subject: [PATCH 0002/1307] (#21117) libsecret/all: bump deps * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsecret/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsecret/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libsecret/all/conanfile.py b/recipes/libsecret/all/conanfile.py index d8c295c9287a3..db4251a471dac 100644 --- a/recipes/libsecret/all/conanfile.py +++ b/recipes/libsecret/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self._use_gcrypt: self.requires("libgcrypt/1.8.4") @@ -64,9 +64,9 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") if self.settings.os == "Macos": From 72c69920bf92f1b76fb1f09242840808de22bdea Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 21:47:21 +0100 Subject: [PATCH 0003/1307] (#21118) libnetfilter queue/all: bump deps * libnetfilter_queue/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnetfilter_queue/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libnetfilter_queue/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libnetfilter_queue/all/conanfile.py b/recipes/libnetfilter_queue/all/conanfile.py index 73bddfa9c2d3a..3552a30ecc625 100644 --- a/recipes/libnetfilter_queue/all/conanfile.py +++ b/recipes/libnetfilter_queue/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 3212a360fd177881614a98da2930477ace8fba26 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:07:27 +0100 Subject: [PATCH 0004/1307] (#21121) avahi/all: bump deps * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * avahi/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/avahi/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/avahi/all/conanfile.py b/recipes/avahi/all/conanfile.py index c48041220143e..fdd5b5034805a 100644 --- a/recipes/avahi/all/conanfile.py +++ b/recipes/avahi/all/conanfile.py @@ -42,10 +42,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.1") + self.requires("glib/2.78.1") self.requires("expat/2.5.0") self.requires("libdaemon/0.14") - self.requires("dbus/1.15.6") + self.requires("dbus/1.15.8") self.requires("gdbm/1.23") self.requires("libevent/2.1.12") @@ -56,7 +56,7 @@ def validate(self): def build_requirements(self): self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c8fe4d9340f36ac701cd2616da897f4077c98f24 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:27:45 +0100 Subject: [PATCH 0005/1307] (#21122) libverto/all: bump deps * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libverto/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libverto/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libverto/all/conanfile.py b/recipes/libverto/all/conanfile.py index e1a3593480924..a7c33c03726fe 100644 --- a/recipes/libverto/all/conanfile.py +++ b/recipes/libverto/all/conanfile.py @@ -75,7 +75,7 @@ def layout(self): def requirements(self): if self.options.with_glib: - self.requires("glib/2.77.2") + self.requires("glib/2.78.1") if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_libev: @@ -109,7 +109,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("libtool/2.4.7") if self._settings_build.os == "Windows": self.win_bash = True From 492d5fb9f30ae750911aff88f71773b4c2a04998 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 22:47:17 +0100 Subject: [PATCH 0006/1307] (#21124) libxshmfence/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libxshmfence/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxshmfence/all/conanfile.py b/recipes/libxshmfence/all/conanfile.py index c2a5a359ad39a..486b79c2c29b4 100644 --- a/recipes/libxshmfence/all/conanfile.py +++ b/recipes/libxshmfence/all/conanfile.py @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("automake/1.16.5") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 39d5605e5b1f211daa98f1cb3508490849fa95ce Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 23:09:37 +0100 Subject: [PATCH 0007/1307] (#21127) libsigcpp/2.x.x: bump deps * libsigcpp/2.x.x/: bump deps * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libsigcpp/2.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libsigcpp/2.x.x/conanfile.py | 2 +- recipes/libsigcpp/2.x.x/test_package/conanfile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsigcpp/2.x.x/conanfile.py b/recipes/libsigcpp/2.x.x/conanfile.py index 9cb40725e278e..b771abcbf3d00 100644 --- a/recipes/libsigcpp/2.x.x/conanfile.py +++ b/recipes/libsigcpp/2.x.x/conanfile.py @@ -45,7 +45,7 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - self.tool_requires("meson/0.64.1") + self.tool_requires("meson/1.2.3") def source(self): get(self, **self.conan_data["sources"][self.version], diff --git a/recipes/libsigcpp/2.x.x/test_package/conanfile.py b/recipes/libsigcpp/2.x.x/test_package/conanfile.py index d5daeb4ad5467..0401e0f4d83ce 100644 --- a/recipes/libsigcpp/2.x.x/test_package/conanfile.py +++ b/recipes/libsigcpp/2.x.x/test_package/conanfile.py @@ -18,7 +18,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def generate(self): # TODO: to remove once conan 1.55.0 deployed in c3i (see https://github.com/conan-io/conan/pull/12513) From e57f6851551dc3ab4e076a02225d912d76e91947 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 14 Nov 2023 23:47:57 +0100 Subject: [PATCH 0008/1307] (#21128) coin-osi: bump deps --- recipes/coin-osi/all/test_v1_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coin-osi/all/test_v1_package/conanfile.py b/recipes/coin-osi/all/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/coin-osi/all/test_v1_package/conanfile.py +++ b/recipes/coin-osi/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From ee5db665cb4a11aa3cd5ae9932f7fac65e53f728 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 00:08:03 +0100 Subject: [PATCH 0009/1307] (#21120) libnice/all:bump deps * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libnice/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libnice/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libnice/all/conanfile.py b/recipes/libnice/all/conanfile.py index 22dc5eaaf2efa..e35ebe0fd7925 100644 --- a/recipes/libnice/all/conanfile.py +++ b/recipes/libnice/all/conanfile.py @@ -61,15 +61,15 @@ def validate(self): "-o glib/*:shared=True with static runtime is not supported") def requirements(self): - self.requires("glib/2.77.2", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.crypto_library == "openssl": self.requires("openssl/[>=1.1 <4]") if self.options.with_gstreamer: self.requires("gstreamer/1.22.3") def build_requirements(self): - self.tool_requires("meson/1.2.1") - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("meson/1.2.3") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") # for glib-mkenums if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") From a6742067f3eda38cc233666010239328bb3eed4a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 00:27:52 +0100 Subject: [PATCH 0010/1307] (#21129) sdbus-cpp: bump deps --- recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 5daabc3db91f3..47a93884e54ef 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 88f1e651317ba146199fd70db078da56557e5caa Mon Sep 17 00:00:00 2001 From: Kyle Kloberdanz Date: Tue, 14 Nov 2023 20:26:44 -0600 Subject: [PATCH 0011/1307] (#20504) Update mongo-cxx-driver to 3.8.1 * Update mongo-cxx-driver to 3.8.1 * Update recipes/mongo-cxx-driver/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mongo-cxx-driver/all/conandata.yml | 10 +++ .../all/patches/3.8.1-0001-dirs.patch | 80 +++++++++++++++++++ recipes/mongo-cxx-driver/config.yml | 2 + 3 files changed, 92 insertions(+) create mode 100644 recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch diff --git a/recipes/mongo-cxx-driver/all/conandata.yml b/recipes/mongo-cxx-driver/all/conandata.yml index 3d37bb8ee6cf3..58272018f4021 100644 --- a/recipes/mongo-cxx-driver/all/conandata.yml +++ b/recipes/mongo-cxx-driver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.1": + url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.1/mongo-cxx-driver-r3.8.1.tar.gz" + sha256: "b12c96670e1e68bae1a6f5cb08541f3da52f5ddeb5def274d2cf5d662ef73160" "3.8.0": url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.8.0/mongo-cxx-driver-r3.8.0.tar.gz" sha256: "60c7a53a0f6b984aab0b231dc0b31c85c8950059f42a354fb522672b059d5089" @@ -21,6 +24,13 @@ sources: url: "https://github.com/mongodb/mongo-cxx-driver/releases/download/r3.6.1/mongo-cxx-driver-r3.6.1.tar.gz" sha256: "83523e897ef18f7ce05d85d1632dd4ba486c264a1b89c09020163ab29e11eab7" patches: + "3.8.1": + - patch_file: "patches/3.8.1-0001-dirs.patch" + patch_description: "disable documentation features, fix directories" + patch_type: "conan" + - patch_file: "patches/3.7.2-0002-poly_use_std_define.patch" + patch_description: "use poly macro instead __cplusplus" + patch_type: "portability" "3.8.0": - patch_file: "patches/3.8.0-0001-dirs.patch" patch_description: "disable documentation features, fix directories" diff --git a/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch b/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch new file mode 100644 index 0000000000000..d7084612ddc1d --- /dev/null +++ b/recipes/mongo-cxx-driver/all/patches/3.8.1-0001-dirs.patch @@ -0,0 +1,80 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d09a395ce..93992709e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -209,6 +209,7 @@ set (BUILD_SOURCE_DIR ${CMAKE_BINARY_DIR}) + + include (MakeDistFiles) + ++if(FALSE) + add_custom_target(hugo_dir + COMMAND ${CMAKE_COMMAND} -E make_directory hugo + ) +@@ -264,6 +265,7 @@ add_custom_target(format-lint + add_custom_target(docs + DEPENDS hugo doxygen-current + ) ++endif() + + set(THIRD_PARTY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/third_party) + +@@ -273,6 +275,9 @@ if (ENABLE_TESTS) + enable_testing() + endif () + ++set(MONGO_CXX_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) ++set(MONGO_CXX_PROJECT_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}) ++ + add_subdirectory(src) + + add_subdirectory(examples EXCLUDE_FROM_ALL) +@@ -284,6 +289,7 @@ add_subdirectory(benchmark EXCLUDE_FROM_ALL) + # CMake does not implement anything like 'dist' from autotools. + # This implementation is based on the one in GnuCash. + ++if(FALSE) + add_subdirectory (cmake) + add_subdirectory (data) + add_subdirectory (docs) +@@ -385,3 +391,5 @@ if (CMAKE_GENERATOR_TOOLSET) + message (STATUS "\tinstance: ${CMAKE_GENERATOR_TOOLSET}") + endif () + ++endif () ++ +diff --git a/src/bsoncxx/CMakeLists.txt b/src/bsoncxx/CMakeLists.txt +index f30aea836..f51e76bca 100644 +--- a/src/bsoncxx/CMakeLists.txt ++++ b/src/bsoncxx/CMakeLists.txt +@@ -71,7 +71,7 @@ set(BSONCXX_VERSION_NO_EXTRA ${BSONCXX_VERSION_MAJOR}.${BSONCXX_VERSION_MINOR}.$ + set(BSONCXX_VERSION ${BSONCXX_VERSION_NO_EXTRA}${BSONCXX_VERSION_EXTRA}) + message ("bsoncxx version: ${BSONCXX_VERSION}") + set(BSONCXX_INLINE_NAMESPACE "v${BSONCXX_ABI_VERSION}") +-set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bsoncxx/${BSONCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(BSONCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE INTERNAL "") + + set(LIBBSON_REQUIRED_VERSION 1.24.0) + set(LIBBSON_REQUIRED_ABI_VERSION 1.0) +@@ -95,7 +95,8 @@ if(TARGET bson_shared OR TARGET bson_static) + endif() + else() + # Attempt to find libbson by new package name (without lib). +- find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} ${LIBBSON_REQUIRED_VERSION} QUIET) ++ find_package(bson-${LIBBSON_REQUIRED_ABI_VERSION} REQUIRED) ++ set(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND TRUE) + + if(bson-${LIBBSON_REQUIRED_ABI_VERSION}_FOUND) + message ("found libbson version ${bson-${LIBBSON_REQUIRED_ABI_VERSION}_VERSION}") +diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt +index 45fd3ad4f..324865543 100644 +--- a/src/mongocxx/CMakeLists.txt ++++ b/src/mongocxx/CMakeLists.txt +@@ -27,7 +27,7 @@ set(MONGOCXX_VERSION_NO_EXTRA ${MONGOCXX_VERSION_MAJOR}.${MONGOCXX_VERSION_MINOR + set(MONGOCXX_VERSION ${MONGOCXX_VERSION_NO_EXTRA}${MONGOCXX_VERSION_EXTRA}) + message ("mongocxx version: ${MONGOCXX_VERSION}") + set(MONGOCXX_INLINE_NAMESPACE "v${MONGOCXX_ABI_VERSION}") +-set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/mongocxx/${MONGOCXX_INLINE_NAMESPACE}" CACHE INTERNAL "") ++set(MONGOCXX_HEADER_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/" CACHE INTERNAL "") + + set(LIBMONGOC_REQUIRED_VERSION 1.24.0) + set(LIBMONGOC_REQUIRED_ABI_VERSION 1.0) diff --git a/recipes/mongo-cxx-driver/config.yml b/recipes/mongo-cxx-driver/config.yml index 21ad02b8d9466..dfc6d8b54584e 100644 --- a/recipes/mongo-cxx-driver/config.yml +++ b/recipes/mongo-cxx-driver/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.1": + folder: all "3.8.0": folder: all "3.7.2": From ce7434eeefe28254eac52f0e214a0c7f830e7020 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 04:34:39 +0100 Subject: [PATCH 0012/1307] (#21125) pupnp/all: bump deps * pupnp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pupnp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pupnp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pupnp/all/conanfile.py b/recipes/pupnp/all/conanfile.py index eda427ac46bf0..718caaaae44f4 100644 --- a/recipes/pupnp/all/conanfile.py +++ b/recipes/pupnp/all/conanfile.py @@ -80,7 +80,7 @@ def validate(self): def build_requirements(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 938d74a1e32522bfb71345c83a79cb734db97bf5 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 15 Nov 2023 07:47:14 +0100 Subject: [PATCH 0013/1307] (#21106) ffmpeg: Add version 6.0.1 * Add version 6.0.1 of ffmpeg which fixes build problems on archlinux * Add version to config.yml --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 668b92e9cff67..12d1c617655b5 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.1": + url: "http://ffmpeg.org/releases/ffmpeg-6.0.1.tar.bz2" + sha256: "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06" "6.0": url: "https://ffmpeg.org/releases/ffmpeg-6.0.tar.bz2" sha256: "47d062731c9f66a78380e35a19aac77cebceccd1c7cc309b9c82343ffc430c3d" diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 5ba65ef918e0d..7e2ba252c7111 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.1": + folder: "all" "6.0": folder: "all" "5.1.3": From 5c370e4d775d38f52f1eed1dd4c8b84ffab62940 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 08:07:32 +0100 Subject: [PATCH 0014/1307] (#21114) keychain/all: bump deps * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * keychain/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/keychain/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/keychain/all/conanfile.py b/recipes/keychain/all/conanfile.py index 102f9369ebd89..64b3ee8743d71 100644 --- a/recipes/keychain/all/conanfile.py +++ b/recipes/keychain/all/conanfile.py @@ -34,11 +34,11 @@ def validate(self): def requirements(self): if self.settings.os == "Linux": self.requires("libsecret/0.20.5") - self.requires("glib/2.77.2") + self.requires("glib/2.78.1") def build_requirements(self): if self.settings.os == "Linux": - self.tool_requires("pkgconf/1.9.5") + self.tool_requires("pkgconf/2.0.3") def layout(self): cmake_layout(self, src_folder="src") From e6a4d123aa99f06e5416b06c1a1e6af1f24f26b7 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 15 Nov 2023 16:27:23 +0900 Subject: [PATCH 0015/1307] (#21136) cpr: add version 1.10.5 --- recipes/cpr/all/conandata.yml | 7 +++++++ recipes/cpr/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cpr/all/conandata.yml b/recipes/cpr/all/conandata.yml index f5be9d26f2ba8..02059bab669a9 100644 --- a/recipes/cpr/all/conandata.yml +++ b/recipes/cpr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.5": + url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.5.tar.gz" + sha256: "c8590568996cea918d7cf7ec6845d954b9b95ab2c4980b365f582a665dea08d8" "1.10.4": url: "https://github.com/libcpr/cpr/archive/refs/tags/1.10.4.tar.gz" sha256: "88462d059cd3df22c4d39ae04483ed50dfd2c808b3effddb65ac3b9aa60b542d" @@ -12,6 +15,10 @@ sources: url: "https://github.com/libcpr/cpr/archive/refs/tags/1.7.2.tar.gz" sha256: "aa38a414fe2ffc49af13a08b6ab34df825fdd2e7a1213d032d835a779e14176f" patches: + "1.10.5": + - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" + patch_description: "disable warning flags and warning as error" + patch_type: "portability" "1.10.4": - patch_file: "patches/008-1.10.0-remove-warning-flags.patch" patch_description: "disable warning flags and warning as error" diff --git a/recipes/cpr/config.yml b/recipes/cpr/config.yml index 235f485f4ee68..48b580f3173d9 100644 --- a/recipes/cpr/config.yml +++ b/recipes/cpr/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.5": + folder: all "1.10.4": folder: all "1.9.3": From 93429551b9eaafb226867811d8c5b36c86f82e5e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 09:27:40 +0100 Subject: [PATCH 0016/1307] (#21097) tsil: use rm_safe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * tsil: use rm_safe * Add package_type, set correct min conan version --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tsil/all/conandata.yml | 7 +++---- recipes/tsil/all/conanfile.py | 19 +++++-------------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/recipes/tsil/all/conandata.yml b/recipes/tsil/all/conandata.yml index f95fe9a099612..3281d0221c878 100644 --- a/recipes/tsil/all/conandata.yml +++ b/recipes/tsil/all/conandata.yml @@ -1,7 +1,6 @@ sources: "1.45": - url: [ - "http://www.niu.edu/spmartin/TSIL/tsil-1.45.tar.gz", - "http://faculty.otterbein.edu/DRobertson/tsil/tsil-1.45.tar.gz" - ] + url: + - "http://www.niu.edu/spmartin/TSIL/tsil-1.45.tar.gz" + - "http://faculty.otterbein.edu/DRobertson/tsil/tsil-1.45.tar.gz" sha256: "420e389af9a77edcc373b88893bf13c9dddfea1d760219dc9a932f28ea0d5d24" diff --git a/recipes/tsil/all/conanfile.py b/recipes/tsil/all/conanfile.py index 81d982b72282a..049388ce41611 100644 --- a/recipes/tsil/all/conanfile.py +++ b/recipes/tsil/all/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.microsoft import is_msvc import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class TsilConan(ConanFile): @@ -16,6 +16,7 @@ class TsilConan(ConanFile): description = "Two-loop Self-energy Integral Library" topics = ("high-energy", "physics", "hep", "two-loop", "integrals") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -40,18 +41,9 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def layout(self): cmake_layout(self, src_folder="src") @@ -88,5 +80,4 @@ def package_info(self): # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) From 18355a8ef3a65f66344eca2af46e8333ec5e325e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 13:29:15 +0300 Subject: [PATCH 0017/1307] (#21141) czmq: use version range for libcurl + add package_type * use version range for libcurl * add package_type --- recipes/czmq/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/czmq/all/conanfile.py b/recipes/czmq/all/conanfile.py index bf8c54b3b8949..7b0ce0b66f5a1 100644 --- a/recipes/czmq/all/conanfile.py +++ b/recipes/czmq/all/conanfile.py @@ -18,6 +18,7 @@ class CzmqConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/zeromq/czmq" topics = ("zmq", "libzmq", "message-queue", "asynchronous") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,7 +67,7 @@ def requirements(self): if self.options.get_safe("with_libmicrohttpd"): self.requires("libmicrohttpd/0.9.75") if self.options.get_safe("with_libcurl"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.get_safe("with_libuuid"): From 09f48d6664017709db738caf6e9297789ab0b018 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 14:10:27 +0300 Subject: [PATCH 0018/1307] (#21142) libgphoto2: use version range for libcurl + bump deps * use version range for libcurl * bump libxml2 --- recipes/libgphoto2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index ea327fb8a2c33..af18cb02458ef 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -55,9 +55,9 @@ def requirements(self): if self.options.with_libusb: self.requires("libusb/1.0.26") if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: From 6666ae49c890636ee05e84368f30f04430a086bb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 15 Nov 2023 21:09:13 +0900 Subject: [PATCH 0019/1307] (#21134) c4core: update fast_float/5.3.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 7d65b437dcf21..4caf7065d65d3 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/5.2.0", transitive_headers=True) + self.requires("fast_float/5.3.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 79e2da6a6f7064cf7f15dd65764ffc82cfe857e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 15 Nov 2023 15:27:21 +0200 Subject: [PATCH 0020/1307] (#20849) thrust: bump onetbb --- recipes/thrust/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/thrust/all/conanfile.py b/recipes/thrust/all/conanfile.py index 01049f1cfb97f..1519ec256e76b 100644 --- a/recipes/thrust/all/conanfile.py +++ b/recipes/thrust/all/conanfile.py @@ -35,7 +35,7 @@ def requirements(self): self.requires("cub/1.17.2") if self.options.device_system == "tbb": - self.requires("onetbb/2021.9.0") + self.requires("onetbb/2021.10.0") if self.options.device_system in ["cuda", "omp"]: dev = str(self.options.device_system).upper() From 8c827c53ff33b295756b271c5c37fee8c698882c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 16:42:47 +0300 Subject: [PATCH 0021/1307] (#17186) rocksdb: conan v2 support * conan v2 support * use cache_variables for CMAKE_CXX_FLAGS * bump dependencies * remove 6.0.2 * set property names of jamalloc in CMakeDeps instead of patches * rename recipe class * drop 6.8.1 & 6.10.2 * remove useless injection of march in CMAKE_CXX_FLAGS * don't remove .dll.a import lib if shared=True for MinGW * fix gcc 13 --- recipes/rocksdb/all/CMakeLists.txt | 7 - recipes/rocksdb/all/conandata.yml | 36 +--- recipes/rocksdb/all/conanfile.py | 191 ++++++++---------- ...jemalloc-according-to-conan-packages.patch | 9 - ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- ...-0001-add-include-cstdint-for-gcc-13.patch | 30 +++ ...jemalloc-according-to-conan-packages.patch | 14 -- ...jemalloc-according-to-conan-packages.patch | 14 -- .../rocksdb/all/test_package/CMakeLists.txt | 19 +- recipes/rocksdb/all/test_package/conanfile.py | 29 ++- .../all/test_v1_package/CMakeLists.txt | 10 + .../rocksdb/all/test_v1_package/conanfile.py | 16 ++ recipes/rocksdb/config.yml | 6 - 15 files changed, 172 insertions(+), 251 deletions(-) delete mode 100644 recipes/rocksdb/all/CMakeLists.txt delete mode 100644 recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch create mode 100644 recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch delete mode 100644 recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch delete mode 100644 recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch create mode 100644 recipes/rocksdb/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rocksdb/all/test_v1_package/conanfile.py diff --git a/recipes/rocksdb/all/CMakeLists.txt b/recipes/rocksdb/all/CMakeLists.txt deleted file mode 100644 index f287ed21516c7..0000000000000 --- a/recipes/rocksdb/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.9) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index 2e0d65d48f078..af19cfe0abbd7 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -1,38 +1,16 @@ sources: "6.29.5": - url: "https://github.com/facebook/rocksdb/archive/v6.29.5.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.29.5.tar.gz" sha256: "ddbf84791f0980c0bbce3902feb93a2c7006f6f53bfd798926143e31d4d756f0" "6.27.3": - url: "https://github.com/facebook/rocksdb/archive/v6.27.3.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.27.3.tar.gz" sha256: "ee29901749b9132692b26f0a6c1d693f47d1a9ed8e3771e60556afe80282bf58" "6.20.3": - url: "https://github.com/facebook/rocksdb/archive/v6.20.3.tar.gz" + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz" sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca" - "6.10.2": - url: "https://github.com/facebook/rocksdb/archive/v6.10.2.tar.gz" - sha256: "514b315c64159dd767bbbf6430d33313903c0c9240d4249bddead5c4297d128f" - "6.8.1": - url: "https://github.com/facebook/rocksdb/archive/v6.8.1.tar.gz" - sha256: "ca192a06ed3bcb9f09060add7e9d0daee1ae7a8705a3d5ecbe41867c5e2796a2" - "6.0.2": - url: "https://github.com/facebook/rocksdb/archive/v6.0.2.tar.gz" - sha256: "89e0832f1fb00ac240a9438d4bbdae37dd3e52f7c15c3f646dc26887da16f342" patches: "6.29.5": - - patch_file: "patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.27.3": - - patch_file: "patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.20.3": - - patch_file: "patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.10.2": - - patch_file: "patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.8.1": - - patch_file: "patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" - "6.0.2": - - patch_file: "patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch" - base_path: "source_subfolder" + - patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch" + patch_description: "Fix build with gcc 13 by including cstdint" + patch_type: "portability" + patch_source: "https://github.com/facebook/rocksdb/pull/11118" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index b10e35fb91648..5962da8487f2b 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -1,22 +1,27 @@ -from conan.tools.microsoft import msvc_runtime_flag -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os import glob import shutil -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +required_conan_version = ">=1.53.0" -class RocksDB(ConanFile): + +class RocksDBConan(ConanFile): name = "rocksdb" homepage = "https://github.com/facebook/rocksdb" license = ("GPL-2.0-only", "Apache-2.0") url = "https://github.com/conan-io/conan-center-index" description = "A library that provides an embeddable, persistent key-value store for fast storage" - topics = ("rocksdb", "database", "leveldb", "facebook", "key-value") - - settings = "os", "compiler", "build_type", "arch" + topics = ("database", "leveldb", "facebook", "key-value") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -46,25 +51,8 @@ class RocksDB(ConanFile): "use_rtti": False, } - generators = "cmake", "cmake_find_package" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -76,115 +64,98 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): if self.options.with_gflags: self.requires("gflags/2.2.2") if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") if self.options.with_lz4: - self.requires("lz4/1.9.3") + self.requires("lz4/1.9.4") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: - self.requires("zstd/1.5.2") + self.requires("zstd/1.5.5") if self.options.get_safe("with_tbb"): - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") if self.options.with_jemalloc: - self.requires("jemalloc/5.2.1") + self.requires("jemalloc/5.3.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + if self.settings.arch not in ["x86_64", "ppc64le", "ppc64", "mips64", "armv8"]: raise ConanInvalidConfiguration("Rocksdb requires 64 bits") - if self.settings.os == "Windows" and \ - self.settings.compiler == "Visual Studio" and \ - tools.Version(self.settings.compiler.version) < "15": - raise ConanInvalidConfiguration("Rocksdb requires Visual Studio 15 or later.") - - if self.version == "6.0.2" and \ - self.settings.os == "Windows" and \ - self.settings.compiler == "Visual Studio" and \ - tools.Version(self.settings.compiler.version) > "15": - raise ConanInvalidConfiguration("Rocksdb 6.0.2 is not compilable with Visual Studio >15.") # See https://github.com/facebook/rocksdb/issues/6048 - - if self.version == "6.0.2" and \ - self.settings.os == "Linux" and \ - self.settings.compiler == "clang" and \ - tools.Version(self.settings.compiler.version) > "9": - raise ConanInvalidConfiguration("Rocksdb 6.0.2 is not compilable with clang >9.") # See https://github.com/facebook/rocksdb/pull/7265 + check_min_vs(self, "191") if self.version == "6.20.3" and \ self.settings.os == "Linux" and \ self.settings.compiler == "gcc" and \ - tools.Version(self.settings.compiler.version) < "5": + Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("Rocksdb 6.20.3 is not compilable with gcc <5.") # See https://github.com/facebook/rocksdb/issues/3522 def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - - self._cmake.definitions["FAIL_ON_WARNINGS"] = False - self._cmake.definitions["WITH_TESTS"] = False - self._cmake.definitions["WITH_TOOLS"] = False - self._cmake.definitions["WITH_CORE_TOOLS"] = False - self._cmake.definitions["WITH_BENCHMARK_TOOLS"] = False - self._cmake.definitions["WITH_FOLLY_DISTRIBUTED_MUTEX"] = False - if self._is_msvc: - self._cmake.definitions["WITH_MD_LIBRARY"] = "MD" in msvc_runtime_flag(self) - self._cmake.definitions["ROCKSDB_INSTALL_ON_WINDOWS"] = self.settings.os == "Windows" - self._cmake.definitions["ROCKSDB_LITE"] = self.options.lite - self._cmake.definitions["WITH_GFLAGS"] = self.options.with_gflags - self._cmake.definitions["WITH_SNAPPY"] = self.options.with_snappy - self._cmake.definitions["WITH_LZ4"] = self.options.with_lz4 - self._cmake.definitions["WITH_ZLIB"] = self.options.with_zlib - self._cmake.definitions["WITH_ZSTD"] = self.options.with_zstd - self._cmake.definitions["WITH_TBB"] = self.options.get_safe("with_tbb", False) - self._cmake.definitions["WITH_JEMALLOC"] = self.options.with_jemalloc - self._cmake.definitions["ROCKSDB_BUILD_SHARED"] = self.options.shared - self._cmake.definitions["ROCKSDB_LIBRARY_EXPORTS"] = self.settings.os == "Windows" and self.options.shared - self._cmake.definitions["ROCKSDB_DLL" ] = self.settings.os == "Windows" and self.options.shared - - self._cmake.definitions["USE_RTTI"] = self.options.use_rtti - if self.options.enable_sse == "False": - self._cmake.definitions["PORTABLE"] = True - self._cmake.definitions["FORCE_SSE42"] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FAIL_ON_WARNINGS"] = False + tc.variables["WITH_TESTS"] = False + tc.variables["WITH_TOOLS"] = False + tc.variables["WITH_CORE_TOOLS"] = False + tc.variables["WITH_BENCHMARK_TOOLS"] = False + tc.variables["WITH_FOLLY_DISTRIBUTED_MUTEX"] = False + if is_msvc(self): + tc.variables["WITH_MD_LIBRARY"] = not is_msvc_static_runtime(self) + tc.variables["ROCKSDB_INSTALL_ON_WINDOWS"] = self.settings.os == "Windows" + tc.variables["ROCKSDB_LITE"] = self.options.lite + tc.variables["WITH_GFLAGS"] = self.options.with_gflags + tc.variables["WITH_SNAPPY"] = self.options.with_snappy + tc.variables["WITH_LZ4"] = self.options.with_lz4 + tc.variables["WITH_ZLIB"] = self.options.with_zlib + tc.variables["WITH_ZSTD"] = self.options.with_zstd + tc.variables["WITH_TBB"] = self.options.get_safe("with_tbb", False) + tc.variables["WITH_JEMALLOC"] = self.options.with_jemalloc + tc.variables["ROCKSDB_BUILD_SHARED"] = self.options.shared + tc.variables["ROCKSDB_LIBRARY_EXPORTS"] = self.settings.os == "Windows" and self.options.shared + tc.variables["ROCKSDB_DLL" ] = self.settings.os == "Windows" and self.options.shared + tc.variables["USE_RTTI"] = self.options.use_rtti + if not bool(self.options.enable_sse): + tc.variables["PORTABLE"] = True + tc.variables["FORCE_SSE42"] = False elif self.options.enable_sse == "sse42": - self._cmake.definitions["PORTABLE"] = True - self._cmake.definitions["FORCE_SSE42"] = True + tc.variables["PORTABLE"] = True + tc.variables["FORCE_SSE42"] = True elif self.options.enable_sse == "avx2": - self._cmake.definitions["PORTABLE"] = False - self._cmake.definitions["FORCE_SSE42"] = False - + tc.variables["PORTABLE"] = False + tc.variables["FORCE_SSE42"] = False # not available yet in CCI + tc.variables["WITH_NUMA"] = False + tc.generate() - self._cmake.definitions["WITH_NUMA"] = False - - if self.settings.os == "Macos" and self.settings.arch == "armv8": - self._cmake.definitions["CMAKE_CXX_FLAGS"] = "-march=armv8-a" - - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) + deps = CMakeDeps(self) + if self.options.with_jemalloc: + deps.set_property("jemalloc", "cmake_file_name", "JeMalloc") + deps.set_property("jemalloc", "cmake_target_name", "JeMalloc::JeMalloc") + deps.generate() def build(self): - self._patch_sources() - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def _remove_static_libraries(self): - for static_lib_name in ["lib*.a", "rocksdb.lib"]: - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), static_lib_name) + rm(self, "rocksdb.lib", os.path.join(self.package_folder, "lib")) + for lib in glob.glob(os.path.join(self.package_folder, "lib", "*.a")): + if not lib.endswith(".dll.a"): + os.remove(lib) def _remove_cpp_headers(self): for path in glob.glob(os.path.join(self.package_folder, "include", "rocksdb", "*")): @@ -195,21 +166,21 @@ def _remove_cpp_headers(self): shutil.rmtree(path) def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() if self.options.shared: self._remove_static_libraries() self._remove_cpp_headers() # Force stable ABI for shared libraries - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): cmake_target = "rocksdb-shared" if self.options.shared else "rocksdb" self.cpp_info.set_property("cmake_file_name", "RocksDB") - self.cpp_info.set_property("cmake_target_name", "RocksDB::{}".format(cmake_target)) + self.cpp_info.set_property("cmake_target_name", f"RocksDB::{cmake_target}") # TODO: back to global scope in conan v2 once cmake_find_package* generators removed - self.cpp_info.components["librocksdb"].libs = tools.collect_libs(self) + self.cpp_info.components["librocksdb"].libs = collect_libs(self) if self.settings.os == "Windows": self.cpp_info.components["librocksdb"].system_libs = ["shlwapi", "rpcrt4"] if self.options.shared: @@ -224,7 +195,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "RocksDB" self.cpp_info.components["librocksdb"].names["cmake_find_package"] = cmake_target self.cpp_info.components["librocksdb"].names["cmake_find_package_multi"] = cmake_target - self.cpp_info.components["librocksdb"].set_property("cmake_target_name", "RocksDB::{}".format(cmake_target)) + self.cpp_info.components["librocksdb"].set_property("cmake_target_name", f"RocksDB::{cmake_target}") if self.options.with_gflags: self.cpp_info.components["librocksdb"].requires.append("gflags::gflags") if self.options.with_snappy: diff --git a/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index fa3904b84954a..0000000000000 --- a/recipes/rocksdb/all/patches/6.0.2/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,9 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -66,5 +66,5 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) diff --git a/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 2e8cfd1a8a8aa..0000000000000 --- a/recipes/rocksdb/all/patches/6.10.2/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -101,9 +101,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 99195907c0c6a..0000000000000 --- a/recipes/rocksdb/all/patches/6.20.3/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -100,9 +100,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 862805a12fdf1..0000000000000 --- a/recipes/rocksdb/all/patches/6.27.3/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -108,9 +108,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch b/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch new file mode 100644 index 0000000000000..05725bf2c9a65 --- /dev/null +++ b/recipes/rocksdb/all/patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch @@ -0,0 +1,30 @@ +--- a/include/rocksdb/utilities/checkpoint.h ++++ b/include/rocksdb/utilities/checkpoint.h +@@ -8,6 +8,7 @@ + #pragma once + #ifndef ROCKSDB_LITE + ++#include + #include + #include + #include "rocksdb/status.h" +--- a/table/block_based/data_block_hash_index.h ++++ b/table/block_based/data_block_hash_index.h +@@ -5,6 +5,7 @@ + + #pragma once + ++#include + #include + #include + +--- a/util/string_util.h ++++ b/util/string_util.h +@@ -6,6 +6,7 @@ + + #pragma once + ++#include + #include + #include + #include diff --git a/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index 862805a12fdf1..0000000000000 --- a/recipes/rocksdb/all/patches/6.29.5/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -108,9 +108,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch b/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch deleted file mode 100644 index acaacf5868a66..0000000000000 --- a/recipes/rocksdb/all/patches/6.8.1/0001-Rename-jemalloc-according-to-conan-packages.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- CMakeLists.txt -+++ CMakeLists.txt -@@ -97,9 +97,9 @@ else() - set(WITH_JEMALLOC ON) - else() - if(WITH_JEMALLOC) -- find_package(JeMalloc REQUIRED) -+ find_package(jemalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) -- list(APPEND THIRDPARTY_LIBS JeMalloc::JeMalloc) -+ list(APPEND THIRDPARTY_LIBS jemalloc::jemalloc) - endif() - endif() - diff --git a/recipes/rocksdb/all/test_package/CMakeLists.txt b/recipes/rocksdb/all/test_package/CMakeLists.txt index cab2ad0ef9d57..81aa571c924fc 100644 --- a/recipes/rocksdb/all/test_package/CMakeLists.txt +++ b/recipes/rocksdb/all/test_package/CMakeLists.txt @@ -1,18 +1,19 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +enable_testing() find_package(RocksDB REQUIRED CONFIG) add_executable(${PROJECT_NAME}_stable_abi test_package_stable_abi.cpp) +add_test(NAME ${PROJECT_NAME}_stable_abi COMMAND ${PROJECT_NAME}_stable_abi) if(ROCKSDB_SHARED) - target_link_libraries(${PROJECT_NAME}_stable_abi RocksDB::rocksdb-shared) + target_link_libraries(${PROJECT_NAME}_stable_abi PRIVATE RocksDB::rocksdb-shared) else() - target_link_libraries(${PROJECT_NAME}_stable_abi RocksDB::rocksdb) + target_link_libraries(${PROJECT_NAME}_stable_abi PRIVATE RocksDB::rocksdb) - add_executable(${PROJECT_NAME}_cpp test_package.cpp) - target_link_libraries(${PROJECT_NAME}_cpp RocksDB::rocksdb) - set_property(TARGET ${PROJECT_NAME}_cpp PROPERTY CXX_STANDARD 11) + add_executable(${PROJECT_NAME}_cpp test_package.cpp) + target_link_libraries(${PROJECT_NAME}_cpp PRIVATE RocksDB::rocksdb) + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + add_test(NAME ${PROJECT_NAME}_cpp COMMAND ${PROJECT_NAME}_cpp) endif() diff --git a/recipes/rocksdb/all/test_package/conanfile.py b/recipes/rocksdb/all/test_package/conanfile.py index 326ef695da52e..06b097c220e7c 100644 --- a/recipes/rocksdb/all/test_package/conanfile.py +++ b/recipes/rocksdb/all/test_package/conanfile.py @@ -1,22 +1,29 @@ -from conans import ConanFile, CMake, tools -import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ROCKSDB_SHARED"] = self.dependencies["rocksdb"].options.shared + tc.generate() def build(self): cmake = CMake(self) - cmake.definitions["ROCKSDB_SHARED"] = self.options["rocksdb"].shared cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self): - if not self.options["rocksdb"].shared: - bin_path = os.path.join("bin", "test_package_cpp") - self.run(bin_path, run_environment=True) - - bin_path = os.path.join("bin", "test_package_stable_abi") - self.run(bin_path, run_environment=True) + if can_run(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", env="conanrun") diff --git a/recipes/rocksdb/all/test_v1_package/CMakeLists.txt b/recipes/rocksdb/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..c23ed5cfe6d98 --- /dev/null +++ b/recipes/rocksdb/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_v1_package) + +enable_testing() + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/rocksdb/all/test_v1_package/conanfile.py b/recipes/rocksdb/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5fc2cee9c5517 --- /dev/null +++ b/recipes/rocksdb/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["ROCKSDB_SHARED"] = self.options["rocksdb"].shared + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(f"ctest --output-on-failure -C {self.settings.build_type}", run_environment=True) diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index 51a8046980930..c4e32f27c353e 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -5,9 +5,3 @@ versions: folder: all "6.20.3": folder: all - "6.10.2": - folder: all - "6.8.1": - folder: all - "6.0.2": - folder: all From 7fd0f883ee08cffc5b6a785963ebb31e353996d4 Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Wed, 15 Nov 2023 15:07:31 +0100 Subject: [PATCH 0022/1307] (#21098) Update RESTinio to version 0.7.0 --- recipes/restinio/config.yml | 2 + recipes/restinio/v0.7/conandata.yml | 4 + recipes/restinio/v0.7/conanfile.py | 102 ++++++++++++++++++ .../restinio/v0.7/test_package/CMakeLists.txt | 8 ++ .../restinio/v0.7/test_package/conanfile.py | 26 +++++ .../v0.7/test_package/test_package.cpp | 21 ++++ 6 files changed, 163 insertions(+) create mode 100644 recipes/restinio/v0.7/conandata.yml create mode 100644 recipes/restinio/v0.7/conanfile.py create mode 100644 recipes/restinio/v0.7/test_package/CMakeLists.txt create mode 100644 recipes/restinio/v0.7/test_package/conanfile.py create mode 100644 recipes/restinio/v0.7/test_package/test_package.cpp diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index ee5e9f8ed6a0a..224a43066392f 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: "v0.7" "0.6.19": folder: all "0.6.18": diff --git a/recipes/restinio/v0.7/conandata.yml b/recipes/restinio/v0.7/conandata.yml new file mode 100644 index 0000000000000..1b3707b68b5bb --- /dev/null +++ b/recipes/restinio/v0.7/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.7.0": + url: "https://github.com/Stiffstream/restinio/archive/v.0.7.0.tar.gz" + sha256: "1d6ad5812c02ee42342ed0ed78678a4e37c1cfe87f2f7c32c2862f825062feaa" diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py new file mode 100644 index 0000000000000..962616c9f35c2 --- /dev/null +++ b/recipes/restinio/v0.7/conanfile.py @@ -0,0 +1,102 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.52.0" + + +class RestinioConan(ConanFile): + name = "restinio" + license = "BSD-3-Clause" + homepage = "https://github.com/Stiffstream/restinio" + url = "https://github.com/conan-io/conan-center-index" + description = "RESTinio is a header-only C++17 library that gives you an embedded HTTP/Websocket server." + topics = ("http-server", "websockets", "rest", "tls-support") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "asio": ["boost", "standalone"], + "with_openssl": [True, False], + "with_zlib": [True, False], + "with_pcre": [1, 2, None], + } + default_options = { + "asio": "standalone", + "with_openssl": False, + "with_zlib": False, + "with_pcre": None, + } + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("llhttp/9.1.3") + self.requires("fmt/10.1.1") + self.requires("expected-lite/0.6.3") + + if self.options.asio == "standalone": + self.requires("asio/1.28.2") + else: + self.requires("boost/1.83.0") + + if self.options.with_openssl: + self.requires("openssl/[>=1.1 <4]") + + if self.options.with_zlib: + self.requires("zlib/[>=1.2.11 <2]") + + if self.options.with_pcre == 1: + self.requires("pcre/8.45") + elif self.options.with_pcre == 2: + self.requires("pcre2/10.42") + + def package_id(self): + self.info.clear() + + def validate(self): + minimal_cpp_standard = "17" + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, minimal_cpp_standard) + + minimal_version = { + "gcc": "9", + "clang": "10", + "apple-clang": "11", + "Visual Studio": "17", + "msvc": "191" + } + + compiler = str(self.settings.compiler) + if compiler not in minimal_version: + self.output.warning( + "%s recipe lacks information about the %s compiler standard version support" % (self.name, compiler)) + self.output.warning( + "%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + return + + version = Version(self.settings.compiler.version) + if version < minimal_version[compiler]: + raise ConanInvalidConfiguration("%s requires a compiler that supports at least C++%s" % (self.name, minimal_cpp_standard)) + + def build(self): + pass + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "*.*pp", src=os.path.join(self.source_folder, "dev", "restinio"), dst=os.path.join(self.package_folder, "include", "restinio")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "restinio") + self.cpp_info.set_property("cmake_target_name", "restinio::restinio") + if self.options.asio == "boost": + self.cpp_info.defines.append("RESTINIO_USE_BOOST_ASIO") diff --git a/recipes/restinio/v0.7/test_package/CMakeLists.txt b/recipes/restinio/v0.7/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1f4ba6e706df2 --- /dev/null +++ b/recipes/restinio/v0.7/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) + +find_package(restinio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} restinio::restinio) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/restinio/v0.7/test_package/conanfile.py b/recipes/restinio/v0.7/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/restinio/v0.7/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/restinio/v0.7/test_package/test_package.cpp b/recipes/restinio/v0.7/test_package/test_package.cpp new file mode 100644 index 0000000000000..ac78ee51f9a8d --- /dev/null +++ b/recipes/restinio/v0.7/test_package/test_package.cpp @@ -0,0 +1,21 @@ +#include +#include + +using namespace restinio; + +int main() { + // Create express router for our service. + auto router = std::make_unique>(); + router->http_get( + R"(/data/meter/:meter_id(\d+))", + [](auto req, auto params) { + const auto qp = parse_query(req->header().query()); + return req->create_response() + .set_body(fmt::format("meter_id={}", cast_to(params["meter_id"]))) + .done(); + }); + + std::cout << "success\n"; + + return 0; +} From 1aea611bb0e972fd308156341dd4bd9db124f64a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 17:30:53 +0300 Subject: [PATCH 0023/1307] (#21042) ffmpeg: bump dependencies + disable with_vulkan by default * bump dependencies * disable with_vulkan by default --- recipes/ffmpeg/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 21f8ed905bd3b..2547d9542895b 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -140,7 +140,7 @@ class FFMpegConan(ConanFile): "with_pulse": True, "with_vaapi": True, "with_vdpau": True, - "with_vulkan": True, + "with_vulkan": False, "with_xcb": True, "with_appkit": True, "with_avfoundation": True, @@ -275,9 +275,9 @@ def requirements(self): if self.options.with_opus: self.requires("opus/1.4") if self.options.with_zeromq: - self.requires("zeromq/4.3.4") + self.requires("zeromq/4.3.5") if self.options.with_sdl: - self.requires("sdl/2.28.2") + self.requires("sdl/2.28.5") if self.options.with_libx264: self.requires("libx264/cci.20220602") if self.options.with_libx265: @@ -303,7 +303,7 @@ def requirements(self): if self.options.get_safe("with_vdpau"): self.requires("vdpau/system") if self._version_supports_vulkan and self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.243.0") def validate(self): if self.options.with_ssl == "securetransport" and not is_apple_os(self): From 3c5fc4878c06860a7c7494b8737a6ad0896eca39 Mon Sep 17 00:00:00 2001 From: Andrei Malashkin Date: Wed, 15 Nov 2023 16:28:16 +0100 Subject: [PATCH 0024/1307] (#21088) bump ffmpeg dependencies From be31b3a7383d7e818295114f200834f287da79a6 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 00:48:51 +0900 Subject: [PATCH 0025/1307] (#21110) magic_enum: add version 0.9.4, remove older versions --- recipes/magic_enum/all/conandata.yml | 21 +++---------------- .../all/test_package/CMakeLists.txt | 4 ++++ .../all/test_package/test_package.cpp | 6 +++++- recipes/magic_enum/config.yml | 14 ++----------- 4 files changed, 14 insertions(+), 31 deletions(-) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index 94cca110de7e5..c3f7fa0da1d35 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.4": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.4.tar.gz" + sha256: "0ffc840d881a377a520e999b79ec2823b3b8ffadccad5d94084cc37fcf6fe2c9" "0.9.3": url: "https://github.com/Neargye/magic_enum/archive/v0.9.3.tar.gz" sha256: "3cadd6a05f1bffc5141e5e731c46b2b73c2dbff025e723c8abaa659e0a24f072" @@ -20,21 +23,3 @@ sources: "0.8.0": url: "https://github.com/Neargye/magic_enum/archive/v0.8.0.tar.gz" sha256: "5e7680e877dd4cf68d9d0c0e3c2a683b432a9ba84fc1993c4da3de70db894c3c" - "0.7.3": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.3.tar.gz" - sha256: "b8d0cd848546fee136dc1fa4bb021a1e4dc8fe98e44d8c119faa3ef387636bf7" - "0.7.2": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.2.tar.gz" - sha256: "a77895ebc684f7a4dd2e4e06529b22e9ae694037f6dee0753d3ce0bbcd5b3e38" - "0.7.1": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.1.tar.gz" - sha256: "11bb590dd055194e92936fa4d0652084c14bd23ac8e4b5a02271b6259a05cec9" - "0.7.0": - url: "https://github.com/Neargye/magic_enum/archive/v0.7.0.tar.gz" - sha256: "4fe6627407a656d0d73879c0346b251ccdcfb718c37bef5410ba172c7c7d5f9a" - "0.6.6": - url: "https://github.com/Neargye/magic_enum/archive/v0.6.6.tar.gz" - sha256: "1033f9a9315023feebb48f20d5a572149ec72c1e95a52bcf7042a412ff9d2e28" - "0.6.5": - url: "https://github.com/Neargye/magic_enum/archive/v0.6.5.tar.gz" - sha256: "37A69482517C8976CB48CD271DA8C6BA92E07EE2AB2BDD7CAEF4C8158AF77359" diff --git a/recipes/magic_enum/all/test_package/CMakeLists.txt b/recipes/magic_enum/all/test_package/CMakeLists.txt index c185d76435a4f..f5917740f5800 100644 --- a/recipes/magic_enum/all/test_package/CMakeLists.txt +++ b/recipes/magic_enum/all/test_package/CMakeLists.txt @@ -6,3 +6,7 @@ find_package(magic_enum REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE magic_enum::magic_enum) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + +if(magic_enum_VERSION VERSION_GREATER_EQUAL "0.9.4") + target_compile_definitions(${PROJECT_NAME} PRIVATE MAGIC_ENUM_INCLUDE_WITH_FOLDER) +endif() diff --git a/recipes/magic_enum/all/test_package/test_package.cpp b/recipes/magic_enum/all/test_package/test_package.cpp index fcb911e1f966e..208a3dd5fc806 100644 --- a/recipes/magic_enum/all/test_package/test_package.cpp +++ b/recipes/magic_enum/all/test_package/test_package.cpp @@ -1,4 +1,8 @@ -#include +#ifdef MAGIC_ENUM_INCLUDE_WITH_FOLDER +# include +#else +# include +#endif #include #include diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 469bd978f09f4..4e7d6ac81384d 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.4": + folder: all "0.9.3": folder: all "0.9.2": @@ -13,15 +15,3 @@ versions: folder: all "0.8.0": folder: all - "0.7.3": - folder: all - "0.7.2": - folder: all - "0.7.1": - folder: all - "0.7.0": - folder: all - "0.6.6": - folder: all - "0.6.5": - folder: all From 92ddb7cedc74df486c0d6a57818a1fa947d25a1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 17:08:25 +0100 Subject: [PATCH 0026/1307] (#21115) xorg-cf-files/all: bump deps * xorg-cf-files/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * xorg-cf-files/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * disable clang --- recipes/xorg-cf-files/all/conanfile.py | 5 ++++- recipes/xorg-cf-files/all/test_package/conanfile.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/xorg-cf-files/all/conanfile.py b/recipes/xorg-cf-files/all/conanfile.py index aa2cb1d905e4c..1b0174ae22ceb 100644 --- a/recipes/xorg-cf-files/all/conanfile.py +++ b/recipes/xorg-cf-files/all/conanfile.py @@ -48,10 +48,13 @@ def package_id(self): def validate(self): if is_apple_os(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Apple operating systems.") + if self.settings.compiler == "clang": + # See https://github.com/conan-io/conan-center-index/pull/16267#issuecomment-1469824504 + raise ConanInvalidConfiguration("Recipe cannot be built with clang") def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/xorg-cf-files/all/test_package/conanfile.py b/recipes/xorg-cf-files/all/test_package/conanfile.py index a1d91cfb0034d..3f15b70b2d474 100644 --- a/recipes/xorg-cf-files/all/test_package/conanfile.py +++ b/recipes/xorg-cf-files/all/test_package/conanfile.py @@ -16,9 +16,9 @@ class TestPackageConan(ConanFile): def build_requirements(self): self.tool_requires(self.tested_reference_str) - self.tool_requires("imake/1.0.8") + self.tool_requires("imake/1.0.9") if not self.conf_info.get("tools.gnu:make_program", check_type=str): - self.tool_requires("make/4.3") + self.tool_requires("make/4.4") @property def _settings_build(self): From 461b2619ef6efa426317140a8c1bc6e25bc8b999 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 15 Nov 2023 18:28:02 +0200 Subject: [PATCH 0027/1307] (#21130) pdfium: migrate to Conan v2 * pdfium: migrate to Conan v2 * pdfium: fix AppKit framework spelling * pdfium: add zlib dependency --- recipes/pdfium/all/CMakeLists.txt | 7 -- recipes/pdfium/all/conandata.yml | 10 +- recipes/pdfium/all/conanfile.py | 107 +++++++++--------- .../pdfium/all/test_package/CMakeLists.txt | 7 +- recipes/pdfium/all/test_package/conanfile.py | 22 ++-- .../pdfium/all/test_v1_package/CMakeLists.txt | 8 ++ .../pdfium/all/test_v1_package/conanfile.py | 18 +++ recipes/pdfium/config.yml | 2 +- 8 files changed, 106 insertions(+), 75 deletions(-) delete mode 100644 recipes/pdfium/all/CMakeLists.txt create mode 100644 recipes/pdfium/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pdfium/all/test_v1_package/conanfile.py diff --git a/recipes/pdfium/all/CMakeLists.txt b/recipes/pdfium/all/CMakeLists.txt deleted file mode 100644 index f083cc38ef65c..0000000000000 --- a/recipes/pdfium/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.0) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(pdfium-cmake/cmake) diff --git a/recipes/pdfium/all/conandata.yml b/recipes/pdfium/all/conandata.yml index 06bb1b45201c1..914f93df79f0d 100644 --- a/recipes/pdfium/all/conandata.yml +++ b/recipes/pdfium/all/conandata.yml @@ -1,11 +1,11 @@ sources: - "cci.20210730": + "95.0.4629": pdfium-cmake: - # FIXME: create release + use hash - url: "https://github.com/madebr/pdfium-cmake/archive/0abc6ac8b3ecd2faac45bf46ee79bf381b5b5890.zip" - sha256: "8bcbb1eb6ec171604d669585f289c609d3b6c95045525d0e510c3fee7851d44e" + # FIXME: create release + url: "https://github.com/madebr/pdfium-cmake/archive/9611e37f688e9881b50aef7e7775accdda6cd98f.zip" + sha256: "9085c22bd9d21acede4f5f26be0b6a0f82346e2ea53cc8bcddd785a4190d7a84" pdfium: - url: "https://pdfium.googlesource.com/pdfium/+archive/6c8cd905587809a0ff299d1edb34fc85bed4c976.tar.gz" + url: "https://pdfium.googlesource.com/pdfium/+archive/refs/heads/chromium/4629.tar.gz" # sha256 is volatile on googlesource, no up-to-date github fork trace_event: url: "https://chromium.googlesource.com/chromium/src/base/trace_event/common/+archive/ad56859ef8c85cc09a3d8e95dcedadb5109a0af8.tar.gz" diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index 83fc48daf1b64..a4c53251f460c 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -1,20 +1,26 @@ +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, stdcpp_library +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version -from conans import CMake, tools -import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class PdfiumConan(ConanFile): name = "pdfium" description = "PDF generation and rendering library." license = "BSD-3-Clause" - topics = ("conan", "pdfium", "generate", "generation", "rendering", "pdf", "document", "print") - homepage = "https://opensource.google/projects/pdfium" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://opensource.google/projects/pdfium" + topics = ("generate", "generation", "rendering", "pdf", "document", "print") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,84 +33,83 @@ class PdfiumConan(ConanFile): "with_libjpeg": "libjpeg", } - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package", "pkg_config" - short_paths = True - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): self.requires("freetype/2.13.0") - self.requires("icu/73.2") + self.requires("icu/74.1") self.requires("lcms/2.14") self.requires("openjpeg/2.5.0") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - - def build_requirements(self): - self.build_requires("pkgconf/1.9.5") + self.requires("libjpeg-turbo/3.0.1") def validate(self): if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, 14) + check_min_cppstd(self, 14) minimum_compiler_versions = { - "gcc": 8, - "Visual Studio": 15, + "gcc": "8", + "msvc": "191", + "Visual Studio": "15", } min_compiler_version = minimum_compiler_versions.get(str(self.settings.compiler)) - if min_compiler_version: - if Version(self.settings.compiler.version) < min_compiler_version: - raise ConanInvalidConfiguration("pdfium needs at least compiler version {}".format(min_compiler_version)) + if min_compiler_version and Version(self.settings.compiler.version) < min_compiler_version: + raise ConanInvalidConfiguration( + f"pdfium needs at least compiler version {min_compiler_version}" + ) + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version]["pdfium-cmake"], - destination="pdfium-cmake", strip_root=True) + destination=os.path.join(self.source_folder, "pdfium-cmake"), strip_root=True) get(self, **self.conan_data["sources"][self.version]["pdfium"], - destination=self._source_subfolder) + destination=self.source_folder) get(self, **self.conan_data["sources"][self.version]["trace_event"], - destination=os.path.join(self._source_subfolder, "base", "trace_event", "common")) + destination=os.path.join(self.source_folder, "base", "trace_event", "common")) get(self, **self.conan_data["sources"][self.version]["chromium_build"], - destination=os.path.join(self._source_subfolder, "build")) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["PDFIUM_ROOT"] = os.path.join(self.source_folder, self._source_subfolder).replace("\\", "/") - self._cmake.definitions["PDF_LIBJPEG_TURBO"] = self.options.with_libjpeg == "libjpeg-turbo" - self._cmake.configure() - return self._cmake + destination=os.path.join(self.source_folder, "build")) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["PDFIUM_ROOT"] = self.source_folder.replace("\\", "/") + tc.variables["PDF_LIBJPEG_TURBO"] = self.options.with_libjpeg == "libjpeg-turbo" + tc.variables["PDF_ENABLE_XFA"] = False # TODO: pdfium-cmake needs updating + tc.variables["PDF_ENABLE_V8"] = False # TODO: requires v8 + tc.generate() + deps = CMakeDeps(self) + deps.generate() + deps = PkgConfigDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() - cmake.build() - cmake.configure() + cmake = CMake(self) + cmake.configure(build_script_folder=os.path.join("pdfium-cmake", "cmake")) cmake.build() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() def package_info(self): self.cpp_info.libs = ["pdfium"] - if tools.is_apple_os(self.settings.os): - self.cpp_info.frameworks.extend(["Appkit", "CoreFoundation", "CoreGraphics"]) + if is_apple_os(self): + self.cpp_info.frameworks.extend(["AppKit", "CoreFoundation", "CoreGraphics"]) - stdcpp_library = tools.stdcpp_library(self) - if stdcpp_library: - self.cpp_info.system_libs.append(stdcpp_library) + stdcpp = stdcpp_library(self) + if stdcpp: + self.cpp_info.system_libs.append(stdcpp) diff --git a/recipes/pdfium/all/test_package/CMakeLists.txt b/recipes/pdfium/all/test_package/CMakeLists.txt index 7b9b613cbb24a..ca11fa5323a30 100644 --- a/recipes/pdfium/all/test_package/CMakeLists.txt +++ b/recipes/pdfium/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pdfium REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE pdfium::pdfium) diff --git a/recipes/pdfium/all/test_package/conanfile.py b/recipes/pdfium/all/test_package/conanfile.py index 32e61b0a20959..ef5d7042163ec 100644 --- a/recipes/pdfium/all/test_package/conanfile.py +++ b/recipes/pdfium/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools -from conan.tools.build import cross_building class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pdfium/all/test_v1_package/CMakeLists.txt b/recipes/pdfium/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pdfium/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdfium/all/test_v1_package/conanfile.py b/recipes/pdfium/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..4c2f046547705 --- /dev/null +++ b/recipes/pdfium/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools +from conan.tools.build import cross_building + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/pdfium/config.yml b/recipes/pdfium/config.yml index a851713f93a20..6425f0ce6fe06 100644 --- a/recipes/pdfium/config.yml +++ b/recipes/pdfium/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20210730": + "95.0.4629": # released 2021-08-28 folder: all From 5445fdd9eab2c54e2c05ae0c312da14d56606c06 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 17:48:33 +0100 Subject: [PATCH 0028/1307] (#21147) llvm-openmp: fix patching identified in https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/llvm-openmp/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index c96fd7042c681..ce869816491ae 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -42,7 +42,7 @@ sources: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-8.0.1/openmp-8.0.1.src.tar.xz" sha256: "3e85dd3cad41117b7c89a41de72f2e6aa756ea7b4ef63bb10dcddf8561a7722c" patches: - "17.0.0-rc4": + "17.0.4": - patch_file: "patches/17/0001-disable-build-testing.patch" patch_description: "Disable building of tools, gdb-plugin, tests and docs" patch_type: "conan" From 1b757774fa88825fc3545d1f6e960b61d0650fce Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 15 Nov 2023 20:08:39 +0300 Subject: [PATCH 0029/1307] (#21066) serf: relocatable shared lib for macOS --- recipes/serf/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/serf/all/conanfile.py b/recipes/serf/all/conanfile.py index ba3f81c9de9df..cf758acbc390f 100644 --- a/recipes/serf/all/conanfile.py +++ b/recipes/serf/all/conanfile.py @@ -2,7 +2,7 @@ import re from conan import ConanFile -from conan.tools.apple import is_apple_os +from conan.tools.apple import fix_apple_shared_install_name, is_apple_os from conan.tools.env import Environment, VirtualBuildEnv from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, load, mkdir, rm, rmdir, save from conan.tools.gnu import AutotoolsToolchain @@ -165,6 +165,7 @@ def package(self): for fn in os.listdir(os.path.join(self.package_folder, "lib")): if any(re.finditer("\\.{}(\.?|$)".format(ext_to_remove), fn)): os.unlink(os.path.join(self.package_folder, "lib", fn)) + fix_apple_shared_install_name(self) def package_info(self): libprefix = "" From 0593c490fd7e44f0aec5893c208d25fddc0a1659 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 15 Nov 2023 18:43:08 +0100 Subject: [PATCH 0030/1307] (#20860) [mariadb-connection-c] Version 3.3.0 requires zstd * MariaDB 3.3.0 requires zstd Signed-off-by: Uilian Ries * Fix zstd library name Signed-off-by: Uilian Ries * Revert "Fix zstd library name" This reverts commit b513d4daf028ce2229c087049e550f55619c1cce. * Use Findzstd.cmake from Conan Signed-off-by: Uilian Ries * Update recipes/mariadb-connector-c/all/conanfile.py Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Signed-off-by: Uilian Ries Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Daniel --- recipes/mariadb-connector-c/all/conandata.yml | 3 +++ recipes/mariadb-connector-c/all/conanfile.py | 6 ++++++ .../all/patches/3.3.3-0002-find-package-zstd.patch | 13 +++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch diff --git a/recipes/mariadb-connector-c/all/conandata.yml b/recipes/mariadb-connector-c/all/conandata.yml index 74a7f76fab54c..df3894df1372a 100644 --- a/recipes/mariadb-connector-c/all/conandata.yml +++ b/recipes/mariadb-connector-c/all/conandata.yml @@ -13,6 +13,9 @@ sources: sha256: "3e6f6c399493fe90efdc21a3fe70c30434b7480e8195642a959f1dd7a0fa5b0f" patches: "3.3.3": + - patch_file: "patches/3.3.3-0002-find-package-zstd.patch" + patch_description: "Use ZSTD cmake file from Conan" + patch_type: "conan" - patch_file: "patches/3.3.3-0001-fix-install-and-static-or-shared.patch" patch_description: "fix install path, separate static/shared build" patch_type: "conan" diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 835db83c0b42d..303b45aa1d4b4 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -61,6 +62,9 @@ def requirements(self): self.requires("libcurl/8.2.1") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") + if Version(self.version) >= "3.3": + # INFO: https://mariadb.com/kb/en/mariadb-connector-c-330-release-notes + self.requires("zstd/1.5.5") def validate(self): if self.settings.os != "Windows" and self.options.with_ssl == "schannel": @@ -92,6 +96,8 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() deps = CMakeDeps(self) + if Version(self.version) >= "3.3": + deps.set_property("zstd", "cmake_file_name", "ZSTD") deps.generate() def _patch_sources(self): diff --git a/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch b/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch new file mode 100644 index 0000000000000..19168ffa68018 --- /dev/null +++ b/recipes/mariadb-connector-c/all/patches/3.3.3-0002-find-package-zstd.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f3b6cbd..5a60394 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -221,7 +221,7 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/SearchLibrary.cmake) + + # Compression plugins: ZSTD, ZLIB + +-INCLUDE(${CC_SOURCE_DIR}/cmake/FindZStd.cmake) ++find_package(ZSTD REQUIRED CONFIG) + + IF(WITH_EXTERNAL_ZLIB) + IF(NOT ZLIB_FOUND) From 7cb42372de8b86f9f222b15c70c69b62af501521 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 15 Nov 2023 19:07:58 +0100 Subject: [PATCH 0031/1307] (#21148) rangesnext: remove bogus patches section There never was any patch in this recipe identified in https://github.com/conan-io/conan-center- index/issues/21146 --- recipes/rangesnext/all/conandata.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/rangesnext/all/conandata.yml b/recipes/rangesnext/all/conandata.yml index 29a3d8ef00ff0..f52ac4400f69a 100644 --- a/recipes/rangesnext/all/conandata.yml +++ b/recipes/rangesnext/all/conandata.yml @@ -2,6 +2,3 @@ sources: "cci.20210426": url: "https://github.com/cor3ntin/rangesnext/archive/10fd1cffe7a2a9688a31f91ec8754668c4cdd9a6.tar.gz" sha256: "8b4ba9129346818d1ad2ab1fe00ccb85c5c1b35fef91868aece97aa079e0dec4" -patches: - "cci.20210426": - - patch_file: "patches/0001-cmake-disable-tests.patch" From 831b72a1a9ae9475de709a7c0f0f2619f64cb05c Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 16 Nov 2023 01:27:18 +0400 Subject: [PATCH 0032/1307] (#21143) ffmpeg: added 6.1 version --- recipes/ffmpeg/all/conandata.yml | 3 +++ recipes/ffmpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml index 12d1c617655b5..83ed14628cf42 100644 --- a/recipes/ffmpeg/all/conandata.yml +++ b/recipes/ffmpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.1": + url: "http://ffmpeg.org/releases/ffmpeg-6.1.tar.bz2" + sha256: "eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611" "6.0.1": url: "http://ffmpeg.org/releases/ffmpeg-6.0.1.tar.bz2" sha256: "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06" diff --git a/recipes/ffmpeg/config.yml b/recipes/ffmpeg/config.yml index 7e2ba252c7111..0ea4ae6cca888 100644 --- a/recipes/ffmpeg/config.yml +++ b/recipes/ffmpeg/config.yml @@ -1,4 +1,6 @@ versions: + "6.1": + folder: "all" "6.0.1": folder: "all" "6.0": From cf33d0e3a555aa00d7db6c6b836f4449660458c0 Mon Sep 17 00:00:00 2001 From: Francois Poizat Date: Thu, 16 Nov 2023 06:26:01 +0100 Subject: [PATCH 0033/1307] (#20374) Package/implot add implot demo.cpp * ImPlot recipe should build implot_demo.cpp As for imgui, implot_demo.cpp is the primary source of documentation for this library. imgui_demo.cpp is built in the imgui recipe implot_demo.cpp should be built by this recipe * update cmake version in test package to match the one in the main CMakeLists --- recipes/implot/all/CMakeLists.txt | 1 + recipes/implot/all/test_package/CMakeLists.txt | 2 +- recipes/implot/all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/implot/all/CMakeLists.txt b/recipes/implot/all/CMakeLists.txt index 84afb4ed40721..8f2c9651b41e6 100644 --- a/recipes/implot/all/CMakeLists.txt +++ b/recipes/implot/all/CMakeLists.txt @@ -6,6 +6,7 @@ file(GLOB HEADER_FILES ${IMPLOT_SRC_DIR}/*.h) add_library(${PROJECT_NAME} ${IMPLOT_SRC_DIR}/implot.cpp ${IMPLOT_SRC_DIR}/implot_items.cpp + ${IMPLOT_SRC_DIR}/implot_demo.cpp ) target_include_directories(${PROJECT_NAME} PRIVATE ${IMPLOT_SRC_DIR}) diff --git a/recipes/implot/all/test_package/CMakeLists.txt b/recipes/implot/all/test_package/CMakeLists.txt index 945aea8b2724f..e39ff9333e1cc 100644 --- a/recipes/implot/all/test_package/CMakeLists.txt +++ b/recipes/implot/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.4) project(test_package) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/recipes/implot/all/test_v1_package/CMakeLists.txt b/recipes/implot/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..8d8cf1572027f 100644 --- a/recipes/implot/all/test_v1_package/CMakeLists.txt +++ b/recipes/implot/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.4) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From a17fd0cbd85ecdab5332fea83f6acf960f75fe9b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 15:29:27 +0900 Subject: [PATCH 0034/1307] (#21155) ssp: update fast_float/5.3.0 --- recipes/ssp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py index 7d75955713fe5..4df3741e9cacb 100644 --- a/recipes/ssp/all/conanfile.py +++ b/recipes/ssp/all/conanfile.py @@ -37,7 +37,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("fast_float/5.2.0") + self.requires("fast_float/5.3.0") def package_id(self): self.info.clear() From a97768a696ede2093cb83cc49e82b5c8c94c484c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:07:49 +0900 Subject: [PATCH 0035/1307] (#21154) dacap-clip: add version 1.7 --- recipes/dacap-clip/all/conandata.yml | 3 +++ recipes/dacap-clip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dacap-clip/all/conandata.yml b/recipes/dacap-clip/all/conandata.yml index 19103af57600d..f4f5540f11df5 100644 --- a/recipes/dacap-clip/all/conandata.yml +++ b/recipes/dacap-clip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7": + url: "https://github.com/dacap/clip/archive/refs/tags/v1.7.tar.gz" + sha256: "f494d306f3425e984368cbd94ffb213e0a3b3d44c3ab169e5134788d3342535c" "1.6": url: "https://github.com/dacap/clip/archive/refs/tags/v1.6.tar.gz" sha256: "fc37319775ec1b6a75475b46696f5014418d90676359b96b894f646241dcbb7e" diff --git a/recipes/dacap-clip/config.yml b/recipes/dacap-clip/config.yml index 68f5d1fe1295a..f10766e09880a 100644 --- a/recipes/dacap-clip/config.yml +++ b/recipes/dacap-clip/config.yml @@ -1,4 +1,6 @@ versions: + "1.7": + folder: "all" "1.6": folder: "all" "1.5": From f5fa4d5c88cb6142a98bec12da010812b31e1256 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:27:15 +0900 Subject: [PATCH 0036/1307] (#21156) c-ares: add version 1.22.0 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 182f723ac016b..8a35305c85a73 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22.0": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_0/c-ares-1.22.0.tar.gz" + sha256: "ad2e205088083317147c9f9eab5f24b82c3d50927c381a7c963deeb1182dbc21" "1.21.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_21_0/c-ares-1.21.0.tar.gz" sha256: "cd7aa3af1d3ee780d6437039a7ddb7f1ec029f9c4f7aabb0197e384eb5bc2f2d" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index f12f37d3b9d21..8554b774a5c3a 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.22.0": + folder: all "1.21.0": folder: all "1.20.1": From 71b82701d768a332ea97a9874a1fd01942ec1440 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 16 Nov 2023 16:48:14 +0900 Subject: [PATCH 0037/1307] (#21133) scnlib: update fast_float/5.3.0 --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index d88df6abc4e63..1e79fd87d6da6 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/5.2.0") + self.requires("fast_float/5.3.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 8550175273e515034a15d548e9f964427b090ad1 Mon Sep 17 00:00:00 2001 From: SSE4 Date: Thu, 16 Nov 2023 15:26:47 +0700 Subject: [PATCH 0038/1307] (#20888) [fftw] support multiple precisions * [fftw] support multiple precisions * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/test_v1_package/conanfile.py Co-authored-by: Uilian Ries * Update recipes/fftw/all/test_package/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries Co-authored-by: Daniel --- recipes/fftw/all/conanfile.py | 111 ++++++++++++------ recipes/fftw/all/test_package/CMakeLists.txt | 15 +-- recipes/fftw/all/test_package/conanfile.py | 7 +- recipes/fftw/all/test_package/test_package.c | 3 + recipes/fftw/all/test_v1_package/conanfile.py | 7 +- 5 files changed, 93 insertions(+), 50 deletions(-) diff --git a/recipes/fftw/all/conanfile.py b/recipes/fftw/all/conanfile.py index 633f3bfb2dc71..72c620e240684 100644 --- a/recipes/fftw/all/conanfile.py +++ b/recipes/fftw/all/conanfile.py @@ -6,6 +6,12 @@ required_conan_version = ">=1.54.0" +SINGLE = 'single' +DOUBLE = 'double' +LONGDOUBLE = 'longdouble' +QUAD = 'quad' +ALL = [SINGLE, DOUBLE, LONGDOUBLE, QUAD] + class FFTWConan(ConanFile): name = "fftw" @@ -20,7 +26,11 @@ class FFTWConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "precision": ["double", "single", "longdouble"], + "precision": ALL + ['deprecated'], + 'precision_single': [True, False], + 'precision_double': [True, False], + 'precision_longdouble': [True, False], + 'precision_quad': [True, False], "openmp": [True, False], "threads": [True, False], "combinedthreads": [True, False], @@ -29,12 +39,17 @@ class FFTWConan(ConanFile): default_options = { "shared": False, "fPIC": True, - "precision": "double", + "precision": 'deprecated', + 'precision_single': True, + 'precision_double': True, + 'precision_longdouble': True, + 'precision_quad': False, "openmp": False, "threads": False, "combinedthreads": False, "simd": False, } + _current_precision = None def export_sources(self): export_conandata_patches(self) @@ -50,6 +65,8 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") if not self.options.threads: del self.options.combinedthreads + if self.options.precision != "deprecated": + self.output.warning("precision options is deprecated! use dedicated options 'precision_single', 'precision_double', 'precision_longdouble' and 'precision_quad' instead") def layout(self): cmake_layout(self, src_folder="src") @@ -70,64 +87,88 @@ def generate(self): tc.variables["ENABLE_OPENMP"] = self.options.openmp tc.variables["ENABLE_THREADS"] = self.options.threads tc.variables["WITH_COMBINED_THREADS"] = self.options.get_safe("combinedthreads", False) - tc.variables["ENABLE_FLOAT"] = self.options.precision == "single" - tc.variables["ENABLE_LONG_DOUBLE"] = self.options.precision == "longdouble" tc.variables["ENABLE_SSE"] = self.options.simd == "sse" tc.variables["ENABLE_SSE2"] = self.options.simd == "sse2" tc.variables["ENABLE_AVX"] = self.options.simd == "avx" tc.variables["ENABLE_AVX2"] = self.options.simd == "avx2" tc.generate() + @property + def build_folder(self): + bf = super().build_folder + return os.path.join(bf, self._current_precision) if self._current_precision else bf + + @property + def _all_precisions(self): + return [p for p in ALL if self.options.get_safe(f"precision_{p}")] + def build(self): + def on_off(value): + return "ON" if value else 'OFF' + apply_conandata_patches(self) - cmake = CMake(self) - cmake.configure() - cmake.build() + for self._current_precision in self._all_precisions: + cmake = CMake(self) + variables = { + "ENABLE_FLOAT": on_off(self._current_precision == SINGLE), + "ENABLE_LONG_DOUBLE": on_off(self._current_precision == LONGDOUBLE), + "EENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) + } + cmake.configure(variables=variables) + cmake.build() def package(self): copy(self, "COPYRIGHT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - cmake = CMake(self) - cmake.install() - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + for self._current_precision in self._all_precisions: + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - prec_suffix = self._prec_suffix[str(self.options.precision)] - cmake_config_name = "FFTW3" + prec_suffix - cmake_namespace = "FFTW3" - cmake_target_name = "fftw3" + prec_suffix - pkgconfig_name = "fftw3" + prec_suffix - lib_name = "fftw3" + prec_suffix + cmake_config_name = cmake_namespace = "FFTW3" self.cpp_info.set_property("cmake_file_name", cmake_config_name) - self.cpp_info.set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") - self.cpp_info.set_property("pkg_config_name", pkgconfig_name) - - # TODO: back to global scope in conan v2 once cmake_find_package_* & pkg_config generators removed - if self.options.openmp: - self.cpp_info.components["fftwlib"].libs.append(lib_name + "_omp") - if self.options.threads and not self.options.combinedthreads: - self.cpp_info.components["fftwlib"].libs.append(lib_name + "_threads") - self.cpp_info.components["fftwlib"].libs.append(lib_name) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["fftwlib"].system_libs.append("m") - if self.options.threads: - self.cpp_info.components["fftwlib"].system_libs.append("pthread") # TODO: to remove in conan v2 once cmake_find_package_* & pkg_config generators removed self.cpp_info.filenames["cmake_find_package"] = cmake_config_name self.cpp_info.filenames["cmake_find_package_multi"] = cmake_config_name self.cpp_info.names["cmake_find_package"] = cmake_namespace self.cpp_info.names["cmake_find_package_multi"] = cmake_namespace - self.cpp_info.components["fftwlib"].names["cmake_find_package"] = cmake_target_name - self.cpp_info.components["fftwlib"].names["cmake_find_package_multi"] = cmake_target_name - self.cpp_info.components["fftwlib"].set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") - self.cpp_info.components["fftwlib"].set_property("pkg_config_name", pkgconfig_name) + + for self._current_precision in self._all_precisions: + prec_suffix = self._prec_suffix[self._current_precision] + cmake_target_name = pkgconfig_name = lib_name = "fftw3" + prec_suffix + component_name = f"fftwlib_{self._current_precision}" + component = self.cpp_info.components[component_name] + + # TODO: back to global scope in conan v2 once cmake_find_package_* & pkg_config generators removed + if self.options.openmp: + component.libs.append(lib_name + "_omp") + if self.options.threads and not self.options.combinedthreads: + component.libs.append(lib_name + "_threads") + self.cpp_info.components[component_name].libs.append(lib_name) + if self.settings.os in ["Linux", "FreeBSD"]: + component.system_libs.append("m") + if self._current_precision == QUAD: + component.system_libs.extend(['quadmath']) + if self.options.threads: + component.system_libs.append("pthread") + self.cpp_info.components[component_name].includedirs.append(os.path.join(self.package_folder, "include")) + + component.names["cmake_find_package"] = cmake_target_name + component.names["cmake_find_package_multi"] = cmake_target_name + component.set_property("cmake_target_name", f"{cmake_namespace}::{cmake_target_name}") + component.set_property("pkg_config_name", pkgconfig_name) + + def package_id(self): + del self.info.options.precision @property def _prec_suffix(self): return { "double": "", "single": "f", - "longdouble": "l" + "longdouble": "l", + 'quad': 'q' } diff --git a/recipes/fftw/all/test_package/CMakeLists.txt b/recipes/fftw/all/test_package/CMakeLists.txt index 3943d935ac8c2..e2445bdf7545e 100644 --- a/recipes/fftw/all/test_package/CMakeLists.txt +++ b/recipes/fftw/all/test_package/CMakeLists.txt @@ -4,21 +4,18 @@ project(test_package LANGUAGES C) option(ENABLE_DOUBLE_PRECISION "Enable FFTW single precision" ON) option(ENABLE_SINGLE_PRECISION "Enable FFTW single precision" OFF) option(ENABLE_LONG_DOUBLE_PRECISION "Enable FFTW single precision" OFF) +option(ENABLE_QUAD_PRECISION "Enable FFTW quad precision" OFF) -if(ENABLE_SINGLE_PRECISION) - find_package(FFTW3f REQUIRED CONFIG) -elseif(ENABLE_LONG_DOUBLE_PRECISION) - find_package(FFTW3l REQUIRED CONFIG) -else() - find_package(FFTW3 REQUIRED CONFIG) -endif() +find_package(FFTW3 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} $<$:FFTW3::fftw3> $<$:FFTW3::fftw3f> - $<$:FFTW3::fftw3l>) + $<$:FFTW3::fftw3l> + $<$:FFTW3::fftw3q>) target_compile_options(${PROJECT_NAME} PRIVATE $<$:-DENABLE_SINGLE_PRECISION=1> - $<$:-DENABLE_LONG_DOUBLE_PRECISION=1>) + $<$:-DENABLE_LONG_DOUBLE_PRECISION=1> + $<$:-DENABLE_QUAD_PRECISION=1>) diff --git a/recipes/fftw/all/test_package/conanfile.py b/recipes/fftw/all/test_package/conanfile.py index ae78315e3f3d3..bf64344b75e94 100644 --- a/recipes/fftw/all/test_package/conanfile.py +++ b/recipes/fftw/all/test_package/conanfile.py @@ -17,9 +17,10 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["ENABLE_DOUBLE_PRECISION"] = self.dependencies["fftw"].options.precision == "double" - tc.variables["ENABLE_SINGLE_PRECISION"] = self.dependencies["fftw"].options.precision == "single" - tc.variables["ENABLE_LONG_DOUBLE_PRECISION"] = self.dependencies["fftw"].options.precision == "longdouble" + tc.variables["ENABLE_DOUBLE_PRECISION"] = self.dependencies['fftw'].options.precision_double + tc.variables["ENABLE_SINGLE_PRECISION"] = self.dependencies['fftw'].options.precision_single + tc.variables["ENABLE_LONG_DOUBLE_PRECISION"] = self.dependencies['fftw'].options.precision_longdouble + tc.variables["ENABLE_QUAD_PRECISION"] = self.dependencies['fftw'].options.precision_quad tc.generate() def build(self): diff --git a/recipes/fftw/all/test_package/test_package.c b/recipes/fftw/all/test_package/test_package.c index b098fdf9507b1..41b92c011b487 100644 --- a/recipes/fftw/all/test_package/test_package.c +++ b/recipes/fftw/all/test_package/test_package.c @@ -7,6 +7,9 @@ typedef float real_t; #elif defined(ENABLE_LONG_DOUBLE_PRECISION) typedef long double real_t; #define FFTW_MANGLE(name) FFTW_MANGLE_LONG_DOUBLE(name) +#elif defined(ENABLE_QUAD_PRECISION) +typedef __float128 real_t; +#define FFTW_MANGLE(name) FFTW_MANGLE_QUAD(name) #else typedef double real_t; #define FFTW_MANGLE(name) FFTW_MANGLE_DOUBLE(name) diff --git a/recipes/fftw/all/test_v1_package/conanfile.py b/recipes/fftw/all/test_v1_package/conanfile.py index 0608a56e96b9b..bc42b2f516ea2 100644 --- a/recipes/fftw/all/test_v1_package/conanfile.py +++ b/recipes/fftw/all/test_v1_package/conanfile.py @@ -8,9 +8,10 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - cmake.definitions["ENABLE_DOUBLE_PRECISION"] = self.options["fftw"].precision == "double" - cmake.definitions["ENABLE_SINGLE_PRECISION"] = self.options["fftw"].precision == "single" - cmake.definitions["ENABLE_LONG_DOUBLE_PRECISION"] = self.options["fftw"].precision == "longdouble" + cmake.definitions["ENABLE_DOUBLE_PRECISION"] = self.options["fftw"].precision_double + cmake.definitions["ENABLE_SINGLE_PRECISION"] = self.options["fftw"].precision_single + cmake.definitions["ENABLE_LONG_DOUBLE_PRECISION"] = self.options["fftw"].precision_longdouble + cmake.definitions["ENABLE_QUAD_PRECISION"] = self.options["fftw"].precision_quad cmake.configure() cmake.build() From b0fcb6fc6b6b0997b3b3fb7a8578bf18a7f5545e Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 04:47:36 -0600 Subject: [PATCH 0039/1307] (#20324) libdisplay-info: Add recipe * libdisplay-info: Add recipe * Don't set PATH * Bump Meson version * Ensure that hwdata is found * Make the recipe work without a build profile * Set default for getattr * Disable on macOS Apple's linker doesn't support '--version-script'. * Only build for Linux / FreeBSD * Add missing colon * Update recipes/libdisplay-info/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Martin Valgur --- recipes/libdisplay-info/all/conandata.yml | 4 + recipes/libdisplay-info/all/conanfile.py | 101 ++++++++++++++++++ .../all/test_package/conanfile.py | 32 ++++++ .../all/test_package/meson.build | 5 + .../all/test_package/test_package.c | 8 ++ recipes/libdisplay-info/config.yml | 3 + 6 files changed, 153 insertions(+) create mode 100644 recipes/libdisplay-info/all/conandata.yml create mode 100644 recipes/libdisplay-info/all/conanfile.py create mode 100644 recipes/libdisplay-info/all/test_package/conanfile.py create mode 100644 recipes/libdisplay-info/all/test_package/meson.build create mode 100644 recipes/libdisplay-info/all/test_package/test_package.c create mode 100644 recipes/libdisplay-info/config.yml diff --git a/recipes/libdisplay-info/all/conandata.yml b/recipes/libdisplay-info/all/conandata.yml new file mode 100644 index 0000000000000..916fa487be227 --- /dev/null +++ b/recipes/libdisplay-info/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.1.1/libdisplay-info-0.1.1.tar.bz2" + sha256: "51cdb0362882ca2af62532ab4d95e60d81e9890b339264719fd55f8e3945d695" diff --git a/recipes/libdisplay-info/all/conanfile.py b/recipes/libdisplay-info/all/conanfile.py new file mode 100644 index 0000000000000..4bb6e6e322b36 --- /dev/null +++ b/recipes/libdisplay-info/all/conanfile.py @@ -0,0 +1,101 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class LibdisplayInfoConan(ConanFile): + name = "libdisplay-info" + description = "EDID and DisplayID library." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://gitlab.freedesktop.org/emersion/libdisplay-info" + topics = ("display", "DisplayID", "EDID") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _has_build_profile(self): + return getattr(self, "settings_build", None) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if not self._has_build_profile: + self.requires("hwdata/0.374") + + def validate(self): + if not self.settings.os in ["FreeBSD", "Linux"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}") + + def build_requirements(self): + if self._has_build_profile: + self.tool_requires("hwdata/0.374") + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + if cross_building(self): + tc.project_options["build.pkg_config_path"] = self.generators_folder + tc.generate() + pkg_config_deps = PkgConfigDeps(self) + if self._has_build_profile: + pkg_config_deps.build_context_activated = ["hwdata"] + pkg_config_deps.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), "subdir('test')", "# subdir('test')") + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["display-info"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.extend(["m"]) diff --git a/recipes/libdisplay-info/all/test_package/conanfile.py b/recipes/libdisplay-info/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libdisplay-info/all/test_package/meson.build b/recipes/libdisplay-info/all/test_package/meson.build new file mode 100644 index 0000000000000..3b75f6e4e942b --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('libdisplay-info') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/libdisplay-info/all/test_package/test_package.c b/recipes/libdisplay-info/all/test_package/test_package.c new file mode 100644 index 0000000000000..21c1bf8b467cd --- /dev/null +++ b/recipes/libdisplay-info/all/test_package/test_package.c @@ -0,0 +1,8 @@ +#include + +#include + +int main() +{ + return di_info_parse_edid("", 0) != 0; +} diff --git a/recipes/libdisplay-info/config.yml b/recipes/libdisplay-info/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/libdisplay-info/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 1a33f11006df7aecbf7dcc9bae37dd82492ca66a Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 07:10:32 -0600 Subject: [PATCH 0040/1307] (#20289) libxcrypt: Add version 4.4.36 * libxcrypt: Add version 4.4.36 * Add package_type --- recipes/libxcrypt/all/conandata.yml | 3 +++ recipes/libxcrypt/all/conanfile.py | 1 + recipes/libxcrypt/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxcrypt/all/conandata.yml b/recipes/libxcrypt/all/conandata.yml index 812907a83d051..fb3a279cbaa17 100644 --- a/recipes/libxcrypt/all/conandata.yml +++ b/recipes/libxcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.36": + url: "https://github.com/besser82/libxcrypt/archive/v4.4.36.tar.gz" + sha256: "b979838d5f1f238869d467484793b72b8bca64c4eae696fdbba0a9e0b6c28453" "4.4.35": url: "https://github.com/besser82/libxcrypt/archive/v4.4.35.tar.gz" sha256: "15981f2ffb82d70f07285f9683c485c4774083057564a2e7e74236c19e8e9f7b" diff --git a/recipes/libxcrypt/all/conanfile.py b/recipes/libxcrypt/all/conanfile.py index 7f1e95bcfd907..9535c01222b44 100644 --- a/recipes/libxcrypt/all/conanfile.py +++ b/recipes/libxcrypt/all/conanfile.py @@ -19,6 +19,7 @@ class LibxcryptConan(ConanFile): topics = ("hash", "password", "one-way", "bcrypt", "md5", "sha256", "sha512") license = ("LGPL-2.1-or-later", ) settings = "os", "arch", "compiler", "build_type" + package_type = "library" options = { "shared": [True, False], "fPIC": [True, False], diff --git a/recipes/libxcrypt/config.yml b/recipes/libxcrypt/config.yml index bdbb3cb2f74cf..e6406af656d46 100644 --- a/recipes/libxcrypt/config.yml +++ b/recipes/libxcrypt/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.36": + folder: all "4.4.35": folder: all "4.4.34": From 251834d19eeb763a23816ef2179fc951137faef9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 16 Nov 2023 16:27:10 +0200 Subject: [PATCH 0041/1307] (#19229) rmm: add 23.10.00, bump deps * rmm: add 23.08.00, bump deps * rmm: bump fmt to 10.1.0 * rmm: use lazy_lt_semver() for gcc * rmm: add v23.12.00 * rmm: bump fmt, tidy * rmm: 23.12 is pre-release, replace with 23.10 --- recipes/rmm/all/conandata.yml | 3 +++ recipes/rmm/all/conanfile.py | 45 +++++++++++++++-------------------- recipes/rmm/config.yml | 2 ++ 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/recipes/rmm/all/conandata.yml b/recipes/rmm/all/conandata.yml index 7df46299a9c8a..67683994d5b6f 100644 --- a/recipes/rmm/all/conandata.yml +++ b/recipes/rmm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "23.10.00": + url: "https://github.com/rapidsai/rmm/archive/v23.10.00.tar.gz" + sha256: "4e2408073662fdfd92ca21d87f7d2afc64d2595fd5a1e3fa321d3472cfbd7f7a" "23.06.00": url: "https://github.com/rapidsai/rmm/archive/refs/tags/v23.06.00.tar.gz" sha256: "3dade75a6ba21041e47493a6514513aa01d40e19bba500f5e648e399744e1a24" diff --git a/recipes/rmm/all/conanfile.py b/recipes/rmm/all/conanfile.py index e9bb7d0e98006..ca0e3861927c1 100644 --- a/recipes/rmm/all/conanfile.py +++ b/recipes/rmm/all/conanfile.py @@ -4,7 +4,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import export_conandata_patches, get, copy, replace_in_file, save +from conan.tools.files import get, copy, replace_in_file, save from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -37,16 +37,13 @@ def _compilers_minimum_version(self): "apple-clang": "14.0", } - def export_sources(self): - export_conandata_patches(self) - def layout(self): basic_layout(self, src_folder="src") def requirements(self): self.requires("thrust/1.17.2") - self.requires("spdlog/1.11.0") - self.requires("fmt/9.1.0") + self.requires("spdlog/1.12.0") + self.requires("fmt/10.1.1") def package_id(self): self.info.clear() @@ -54,8 +51,13 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + + def lazy_lt_semver(v1, v2): + # Needed to allow version "9" >= "9.3" for gcc + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: + if minimum_version and lazy_lt_semver(self.settings.compiler.version, minimum_version): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) @@ -83,12 +85,8 @@ def _patch_sources(self): if Version(self.version) < "23.08": # https://github.com/rapidsai/rmm/pull/1295 # Add missing include in logger.hpp - replace_in_file( - self, - os.path.join(self.source_folder, "include", "rmm", "logger.hpp"), - "#include ", - "#include \n#include ", - ) + replace_in_file(self, os.path.join(self.source_folder, "include", "rmm", "logger.hpp"), + "#include ", "#include \n#include ") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -96,23 +94,18 @@ def source(self): self._patch_sources() def package(self): - copy( - self, - pattern="LICENSE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder, - ) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) for pattern in ["*.hpp", "*.h"]: - copy( - self, - pattern=pattern, - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include"), - ) + copy(self, pattern, + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include")) def package_info(self): - self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("dl") diff --git a/recipes/rmm/config.yml b/recipes/rmm/config.yml index e04fd963f4a5f..20cd4f56dc99f 100644 --- a/recipes/rmm/config.yml +++ b/recipes/rmm/config.yml @@ -1,3 +1,5 @@ versions: + "23.10.00": + folder: all "23.06.00": folder: all From 4ba947a246c45e72fa3c51e75ec6a3a846b7a195 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 16 Nov 2023 20:32:59 +0100 Subject: [PATCH 0042/1307] (#21162) [bot] Update authorized users list (2023-11-16) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index da6e1c6820c61..710c4ab0338e0 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1263,3 +1263,5 @@ authorized_users: - fabiorossetto - Bronek - agdavydov81 +- sizeak +- johannes-wolf From 24b9b5e75e7d74f8bed1d08f81857c2f4809791a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 16 Nov 2023 21:28:58 +0100 Subject: [PATCH 0043/1307] (#21166) Remove missing users from authorized_users.yml * Remove missing users from authorized_users.yml * Re-add number usernames --- .c3i/authorized_users.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 710c4ab0338e0..eb2fa30e632e6 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -45,7 +45,6 @@ authorized_users: - datalogics-robb - PinkySan - keysight-daryl -- gunmetal313 - rdeterre - Hopobcn - rikdev @@ -56,7 +55,6 @@ authorized_users: - ledocc - fpelliccioni - PierreRamoin -- yipdw - soporide - detwiler - hrantzsch @@ -82,7 +80,6 @@ authorized_users: - BlueSolei - AndWass - SpaceIm -- prsolucoes - yssource - dheater - GavinNL @@ -109,20 +106,16 @@ authorized_users: - mbodmer - feragon - claremacrae -- nicolastagliani - samuelpmish - Garcia6l20 -- RemySphere - pleroux0 - qchateau - datalogics-kam - tt4g - akshit-sharma -- jargonzombies - xqp - alnkpa - prince-chrismc -- bk2221 - igl42 - casabre - Nipheris @@ -135,7 +128,6 @@ authorized_users: - zod - Twon - miketsukerman -- mgoldshteyn - dab0bby - atilag - floriansimon1 @@ -144,7 +136,6 @@ authorized_users: - mapau - igor-sadchenko - fulara -- BNL-Corp - pyrige - ZaMaZaN4iK - rudolfheszele @@ -189,7 +180,6 @@ authorized_users: - pavanbadugu - isnullxbh - Michanne -- markusgod - syoliver - daravi - museghost @@ -234,7 +224,6 @@ authorized_users: - yelu - bibermann - baltendorf -- Mahe-Thomas - Eremiell - d70-t - ufkesba @@ -272,7 +261,6 @@ authorized_users: - greeng3 - mattgodbolt - mathbunnyru -- ngerke - TheLavaBlock - greeng3 - ItsBasi @@ -289,7 +277,6 @@ authorized_users: - mjvankampen - ivan-kulikov-dev - ntagliani -- bnlcorp - Alberto-Izquierdo - an-tao - p-ranav @@ -381,10 +368,8 @@ authorized_users: - ubnt-kannan - taoyouh - skannan89 -- paulo-coutinho - AndreyMlashkin - AndyMender -- triangulumlabs - Woazim - shubhamck - Lukas-Heiligenbrunner @@ -402,11 +387,9 @@ authorized_users: - Jonathan-Eid - ihsandemir - Marks101 -- whuji - jiangdawhy - MichelleHetzel - Pro -- anton-dirac - petiaccja - Expander - kdsx @@ -421,7 +404,6 @@ authorized_users: - TheSalvator - fcelda - toge -- maksim-0 - blackencino - lukaszlaszko - pichi-router @@ -547,7 +529,6 @@ authorized_users: - AshleyRoll - inparallel - vcampmany -- 3d4m-vladimir - thesummer - NolanC33 - Chnossos @@ -589,7 +570,6 @@ authorized_users: - claudius-kienle - choll - erikzenker -- dannftk - Jairard - Nicky-D - pgeler @@ -638,7 +618,6 @@ authorized_users: - woidpointer - dkruempe - ehds -- sase-cs - idealvin - seemk - chausner @@ -673,7 +652,6 @@ authorized_users: - gjasny - eirikb - wpalfi -- vkes - wouterz - szigetics - kovdan01 @@ -740,7 +718,6 @@ authorized_users: - jt416 - Pollux42 - gracicot -- Siviuze - ggulgulia - ondrej-benus - RubyNova @@ -750,7 +727,6 @@ authorized_users: - eerimoq - bb010g - paulocoutinhox -- WilliamBehrens - greg7mdp - ruurdadema - steromano87 @@ -809,14 +785,12 @@ authorized_users: - luizgabriel - kshehata - dietssa -- simoncent - staskau - Iswenzz - DAP-IT-Aachen - VladyslavUsenko - vdsbenoit - Macfly -- hesham-essam - mkviatkovskii - sgoth - hellozee @@ -868,7 +842,6 @@ authorized_users: - EstebanDugueperoux2 - suhasHere - Tradias -- NeXuS4Developer - jellespijker - bshoshany - Chrismarsh @@ -1009,7 +982,6 @@ authorized_users: - ashley-b - psmitsu - Viatorus -- mkoviazin - shtanko-sv - larshg - Wuqiqi123 @@ -1110,7 +1082,6 @@ authorized_users: - carterian8 - jdoubleu - poretga99 -- stefanpantic-smallpdf - sebsnyk - mercierd - Tobulus From 2b6e90b5014d2126aa0576181295b05ff765bd2e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 16 Nov 2023 23:05:51 +0200 Subject: [PATCH 0044/1307] (#18831) ags: migrate to Conan v2 * ags: migrate to Conan v2 * ags: add v6.1.0 for VS 2022 support * ags: get rid of vs_ide_version() * ags: restore shared option * ags: drop v6.0 * ags: add v6.2.0 * ags: recipe tweaks --- recipes/ags/all/conandata.yml | 9 +- recipes/ags/all/conanfile.py | 131 ++++++++++-------- recipes/ags/all/test_package/CMakeLists.txt | 7 +- recipes/ags/all/test_package/conanfile.py | 20 ++- .../ags/all/test_v1_package/CMakeLists.txt | 8 ++ recipes/ags/all/test_v1_package/conanfile.py | 16 +++ recipes/ags/config.yml | 6 +- 7 files changed, 125 insertions(+), 72 deletions(-) create mode 100644 recipes/ags/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ags/all/test_v1_package/conanfile.py diff --git a/recipes/ags/all/conandata.yml b/recipes/ags/all/conandata.yml index 80c23a11369cc..85726b0fe607b 100644 --- a/recipes/ags/all/conandata.yml +++ b/recipes/ags/all/conandata.yml @@ -2,9 +2,12 @@ sources: "5.4.1": url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v5.4.1.tar.gz sha256: d72766152bc83fe75c12a26db02fcf01dcff269817994dc337c7eca52d69a669 - "6.0": - url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.0.tar.gz - sha256: 3278ae381b1169f2f70be4412e351a427686cca9728dd6870fbb0c26d8d33b5b "6.0.1": url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.0.1.tar.gz sha256: 7827e3c48b09a216b539c70d861e49580d57ae5fb6808f34dcf97067281c2a52 + "6.1.0": + url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/v6.1.0.tar.gz + sha256: 718c2ca4a6b5b7b0d35d6cdba2ae38bea4be7c01039a9093a5b13dd87c3fb8fd + "6.2.0": + url: https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK/archive/refs/tags/v6.2.0.tar.gz + sha256: 7fe211ff3856bb806da24d7988ddbf9dcb5d3395a1795ca68d510f7c29fe43cb diff --git a/recipes/ags/all/conanfile.py b/recipes/ags/all/conanfile.py index ce3253516ac16..40fbf18e98b65 100644 --- a/recipes/ags/all/conanfile.py +++ b/recipes/ags/all/conanfile.py @@ -1,22 +1,30 @@ import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, check_min_vs +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.52.0" class AGSConan(ConanFile): name = "ags" - description = "The AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU " \ - "software and hardware state information that is not normally available through standard operating " \ - "systems or graphics APIs." - homepage = "https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK" - topics = ("conan", "amd", "gpu") + description = ( + "The AMD GPU Services (AGS) library provides software developers with the ability to query AMD GPU " + "software and hardware state information that is not normally available through standard operating " + "systems or graphics APIs." + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK" + topics = ("amd", "gpu", "pre-built") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - license = "MIT" - no_copy_source = True options = { "shared": [True, False], } @@ -24,66 +32,73 @@ class AGSConan(ConanFile): "shared": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _supported_msvc_versions(self): - return ["14", "15", "16"] + def layout(self): + basic_layout(self, src_folder="src") @property def _supported_archs(self): return ["x86_64", "x86"] - def configure(self): - if self.settings.os != "Windows": - raise ConanInvalidConfiguration("ags doesn't support OS: {}.".format(self.settings.os)) - if self.settings.compiler != "Visual Studio": - raise ConanInvalidConfiguration("ags doesn't support compiler: {} on OS: {}.". - format(self.settings.compiler, self.settings.os)) - - if self.settings.compiler == "Visual Studio": - if self.settings.compiler.version not in self._supported_msvc_versions: - raise ConanInvalidConfiguration("ags doesn't support MSVC version: {}".format(self.settings.compiler.version)) - if self.settings.arch not in self._supported_archs: - raise ConanInvalidConfiguration("ags doesn't support arch: {}".format(self.settings.arch)) + def validate(self): + if not is_msvc(self): + raise ConanInvalidConfiguration("AGS SDK only supports MSVC and Windows") + check_min_vs(self, 190) + if Version(self.version) < "6.1.0" and check_min_vs(self, 193, raise_invalid=False): + raise ConanInvalidConfiguration(f"Visual Studio 2019 or older is required for v{self.version}") + if self.settings.arch not in self._supported_archs: + raise ConanInvalidConfiguration(f"AGS SDK doesn't support arch: {self.settings.arch}") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _convert_msvc_version_to_vs_version(self, msvc_version): - vs_versions = { - "14": "2015", - "15": "2017", - "16": "2019", - } - return vs_versions.get(str(msvc_version), None) + @property + def _vs_ide_year(self): + compiler_version = str(self.settings.compiler.version) + if str(self.settings.compiler) == "Visual Studio": + return { + "14": "2015", + "15": "2017", + "16": "2019", + "17": "2022", + }[compiler_version] + else: + return { + "190": "2015", + "191": "2017", + "192": "2019", + "193": "2022", + }[compiler_version] - def _convert_arch_to_win_arch(self, msvc_version): - vs_versions = { + @property + def _win_arch(self): + return { "x86_64": "x64", "x86": "x86", - } - return vs_versions.get(str(msvc_version), None) + }[str(self.settings.arch)] - def package(self): - ags_lib_path = os.path.join(self.source_folder, self._source_subfolder, "ags_lib") - self.copy("LICENSE.txt", dst="licenses", src=ags_lib_path) - self.copy("*.h", dst="include", src=os.path.join(ags_lib_path, "inc")) + @property + def _lib_name(self): + if self.options.shared: + return f"amd_ags_{self._win_arch}" + return f"amd_ags_{self._win_arch}_{self._vs_ide_year}_{msvc_runtime_flag(self)}" - if self.settings.compiler == "Visual Studio": - win_arch = self._convert_arch_to_win_arch(self.settings.arch) - if self.options.shared: - shared_lib = "amd_ags_{arch}.dll".format(arch=win_arch) - symbol_lib = "amd_ags_{arch}.lib".format(arch=win_arch) - self.copy(shared_lib, dst="bin", src=os.path.join(ags_lib_path, "lib")) - self.copy(symbol_lib, dst="lib", src=os.path.join(ags_lib_path, "lib")) - else: - vs_version = self._convert_msvc_version_to_vs_version(self.settings.compiler.version) - static_lib = "amd_ags_{arch}_{vs_version}_{runtime}.lib".format(arch=win_arch, vs_version=vs_version, runtime=self.settings.compiler.runtime) - self.copy(static_lib, dst="lib", src=os.path.join(ags_lib_path, "lib")) + def package(self): + ags_lib_path = os.path.join(self.source_folder, "ags_lib") + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=ags_lib_path) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(ags_lib_path, "inc")) + copy(self, f"{self._lib_name}.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(ags_lib_path, "lib")) + if self.options.shared: + copy(self, f"{self._lib_name}.dll", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(ags_lib_path, "lib")) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = [self._lib_name] diff --git a/recipes/ags/all/test_package/CMakeLists.txt b/recipes/ags/all/test_package/CMakeLists.txt index 523fab4f02b6a..1a7621b5c42d8 100644 --- a/recipes/ags/all/test_package/CMakeLists.txt +++ b/recipes/ags/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(ags REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CONAN_PKG::ags) +target_link_libraries(${PROJECT_NAME} PRIVATE ags::ags) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) diff --git a/recipes/ags/all/test_package/conanfile.py b/recipes/ags/all/test_package/conanfile.py index c08206c505563..ef5d7042163ec 100644 --- a/recipes/ags/all/test_package/conanfile.py +++ b/recipes/ags/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ags/all/test_v1_package/CMakeLists.txt b/recipes/ags/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ags/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ags/all/test_v1_package/conanfile.py b/recipes/ags/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..d026b4c142f4c --- /dev/null +++ b/recipes/ags/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/recipes/ags/config.yml b/recipes/ags/config.yml index a799261020b31..df03f21bccdc5 100644 --- a/recipes/ags/config.yml +++ b/recipes/ags/config.yml @@ -1,7 +1,9 @@ versions: "5.4.1": folder: all - "6.0": - folder: all "6.0.1": folder: all + "6.1.0": + folder: all + "6.2.0": + folder: all From dfb179aadf55045390f75cd213231874445ae2e3 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 16 Nov 2023 23:35:26 +0100 Subject: [PATCH 0045/1307] (#21159) [cimq] Reduce number of versions supported Signed-off-by: Uilian Ries --- recipes/cimg/all/conandata.yml | 15 --------------- recipes/cimg/config.yml | 10 ---------- 2 files changed, 25 deletions(-) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index 110b573ab51e1..df56684723fbd 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -5,27 +5,12 @@ sources: "3.2.6": url: "https://cimg.eu/files/CImg_3.2.6.zip" sha256: "8da3aa995027231bb18f97bb986e12788ef464b3ab8a34151650bf1217baeda7" - "3.2.5": - url: "https://cimg.eu/files/CImg_3.2.5.zip" - sha256: "3ab9f25cd7e5f7256dde67b4ea78ead05834bee0db9160c89668a388ba141cd9" - "3.2.0": - url: "https://cimg.eu/files/CImg_3.2.0.zip" - sha256: "7a923357c3127d8839696c7b0f4eb4c23982c090d3f49fb133f2c8556ca74a88" "3.0.2": url: "https://cimg.eu/files/CImg_3.0.2.zip" sha256: "ee55a37c33d503a64ff264b53952e502ba7c2887b59ded47c47c86ea52ac5c31" - "3.0.0": - url: "https://cimg.eu/files/CImg_3.0.0.zip" - sha256: "8ec6e9d87459a3cb85bddcd5ae8a4891bc734957ea4aa3089dcf1d234e8d0525" "2.9.9": url: "https://cimg.eu/files/CImg_2.9.9.zip" sha256: "c94412f26800ea318fa79410c58da1cf3df71771d07e515c39b16ee743f68e92" - "2.9.4": - url: "https://cimg.eu/files/CImg_2.9.4.zip" - sha256: "455945dc035d50bbc042450e2dc81b2ca19ea74cd3bc38b46ac623df6997dfff" - "2.9.2": - url: "https://cimg.eu/files/CImg_2.9.2.zip" - sha256: "58ffe77bfc25bd90bb3f8185cd7ed8427e2e4f95ce5b748ae2f6291d026b5e90" "2.8.3": url: "https://cimg.eu/files/CImg_2.8.3.zip" sha256: "8d92e4cc271568c5aeca6e6b1f28f620fcf161ef99ce9d070ed1905d92caec4c" diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index 9b44fb64c63a1..0ba296b3e93c6 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -3,19 +3,9 @@ versions: folder: all "3.2.6": folder: all - "3.2.5": - folder: all - "3.2.0": - folder: all "3.0.2": folder: all - "3.0.0": - folder: all "2.9.9": folder: all - "2.9.4": - folder: all - "2.9.2": - folder: all "2.8.3": folder: all From eb0cfc9132214e9298ffc7a75494a70b66d6e045 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 02:07:48 +0200 Subject: [PATCH 0046/1307] (#18848) mold: drop 1.3.1, add package_type * mold: migrate 1.3.1 to Conan v2, adjust exported vars * mold/1.3.1: drop outdated recipe * mold: tweak conf variable Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mold/1.3.1/conandata.yml | 4 - recipes/mold/1.3.1/conanfile.py | 104 ------------------- recipes/mold/1.3.1/test_package/conanfile.py | 9 -- recipes/mold/all/conanfile.py | 68 ++++++------ recipes/mold/all/test_package/conanfile.py | 1 - recipes/mold/config.yml | 2 - 6 files changed, 39 insertions(+), 149 deletions(-) delete mode 100644 recipes/mold/1.3.1/conandata.yml delete mode 100644 recipes/mold/1.3.1/conanfile.py delete mode 100644 recipes/mold/1.3.1/test_package/conanfile.py diff --git a/recipes/mold/1.3.1/conandata.yml b/recipes/mold/1.3.1/conandata.yml deleted file mode 100644 index 5d89f31c243f2..0000000000000 --- a/recipes/mold/1.3.1/conandata.yml +++ /dev/null @@ -1,4 +0,0 @@ -sources: - "1.3.1": - url: "https://github.com/rui314/mold/archive/refs/tags/v1.3.1.tar.gz" - sha256: "d436e2d4c1619a97aca0e28f26c4e79c0242d10ce24e829c1b43cfbdd196fd77" diff --git a/recipes/mold/1.3.1/conanfile.py b/recipes/mold/1.3.1/conanfile.py deleted file mode 100644 index 628628b349c7b..0000000000000 --- a/recipes/mold/1.3.1/conanfile.py +++ /dev/null @@ -1,104 +0,0 @@ -from conan import ConanFile -from conan.tools.scm import Version -from conan.tools import files -from conan.tools.files import copy -from conan.errors import ConanInvalidConfiguration -from conans import AutoToolsBuildEnvironment -import os - -required_conan_version = ">=1.47.0" - -class MoldConan(ConanFile): - name = "mold" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/rui314/mold/" - license = "AGPL-3.0" - description = ("mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker") - topics = ("mold", "ld", "linkage", "compilation") - - settings = "os", "arch", "compiler", "build_type" - - generators = "make" - - def validate(self): - if self.settings.build_type == "Debug": - raise ConanInvalidConfiguration('Mold is a build tool, specify mold:build_type=Release in your build profile, see https://github.com/conan-io/conan-center-index/pull/11536#issuecomment-1195607330') - if self.settings.compiler in ["gcc", "clang", "intel-cc"] and self.settings.compiler.libcxx != "libstdc++11": - raise ConanInvalidConfiguration('Mold can only be built with libstdc++11; specify mold:compiler.libcxx=libstdc++11 in your build profile') - if self.settings.os == "Windows": - raise ConanInvalidConfiguration(f'{self.name} can not be built on {self.settings.os}.') - if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration("GCC version 10 or higher required") - if (self.settings.compiler == "clang" or self.settings.compiler == "apple-clang") and Version(self.settings.compiler.version) < "12": - raise ConanInvalidConfiguration("Clang version 12 or higher required") - if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch : - raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.') - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - - def _get_include_path(self, dependency): - include_path = self.deps_cpp_info[dependency].rootpath - include_path = os.path.join(include_path, "include") - return include_path - - def _patch_sources(self): - if self.settings.compiler == "apple-clang" or (self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "11"): - files.replace_in_file(self, "source_subfolder/Makefile", "-std=c++20", "-std=c++2a") - - files.replace_in_file(self, "source_subfolder/Makefile", "-Ithird-party/xxhash ", "-I{} -I{} -I{} -I{} -I{}".format( - self._get_include_path("zlib"), - self._get_include_path("openssl"), - self._get_include_path("xxhash"), - self._get_include_path("mimalloc"), - self._get_include_path("onetbb") - )) - - files.replace_in_file(self, "source_subfolder/Makefile", "MOLD_LDFLAGS += -ltbb", "MOLD_LDFLAGS += -L{} -ltbb".format( - self.deps_cpp_info["onetbb"].lib_paths[0])) - - files.replace_in_file(self, "source_subfolder/Makefile", "MOLD_LDFLAGS += -lmimalloc", "MOLD_LDFLAGS += -L{} -lmimalloc".format( - self.deps_cpp_info["mimalloc"].lib_paths[0])) - - def requirements(self): - self.requires("zlib/[>=1.2.11 <2]") - self.requires("openssl/1.1.1q") - self.requires("xxhash/0.8.1") - self.requires("onetbb/2021.3.0") - self.requires("mimalloc/2.0.6") - - def source(self): - files.get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def build(self): - self._patch_sources() - with files.chdir(self, self._source_subfolder): - autotools = AutoToolsBuildEnvironment(self) - autotools.make(target="mold", args=['SYSTEM_TBB=1', 'SYSTEM_MIMALLOC=1']) - - def package(self): - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) - copy(self, "mold", src="bin", dst=os.path.join(self.package_folder, "bin"), keep_path=False) - copy(self, "mold", src=self._source_subfolder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - - def package_id(self): - del self.info.settings.compiler - - def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - mold_location = os.path.join(bindir, "bindir") - - self.output.info('Appending PATH environment variable: {}'.format(bindir)) - self.env_info.PATH.append(bindir) - self.env_info.LD = mold_location - self.buildenv_info.prepend_path("MOLD_ROOT", bindir) - self.cpp_info.includedirs = [] - - if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) diff --git a/recipes/mold/1.3.1/test_package/conanfile.py b/recipes/mold/1.3.1/test_package/conanfile.py deleted file mode 100644 index f4c00d1c189e7..0000000000000 --- a/recipes/mold/1.3.1/test_package/conanfile.py +++ /dev/null @@ -1,9 +0,0 @@ -from conan import ConanFile -from conan.tools.build import cross_building - -class TestPackageConan(ConanFile): - settings = "os", "arch", "build_type", "compiler" - - def test(self): - if not cross_building(self): - self.run("mold -v", run_environment=True) diff --git a/recipes/mold/all/conanfile.py b/recipes/mold/all/conanfile.py index 5fbdddad5364f..a760cce0d4728 100644 --- a/recipes/mold/all/conanfile.py +++ b/recipes/mold/all/conanfile.py @@ -6,14 +6,21 @@ from conan.tools.scm import Version from conan.tools.env import VirtualBuildEnv +required_conan_version = ">=1.47.0" + + class MoldConan(ConanFile): name = "mold" + description = ( + "mold is a faster drop-in replacement for existing Unix linkers. " + "It is several times faster than the LLVM lld linker." + ) + license = ("AGPL-3.0", "MIT") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rui314/mold/" - license = ("AGPL-3.0", "MIT") - description = ("mold is a faster drop-in replacement for existing Unix linkers. It is several times faster than the LLVM lld linker") - topics = ("mold", "ld", "linkage", "compilation") + topics = ("ld", "linkage", "compilation", "pre-built") + package_type = "application" settings = "os", "arch", "compiler", "build_type" options = { "with_mimalloc": [True, False], @@ -28,8 +35,22 @@ def configure(self): else: self.license = "MIT" + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("zlib/[>=1.2.11 <2]") + self.requires("openssl/[>=1.1 <4]") + self.requires("xxhash/0.8.2") + self.requires("onetbb/2021.10.0") + if self.options.with_mimalloc: + self.requires("mimalloc/2.1.2") + + def package_id(self): + del self.info.settings.compiler + def validate(self): - #TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they + # TODO most of these checks should run on validate_build, but the conan-center hooks are broken and fail the PR because they # think we're raising on the build() method if self.settings.build_type == "Debug": raise ConanInvalidConfiguration('Mold is a build tool, specify mold:build_type=Release in your build profile, see https://github.com/conan-io/conan-center-index/pull/11536#issuecomment-1195607330') @@ -44,26 +65,11 @@ def validate(self): if self.settings.compiler == "apple-clang" and "armv8" == self.settings.arch : raise ConanInvalidConfiguration(f'{self.name} is still not supported by Mac M1.') - def layout(self): - cmake_layout(self, src_folder="src") - - def package_id(self): - del self.info.settings.compiler - def build_requirements(self): self.tool_requires("cmake/[>=3.18.0 <4]") - def requirements(self): - self.requires("zlib/1.2.13") - self.requires("openssl/1.1.1q") - self.requires("xxhash/0.8.1") - self.requires("onetbb/2021.3.0") - if self.options.with_mimalloc: - self.requires("mimalloc/2.0.6") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -93,17 +99,21 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - mold_location = os.path.join(bindir, "mold") - - self.output.info('Appending PATH environment variable: {}'.format(bindir)) - self.env_info.PATH.append(bindir) - self.env_info.LD = mold_location - self.buildenv_info.prepend_path("MOLD_ROOT", bindir) self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] self.cpp_info.frameworkdirs = [] self.cpp_info.resdirs = [] - if self.settings.os == "Linux": - self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread", "dl"] + + bindir = os.path.join(self.package_folder, "bin") + mold_executable = os.path.join(bindir, "mold") + self.conf_info.define("user.mold:path", mold_executable) + self.buildenv_info.define_path("MOLD_ROOT", bindir) + self.buildenv_info.define("LD", mold_executable) + + # For legacy Conan 1.x consumers only: + self.env_info.PATH.append(bindir) + self.env_info.MOLD_ROOT = bindir + self.env_info.LD = mold_executable diff --git a/recipes/mold/all/test_package/conanfile.py b/recipes/mold/all/test_package/conanfile.py index 60e9ac3ecf6ee..551d50ce9428a 100644 --- a/recipes/mold/all/test_package/conanfile.py +++ b/recipes/mold/all/test_package/conanfile.py @@ -13,4 +13,3 @@ def build_requirements(self): def test(self): if can_run(self): self.run("mold -v") - diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index 213ce3dd01a93..eb4087643c784 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,8 +1,6 @@ versions: "2.0.0": folder: all - "1.3.1": - folder: 1.3.1 "1.4.2": folder: all "1.5.1": From e53df2372a42cddce712ff1eedb3c227948b4482 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 02:53:30 +0200 Subject: [PATCH 0047/1307] (#18884) cairomm: migrate to Conan v2 * cairomm: migrate to Conan v2 * cairomm: update versions * cairomm: add missing fontconfig dependency * cairomm: remove freetype, which was required for cairo only --- recipes/cairomm/all/conandata.yml | 26 +- recipes/cairomm/all/conanfile.py | 232 +++++++----------- .../patches/enable_static_lib_1_14_3.patch | 37 --- .../patches/enable_static_lib_1_16_1.patch | 38 --- .../cairomm/all/test_package/CMakeLists.txt | 12 +- recipes/cairomm/all/test_package/conanfile.py | 20 +- .../cairomm/all/test_package/test_package.cpp | 5 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../cairomm/all/test_v1_package/conanfile.py | 18 ++ recipes/cairomm/config.yml | 8 +- 10 files changed, 160 insertions(+), 244 deletions(-) delete mode 100644 recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch delete mode 100644 recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch create mode 100644 recipes/cairomm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/cairomm/all/test_v1_package/conanfile.py diff --git a/recipes/cairomm/all/conandata.yml b/recipes/cairomm/all/conandata.yml index e9529d1b4235f..9763146e05947 100644 --- a/recipes/cairomm/all/conandata.yml +++ b/recipes/cairomm/all/conandata.yml @@ -1,15 +1,13 @@ sources: - "1.16.1": - url: "https://cairographics.org/releases/cairomm-1.16.1.tar.xz" - sha256: "6f6060d8e98dd4b8acfee2295fddbdd38cf487c07c26aad8d1a83bb9bff4a2c6" - "1.14.3": - url: "https://cairographics.org/releases/cairomm-1.14.3.tar.xz" - sha256: "0d37e067c5c4ca7808b7ceddabfe1932c5bd2a750ad64fb321e1213536297e78" - -patches: - "1.16.1": - - patch_file: "patches/enable_static_lib_1_16_1.patch" - base_path: "source_subfolder" - "1.14.3": - - patch_file: "patches/enable_static_lib_1_14_3.patch" - base_path: "source_subfolder" + "1.18.0": + url: "https://cairographics.org/releases/cairomm-1.18.0.tar.xz" + sha256: "b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb" + "1.17.1": + url: "https://cairographics.org/releases/cairomm-1.17.1.tar.xz" + sha256: "343e8463ff7dd4d2c90991d6284a2203431e711026575207fd4c313cd323fdbe" + "1.16.2": + url: "https://cairographics.org/releases/cairomm-1.16.2.tar.xz" + sha256: "6a63bf98a97dda2b0f55e34d1b5f3fb909ef8b70f9b8d382cb1ff3978e7dc13f" + "1.14.5": + url: "https://cairographics.org/releases/cairomm-1.14.5.tar.xz" + sha256: "70136203540c884e89ce1c9edfb6369b9953937f6cd596d97c78c9758a5d48db" diff --git a/recipes/cairomm/all/conanfile.py b/recipes/cairomm/all/conanfile.py index 8a403a49b992b..96f403d024d1e 100644 --- a/recipes/cairomm/all/conanfile.py +++ b/recipes/cairomm/all/conanfile.py @@ -1,20 +1,30 @@ -from conans import ConanFile, Meson, tools -from conan.tools.files import rename -from conan.tools.microsoft import is_msvc -from conans.errors import ConanInvalidConfiguration import glob import os import shutil +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd, cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rename, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import MesonToolchain, Meson +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class CairommConan(ConanFile): name = "cairomm" - homepage = "https://github.com/freedesktop/cairomm" - url = "https://github.com/conan-io/conan-center-index" - license = "LGPL-2.0" description = "cairomm is a C++ wrapper for the cairo graphics library." + license = "LGPL-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.cairographics.org/cairomm/" topics = ["cairo", "wrapper", "graphics"] - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -25,47 +35,13 @@ class CairommConan(ConanFile): "fPIC": True, } - generators = "pkg_config" - exports_sources = "patches/**" - short_paths = True - - def _abi_version(self): - return "1.16" if tools.Version(self.version) >= "1.16.0" else "1.0" - - def validate(self): - if hasattr(self, "settings_build") and tools.cross_building(self): - raise ConanInvalidConfiguration("Cross-building not implemented") - if self.settings.compiler.get_safe("cppstd"): - if self._abi_version() == "1.16": - tools.check_min_cppstd(self, 17) - else: - tools.check_min_cppstd(self, 11) - if self.options.shared and not self.options["cairo"].shared: - raise ConanInvalidConfiguration( - "Linking against static cairo would cause shared cairomm to link " - "against static glib which can cause problems." - ) - @property - def _source_subfolder(self): - return "source_subfolder" + def _abi_version(self): + return "1.16" if Version(self.version) >= "1.16.0" else "1.0" @property - def _build_subfolder(self): - return "build_subfolder" - - def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - if is_msvc(self): - # when using cpp_std=c++11 the /permissive- flag is added which - # attempts enforcing standard conformant c++ code - # the problem is that older versions of Windows SDK is not standard - # conformant! see: - # https://developercommunity.visualstudio.com/t/error-c2760-in-combaseapih-with-windows-sdk-81-and/185399 - tools.replace_in_file( - os.path.join(self._source_subfolder, "meson.build"), - "cpp_std=c++", "cpp_std=vc++") + def _min_cppstd(self): + return 17 if self._abi_version == "1.16" else 11 def config_options(self): if self.settings.os == "Windows": @@ -73,122 +49,104 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if self.options.shared: self.options["cairo"].shared = True - def build_requirements(self): - self.build_requires("meson/0.59.1") - self.build_requires("pkgconf/1.7.4") + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("cairo/1.17.4") - - if self._abi_version() == "1.16": - self.requires("libsigcpp/3.0.7") + self.requires("cairo/1.18.0", transitive_headers=True, transitive_libs=True) + self.requires("fontconfig/2.14.2", transitive_headers=True, transitive_libs=True) + if self._abi_version == "1.16": + self.requires("libsigcpp/3.0.7", transitive_headers=True, transitive_libs=True) else: - self.requires("libsigcpp/2.10.8") + self.requires("libsigcpp/2.10.8", transitive_headers=True, transitive_libs=True) - def source(self): - tools.get( - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder, - ) + def validate(self): + if hasattr(self, "settings_build") and cross_building(self): + raise ConanInvalidConfiguration("Cross-building not implemented") + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.options.shared and not self.dependencies["cairo"].options.shared: + raise ConanInvalidConfiguration( + "Linking against static cairo would cause shared cairomm to link " + "against static glib which can cause problems." + ) - def build(self): - self._patch_sources() - with tools.environment_append(tools.RunEnvironment(self).vars): - meson = self._configure_meson() - meson.build() + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") - def _configure_meson(self): - meson = Meson(self) - defs = { + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = MesonToolchain(self) + tc.project_options = { "build-examples": "false", "build-documentation": "false", "build-tests": "false", "msvc14x-parallel-installable": "false", "default_library": "shared" if self.options.shared else "static", + "libdir": "lib", } - meson.configure( - defs=defs, - build_folder=self._build_subfolder, - source_folder=self._source_subfolder, - pkg_config_paths=[self.install_folder], - ) - return meson + if not self.options.shared: + tc.preprocessor_definitions["CAIROMM_STATIC_LIB"] = "1" + tc.generate() + + def _patch_sources(self): + if is_msvc(self): + # when using cpp_std=c++11 the /permissive- flag is added which + # attempts enforcing standard conformant c++ code + # the problem is that older versions of Windows SDK is not standard + # conformant! see: + # https://developercommunity.visualstudio.com/t/error-c2760-in-combaseapih-with-windows-sdk-81-and/185399 + replace_in_file(self, os.path.join(self.source_folder, "meson.build"), + "cpp_std=c++", + "cpp_std=vc++") + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() def package(self): - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - meson = self._configure_meson() + copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + meson = Meson(self) meson.install() if is_msvc(self): - tools.remove_files_by_mask( - os.path.join(self.package_folder, "bin"), "*.pdb") + rm(self, "*.pdb", os.path.join(self.package_folder, "bin"), recursive=True) if not self.options.shared: - rename( - self, - os.path.join( - self.package_folder, - "lib", - f"libcairomm-{self._abi_version()}.a", - ), - os.path.join(self.package_folder, "lib", - f"cairomm-{self._abi_version()}.lib"), - ) + rename(self, + os.path.join(self.package_folder, "lib", f"libcairomm-{self._abi_version}.a"), + os.path.join(self.package_folder, "lib", f"cairomm-{self._abi_version}.lib")) for header_file in glob.glob( - os.path.join( - self.package_folder, - "lib", - f"cairomm-{self._abi_version()}", - "include", - "*.h", - )): + os.path.join(self.package_folder, "lib", f"cairomm-{self._abi_version}", "include", "*.h") + ): shutil.move( header_file, - os.path.join( - self.package_folder, - "include", - f"cairomm-{self._abi_version()}", - os.path.basename(header_file), - ), + os.path.join(self.package_folder, "include", f"cairomm-{self._abi_version}", os.path.basename(header_file)), ) - for dir_to_remove in ["pkgconfig", f"cairomm-{self._abi_version()}"]: - tools.rmdir(os.path.join(self.package_folder, "lib", - dir_to_remove)) + for dir_to_remove in ["pkgconfig", f"cairomm-{self._abi_version}"]: + rmdir(self, os.path.join(self.package_folder, "lib", dir_to_remove)) def package_info(self): - if self._abi_version() == "1.16": - self.cpp_info.components["cairomm-1.16"].names[ - "pkg_config"] = "cairomm-1.16" - self.cpp_info.components["cairomm-1.16"].includedirs = [ - os.path.join("include", "cairomm-1.16") - ] - self.cpp_info.components["cairomm-1.16"].libs = ["cairomm-1.16"] - self.cpp_info.components["cairomm-1.16"].requires = [ - "libsigcpp::sigc++", "cairo::cairo_" - ] - if tools.is_apple_os(self.settings.os): - self.cpp_info.components["cairomm-1.16"].frameworks = [ - "CoreFoundation" - ] - else: - self.cpp_info.components["cairomm-1.0"].names[ - "pkg_config"] = "cairomm-1.0" - self.cpp_info.components["cairomm-1.0"].includedirs = [ - os.path.join("include", "cairomm-1.0") - ] - self.cpp_info.components["cairomm-1.0"].libs = ["cairomm-1.0"] - self.cpp_info.components["cairomm-1.0"].requires = [ - "libsigcpp::sigc++-2.0", "cairo::cairo_" - ] - if tools.is_apple_os(self.settings.os): - self.cpp_info.components["cairomm-1.0"].frameworks = [ - "CoreFoundation" - ] - - def package_id(self): - self.info.requires["cairo"].full_package_mode() + name = f"cairomm-{self._abi_version}" + self.cpp_info.components[name].set_property("pkg_config_name", name) + self.cpp_info.components[name].includedirs = [os.path.join("include", name)] + self.cpp_info.components[name].libs = [name] + self.cpp_info.components[name].requires = ["libsigcpp::libsigcpp", "cairo::cairo", "fontconfig::fontconfig"] + if not self.options.shared: + self.cpp_info.components[name].defines = ["CAIROMM_STATIC_LIB"] + if is_apple_os(self): + self.cpp_info.components[name].frameworks = ["CoreFoundation"] diff --git a/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch b/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch deleted file mode 100644 index f5fcae443d2f0..0000000000000 --- a/recipes/cairomm/all/patches/enable_static_lib_1_14_3.patch +++ /dev/null @@ -1,37 +0,0 @@ -commit 04b20b02cc0ff18f71da693cf2d89709adabd297 -Author: Hesham Essam -Date: Fri May 6 21:26:01 2022 +0200 - - Enable static builds with msvc - - Cairomm exports dll symbols if the macro CAIROMM_STATIC_LIB is not - defined. This patch defines this macro in case of static builds. - -diff --git a/cairommconfig.h.meson b/cairommconfig.h.meson -index 2988edc..b9e5c21 100644 ---- a/cairommconfig.h.meson -+++ b/cairommconfig.h.meson -@@ -18,6 +18,9 @@ - /* Micro version number of cairomm. */ - #mesondefine CAIROMM_MICRO_VERSION - -+/* Define if cairomm is built as a static library */ -+#mesondefine CAIROMM_STATIC_LIB -+ - /* Enable DLL-specific stuff only when not building a static library */ - #if !defined(__CYGWIN__) && \ - (defined(__MINGW32__) || defined (_MSC_VER)) && \ -diff --git a/meson.build b/meson.build -index e130814..54c8d4f 100644 ---- a/meson.build -+++ b/meson.build -@@ -244,6 +244,9 @@ endif - if build_exceptions_api - mm_conf_data.set('CAIROMM_EXCEPTIONS_ENABLED', 1) - endif -+if get_option('default_library') == 'static' -+ mm_conf_data.set('CAIROMM_STATIC_LIB', 1) -+endif - mm_conf_data.set('CAIROMM_MAJOR_VERSION', cairomm_major_version) - mm_conf_data.set('CAIROMM_MINOR_VERSION', cairomm_minor_version) - mm_conf_data.set('CAIROMM_MICRO_VERSION', cairomm_micro_version) diff --git a/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch b/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch deleted file mode 100644 index 5d6cd671de960..0000000000000 --- a/recipes/cairomm/all/patches/enable_static_lib_1_16_1.patch +++ /dev/null @@ -1,38 +0,0 @@ -commit cd43f2e55de6db57e561989e7f6ad3765e1d4971 -Author: Hesham Essam -Date: Fri May 6 21:35:47 2022 +0200 - - Enable static builds with msvc - - Cairomm exports dll symbols if the macro CAIROMM_STATIC_LIB is not - defined. This patch defines this macro in case of static builds. - -diff --git a/cairommconfig.h.meson b/cairommconfig.h.meson -index 2988edc..b9e5c21 100644 ---- a/cairommconfig.h.meson -+++ b/cairommconfig.h.meson -@@ -18,6 +18,9 @@ - /* Micro version number of cairomm. */ - #mesondefine CAIROMM_MICRO_VERSION - -+/* Define if cairomm is built as a static library */ -+#mesondefine CAIROMM_STATIC_LIB -+ - /* Enable DLL-specific stuff only when not building a static library */ - #if !defined(__CYGWIN__) && \ - (defined(__MINGW32__) || defined (_MSC_VER)) && \ -diff --git a/meson.build b/meson.build -index 2c0c8bb..5259409 100644 ---- a/meson.build -+++ b/meson.build -@@ -247,6 +247,10 @@ endif - if build_exceptions_api - mm_conf_data.set('CAIROMM_EXCEPTIONS_ENABLED', 1) - endif -+if get_option('default_library') == 'static' -+ mm_conf_data.set('CAIROMM_STATIC_LIB', 1) -+endif -+ - mm_conf_data.set('CAIROMM_MAJOR_VERSION', cairomm_major_version) - mm_conf_data.set('CAIROMM_MINOR_VERSION', cairomm_minor_version) - mm_conf_data.set('CAIROMM_MICRO_VERSION', cairomm_micro_version) diff --git a/recipes/cairomm/all/test_package/CMakeLists.txt b/recipes/cairomm/all/test_package/CMakeLists.txt index 366e829c2704c..ede33192a05dc 100644 --- a/recipes/cairomm/all/test_package/CMakeLists.txt +++ b/recipes/cairomm/all/test_package/CMakeLists.txt @@ -1,16 +1,14 @@ -cmake_minimum_required(VERSION 3.6) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGET) +find_package(cairomm REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) find_package(cairomm REQUIRED CONFIG) -if (TARGET cairomm::cairomm-1.16) +target_link_libraries(${PROJECT_NAME} cairomm::cairomm) +if (cairomm_VERSION VERSION_GREATER_EQUAL 1.6) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) - target_link_libraries(${PROJECT_NAME} cairomm::cairomm-1.16) else() set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) - target_link_libraries(${PROJECT_NAME} cairomm::cairomm-1.0) endif() diff --git a/recipes/cairomm/all/test_package/conanfile.py b/recipes/cairomm/all/test_package/conanfile.py index a691174f8ed16..ef5d7042163ec 100644 --- a/recipes/cairomm/all/test_package/conanfile.py +++ b/recipes/cairomm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cairomm/all/test_package/test_package.cpp b/recipes/cairomm/all/test_package/test_package.cpp index d802e56f01bd2..5033103959269 100644 --- a/recipes/cairomm/all/test_package/test_package.cpp +++ b/recipes/cairomm/all/test_package/test_package.cpp @@ -5,9 +5,8 @@ #include int main() { -#if CAIROMM_MINOR_VERSION == 16 - auto surface = - Cairo::ImageSurface::create(Cairo::Surface::Format::ARGB32, 600, 400); +#if CAIROMM_MINOR_VERSION >= 16 + auto surface = Cairo::ImageSurface::create(Cairo::Surface::Format::ARGB32, 600, 400); #else auto surface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 600, 400); #endif diff --git a/recipes/cairomm/all/test_v1_package/CMakeLists.txt b/recipes/cairomm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/cairomm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/cairomm/all/test_v1_package/conanfile.py b/recipes/cairomm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a691174f8ed16 --- /dev/null +++ b/recipes/cairomm/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + diff --git a/recipes/cairomm/config.yml b/recipes/cairomm/config.yml index cc2573070ee79..debfb8cd30b0a 100644 --- a/recipes/cairomm/config.yml +++ b/recipes/cairomm/config.yml @@ -1,5 +1,9 @@ versions: - "1.16.1": + "1.18.0": folder: "all" - "1.14.3": + "1.17.1": + folder: "all" + "1.16.2": + folder: "all" + "1.14.5": folder: "all" From c241a2956fe794138900d12c98d96c2003cb79e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Fri, 17 Nov 2023 02:22:30 +0100 Subject: [PATCH 0048/1307] (#20287) Bump nmos-cpp's zlib requirement to [>=1.2.11 <2] range * Bump nmos-cpp's zlib requirement to [>=1.2.11 <2] range * Recipe bumps * Use ranges for cmake and remove custom package id Signed-off-by: Uilian Ries * Use all required dependencies Signed-off-by: Uilian Ries * Simplify test package Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/nmos-cpp/all/conanfile.py | 21 +++++---- .../nmos-cpp/all/test_package/conanfile.py | 32 +------------- .../all/test_package/test_package.cpp | 43 +++++-------------- .../nmos-cpp/all/test_v1_package/conanfile.py | 34 ++------------- 4 files changed, 26 insertions(+), 104 deletions(-) diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index be9549d77d691..67cbae93e0a0b 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -16,6 +16,8 @@ class NmosCppConan(ConanFile): homepage = "https://github.com/sony/nmos-cpp" topics = ("amwa", "nmos", "is-04", "is-05", "is-07", "is-08", "is-09", "broadcasting", "network", "media") + # https://github.com/sony/nmos-cpp/blob/master/Development/cmake/NmosCppLibraries.cmake#L947 + package_type = "static-library" settings = "os", "compiler", "build_type", "arch" # for now, no "shared" option support options = { @@ -46,13 +48,15 @@ def config_options(self): def requirements(self): # for now, consistent with project's conanfile.txt - self.requires("boost/1.80.0") - self.requires("cpprestsdk/2.10.18") + # INFO: details/system_error.h: #include + self.requires("boost/1.83.0", transitive_headers=True) + # INFO: json_ops.h exposes cpprest/json.h + self.requires("cpprestsdk/2.10.18", transitive_headers=True) self.requires("websocketpp/0.8.2") - self.requires("openssl/1.1.1s") + self.requires("openssl/[>=1.1 <4]") self.requires("json-schema-validator/2.2.0") self.requires("nlohmann_json/3.11.2") - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_dnssd") == "mdnsresponder": self.requires("mdnsresponder/878.200.35") @@ -64,8 +68,7 @@ def requirements(self): self.requires("avahi/0.8") def build_requirements(self): - # nmos-cpp needs CMake 3.17 or higher but CCI doesn't allow version ranges - self.build_requires("cmake/3.24.2") + self.tool_requires("cmake/[>=3.17 <4]") def validate(self): if self.info.settings.os in ["Macos"]: @@ -73,10 +76,6 @@ def validate(self): if self.info.settings.compiler.get_safe("cppstd"): build.check_min_cppstd(self, 11) - def package_id(self): - self.info.requires["boost"].minor_mode() - self.info.requires["nlohmann_json"].patch_mode() - def layout(self): cmake_layout(self, src_folder="src") @@ -227,6 +226,7 @@ def package_info(self): libdir = os.path.join(libdir, config_install_dir) self.cpp_info.bindirs = [bindir] self.cpp_info.libdirs = [libdir] + self.cpp_info.requires = ["nlohmann_json::nlohmann_json", "zlib::zlib"] def _register_components(): components_json_file = files.load(self, self._components_helper_filepath) @@ -252,5 +252,4 @@ def _register_components(): # add nmos-cpp-registry and nmos-cpp-node to the path bin_path = os.path.join(self.package_folder, bindir) - self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.PATH.append(bin_path) diff --git a/recipes/nmos-cpp/all/test_package/conanfile.py b/recipes/nmos-cpp/all/test_package/conanfile.py index dbb752cd0c9a2..14f7348224835 100644 --- a/recipes/nmos-cpp/all/test_package/conanfile.py +++ b/recipes/nmos-cpp/all/test_package/conanfile.py @@ -2,9 +2,6 @@ from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake import os -import shutil -import subprocess -from six import StringIO class NmosCppTestPackageConan(ConanFile): @@ -25,30 +22,5 @@ def build(self): def test(self): if can_run(self): - with open("registry-config.json", "w", encoding="utf-8") as config: - config.write('{"http_port": 10000, "domain": "local.", "pri": 51967}') - with open("node-config.json", "w", encoding="utf-8") as config: - config.write('{"http_port": 20000, "domain": "local.", "highest_pri": 51967, "lowest_pri": 51967}') - - # find and start up the installed nmos-cpp-registry to check it works - registry_path = shutil.which("nmos-cpp-registry", path=os.pathsep.join(self.env["PATH"])) - registry = subprocess.Popen([registry_path, "registry-config.json"], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - universal_newlines=True) - - # run the test_package node which should have time to register and then exit - node_out = StringIO() - try: - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path + " node-config.json", env="conanrun", output=node_out) - finally: - registry.terminate() - if "Adopting registered operation" not in node_out.getvalue(): - self.output.warn("test_package node failed to register with nmos-cpp-registry\n" - "\n" - "nmos-cpp-registry log:\n" - "{}\n" - "test_package log:\n" - "{}" - .format(registry.communicate()[0], node_out.getvalue())) + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/nmos-cpp/all/test_package/test_package.cpp b/recipes/nmos-cpp/all/test_package/test_package.cpp index 56040987cfeb9..38ff2077350ec 100644 --- a/recipes/nmos-cpp/all/test_package/test_package.cpp +++ b/recipes/nmos-cpp/all/test_package/test_package.cpp @@ -1,40 +1,17 @@ -#include -#include -#include "cpprest/json_utils.h" -#include "nmos/id.h" -#include "nmos/log_gate.h" -#include "nmos/model.h" -#include "nmos/node_resource.h" -#include "nmos/node_server.h" -#include "nmos/server.h" +#include +#include "cpprest/http_utils.h" -const web::json::field_with_default how_long{ U("how_long"), 2000 }; -int main(int argc, char* argv[]) -{ - nmos::node_model node_model; - nmos::experimental::log_model log_model; - nmos::experimental::log_gate gate(std::cerr, std::cout, log_model); - nmos::experimental::node_implementation node_implementation; +int main() { - if (argc > 1) - { - std::ifstream file(argv[1]); - node_model.settings = web::json::value::parse(file); - } - nmos::insert_node_default_settings(node_model.settings); + web::http::http_request request; - auto node_server = nmos::experimental::make_node_server(node_model, node_implementation, log_model, gate); - nmos::insert_resource(node_model.node_resources, nmos::make_node(nmos::make_id(), node_model.settings)); + request.headers().add(U("Host"), U("foobar")); + request.headers().add(U("X-Forwarded-Host"), U("baz, qux:57")); - try - { - nmos::server_guard node_server_guard(node_server); - std::this_thread::sleep_for(std::chrono::milliseconds(how_long(node_model.settings))); - } - catch (const std::exception& e) - { - slog::log(gate, SLOG_FLF) << "Exception: " << e.what(); + if (web::http::has_header_value(request.headers(), U("foo"), 42)) { + return EXIT_FAILURE; } - return 0; + + return EXIT_SUCCESS; } diff --git a/recipes/nmos-cpp/all/test_v1_package/conanfile.py b/recipes/nmos-cpp/all/test_v1_package/conanfile.py index bc0089a6ae374..2df20034f628d 100644 --- a/recipes/nmos-cpp/all/test_v1_package/conanfile.py +++ b/recipes/nmos-cpp/all/test_v1_package/conanfile.py @@ -1,11 +1,9 @@ import os -import subprocess -from six import StringIO from conans import ConanFile, CMake, tools + class NmosCppTestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - # use cmake_find_package_multi because the project installs a config-file package generators = "cmake", "cmake_find_package_multi" def build(self): @@ -14,30 +12,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - with open("registry-config.json", "w") as config: - config.write('{"http_port": 10000, "domain": "local.", "pri": 51967}') - with open("node-config.json", "w") as config: - config.write('{"http_port": 20000, "domain": "local.", "highest_pri": 51967, "lowest_pri": 51967}') - - # start up the installed nmos-cpp-registry to check it works - registry = subprocess.Popen(["nmos-cpp-registry", "registry-config.json"], - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - universal_newlines=True) - - # run the test_package node which should have time to register and then exit - node_out = StringIO() - try: - bin_path = os.path.join("bin", "test_package") - self.run(bin_path + " node-config.json", run_environment=True, output=node_out) - finally: - registry.terminate() - if "Adopting registered operation" not in node_out.getvalue(): - self.output.warn("test_package node failed to register with nmos-cpp-registry\n" - "\n" - "nmos-cpp-registry log:\n" - "{}\n" - "test_package log:\n" - "{}" - .format(registry.communicate()[0], node_out.getvalue())) + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ef9ceb71b18e189445d26dd0925255e3163de8b0 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 10:44:26 +0900 Subject: [PATCH 0049/1307] (#19281) libhal: add version 2.0.0, add package_type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libhal: add version 2.0.0, add package_type * add end of line * add src_folder * remove cstdio * fix test_v1_package * use boost-leaf instead of boost * apply patch to 0.0.0 for msvc * use boost instead of boost-leaf Co-authored-by: Jordan Williams * create patch file for 0.0.0 * update 2.0.1 * rename test_package.cpp * add end of line * rename test_package.cpp * Remove prealpha 0.0.0 version * Latest minor fixes --------- Co-authored-by: Jordan Williams Co-authored-by: Rubén Rincón Blanco --- recipes/libhal/all/conandata.yml | 6 +- recipes/libhal/all/conanfile.py | 60 ++++++++----- .../libhal/all/test_package/CMakeLists.txt | 5 +- recipes/libhal/all/test_package/conanfile.py | 3 +- recipes/libhal/all/test_package/main.cpp | 30 ------- .../libhal/all/test_package/test_package.cpp | 87 +++++++++++++++++++ .../libhal/all/test_v1_package/CMakeLists.txt | 5 +- recipes/libhal/config.yml | 2 +- 8 files changed, 138 insertions(+), 60 deletions(-) delete mode 100644 recipes/libhal/all/test_package/main.cpp create mode 100644 recipes/libhal/all/test_package/test_package.cpp diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 0a5fcff604fbd..319d522ee3f02 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "0.0.0": - url: "https://github.com/libhal/libhal/archive/refs/tags/0.0.0.tar.gz" - sha256: "f49d6cee9adfe9d98212ba77aa955c88994693185d4870b86a6e12bad4eb9915" + "2.0.1": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.1.tar.gz" + sha256: "ba05f9d2172f7afbf816ab18f2dcd7c8cc4452df2b268a832e995a0321c1d2f9" diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index c9f4762f7af23..c1302026ed5ab 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile -from conan.tools.files import get, copy +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration import os @@ -12,17 +13,15 @@ class LibHALConan(ConanFile): name = "libhal" license = "Apache-2.0" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://libhal.github.io/libhal" description = ("A collection of interfaces and abstractions for embedded " "peripherals and devices using modern C++") - topics = ("peripherals", "hardware", "abstraction", "devices", "hal") - settings = "os", "compiler", "arch", "build_type" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://libhal.github.io/" + topics = ("peripherals", "hardware", "abstraction", "devices", "hal", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - @property def _min_cppstd(self): return "20" @@ -34,9 +33,21 @@ def _compilers_minimum_version(self): "Visual Studio": "17", "msvc": "193", "clang": "13", - "apple-clang": "13.1.6" + "apple-clang": "14" } + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.83.0", transitive_headers=True) + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -50,28 +61,31 @@ def lazy_lt_semver(v1, v2): compiler = str(self.settings.compiler) version = str(self.settings.compiler.version) minimum_version = self._compilers_minimum_version.get(compiler, False) - if minimum_version and lazy_lt_semver(version, minimum_version): raise ConanInvalidConfiguration( f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") - def layout(self): - basic_layout(self) - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + apply_conandata_patches(self) def package(self): - copy(self, "LICENSE", dst=os.path.join( - self.package_folder, "licenses"), src=self.source_folder) - copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include")) - copy(self, "*.hpp", dst=os.path.join(self.package_folder, - "include"), src=os.path.join(self.source_folder, "include")) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include") + ) + copy( + self, + "*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include") + ) def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/libhal/all/test_package/CMakeLists.txt b/recipes/libhal/all/test_package/CMakeLists.txt index e2cd1b5424ba3..1d38a74649aa2 100644 --- a/recipes/libhal/all/test_package/CMakeLists.txt +++ b/recipes/libhal/all/test_package/CMakeLists.txt @@ -3,7 +3,10 @@ project(test_package LANGUAGES CXX) find_package(libhal REQUIRED CONFIG) -add_executable(${PROJECT_NAME} main.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF) target_link_libraries(${PROJECT_NAME} PRIVATE libhal::libhal) +if(libhal_VERSION VERSION_LESS "2.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE LIBHAL_LESS_2) +endif() diff --git a/recipes/libhal/all/test_package/conanfile.py b/recipes/libhal/all/test_package/conanfile.py index 3a8c6c5442b33..0ab1977ef0330 100644 --- a/recipes/libhal/all/test_package/conanfile.py +++ b/recipes/libhal/all/test_package/conanfile.py @@ -7,7 +7,8 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - + test_type = "explicit" + def requirements(self): self.requires(self.tested_reference_str) diff --git a/recipes/libhal/all/test_package/main.cpp b/recipes/libhal/all/test_package/main.cpp deleted file mode 100644 index 4fb5e3cdcdfd4..0000000000000 --- a/recipes/libhal/all/test_package/main.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include - -#include -#include - -class test_pwm : public hal::pwm -{ -private: - hal::status driver_frequency(hal::hertz p_frequency) noexcept override - { - std::printf("frequency = %f Hz\n", p_frequency); - return {}; - } - hal::status driver_duty_cycle(hal::percentage p_position) noexcept override - { - std::printf("duty cycle = %f %%\n", p_position.value()); - return {}; - } -}; - -int main() -{ - test_pwm pwm; - auto rc_servo = hal::rc_servo::create(pwm).value(); - rc_servo.position(0.25).value(); - rc_servo.position(0.50).value(); - rc_servo.position(-0.25).value(); - rc_servo.position(-1.0).value(); - return 0; -} diff --git a/recipes/libhal/all/test_package/test_package.cpp b/recipes/libhal/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..f32cbffd9f13d --- /dev/null +++ b/recipes/libhal/all/test_package/test_package.cpp @@ -0,0 +1,87 @@ +#include + +#ifdef LIBHAL_LESS_2 + +#include +#include + +class test_pwm : public hal::pwm +{ +private: + hal::status driver_frequency(hal::hertz p_frequency) noexcept override + { + std::printf("frequency = %f Hz\n", p_frequency); + return {}; + } + hal::status driver_duty_cycle(hal::percentage p_position) noexcept override + { + std::printf("duty cycle = %f %%\n", p_position.value()); + return {}; + } +}; + +int main() +{ + test_pwm pwm; + auto rc_servo = hal::rc_servo::create(pwm).value(); + rc_servo.position(0.25).value(); + rc_servo.position(0.50).value(); + rc_servo.position(-0.25).value(); + rc_servo.position(-1.0).value(); + return 0; +} + +#else + +#include + +class test_pwm : public hal::pwm { +private: + virtual hal::result driver_frequency(hal::hertz p_frequency) { + std::printf("frequency = %f Hz\n", p_frequency); + + return frequency_t{}; + } + virtual hal::result driver_duty_cycle(float p_position) { + error_count_down--; + if (error_count_down == 0) { + return hal::new_error(std::errc::io_error); + } + + std::printf("duty cycle = %f %%\n", p_position); + + return duty_cycle_t{}; + } + int error_count_down = 2; +}; + +int main() { + using namespace hal::literals; + + int status = 0; + test_pwm pwm; + hal::attempt_all( + [&pwm]() -> hal::status { + HAL_CHECK(pwm.frequency(10.0_kHz)); + + HAL_CHECK(pwm.duty_cycle(0.25)); + HAL_CHECK(pwm.duty_cycle(0.50)); + HAL_CHECK(pwm.duty_cycle(-0.25)); + HAL_CHECK(pwm.duty_cycle(-1.0)); + + return hal::success(); + }, + [](std::errc p_errc) { + std::printf("Caught error successfully!\n"); + std::printf(" Error value: %s\n", + std::strerror(static_cast(p_errc))); + }, + [&status]() { + std::printf("Unknown error!\n"); + status = -1; + }); + + return status; +} + +#endif diff --git a/recipes/libhal/all/test_v1_package/CMakeLists.txt b/recipes/libhal/all/test_v1_package/CMakeLists.txt index 0c60d16c7a716..390a1bca7ce2f 100644 --- a/recipes/libhal/all/test_v1_package/CMakeLists.txt +++ b/recipes/libhal/all/test_v1_package/CMakeLists.txt @@ -6,7 +6,10 @@ conan_basic_setup(TARGETS) find_package(libhal REQUIRED CONFIG) -add_executable(${PROJECT_NAME} ../test_package/main.cpp) +add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF) target_link_libraries(${PROJECT_NAME} PRIVATE libhal::libhal) +if(libhal_VERSION VERSION_LESS "2.0.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE LIBHAL_LESS_2) +endif() diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index ecbb76a96ea8d..6c4e3d9e96f71 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,3 +1,3 @@ versions: - "0.0.0": + "2.0.1": folder: "all" From ccc3657fe59d77b18731495be1ce8f113b9a690d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 17 Nov 2023 05:06:29 +0300 Subject: [PATCH 0050/1307] (#20770) mariadb-connector-c: version range for libcurl --- recipes/mariadb-connector-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mariadb-connector-c/all/conanfile.py b/recipes/mariadb-connector-c/all/conanfile.py index 303b45aa1d4b4..576fa5d4f935e 100644 --- a/recipes/mariadb-connector-c/all/conanfile.py +++ b/recipes/mariadb-connector-c/all/conanfile.py @@ -59,7 +59,7 @@ def requirements(self): if self.options.get_safe("with_iconv"): self.requires("libiconv/1.17") if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_ssl == "openssl": self.requires("openssl/[>=1.1 <4]") if Version(self.version) >= "3.3": From 067d4e191d3e83742e2e8dcbade15d6ac2972ac7 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 20:27:21 -0600 Subject: [PATCH 0051/1307] (#20913) glfw: Add support for Wayland * glfw: Add support for Wayland Adds with_wayland option to enable Wayland support in GLFW. In the current release, there is no option to toggle X11 support. The current master branch allows choosing between X11, Wayland, or both. I include the logic for enabling X11 / Wayland for the next release. I can remove it of course, but figured it might save future work. Update vulkan-loader. Add patch to workaround issues with ECM not generating sources from Wayland Protocols. * Add patch to use dependencies from Conan * Fix remove of with_x11 option * Update patch for 3.3.5 * Rename the XKBCommon CMakeDeps file to match the one looked for This reduces the amount of patching required. * Default Wayland off as the upstream project does * Use GLFW_BUILD_WAYLAND for newer versions of GLFW * Change patch type from portability to upstream * Fix patch type --- recipes/glfw/all/conandata.yml | 34 +++++ recipes/glfw/all/conanfile.py | 60 +++++++-- ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ ...emove-extra-cmake-modules-dependency.patch | 122 ++++++++++++++++++ 5 files changed, 450 insertions(+), 10 deletions(-) create mode 100644 recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch create mode 100644 recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch create mode 100644 recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch diff --git a/recipes/glfw/all/conandata.yml b/recipes/glfw/all/conandata.yml index 43e8790efbe29..bb5660da3ad7d 100644 --- a/recipes/glfw/all/conandata.yml +++ b/recipes/glfw/all/conandata.yml @@ -21,6 +21,36 @@ sources: url: "https://github.com/glfw/glfw/releases/download/3.3.2/glfw-3.3.2.zip" sha256: "08a33a512f29d7dbf78eab39bd7858576adcc95228c9efe8e4bc5f0f3261efc7" patches: + "3.3.8": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.7": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.6": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.5": + - patch_file: "patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.4": + - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" + "3.3.3": + - patch_file: "patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" "3.3.2": - patch_file: "patches/3.3.2-0001-fix-objc-cmake3.19+.patch" patch_description: "Fix ObjC handling while using recent CMake versions" @@ -30,3 +60,7 @@ patches: patch_description: "Relocatable shared lib on macOS" patch_type: "portability" patch_source: "https://github.com/glfw/glfw/commit/5a15d8a7842fbc4b5260eac2335a6691bca9be4b" + - patch_file: "patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch" + patch_description: "Remove dependency on extra-cmake-modules to fix generation of Wayland Protocols" + patch_type: "official" + patch_source: "https://github.com/glfw/glfw/commit/2747e47393cbca2d09db56223e735bd94b21e2eb" diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index f7a8579bcc74f..29249e91fd11c 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -1,7 +1,11 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save +from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import textwrap @@ -23,19 +27,31 @@ class GlfwConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "vulkan_static": [True, False], + "with_x11": [True, False], + "with_wayland": [True, False], } default_options = { "shared": False, "fPIC": True, "vulkan_static": False, + "with_x11": True, + "with_wayland": False, } + @property + def _has_build_profile(self): + return hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") + if self.settings.os != "Linux": + self.options.rm_safe("with_wayland") + if not self.settings.os in ["Linux", "FreeBSD"] or self.version <= Version("3.3.8"): + self.options.rm_safe("with_x11") def configure(self): if self.options.shared: @@ -43,29 +59,53 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + if self.options.get_safe("with_wayland"): + self.options["xkbcommon"].with_wayland = True + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): self.requires("opengl/system") if self.options.vulkan_static: - self.requires("vulkan-loader/1.3.239.0") - if self.settings.os in ["Linux", "FreeBSD"]: + self.requires("vulkan-loader/1.3.243.0") + if self.options.get_safe("with_x11") or self.version <= Version("3.3.8"): self.requires("xorg/system") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + self.requires("wayland-protocols/1.32") + self.requires("xkbcommon/1.6.0") + + def validate(self): + if self.options.get_safe("with_wayland") and not self.dependencies["xkbcommon"].options.with_wayland: + raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option in xkbcommon to be enabled when the with_wayland option is enabled") + + def build_requirements(self): + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland/") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["GLFW_BUILD_EXAMPLES"] = False - tc.variables["GLFW_BUILD_TESTS"] = False - tc.variables["GLFW_BUILD_DOCS"] = False - tc.variables["GLFW_INSTALL"] = True + tc.cache_variables["GLFW_BUILD_DOCS"] = False + tc.cache_variables["GLFW_BUILD_EXAMPLES"] = False + tc.cache_variables["GLFW_BUILD_TESTS"] = False + tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11") + tc.cache_variables["GLFW_INSTALL"] = True + tc.variables["GLFW_USE_WAYLAND" if self.version <= "3.3.8" else "GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland") tc.variables["GLFW_VULKAN_STATIC"] = self.options.vulkan_static if is_msvc(self): - tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) + tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") + cmake_deps.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() + virtual_build_env = VirtualBuildEnv(self) + virtual_build_env.generate() def _patch_sources(self): apply_conandata_patches(self) @@ -100,7 +140,7 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) diff --git a/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..c2db9f04c4980 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.2-0003-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 8622c81fe5271d10650e4007e96bc5342ac87ec1 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e9888624..33d1a0c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -237,12 +237,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-egl") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e3463639..76c25251 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + diff --git a/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..9ad41b0f7b967 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.3-0001-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 95e47a77801c9ab91ebfcb740d9ad6ce9861f2ab Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f4f30293..097e5931 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -244,12 +244,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-client") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a409459b..03aaacf6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -30,31 +30,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -62,6 +37,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + diff --git a/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch b/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch new file mode 100644 index 0000000000000..a07360f22d403 --- /dev/null +++ b/recipes/glfw/all/patches/3.3.5-0001-Wayland-Remove-extra-cmake-modules-dependency.patch @@ -0,0 +1,122 @@ +From 3b10bdd8590ae788ff7ae3d8fe570480a8dcbda9 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 3 Nov 2023 08:51:04 -0500 +Subject: [PATCH] Wayland: Remove extra-cmake-modules dependency + +Fixes #1774. +--- + CMakeLists.txt | 11 ++++---- + src/CMakeLists.txt | 67 +++++++++++++++++++++++++++++----------------- + 2 files changed, 48 insertions(+), 30 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 35835833..964c12aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -249,12 +249,13 @@ endif() + # Use Wayland for window creation + #-------------------------------------------------------------------- + if (_GLFW_WAYLAND) +- find_package(ECM REQUIRED NO_MODULE) +- list(APPEND CMAKE_MODULE_PATH "${ECM_MODULE_PATH}") + +- find_package(Wayland REQUIRED Client Cursor Egl) +- find_package(WaylandScanner REQUIRED) +- find_package(WaylandProtocols 1.15 REQUIRED) ++ include(FindPkgConfig) ++ pkg_check_modules(Wayland REQUIRED ++ wayland-client>=0.2.7 ++ wayland-cursor>=0.2.7 ++ wayland-egl>=0.2.7 ++ xkbcommon) + + list(APPEND glfw_PKG_DEPS "wayland-client") + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b6dd86c5..066f4d98 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -39,31 +39,6 @@ elseif (_GLFW_WAYLAND) + set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c + posix_time.c posix_thread.c xkb_unicode.c + egl_context.c osmesa_context.c) +- +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml" +- BASENAME xdg-shell) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml" +- BASENAME xdg-decoration) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml" +- BASENAME viewporter) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml" +- BASENAME relative-pointer-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml" +- BASENAME pointer-constraints-unstable-v1) +- ecm_add_wayland_client_protocol(glfw_SOURCES +- PROTOCOL +- "${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml" +- BASENAME idle-inhibit-unstable-v1) + elseif (_GLFW_OSMESA) + set(glfw_HEADERS ${common_HEADERS} null_platform.h null_joystick.h + posix_time.h posix_thread.h osmesa_context.h) +@@ -71,6 +46,48 @@ elseif (_GLFW_OSMESA) + null_joystick.c posix_time.c posix_thread.c osmesa_context.c) + endif() + ++if (_GLFW_WAYLAND) ++ find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) ++ pkg_check_modules(WAYLAND_PROTOCOLS REQUIRED wayland-protocols>=1.15) ++ pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir) ++ ++ macro(wayland_generate protocol_file output_file) ++ add_custom_command(OUTPUT ${output_file}.h ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header ++ < ${protocol_file} > ${output_file}.h ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.h) ++ ++ add_custom_command(OUTPUT ${output_file}.c ++ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} private-code ++ < ${protocol_file} > ${output_file}.c ++ DEPENDS ${protocol_file}) ++ list(APPEND GLFW_WAYLAND_PROTOCOL_SOURCES ${output_file}.c) ++ endmacro() ++ ++ set(GLFW_WAYLAND_PROTOCOL_SOURCES) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/xdg-shell/xdg-shell.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-shell-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-xdg-decoration-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/stable/viewporter/viewporter.xml ++ ${GLFW_BINARY_DIR}/src/wayland-viewporter-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/relative-pointer/relative-pointer-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-relative-pointer-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-pointer-constraints-unstable-v1-client-protocol) ++ wayland_generate( ++ ${WAYLAND_PROTOCOLS_BASE}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml ++ ${GLFW_BINARY_DIR}/src/wayland-idle-inhibit-unstable-v1-client-protocol) ++ ++ list(APPEND glfw_SOURCES ${GLFW_WAYLAND_PROTOCOL_SOURCES}) ++endif() ++ + if (_GLFW_X11 OR _GLFW_WAYLAND) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(glfw_HEADERS ${glfw_HEADERS} linux_joystick.h) +-- +2.41.0 + From fad57ff76e947e518da94ed7cf8b5b3e647bfffc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 16 Nov 2023 21:26:49 -0600 Subject: [PATCH 0052/1307] (#20953) mesa-glu: Add recipe * mesa-glu: Add recipe Add a recipe for Mesa's GLU library. * Don't build on macOS * Revert "Don't build on macOS" This reverts commit 26043fe64bdd5acb01d65b224a638433b869edbb. * Add patch for macOS * Prefer the OpenGL framework on macOS * Fix variable * Fix typo * Update patch * Add patch to fix GL includes for macOS * Update patch to include gl3.h on macOS * Include both GL headers * Make OpenGL a transitive library on macOS * Disable building for macOS * Attempt to build with macOS again * Add patch for OpenGL detection on Windows * Fix patch * Drop Windows and macOS support until a Windows Conan package exists * Lowercase libglu in provides, even though the library is libGLU * Update recipes/mesa-glu/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/mesa-glu/all/conandata.yml | 4 + recipes/mesa-glu/all/conanfile.py | 103 ++++++++++++++++++ .../mesa-glu/all/test_package/conanfile.py | 32 ++++++ recipes/mesa-glu/all/test_package/meson.build | 5 + .../mesa-glu/all/test_package/test_package.c | 9 ++ recipes/mesa-glu/config.yml | 3 + 6 files changed, 156 insertions(+) create mode 100644 recipes/mesa-glu/all/conandata.yml create mode 100644 recipes/mesa-glu/all/conanfile.py create mode 100644 recipes/mesa-glu/all/test_package/conanfile.py create mode 100644 recipes/mesa-glu/all/test_package/meson.build create mode 100644 recipes/mesa-glu/all/test_package/test_package.c create mode 100644 recipes/mesa-glu/config.yml diff --git a/recipes/mesa-glu/all/conandata.yml b/recipes/mesa-glu/all/conandata.yml new file mode 100644 index 0000000000000..777327d35cae6 --- /dev/null +++ b/recipes/mesa-glu/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "9.0.3": + url: "https://gitlab.freedesktop.org/mesa/glu/-/archive/glu-9.0.3/glu-glu-9.0.3.tar.bz2" + sha256: "38044ee4f255578165a54eaeb089b67fb64f7f7c0ce5fa690cd47c9df10b263c" diff --git a/recipes/mesa-glu/all/conanfile.py b/recipes/mesa-glu/all/conanfile.py new file mode 100644 index 0000000000000..116b5d7d6af29 --- /dev/null +++ b/recipes/mesa-glu/all/conanfile.py @@ -0,0 +1,103 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, load, rm, rmdir, save +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class MesaGluConan(ConanFile): + name = "mesa-glu" + description = "Mesa's implementation of the OpenGL utility library" + license = ("SGI-B-1.1", "SGI-B-2.0", "MIT") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.mesa3d.org/" + topics = ("gl", "glu", "mesa", "opengl") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + provides = "glu" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _with_libglvnd(self): + return self.settings.os in ["FreeBSD", "Linux"] + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + # The glu headers include OpenGL headers. + if self._with_libglvnd: + self.requires("libglvnd/1.7.0", transitive_headers=True) + + def validate(self): + if is_apple_os(self) or self.settings.os == "Windows": + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}") + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["gl_provider"] = "glvnd" if self._with_libglvnd else "gl" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + + def build(self): + self._patch_sources() + meson = Meson(self) + meson.configure() + meson.build() + + def _extract_license(self): + glu_header = load(self, os.path.join(self.source_folder, "include", "GL", "glu.h")) + begin = glu_header.find("/*") + end = glu_header.find("*/", begin) + return glu_header[begin:end] + + def package(self): + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._extract_license()) + meson = Meson(self) + meson.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["GLU"] + self.cpp_info.set_property("pkg_config_name", "glu") diff --git a/recipes/mesa-glu/all/test_package/conanfile.py b/recipes/mesa-glu/all/test_package/conanfile.py new file mode 100644 index 0000000000000..2e3df45816e5a --- /dev/null +++ b/recipes/mesa-glu/all/test_package/conanfile.py @@ -0,0 +1,32 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "PkgConfigDeps", "MesonToolchain", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + basic_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def build(self): + meson = Meson(self) + meson.configure() + meson.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/mesa-glu/all/test_package/meson.build b/recipes/mesa-glu/all/test_package/meson.build new file mode 100644 index 0000000000000..4b86ab32d1e30 --- /dev/null +++ b/recipes/mesa-glu/all/test_package/meson.build @@ -0,0 +1,5 @@ +project('test_package', 'c') +package_dep = dependency('glu') +executable('test_package', + sources : ['test_package.c'], + dependencies : [package_dep]) diff --git a/recipes/mesa-glu/all/test_package/test_package.c b/recipes/mesa-glu/all/test_package/test_package.c new file mode 100644 index 0000000000000..1edc7d437e36b --- /dev/null +++ b/recipes/mesa-glu/all/test_package/test_package.c @@ -0,0 +1,9 @@ +#include + +#include + +int main() +{ + printf("GLU %s\n", gluGetString(GLU_VERSION)); + return 0; +} diff --git a/recipes/mesa-glu/config.yml b/recipes/mesa-glu/config.yml new file mode 100644 index 0000000000000..55cef0386047b --- /dev/null +++ b/recipes/mesa-glu/config.yml @@ -0,0 +1,3 @@ +versions: + "9.0.3": + folder: all From 758fd2083ac4e53f94bba6de5713daae735c3569 Mon Sep 17 00:00:00 2001 From: Peter Bauer Date: Fri, 17 Nov 2023 04:46:55 +0100 Subject: [PATCH 0053/1307] (#20969) re-add QuickTest module in package_info Co-authored-by: Uilian Ries --- recipes/qt/6.x.x/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 1c1294ee7eaa0..aee4e88a1d5de 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -1121,6 +1121,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) _create_module("QmlWorkerScript", ["Qml"]) + _create_module("QuickTest", ["Test"]) if self.options.qttools and self.options.gui and self.options.widgets: self.cpp_info.components["qtLinguistTools"].set_property("cmake_target_name", "Qt6::LinguistTools") From 6e5846d9aa4f917bbe3192a71eed9047940fa90c Mon Sep 17 00:00:00 2001 From: Matthias Schneider Date: Fri, 17 Nov 2023 05:07:03 +0100 Subject: [PATCH 0054/1307] (#21160) fast-cdr: add version 2.1.0 Signed-off-by: Matthias Schneider --- recipes/fast-cdr/all/conandata.yml | 3 +++ recipes/fast-cdr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast-cdr/all/conandata.yml b/recipes/fast-cdr/all/conandata.yml index ab77bae161d30..021355947389f 100644 --- a/recipes/fast-cdr/all/conandata.yml +++ b/recipes/fast-cdr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/eProsima/Fast-CDR/archive/v2.1.0.tar.gz" + sha256: "7ee3b3e977381f76f8d9ab1e1df7b5202556505b104afb3f03ee79bbe6507aa0" "2.0.0": url: "https://github.com/eProsima/Fast-CDR/archive/v2.0.0.tar.gz" sha256: "66234a5504879f7af706530996177df930d61dd88045dcafb73799458413ee93" diff --git a/recipes/fast-cdr/config.yml b/recipes/fast-cdr/config.yml index 6bee921fe6e28..9cc6db5bd0315 100644 --- a/recipes/fast-cdr/config.yml +++ b/recipes/fast-cdr/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.0": folder: all "1.1.0": From 667b4821a85ab749d70986eddf9d9058465aa7ce Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 13:26:52 +0900 Subject: [PATCH 0055/1307] (#21168) glaze: add version 1.6.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index d8c540e579afd..96f185a6420f5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" + sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" "1.5.7": url: "https://github.com/stephenberry/glaze/archive/v1.5.7.tar.gz" sha256: "3bd40d0a2547fb9ee0fb94894dc13ba0bc37dac6d26ee292941e7a5203702c84" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index fd8a761b3ff21..3b631d52275ed 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.7": folder: all "1.5.6": From 0d16e0f4c836e6466ed70b77eb917fea464b7208 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 14:07:07 +0900 Subject: [PATCH 0056/1307] (#21171) iowow: add version 1.4.17 --- recipes/iowow/all/conandata.yml | 7 +++++++ recipes/iowow/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/iowow/all/conandata.yml b/recipes/iowow/all/conandata.yml index af9c35abfe648..3dc81fcb10588 100644 --- a/recipes/iowow/all/conandata.yml +++ b/recipes/iowow/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.4.17": + url: "https://github.com/Softmotions/iowow/archive/refs/tags/v1.4.17.tar.gz" + sha256: "13a851026dbc1f31583fba96986e86e94a7554f9e7d38aa12a9ea5dbebdf328b" "1.4.16": url: "https://github.com/Softmotions/iowow/archive/refs/tags/v1.4.16.tar.gz" sha256: "6e3b92b6c342ef6ef4a2731ca2d43368749d66ca876b24b773587364cff01003" patches: + "1.4.17": + - patch_file: "patches/1.4.16-0002-fix-uint64_t-format.patch" + patch_description: "fix uint64_t printf format" + patch_type: "portability" "1.4.16": - patch_file: "patches/1.4.16-0001-some-fix-for-macOS.patch" patch_description: "Some fixes for macOS" diff --git a/recipes/iowow/config.yml b/recipes/iowow/config.yml index f0c63cbdbe5f3..764e66b7855a6 100644 --- a/recipes/iowow/config.yml +++ b/recipes/iowow/config.yml @@ -1,3 +1,5 @@ versions: + "1.4.17": + folder: all "1.4.16": folder: all From b3ceee4c0e52bc028eb35bdd471f7797fddf79b8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 15:07:32 +0900 Subject: [PATCH 0057/1307] (#21172) magic_enum: add version 0.9.5 --- recipes/magic_enum/all/conandata.yml | 3 +++ recipes/magic_enum/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/magic_enum/all/conandata.yml b/recipes/magic_enum/all/conandata.yml index c3f7fa0da1d35..dd9aed1156ca9 100644 --- a/recipes/magic_enum/all/conandata.yml +++ b/recipes/magic_enum/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.5": + url: "https://github.com/Neargye/magic_enum/archive/v0.9.5.tar.gz" + sha256: "44ad80db5a72f5047e01d90e18315751d9ac90c0ab42cbea7a6f9ec66a4cd679" "0.9.4": url: "https://github.com/Neargye/magic_enum/archive/v0.9.4.tar.gz" sha256: "0ffc840d881a377a520e999b79ec2823b3b8ffadccad5d94084cc37fcf6fe2c9" diff --git a/recipes/magic_enum/config.yml b/recipes/magic_enum/config.yml index 4e7d6ac81384d..45e3b1189db90 100644 --- a/recipes/magic_enum/config.yml +++ b/recipes/magic_enum/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.5": + folder: all "0.9.4": folder: all "0.9.3": From b21341f8675ef7e21dfce0115f1e95de40966290 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 17 Nov 2023 08:27:36 +0200 Subject: [PATCH 0058/1307] (#21169) coin-utils: add v2.11.10 --- recipes/coin-utils/all/conandata.yml | 8 ++++++++ recipes/coin-utils/config.yml | 2 ++ 2 files changed, 10 insertions(+) diff --git a/recipes/coin-utils/all/conandata.yml b/recipes/coin-utils/all/conandata.yml index a58d95ee0972a..b7e4e62e0653d 100644 --- a/recipes/coin-utils/all/conandata.yml +++ b/recipes/coin-utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.10": + url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.10.tar.gz" + sha256: "80c7c215262df8d6bd2ba171617c5df844445871e9891ec6372df12ccbe5bcfd" "2.11.9": url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.9.tar.gz" sha256: "15d572ace4cd3b7c8ce117081b65a2bd5b5a4ebaba54fadc99c7a244160f88b8" @@ -9,6 +12,11 @@ sources: url: "https://github.com/coin-or/CoinUtils/archive/releases/2.11.4.tar.gz" sha256: "d4effff4452e73356eed9f889efd9c44fe9cd68bd37b608a5ebb2c58bd45ef81" patches: + "2.11.10": + - patch_file: "patches/0001-no-check-pkgconfig.patch" + - patch_file: "patches/0003-cpp17-compat.patch" + patch_description: "C++17 compatibility" + patch_type: "portability" "2.11.9": - patch_file: "patches/0001-no-check-pkgconfig.patch" - patch_file: "patches/0003-cpp17-compat.patch" diff --git a/recipes/coin-utils/config.yml b/recipes/coin-utils/config.yml index 07a06aecfba33..3e9050a77e486 100644 --- a/recipes/coin-utils/config.yml +++ b/recipes/coin-utils/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.10": + folder: "all" "2.11.9": folder: "all" "2.11.6": From 042b4ce18b82dcf8739b880bef6a40053332e781 Mon Sep 17 00:00:00 2001 From: hegyizs <148948080+hegyizs@users.noreply.github.com> Date: Fri, 17 Nov 2023 09:59:37 +0100 Subject: [PATCH 0059/1307] (#20764) icu/73.2 recipe, #20760 dat_package_file option fixed. Fixed conversion from PackageOption to os.path in validate() function. Co-authored-by: Uilian Ries --- recipes/icu/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/icu/all/conanfile.py b/recipes/icu/all/conanfile.py index 7c1ed7f4b7c6e..9e343976b416b 100644 --- a/recipes/icu/all/conanfile.py +++ b/recipes/icu/all/conanfile.py @@ -72,7 +72,7 @@ def configure(self): def validate(self): if self.options.dat_package_file: - if not os.path.exists(self.options.dat_package_file): + if not os.path.exists(str(self.options.dat_package_file)): raise ConanInvalidConfiguration("Non-existent dat_package_file specified") def layout(self): From fc7256557d8d26d6b06f739a2f761e7226e06c18 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 17 Nov 2023 14:27:11 +0400 Subject: [PATCH 0060/1307] (#21149) openvino: added 2023.2.0 version --- recipes/openvino/all/conandata.yml | 21 +++++++++++++ .../dependencies/dependencies-2023.2.0.yml | 2 ++ .../patches/2023.2.0/0001-git-version.patch | 31 +++++++++++++++++++ recipes/openvino/config.yml | 2 ++ 4 files changed, 56 insertions(+) create mode 100644 recipes/openvino/all/dependencies/dependencies-2023.2.0.yml create mode 100644 recipes/openvino/all/patches/2023.2.0/0001-git-version.patch diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml index 9793599fa9b8d..c1fa2ac395507 100644 --- a/recipes/openvino/all/conandata.yml +++ b/recipes/openvino/all/conandata.yml @@ -1,4 +1,20 @@ sources: + "2023.2.0": + "openvino": + url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.2.0.tar.gz" + sha256: "419b3137a1a549fc5054edbba5b71da76cbde730e8a271769126e021477ad47b" + "arm_compute": + url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz" + sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f" + "onednn_cpu": + url: "https://github.com/openvinotoolkit/oneDNN/archive/2ead5d4fe5993a797d9a7a4b8b5557b96f6ec90e.tar.gz" + sha256: "3c51d577f9e7e4cbd94ad08d267502953ec64513241dda6595b2608fafc8314c" + "mlas": + url: "https://github.com/openvinotoolkit/mlas/archive/f6425b1394334822390fcd9da12788c9cd0d11da.tar.gz" + sha256: "707a6634d62ea5563042a67161472b4be3ffe73c9783719519abdd583b0295f4" + "onednn_gpu": + url: "https://github.com/oneapi-src/oneDNN/archive/284ad4574939fa784e4ddaa1f4aa577b8eb7a017.tar.gz" + sha256: "16f36078339cd08b949efea1d863344cb0b742d9f5898937d07a591b0c4da517" "2023.1.0": "openvino": url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.1.0.tar.gz" @@ -16,6 +32,11 @@ sources: url: "https://github.com/oneapi-src/oneDNN/archive/4b82a66ed38ecaa993352e5cc6ed7753656b8a26.tar.gz" sha256: "cb17c003fe51bc9b4e20189573956b4446468162adf0fc4cea2ee0820cff0cd0" patches: + "2023.2.0": + - patch_file: "patches/2023.2.0/0001-git-version.patch" + patch_description: "Fixed issue with version on Windows" + patch_type: "portability" + patch_source: "https://github.com/openvinotoolkit/openvino/pull/19628" "2023.1.0": - patch_file: "patches/2023.1.0/0001-cpu-plugin-compilation-c++17.patch" patch_description: "Fixed CPU plugin compilation with C++17" diff --git a/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml new file mode 100644 index 0000000000000..aaa60d5c30197 --- /dev/null +++ b/recipes/openvino/all/dependencies/dependencies-2023.2.0.yml @@ -0,0 +1,2 @@ +onnx: "1.14.1" +ade: "0.1.2d" diff --git a/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch b/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch new file mode 100644 index 0000000000000..36844097643e0 --- /dev/null +++ b/recipes/openvino/all/patches/2023.2.0/0001-git-version.patch @@ -0,0 +1,31 @@ +diff --git a/cmake/developer_package/version.cmake b/cmake/developer_package/version.cmake +index 1b71befe44..b78f44995a 100644 +--- a/cmake/developer_package/version.cmake ++++ b/cmake/developer_package/version.cmake +@@ -5,7 +5,7 @@ + find_package(Git QUIET) + + function(ov_branch_name VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${REPO_ROOT} +@@ -16,7 +16,7 @@ function(ov_branch_name VAR REPO_ROOT) + endfunction() + + function(ov_commit_hash VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-parse --short=11 HEAD + WORKING_DIRECTORY ${REPO_ROOT} +@@ -27,7 +27,7 @@ function(ov_commit_hash VAR REPO_ROOT) + endfunction() + + function(ov_commit_number VAR REPO_ROOT) +- if(GIT_FOUND) ++ if(GIT_FOUND AND EXISTS "${REPO_ROOT}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} rev-list --count --first-parent HEAD + WORKING_DIRECTORY ${REPO_ROOT} diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml index ab4b77f972946..60f706469b185 100644 --- a/recipes/openvino/config.yml +++ b/recipes/openvino/config.yml @@ -1,3 +1,5 @@ versions: + "2023.2.0": + folder: "all" "2023.1.0": folder: "all" From 2652dac0da036f1b13df040eb462d483107b857c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 17 Nov 2023 19:49:08 +0900 Subject: [PATCH 0061/1307] (#21170) imgui: add version 1.90, 1.90-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 58720d3d51f67..5a380f8aab078 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90": + url: "https://github.com/ocornut/imgui/archive/v1.90.tar.gz" + sha256: "170986e6a4b83d165bfc1d33c2c5a5bc2d67e5b97176287485c51a2299249296" + "1.90-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90-docking.tar.gz" + sha256: "d4b7fd185443111a3a892d4625c85ab9666c6c9cb5484e3a447de6af419f8d2f" "1.89.9": url: "https://github.com/ocornut/imgui/archive/v1.89.9.tar.gz" sha256: "1acc27a778b71d859878121a3f7b287cd81c29d720893d2b2bf74455bf9d52d6" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 138b61745517a..8714c2dcec41f 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90": + folder: all + "1.90-docking": + folder: all "1.89.9": folder: all "1.89.9-docking": From 26d8785880f677ddc0c036698b3b58cc51f9312d Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Fri, 17 Nov 2023 16:09:11 +0400 Subject: [PATCH 0062/1307] (#21144) onnx: make static-library only --- recipes/onnx/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/onnx/all/conanfile.py b/recipes/onnx/all/conanfile.py index 7b6ca25709aef..4c5cfb0ecfc0d 100644 --- a/recipes/onnx/all/conanfile.py +++ b/recipes/onnx/all/conanfile.py @@ -65,7 +65,10 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): @@ -83,8 +86,6 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if is_msvc(self) and self.options.shared: - raise ConanInvalidConfiguration("onnx shared is broken with Visual Studio") def build_requirements(self): if not self._is_legacy_one_profile: From 88c13aa60f27d86c5f583cd96ff1009fe128e3de Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 00:10:25 +0900 Subject: [PATCH 0063/1307] (#20072) libarchive: add version 3.7.2 --- recipes/libarchive/all/conandata.yml | 16 +++++++++ .../all/patches/0001-3.7.2-zlib-winapi.patch | 35 +++++++++++++++++++ recipes/libarchive/config.yml | 2 ++ 3 files changed, 53 insertions(+) create mode 100644 recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch diff --git a/recipes/libarchive/all/conandata.yml b/recipes/libarchive/all/conandata.yml index d6397b39df999..b08c943036aa4 100644 --- a/recipes/libarchive/all/conandata.yml +++ b/recipes/libarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.2": + url: "https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchive-3.7.2.tar.xz" + sha256: "04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb" "3.7.1": url: "https://github.com/libarchive/libarchive/releases/download/v3.7.1/libarchive-3.7.1.tar.xz" sha256: "b17403ce670ff18d8e06fea05a9ea9accf70678c88f1b9392a2e29b51127895f" @@ -24,6 +27,19 @@ sources: url: "https://github.com/libarchive/libarchive/releases/download/v3.4.0/libarchive-3.4.0.tar.gz" sha256: "8643d50ed40c759f5412a3af4e353cffbce4fdf3b5cf321cb72cacf06b2d825e" patches: + "3.7.2": + - patch_file: "patches/0001-3.7.2-zlib-winapi.patch" + patch_description: "Remove broken ZLIB WINAPI check" + patch_type: "portability" + - patch_file: "patches/0003-3.7.1-cmake.patch" + patch_description: "Make CMake build-system compatible with Conan" + patch_type: "conan" + - patch_file: "patches/0005-3.7.1-try-compile-cmakedeps.patch" + patch_description: "Patch try_compile check to work with imported CMake targets from Conan packages" + patch_type: "conan" + - patch_file: "patches/0006-3.7.1-fix-msvc-build.patch" + patch_description: "Fix MSVC build" + patch_type: "conan" "3.7.1": - patch_file: "patches/0007-3.7.1-include-getopt.patch" patch_description: "include getopt.h if HAVE_GETOPT_OPTRESET is defined" diff --git a/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch b/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch new file mode 100644 index 0000000000000..9c5a48b11c9e1 --- /dev/null +++ b/recipes/libarchive/all/patches/0001-3.7.2-zlib-winapi.patch @@ -0,0 +1,35 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ff1b025..53ecd0e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -13,7 +13,6 @@ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") + if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) + endif() +-# + # Set the Build type for make based generators. + # You can choose following types: + # Debug : Debug build +@@ -445,14 +444,14 @@ IF(ZLIB_FOUND) + INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) + LIST(APPEND ADDITIONAL_LIBS ${ZLIB_LIBRARIES}) + IF(WIN32 AND NOT CYGWIN) +- # +- # Test if ZLIB_WINAPI macro is needed to use. +- # +- TRY_MACRO_FOR_LIBRARY( +- "${ZLIB_INCLUDE_DIR}" "${ZLIB_LIBRARIES}" +- RUNS +- "#include \nint main() {uLong f = zlibCompileFlags(); return (f&(1U<<10))?0:-1; }" +- ZLIB_WINAPI) ++ ++ ++ ++ ++ ++ ++ ++ SET(ZLIB_WINAPI yes) + IF(ZLIB_WINAPI) + ADD_DEFINITIONS(-DZLIB_WINAPI) + ELSE(ZLIB_WINAPI) diff --git a/recipes/libarchive/config.yml b/recipes/libarchive/config.yml index 3abc948fc7161..0331875919146 100644 --- a/recipes/libarchive/config.yml +++ b/recipes/libarchive/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.2": + folder: all "3.7.1": folder: all "3.6.2": From 79bf5105f43877686d574c565e87205eed526835 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 17 Nov 2023 19:39:09 +0300 Subject: [PATCH 0064/1307] (#19194) Bump opencv/4.8.1 * add opencv/4.8.0 * remove freetype from optional dependencies of highgui also remove extra module folders if unused since it may lead to side effects in other modules * handle conan v2 in _solve_internal_dependency_graph() * avdevice is not a dependency before OpenCV 4.7.0 * disable avdevice for the moment (it's the default anyway) * also check with_cuda option while setting OPENCV_EXTRA_MODULES_PATH * use for protobug in tool_requires * use version range for zlib * always use protobuf from build requirements if 2 profiles * cleanup imports * small change * bump several dependencies * bump harfbuzz * fix mingw build * more fix for MinGW * link all ffmpeg components to opencv_videoio as a workaround * add 4.8.1 instead of 4.8.0 * Revert "link all ffmpeg components to opencv_videoio as a workaround" This reverts commit 630f408fef120469ca8d16e7a4327493cd4b6595. * comment out 4.8.1 to test if there is the same issue for other versions * test * Revert "test" This reverts commit 1dcd6571877b5de650c186d822b56febf43bb817. * Revert "comment out 4.8.1 to test if there is the same issue for other versions" This reverts commit 75e8817587a4d05b77942f10de8c861aea7a3471. * enable verbose makefile to debug 4.8.1 * use wayland backend * fix version conflict for conan v1 * Revert "enable verbose makefile to debug 4.8.1" This reverts commit 024d733b5ab6db7ee1bbde7a6043cd4be21a820c. * remove more vendored libs * fix link to wayland & xkbcommon * more fixes for wayland * bump dependencies * bump openexr --- recipes/opencv/4.x/conandata.yml | 31 +++ recipes/opencv/4.x/conanfile.py | 245 +++++++++++++++--- .../4.x/patches/4.8.1-0001-find-ade.patch | 11 + .../4.8.1-0002-mingw-disable-obsensor.patch | 11 + recipes/opencv/config.yml | 2 + 5 files changed, 265 insertions(+), 35 deletions(-) create mode 100644 recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch create mode 100644 recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml index 694b74e2be5aa..867bde99de61c 100644 --- a/recipes/opencv/4.x/conandata.yml +++ b/recipes/opencv/4.x/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.8.1": + - url: "https://github.com/opencv/opencv/archive/refs/tags/4.8.1.tar.gz" + sha256: "62f650467a60a38794d681ae7e66e3e8cfba38f445e0bf87867e2f2cdc8be9d5" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.8.1.tar.gz" + sha256: "0c082a0b29b3118f2a0a1856b403bb098643af7b994a0080f402a12159a99c6e" "4.5.5": - url: "https://github.com/opencv/opencv/archive/refs/tags/4.5.5.tar.gz" sha256: "a1cfdcf6619387ca9e232687504da996aaa9f7b5689986b8331ec02cb61d28ad" @@ -15,6 +20,32 @@ sources: - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/4.1.2.tar.gz" sha256: "0f6c3d30baa39e3e7611afb481ee86dea45dafb182cac87d570c95dccd83eb8b" patches: + "4.8.1": + - patch_file: "patches/4.5.5-0001-find-openexr.patch" + patch_description: "Robust discovery & injection of OpenEXR" + patch_type: "conan" + - patch_file: "patches/4.5.5-0003-find-quirc.patch" + patch_description: "Robust discovery & injection of quirc" + patch_type: "conan" + - patch_file: "patches/4.8.1-0001-find-ade.patch" + patch_description: "Robust discovery & injection of ade" + patch_type: "conan" + - patch_file: "patches/4.5.1-0001-tracking-no-plot-deps.patch" + patch_description: "Fix requirements of tracking module" + patch_type: "conan" + - patch_file: "patches/4.1.2-0006-hdf.patch" + patch_description: "Robust discovery of hdf" + patch_type: "conan" + - patch_file: "patches/4.5.2-0001-fix-zlib-static-android.patch" + patch_description: "Fix discovery of zlib static if Android" + patch_type: "conan" + - patch_file: "patches/4.1.2-0007-android-install-layout.patch" + patch_description: "Honor install layout from conan if Android" + patch_type: "conan" + - patch_file: "patches/4.8.1-0002-mingw-disable-obsensor.patch" + patch_description: "MinGW: disable obsensor to avoid build issue" + patch_type: "portability" + patch_source: "https://github.com/opencv/opencv/pull/24478" "4.5.5": - patch_file: "patches/4.5.5-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py index 9110c31c6b1fb..31a4382eaa728 100644 --- a/recipes/opencv/4.x/conanfile.py +++ b/recipes/opencv/4.x/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save +from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -118,12 +119,16 @@ class OpenCVConan(ConanFile): "world": [True, False], "nonfree": [True, False], # dnn module options + "with_flatbuffers": [True, False], + "with_protobuf": [True, False], "with_vulkan": [True, False], "dnn_cuda": [True, False], # highgui module options "with_gtk": [True, False], "with_qt": [True, False], + "with_wayland": [True, False], # imgcodecs module options + "with_avif": [True, False], "with_jpeg": [False, "libjpeg", "libjpeg-turbo", "mozjpeg"], "with_png": [True, False], "with_tiff": [True, False], @@ -173,12 +178,16 @@ class OpenCVConan(ConanFile): "world": False, "nonfree": False, # dnn module options + "with_flatbuffers": True, + "with_protobuf": True, "with_vulkan": False, "dnn_cuda": False, # highgui module options - "with_gtk": True, + "with_gtk": False, "with_qt": False, + "with_wayland": True, # imgcodecs module options + "with_avif": False, "with_jpeg": "libjpeg", "with_png": True, "with_tiff": True, @@ -211,6 +220,10 @@ class OpenCVConan(ConanFile): short_paths = True + @property + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" + @property def _is_legacy_one_profile(self): return not hasattr(self, "settings_build") @@ -219,6 +232,10 @@ def _is_legacy_one_profile(self): def _contrib_folder(self): return os.path.join(self.source_folder, "contrib") + @property + def _extra_modules_folder(self): + return os.path.join(self._contrib_folder, "modules") + @property def _has_with_jpeg2000_option(self): return self.settings.os != "iOS" @@ -257,7 +274,19 @@ def _has_wechat_qrcode_option(self): @property def _has_barcode_option(self): - return Version(self.version) >= "4.5.3" + return Version(self.version) >= "4.5.3" and Version(self.version) < "4.8.0" + + @property + def _has_with_wayland_option(self): + return Version(self.version) >= "4.7.0" and self.settings.os in ["Linux", "FreeBSD"] + + @property + def _has_with_avif_option(self): + return Version(self.version) >= "4.8.0" + + @property + def _has_with_flatbuffers_option(self): + return Version(self.version) >= "4.8.0" def export_sources(self): export_conandata_patches(self) @@ -302,11 +331,32 @@ def config_options(self): del self.options.wechat_qrcode if not self._has_barcode_option: del self.options.barcode + if not self._has_with_wayland_option: + del self.options.with_wayland + if not self._has_with_avif_option: + del self.options.with_avif + if not self._has_with_flatbuffers_option: + del self.options.with_flatbuffers + + # Conditional default options + if self._is_mingw: + # These options are visible for Windows, but upstream disables them + # by default for MinGW (actually it would fail otherwise) + self.options.with_msmf = False + self.options.with_msmf_dxva = False + if self.settings.os == "Linux": + # Use Wayland by default, but fallback to GTK for old OpenCV versions. + # gtk/system is problematic for this recpe, there might be side effects + # in a big dependency graph + if not self._has_with_wayland_option: + self.options.with_gtk = True @property def _opencv_modules(self): def imageformats_deps(): components = [] + if self.options.get_safe("with_avif"): + components.append("libavif::libavif") if self.options.get_safe("with_jpeg2000"): components.append("{0}::{0}".format(self.options.with_jpeg2000)) if self.options.get_safe("with_png"): @@ -333,15 +383,10 @@ def eigen(): return ["eigen::eigen"] if self.options.with_eigen else [] def ffmpeg(): + components = [] if self.options.get_safe("with_ffmpeg"): - return [ - "ffmpeg::avcodec", "ffmpeg::avdevice", "ffmpeg::avformat", - "ffmpeg::avutil", "ffmpeg::swscale", - ] - return [] - - def freetype(): - return ["freetype::freetype"] if self.options.freetype else [] + components = ["ffmpeg::avcodec", "ffmpeg::avformat", "ffmpeg::avutil", "ffmpeg::swscale"] + return components def gtk(): return ["gtk::gtk"] if self.options.get_safe("with_gtk") else [] @@ -356,6 +401,9 @@ def ipp(): def parallel(): return ["onetbb::onetbb"] if self.options.parallel == "tbb" else [] + def protobuf(): + return ["protobuf::protobuf"] if self.options.get_safe("with_protobuf") else [] + def qt(): return ["qt::qt"] if self.options.get_safe("with_qt") else [] @@ -368,6 +416,12 @@ def tesseract(): def vulkan(): return ["vulkan-headers::vulkan-headers"] if self.options.get_safe("with_vulkan") else [] + def wayland(): + return ["wayland::wayland-client", "wayland::wayland-cursor"] if self.options.get_safe("with_wayland") else [] + + def xkbcommon(): + return ["xkbcommon::libxkbcommon"] if self.options.get_safe("with_wayland") else [] + def opencv_calib3d(): return ["opencv_calib3d"] if self.options.calib3d else [] @@ -442,7 +496,7 @@ def opencv_xfeatures2d(): "dnn": { "is_built": self.options.dnn, "mandatory_options": ["imgproc"], - "requires": ["opencv_core", "opencv_imgproc", "protobuf::protobuf"] + vulkan() + ipp(), + "requires": ["opencv_core", "opencv_imgproc"] + protobuf() + vulkan() + ipp(), }, "features2d": { "is_built": self.options.features2d, @@ -465,7 +519,7 @@ def opencv_xfeatures2d(): "is_built": self.options.highgui, "mandatory_options": ["imgproc"], "requires": ["opencv_core", "opencv_imgproc"] + opencv_imgcodecs() + - opencv_videoio() + freetype() + gtk() + qt() + ipp(), + opencv_videoio() + gtk() + qt() + xkbcommon() + wayland() + ipp(), "system_libs": [ (self.settings.os == "Windows", ["comctl32", "gdi32", "ole32", "setupapi", "ws2_32", "vfw32"]), ], @@ -569,7 +623,7 @@ def opencv_xfeatures2d(): "cudacodec": { "is_built": self.options.cudacodec, "mandatory_options": ["with_cuda", "videoio"], - "requires": ["opencv_core", "opencv_videoio", "opencv_cudev"] + ipp(), + "requires": ["opencv_core", "opencv_videoio"] + ipp(), }, "cudafeatures2d": { "is_built": self.options.cudafeatures2d, @@ -854,6 +908,17 @@ def opencv_xfeatures2d(): if Version(self.version) < "4.3.0": opencv_modules["stereo"].setdefault("mandatory_options", []).extend(["calib3d", "video"]) opencv_modules["stereo"].setdefault("requires", []).extend(["opencv_calib3d", "opencv_video"]) + if Version(self.version) >= "4.7.0": + opencv_modules["aruco"].setdefault("mandatory_options", []).append("objdetect") + opencv_modules["aruco"].setdefault("requires", []).append("opencv_objdetect") + opencv_modules["cudacodec"].setdefault("mandatory_options", []).extend(["cudaarithm", "cudawarping"]) + opencv_modules["cudacodec"].setdefault("requires", []).extend(["opencv_cudaarithm", "opencv_cudawarping"]) + opencv_modules["wechat_qrcode"].setdefault("mandatory_options", []).append("objdetect") + opencv_modules["wechat_qrcode"].setdefault("requires", []).append("opencv_objdetect") + else: + opencv_modules["cudacodec"].setdefault("requires", []).append("opencv_cudev") + if Version(self.version) < "4.8.0": + opencv_modules["dnn"].setdefault("mandatory_options", []).append("with_protobuf") return opencv_modules @@ -900,7 +965,11 @@ def _solve_internal_dependency_graph(self, opencv_modules): "they are required by modules you have explicitly requested:\n") for option_to_enable in all_options_to_enable: - setattr(self.options, option_to_enable, True) + try: + setattr(self.options, option_to_enable, True) + except ConanException: + # It may not work in conan v2 and raise ConanException "Incorrect attempt to modify option" + continue direct_and_transitive = [] direct = ", ".join(direct_options_to_enable.get(option_to_enable, [])) @@ -963,12 +1032,16 @@ def configure(self): if not self.options.dnn: self.options.rm_safe("dnn_cuda") + self.options.rm_safe("with_flatbuffers") + self.options.rm_safe("with_protobuf") self.options.rm_safe("with_vulkan") if not self.options.highgui: self.options.rm_safe("with_gtk") + self.options.rm_safe("with_wayland") if not (self.options.highgui or self.options.cvv): self.options.rm_safe("with_qt") if not self.options.imgcodecs: + self.options.rm_safe("with_avif") self.options.rm_safe("with_jpeg") self.options.rm_safe("with_jpeg2000") self.options.rm_safe("with_openexr") @@ -1016,11 +1089,11 @@ def requirements(self): if self.options.with_ipp == "intel-ipp": self.requires("intel-ipp/2020") # dnn module dependencies - if self.options.dnn: + if self.options.get_safe("with_protobuf"): # Symbols are exposed https://github.com/conan-io/conan-center-index/pull/16678#issuecomment-1507811867 self.requires("protobuf/3.21.12", transitive_libs=True) if self.options.get_safe("with_vulkan"): - self.requires("vulkan-headers/1.3.250.0") + self.requires("vulkan-headers/1.3.268.0") # gapi module dependencies if self.options.gapi: self.requires("ade/0.1.2d") @@ -1029,7 +1102,12 @@ def requirements(self): self.requires("gtk/system") if self.options.get_safe("with_qt"): self.requires("qt/5.15.11") + if self.options.get_safe("with_wayland"): + self.requires("xkbcommon/1.6.0") + self.requires("wayland/1.22.0") # imgcodecs module dependencies + if self.options.get_safe("with_avif"): + self.requires("libavif/1.0.1") if self.options.get_safe("with_jpeg") == "libjpeg": self.requires("libjpeg/9e") elif self.options.get_safe("with_jpeg") == "libjpeg-turbo": @@ -1043,7 +1121,7 @@ def requirements(self): if self.options.get_safe("with_png"): self.requires("libpng/1.6.40") if self.options.get_safe("with_openexr"): - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_webp"): @@ -1065,7 +1143,7 @@ def requirements(self): self.requires("harfbuzz/8.2.2") # hdf module dependencies if self.options.hdf: - self.requires("hdf5/1.14.1") + self.requires("hdf5/1.14.2") # ovis module dependencies if self.options.ovis: self.requires("ogre/1.10.2") @@ -1128,8 +1206,15 @@ def validate(self): ) def build_requirements(self): - if self.options.dnn and not self._is_legacy_one_profile: - self.tool_requires("protobuf/") + if self.options.get_safe("with_protobuf"): + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland-protocols/1.31") + if not self._is_legacy_one_profile: + self.tool_requires("wayland/") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version][0], strip_root=True) @@ -1139,19 +1224,72 @@ def source(self): def _patch_sources(self): apply_conandata_patches(self) - for directory in ["libjasper", "libjpeg-turbo", "libjpeg", "libpng", "libtiff", "libwebp", "openexr", "protobuf", "zlib", "quirc"]: + + # Patches in opencv + # ----------------- + + ## Remove 3rd party libs + for directory in [ + "libjasper", "libjpeg", "libjpeg-turbo", "libpng", "libspng", "libtiff", + "libwebp", "openexr", "openjpeg", "protobuf", "quirc", "tbb", "zlib", + ]: rmdir(self, os.path.join(self.source_folder, "3rdparty", directory)) replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "ANDROID OR NOT UNIX", "FALSE") replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "elseif(EMSCRIPTEN)", "elseif(QNXNTO)\nelseif(EMSCRIPTEN)") + + ## Fix link to several dependencies replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "JASPER_", "Jasper_") replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${GDAL_LIBRARY}", "GDAL::GDAL") + if Version(self.version) >= "4.8.0": + replace_in_file(self, os.path.join(self.source_folder, "modules", "imgcodecs", "CMakeLists.txt"), "${AVIF_LIBRARY}", "avif") - # Fix detection of ffmpeg + ## Fix detection of ffmpeg replace_in_file(self, os.path.join(self.source_folder, "modules", "videoio", "cmake", "detect_ffmpeg.cmake"), "FFMPEG_FOUND", "ffmpeg_FOUND") - # Cleanup RPATH + ## Robust handling of wayland + if self.options.get_safe("with_wayland"): + detect_wayland = os.path.join(self.source_folder, "modules", "highgui", "cmake", "detect_wayland.cmake") + + # We have to override *_LINK_LIBRARIES variables linked to highui because they are just link fkags, not cflags + # so include dirs are missing (OpenCV seems to assume system libs for wayland) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_CLIENT wayland-client)", + "ocv_check_modules(WAYLAND_CLIENT wayland-client)\nfind_package(wayland REQUIRED CONFIG)\nset(WAYLAND_CLIENT_LINK_LIBRARIES wayland::wayland-client)", + ) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_CURSOR wayland-cursor)", + "ocv_check_modules(WAYLAND_CURSOR wayland-cursor)\nset(WAYLAND_CURSOR_LINK_LIBRARIES wayland::wayland-cursor)", + ) + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(XKBCOMMON xkbcommon)", + "ocv_check_modules(XKBCOMMON xkbcommon)\nfind_package(xkbcommon REQUIRED CONFIG)\nset(XKBCOMMON_LINK_LIBRARIES xkbcommon::libxkbcommon)", + ) + # OpenCV uses pkgconfig to find wayland-protocols files, but we can't generate + # pkgconfig files of a build requirement with 1 profile, so here is a workaround + if self._is_legacy_one_profile: + replace_in_file( + self, + detect_wayland, + "ocv_check_modules(WAYLAND_PROTOCOLS wayland-protocols>=1.13)", + "set(HAVE_WAYLAND_PROTOCOLS TRUE)", + ) + pkgdatadir = os.path.join(self.dependencies["wayland-protocols"].package_folder, "res", "wayland-protocols") + replace_in_file( + self, + detect_wayland, + "pkg_get_variable(WAYLAND_PROTOCOLS_BASE wayland-protocols pkgdatadir)", + f"set(WAYLAND_PROTOCOLS_BASE {pkgdatadir})", + ) + + ## Cleanup RPATH if Version(self.version) < "4.1.2": install_layout_file = os.path.join(self.source_folder, "CMakeLists.txt") else: @@ -1161,7 +1299,8 @@ def _patch_sources(self): "") replace_in_file(self, install_layout_file, "set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)", "") - if self.options.dnn: + ## Fix discovery & link of protobuf + if self.options.get_safe("with_protobuf"): find_protobuf = os.path.join(self.source_folder, "cmake", "OpenCVFindProtobuf.cmake") # OpenCV expects to find FindProtobuf.cmake, not the config file replace_in_file(self, find_protobuf, @@ -1173,8 +1312,21 @@ def _patch_sources(self): 'if(TARGET "${Protobuf_LIBRARIES}")', 'if(FALSE) # patch: disable if(TARGET "${Protobuf_LIBRARIES}")') + # Patches in opencv_contrib + # ------------------------- + + ## Remove unused extra modules to avoid side effects + if not self.options.with_cuda: + rmdir(self, os.path.join(self._extra_modules_folder, "cudev")) + for module in OPENCV_EXTRA_MODULES_OPTIONS: + if not self.options.get_safe(module): + rmdir(self, os.path.join(self._extra_modules_folder, module)) + for module in ["cnn_3dobj", "julia", "matlab"]: + rmdir(self, os.path.join(self._extra_modules_folder, module)) + + ## Fix Freetype discovery logic in freetype extra module if self.options.freetype: - freetype_cmake = os.path.join(self._contrib_folder, "modules", "freetype", "CMakeLists.txt") + freetype_cmake = os.path.join(self._extra_modules_folder, "freetype", "CMakeLists.txt") replace_in_file(self, freetype_cmake, "ocv_check_modules(FREETYPE freetype2)", "find_package(Freetype REQUIRED MODULE)") replace_in_file(self, freetype_cmake, "FREETYPE_", "Freetype_") @@ -1182,11 +1334,10 @@ def _patch_sources(self): replace_in_file(self, freetype_cmake, "HARFBUZZ_", "harfbuzz_") def generate(self): - if self.options.dnn: - if self._is_legacy_one_profile: + VirtualBuildEnv(self).generate() + if self._is_legacy_one_profile: + if self.options.get_safe("with_protobuf") or self.options.get_safe("with_wayland"): VirtualRunEnv(self).generate(scope="build") - else: - VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["OPENCV_CONFIG_INSTALL_PATH"] = "cmake" @@ -1244,8 +1395,10 @@ def generate(self): # libavcodec;libavformat;libavutil;libswscale modules tc.variables["OPENCV_FFMPEG_USE_FIND_PACKAGE"] = "ffmpeg" tc.variables["OPENCV_INSTALL_FFMPEG_DOWNLOAD_SCRIPT"] = False + if Version(self.version) >= "4.7.0": + tc.variables["OPENCV_FFMPEG_ENABLE_LIBAVDEVICE"] = False ffmpeg_libraries = [] - for component in ["avcodec", "avdevice", "avformat", "avutil", "swscale", "avresample"]: + for component in ["avcodec", "avformat", "avutil", "swscale", "avresample"]: if component == "avutil" or self.dependencies["ffmpeg"].options.get_safe(component): ffmpeg_libraries.append(f"ffmpeg::{component}") ffmpeg_component_version = self.dependencies["ffmpeg"].cpp_info.components[component].get_property("component_version") @@ -1259,7 +1412,6 @@ def generate(self): tc.variables["WITH_IMGCODEC_PFM"] = self.options.get_safe("with_imgcodec_pfm", False) tc.variables["WITH_IMGCODEC_PXM"] = self.options.get_safe("with_imgcodec_pxm", False) tc.variables["WITH_IMGCODEC_SUNRASTER"] = self.options.get_safe("with_imgcodec_sunraster", False) - tc.variables["WITH_INF_ENGINE"] = False tc.variables["WITH_IPP"] = bool(self.options.with_ipp) if self.options.with_ipp == "intel-ipp": ipp_root = self.dependencies["intel-ipp"].package_folder.replace("\\", "/") @@ -1268,7 +1420,6 @@ def generate(self): tc.variables["WITH_ITT"] = False tc.variables["WITH_LIBREALSENSE"] = False tc.variables["WITH_MFX"] = False - tc.variables["WITH_NGRAPH"] = False tc.variables["WITH_OPENCL"] = self.options.get_safe("with_opencl", False) tc.variables["WITH_OPENCLAMDBLAS"] = False tc.variables["WITH_OPENCLAMDFFT"] = False @@ -1324,6 +1475,23 @@ def generate(self): tc.variables["OPENCV_DNN_CUDA"] = self.options.get_safe("dnn_cuda", False) + if Version(self.version) >= "4.6.0": + tc.variables["WITH_OPENVINO"] = False + tc.variables["WITH_TIMVX"] = False + else: + tc.variables["WITH_INF_ENGINE"] = False + tc.variables["WITH_NGRAPH"] = False + + if Version(self.version) >= "4.7.0": + tc.variables["ENABLE_DELAYLOAD"] = False + tc.variables["WITH_CANN"] = False + tc.variables["WITH_SPNG"] = False # TODO: change with_png recipe option in order to use either libpng or libspng + tc.variables["WITH_WAYLAND"] = self.options.get_safe("with_wayland", False) + + if Version(self.version) >= "4.8.0": + tc.variables["WITH_AVIF"] = self.options.get_safe("with_avif", False) + tc.variables["WITH_FLATBUFFERS"] = self.options.get_safe("with_flatbuffers", False) + # Special world option merging all enabled modules into one big library file tc.variables["BUILD_opencv_world"] = self.options.world @@ -1331,15 +1499,16 @@ def generate(self): tc.variables["BUILD_opencv_core"] = True for module in OPENCV_MAIN_MODULES_OPTIONS: tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) - tc.variables["WITH_PROTOBUF"] = self.options.dnn - if self.options.dnn: + tc.variables["WITH_PROTOBUF"] = self.options.get_safe("with_protobuf", False) + if self.options.get_safe("with_protobuf"): tc.variables["PROTOBUF_UPDATE_FILES"] = True tc.variables["WITH_ADE"] = self.options.gapi if self.options.objdetect: tc.variables["HAVE_QUIRC"] = self.options.with_quirc # force usage of quirc requirement # Extra modules - tc.variables["OPENCV_EXTRA_MODULES_PATH"] = os.path.join(self._contrib_folder, "modules").replace("\\", "/") + if any([self.options.get_safe(module) for module in OPENCV_EXTRA_MODULES_OPTIONS]) or self.options.with_cuda: + tc.variables["OPENCV_EXTRA_MODULES_PATH"] = self._extra_modules_folder.replace("\\", "/") tc.variables["BUILD_opencv_cudev"] = self.options.with_cuda for module in OPENCV_EXTRA_MODULES_OPTIONS: tc.variables[f"BUILD_opencv_{module}"] = self.options.get_safe(module, False) @@ -1379,6 +1548,12 @@ def generate(self): CMakeDeps(self).generate() + if self.options.get_safe("with_wayland"): + deps = PkgConfigDeps(self) + if not self._is_legacy_one_profile: + deps.build_context_activated = ["wayland-protocols"] + deps.generate() + def build(self): self._patch_sources() cmake = CMake(self) diff --git a/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch b/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch new file mode 100644 index 0000000000000..0e70b9535811f --- /dev/null +++ b/recipes/opencv/4.x/patches/4.8.1-0001-find-ade.patch @@ -0,0 +1,11 @@ +--- a/modules/gapi/cmake/init.cmake ++++ b/modules/gapi/cmake/init.cmake +@@ -8,7 +8,7 @@ if(NOT WITH_ADE) + return() + endif() + +-if(ade_DIR) ++if(1) + # if ade_DIR is set, use ADE-supplied CMake script + # to set up variables to the prebuilt ADE + find_package(ade 0.1.0) diff --git a/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch b/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch new file mode 100644 index 0000000000000..33c9550f7c325 --- /dev/null +++ b/recipes/opencv/4.x/patches/4.8.1-0002-mingw-disable-obsensor.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -468,7 +468,7 @@ OCV_OPTION(WITH_TIMVX "Include Tim-VX support" OFF + VISIBLE_IF TRUE + VERIFY HAVE_TIMVX) + OCV_OPTION(WITH_OBSENSOR "Include obsensor support (Orbbec RGB-D modules: Astra+/Femto)" ON +- VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT) OR ( UNIX AND NOT APPLE AND NOT ANDROID) ++ VISIBLE_IF (WIN32 AND NOT ARM AND NOT WINRT AND NOT MINGW) OR ( UNIX AND NOT APPLE AND NOT ANDROID) + VERIFY HAVE_OBSENSOR) + OCV_OPTION(WITH_CANN "Include CANN support" OFF + VISIBLE_IF TRUE diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 89ac415345456..4ca870469c580 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -1,4 +1,6 @@ versions: + "4.8.1": + folder: "4.x" "4.5.5": folder: "4.x" "4.5.3": From 4bc612673d57fecc4cec9b308e37bc5c669da155 Mon Sep 17 00:00:00 2001 From: Corentin Schreiber Date: Fri, 17 Nov 2023 18:02:59 +0000 Subject: [PATCH 0065/1307] (#19551) Add snitch 1.2.3 * Add snitch 1.2.0 * Fixed url * Updated to v1.2.1 to use upstream patches * Fix recipe for conan v2 * Update to 1.2.2 * Updated sha * Update sha * Fix v1 test package * Update to 1.2.2 * Fix v1 test package * Remove bitcase check -- handled by the library already * Clear bindir and libdir * Don't read option values in config_options(), that's for configure() * Removed linking to m, seems not required * Fix header-only hooks * Fix using self.info in configure() * Add back build_type * Keep build_type * Don't bother clearing settings in configure() * Follow fmt recipe * Fixed leftover reference to fmt * Fix warning aboutmissing `m` and unused import * Update URL to new organisation * Add v1.2.3 * Update SHA after changing URL --- recipes/snitch/all/conandata.yml | 7 + recipes/snitch/all/conanfile.py | 199 ++++++++++++++++++ .../all/test_package/100-standalone.cpp | 11 + .../200-standalone-with-shorthand.cpp | 11 + .../snitch/all/test_package/CMakeLists.txt | 19 ++ recipes/snitch/all/test_package/conanfile.py | 31 +++ .../snitch/all/test_v1_package/CMakeLists.txt | 8 + .../snitch/all/test_v1_package/conanfile.py | 18 ++ recipes/snitch/config.yml | 5 + 9 files changed, 309 insertions(+) create mode 100644 recipes/snitch/all/conandata.yml create mode 100644 recipes/snitch/all/conanfile.py create mode 100644 recipes/snitch/all/test_package/100-standalone.cpp create mode 100644 recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp create mode 100644 recipes/snitch/all/test_package/CMakeLists.txt create mode 100644 recipes/snitch/all/test_package/conanfile.py create mode 100644 recipes/snitch/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/snitch/all/test_v1_package/conanfile.py create mode 100644 recipes/snitch/config.yml diff --git a/recipes/snitch/all/conandata.yml b/recipes/snitch/all/conandata.yml new file mode 100644 index 0000000000000..c99303582e711 --- /dev/null +++ b/recipes/snitch/all/conandata.yml @@ -0,0 +1,7 @@ +sources: + "1.2.3": + url: "https://github.com/snitch-org/snitch/archive/refs/tags/v1.2.3.zip" + sha256: "f2649e716b612f3dbb5f109b7250be80e2d7e43c7827034a270bd1ca91eafb12" + "1.2.2": + url: "https://github.com/snitch-org/snitch/archive/refs/tags/v1.2.2.zip" + sha256: "01eefb4a5368974cbfc14fbae93a5ccdd1f9d7f63d102784f914083b79d264a0" diff --git a/recipes/snitch/all/conanfile.py b/recipes/snitch/all/conanfile.py new file mode 100644 index 0000000000000..a4bcbd5587b10 --- /dev/null +++ b/recipes/snitch/all/conanfile.py @@ -0,0 +1,199 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + + +class SnitchConan(ConanFile): + name = "snitch" + description = "Lightweight C++20 testing framework" + topics = ("snitch", "unit-test") + license = "BSL-1.0" + homepage = "https://github.com/snitch-org/snitch" + url = "https://github.com/conan-io/conan-center-index" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "header_only": [True, False], + "with_main": [True, False], + "with_exceptions": [True, False], + "with_timings": [True, False], + "with_shorthand_macros": [True, False], + "with_default_color": [True, False], + "with_success_decompose": [True, False], + "with_reporters": [None, "ANY"], + "max_test_cases": ["ANY"], # integer + "max_nested_sections": ["ANY"], # integer + "max_expr_length": ["ANY"], # integer + "max_message_length": ["ANY"], # integer + "max_test_name_length": ["ANY"], # integer + "max_tag_length": ["ANY"], # integer + "max_captures": ["ANY"], # integer + "max_capture_length": ["ANY"], # integer + "max_unique_tags": ["ANY"], # integer + "max_command_line_args": ["ANY"], # integer + "max_registered_reporters": ["ANY"], # integer + "max_path_length": ["ANY"] # integer + } + default_options = { + "shared": False, + "fPIC": True, + "header_only": False, + "with_main": True, + "with_exceptions": True, + "with_timings": True, + "with_shorthand_macros": True, + "with_default_color": True, + "with_success_decompose": False, + "with_reporters": "all", + "max_test_cases": 5000, + "max_nested_sections": 8, + "max_expr_length": 1024, + "max_message_length": 1024, + "max_test_name_length": 1024, + "max_tag_length": 256, + "max_captures": 8, + "max_capture_length": 256, + "max_unique_tags": 1024, + "max_command_line_args": 1024, + "max_registered_reporters": 8, + "max_path_length": 1024 + } + + @property + def _min_cppstd(self): + return "20" + + @property + def _compilers_minimum_version(self): + return { + "gcc": "10", + "Visual Studio": "17", + "msvc": "193", + "clang": "10", + "apple-clang": "10", + } + + @property + def _available_reporters(self): + return ["xml", "teamcity"] + + def config_options(self): + if self.settings.os == "Windows": + # Position-independent code is irrelevant on Windows; this is UNIX only. + del self.options.fPIC + + def configure(self): + if self.options.shared or self.options.header_only: + # Position-independent code is only relevant for static builds. + self.options.rm_safe("fPIC") + + if self.options.header_only: + # Shared vs static is irrelevant in header-only mode, so should be removed. + del self.options.shared + + def package_id(self): + if self.info.options.header_only: + # In header-only mode, the OS, architecture, and compiler don't matter. + # However do not clear options; they influence the content of the header file. + self.info.settings.clear() + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler doesn't support") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + + # Basic configuration + tc.cache_variables["SNITCH_DO_TEST"] = False + tc.cache_variables["SNITCH_UNITY_BUILD"] = True + + # Library format + tc.cache_variables["SNITCH_HEADER_ONLY"] = self.options.header_only + + # Feature toggles + tc.cache_variables["SNITCH_DEFINE_MAIN"] = self.options.with_main + tc.cache_variables["SNITCH_WITH_EXCEPTIONS"] = self.options.with_exceptions + tc.cache_variables["SNITCH_WITH_TIMINGS"] = self.options.with_timings + tc.cache_variables["SNITCH_WITH_SHORTHAND_MACROS"] = self.options.with_shorthand_macros + tc.cache_variables["SNITCH_DEFAULT_WITH_COLOR"] = self.options.with_default_color + tc.cache_variables["SNITCH_DECOMPOSE_SUCCESSFUL_ASSERTIONS"] = self.options.with_success_decompose + + for reporter in str(self.options.with_reporters).split(','): + reporter = reporter.strip() + if reporter == "all": + tc.cache_variables["SNITCH_WITH_ALL_REPORTERS"] = True + break + elif reporter in self._available_reporters: + tc.cache_variables["SNITCH_WITH_ALL_REPORTERS"] = False + tc.cache_variables[f"SNITCH_WITH_{reporter.upper()}_REPORTER"] = True + else: + raise ConanInvalidConfiguration(f"unknown reporter '{reporter}'") + + # Configurable limits + tc.cache_variables["SNITCH_MAX_TEST_CASES"] = str(self.options.max_test_cases) + tc.cache_variables["SNITCH_MAX_NESTED_SECTIONS"] = str(self.options.max_nested_sections) + tc.cache_variables["SNITCH_MAX_EXPR_LENGTH"] = str(self.options.max_expr_length) + tc.cache_variables["SNITCH_MAX_MESSAGE_LENGTH"] = str(self.options.max_message_length) + tc.cache_variables["SNITCH_MAX_TEST_NAME_LENGTH"] = str(self.options.max_test_name_length) + tc.cache_variables["SNITCH_MAX_TAG_LENGTH"] = str(self.options.max_tag_length) + tc.cache_variables["SNITCH_MAX_CAPTURES"] = str(self.options.max_captures) + tc.cache_variables["SNITCH_MAX_CAPTURE_LENGTH"] = str(self.options.max_capture_length) + tc.cache_variables["SNITCH_MAX_UNIQUE_TAGS"] = str(self.options.max_unique_tags) + tc.cache_variables["SNITCH_MAX_COMMAND_LINE_ARGS"] = str(self.options.max_command_line_args) + tc.cache_variables["SNITCH_MAX_REGISTERED_REPORTERS"] = str(self.options.max_registered_reporters) + tc.cache_variables["SNITCH_MAX_PATH_LENGTH"] = str(self.options.max_path_length) + + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + target = "snitch-header-only" if self.options.header_only else "snitch" + + self.cpp_info.set_property("cmake_file_name", "snitch") + self.cpp_info.set_property("cmake_target_name", f"snitch::{target}") + self.cpp_info.set_property("pkg_config_name", "snitch") + + if self.options.header_only: + self.cpp_info.components["_snitch"].bindirs = [] + self.cpp_info.components["_snitch"].libdirs = [] + else: + self.cpp_info.components["_snitch"].libs = ['snitch'] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") + + # TODO: to remove in conan v2 once legacy generators removed + self.cpp_info.names["cmake_find_package"] = "snitch" + self.cpp_info.names["cmake_find_package_multi"] = "snitch" + self.cpp_info.names["pkg_config"] = "snitch" + self.cpp_info.components["_snitch"].names["cmake_find_package"] = target + self.cpp_info.components["_snitch"].names["cmake_find_package_multi"] = target + self.cpp_info.components["_snitch"].set_property("cmake_target_name", f"snitch::{target}") diff --git a/recipes/snitch/all/test_package/100-standalone.cpp b/recipes/snitch/all/test_package/100-standalone.cpp new file mode 100644 index 0000000000000..a3fbd51a23a25 --- /dev/null +++ b/recipes/snitch/all/test_package/100-standalone.cpp @@ -0,0 +1,11 @@ +#if defined(HEADER_ONLY) +# define SNITCH_IMPLEMENTATION +# include +#else +# include +# include +#endif + +SNITCH_TEST_CASE("compiles and runs") { + SNITCH_REQUIRE(true == !false); +} diff --git a/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp b/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp new file mode 100644 index 0000000000000..bfdc6f47fe273 --- /dev/null +++ b/recipes/snitch/all/test_package/200-standalone-with-shorthand.cpp @@ -0,0 +1,11 @@ +#if defined(HEADER_ONLY) +# define SNITCH_IMPLEMENTATION +# include +#else +# include +# include +#endif + +TEST_CASE("compiles and runs") { + REQUIRE(true == !false); +} diff --git a/recipes/snitch/all/test_package/CMakeLists.txt b/recipes/snitch/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..19d7688a6e4c0 --- /dev/null +++ b/recipes/snitch/all/test_package/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES CXX) + +find_package(snitch REQUIRED CONFIG) + +if (WITH_SHORTHAND) + add_executable(standalone 200-standalone-with-shorthand.cpp) +else() + add_executable(standalone 100-standalone.cpp) +endif() + +if (HEADER_ONLY) + target_compile_definitions(standalone PRIVATE HEADER_ONLY) + target_link_libraries(standalone PRIVATE snitch::snitch-header-only) +else() + target_link_libraries(standalone PRIVATE snitch::snitch) +endif() + +target_compile_features(standalone PRIVATE cxx_std_20) diff --git a/recipes/snitch/all/test_package/conanfile.py b/recipes/snitch/all/test_package/conanfile.py new file mode 100644 index 0000000000000..21081577ec035 --- /dev/null +++ b/recipes/snitch/all/test_package/conanfile.py @@ -0,0 +1,31 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_SHORTHAND"] = self.dependencies[self.tested_reference_str].options.with_shorthand_macros + tc.variables["HEADER_ONLY"] = self.dependencies[self.tested_reference_str].options.header_only + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + self.run(os.path.join(self.cpp.build.bindirs[0], "standalone"), env="conanrun") diff --git a/recipes/snitch/all/test_v1_package/CMakeLists.txt b/recipes/snitch/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/snitch/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/snitch/all/test_v1_package/conanfile.py b/recipes/snitch/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c8d1d20a4e7d2 --- /dev/null +++ b/recipes/snitch/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.definitions["WITH_SHORTHAND"] = self.options["snitch"].with_shorthand_macros + cmake.definitions["HEADER_ONLY"] = self.options["snitch"].header_only + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + self.run(os.path.join("bin", "standalone"), run_environment=True) diff --git a/recipes/snitch/config.yml b/recipes/snitch/config.yml new file mode 100644 index 0000000000000..6d9f399765e2d --- /dev/null +++ b/recipes/snitch/config.yml @@ -0,0 +1,5 @@ +versions: + "1.2.3": + folder: all + "1.2.2": + folder: all From 3e4bf39ccf94ffe3da5efdbef365939d0510a371 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 04:26:15 +0900 Subject: [PATCH 0066/1307] (#20648) freetype: add version 2.13.2 --- recipes/freetype/all/conandata.yml | 5 +++++ recipes/freetype/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/freetype/all/conandata.yml b/recipes/freetype/all/conandata.yml index ba0c7f323c387..8e6b6b6c5bfe8 100644 --- a/recipes/freetype/all/conandata.yml +++ b/recipes/freetype/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "2.13.2": + url: + - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.2.tar.xz" + - "https://sourceforge.net/projects/freetype/files/freetype2/2.13.2/freetype-2.13.2.tar.xz" + sha256: "12991c4e55c506dd7f9b765933e62fd2be2e06d421505d7950a132e4f1bb484d" "2.13.0": url: - "https://download.savannah.gnu.org/releases/freetype/freetype-2.13.0.tar.xz" diff --git a/recipes/freetype/config.yml b/recipes/freetype/config.yml index 03088d905ff89..a1ef7bebb603a 100644 --- a/recipes/freetype/config.yml +++ b/recipes/freetype/config.yml @@ -1,4 +1,6 @@ versions: + "2.13.2": + folder: all "2.13.0": folder: all "2.12.1": From 28d8a49e1899d1d4db40179866c54243e88b38cb Mon Sep 17 00:00:00 2001 From: George Shramov Date: Sat, 18 Nov 2023 00:38:40 +0400 Subject: [PATCH 0067/1307] (#21175) cityhash: add version 1.0.1 --- recipes/cityhash/all/conandata.yml | 3 +++ recipes/cityhash/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cityhash/all/conandata.yml b/recipes/cityhash/all/conandata.yml index 77c6f2317b0e8..35df63b093df5 100644 --- a/recipes/cityhash/all/conandata.yml +++ b/recipes/cityhash/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/google/cityhash/archive/8eded14d8e7cabfcdb10d4be35d521683edc0407.zip" + sha256: "e49f5bdb0f93d303bf18cb72f2f18e10ac3b4f2734da7cc1d708f7f2d2674c7c" "cci.20130801": url: "https://github.com/google/cityhash/archive/8af9b8c2b889d80c22d6bc26ba0df1afb79a30db.zip" sha256: "3524f5ed43143974a29fddeeece29c8b6348f05db08dd180452da01a2837ddce" diff --git a/recipes/cityhash/config.yml b/recipes/cityhash/config.yml index 489bded5765de..6e8b7ecbe183c 100644 --- a/recipes/cityhash/config.yml +++ b/recipes/cityhash/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "cci.20130801": folder: all From ed6402bfc55bc29562e626295a479778e8ad138f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 17 Nov 2023 22:38:38 +0100 Subject: [PATCH 0068/1307] (#21187) wavelet_buffer/all: bump deps * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wavelet_buffer/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wavelet_buffer/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wavelet_buffer/all/conanfile.py b/recipes/wavelet_buffer/all/conanfile.py index f5ce671013fd5..f322218f978f0 100644 --- a/recipes/wavelet_buffer/all/conanfile.py +++ b/recipes/wavelet_buffer/all/conanfile.py @@ -60,9 +60,9 @@ def layout(self): def requirements(self): self.requires("blaze/3.8", transitive_headers=True) - self.requires("cimg/3.2.5") + self.requires("cimg/3.3.0") if self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") # FIXME: unvendor SfCompressor which is currently downloaded at build time :s From 6762cddc2af38bbc7d0e64722d14eb067ace2d22 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 17 Nov 2023 23:50:09 +0100 Subject: [PATCH 0069/1307] (#21192) certify/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) --- recipes/certify/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/certify/all/conanfile.py b/recipes/certify/all/conanfile.py index c1cb170b0ac8c..89408b2501d3b 100644 --- a/recipes/certify/all/conanfile.py +++ b/recipes/certify/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") self.requires("openssl/[>=1.1 <4]") def package_id(self): From 0bab04ddd2c654c4212cbc486307ad6dded95883 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 17 Nov 2023 19:08:18 -0600 Subject: [PATCH 0070/1307] (#20628) shapelib: Fix RPATH on macOS * Bump the CMake minimum version used in the test packages * Set USE_RPATH as a cache variable --- recipes/shapelib/all/conanfile.py | 2 +- recipes/shapelib/all/test_package/CMakeLists.txt | 2 +- recipes/shapelib/all/test_v1_package/CMakeLists.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index 2af042f9dfcea..bed1f979c1ec8 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -47,7 +47,7 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["BUILD_TESTING"] = False - tc.variables["USE_RPATH"] = False + tc.cache_variables["USE_RPATH"] = False tc.generate() def build(self): diff --git a/recipes/shapelib/all/test_package/CMakeLists.txt b/recipes/shapelib/all/test_package/CMakeLists.txt index 30289c1a8112b..2d8b5a050f64f 100644 --- a/recipes/shapelib/all/test_package/CMakeLists.txt +++ b/recipes/shapelib/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(shapelib REQUIRED CONFIG) diff --git a/recipes/shapelib/all/test_v1_package/CMakeLists.txt b/recipes/shapelib/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..2f11d9b196ef7 100644 --- a/recipes/shapelib/all/test_v1_package/CMakeLists.txt +++ b/recipes/shapelib/all/test_v1_package/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) From 584701506e0446586026e1247d1a5059e61c21e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 18 Nov 2023 03:49:27 +0200 Subject: [PATCH 0071/1307] (#21188) cfitsio: more accurate license identifier --- recipes/cfitsio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cfitsio/all/conanfile.py b/recipes/cfitsio/all/conanfile.py index 7b4f8cb364951..782f21cb2a73b 100644 --- a/recipes/cfitsio/all/conanfile.py +++ b/recipes/cfitsio/all/conanfile.py @@ -12,7 +12,7 @@ class CfitsioConan(ConanFile): name = "cfitsio" description = "C library for reading and writing data files in FITS " \ "(Flexible Image Transport System) data format" - license = "ISC" + license = "CFITSIO" topics = ("fits", "image", "nasa", "astronomy", "astrophysics", "space") homepage = "https://heasarc.gsfc.nasa.gov/fitsio/" url = "https://github.com/conan-io/conan-center-index" From 44977152b1f6ee64480a6d5b41175e6db44853d5 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 05:27:14 +0100 Subject: [PATCH 0072/1307] (#21203) soci: bump sqlite3 --- recipes/soci/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index d800bb3ba6042..2ff7486399f30 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -62,7 +62,7 @@ def configure(self): def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.43.0") + self.requires("sqlite3/3.44.0") if self.options.with_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.with_mysql: From 584788db86bc39b05aa17aacb5d7f26bb2847cdb Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 07:27:40 +0100 Subject: [PATCH 0073/1307] (#21205) libwebsockets: bump deps --- recipes/libwebsockets/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index b15cf76410c45..050d4a84dde11 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -205,7 +205,7 @@ def configure(self): def requirements(self): if self.options.with_libuv: - self.requires("libuv/1.44.1") + self.requires("libuv/1.47.0") if self.options.with_libevent == "libevent": self.requires("libevent/2.1.12") @@ -218,10 +218,10 @@ def requirements(self): self.requires("miniz/2.2.0") if self.options.with_libmount: - self.requires("libmount/2.36.2") + self.requires("libmount/2.39") if self.options.with_sqlite3: - self.requires("sqlite3/3.37.2") + self.requires("sqlite3/3.44.0") if self.options.with_ssl == "openssl": # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail From b79cbd6b1db2e5f323e90ef1b6081714dacd7e10 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 18 Nov 2023 08:08:07 +0100 Subject: [PATCH 0074/1307] (#21206) sqlitecpp: bump sqlite3 --- recipes/sqlitecpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index 836b5676e62e1..cb53fcb31537f 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -43,7 +43,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.44.0") def validate(self): if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"): From 8b561c20e5ad4518b87d1362ec98a5c4bfbc130d Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 18:47:16 +0900 Subject: [PATCH 0075/1307] (#21211) samurai: add version 0.9.0 --- recipes/samurai/all/conandata.yml | 3 +++ recipes/samurai/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/samurai/all/conandata.yml b/recipes/samurai/all/conandata.yml index ee0badb79a35b..b4ff07102a673 100644 --- a/recipes/samurai/all/conandata.yml +++ b/recipes/samurai/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/hpc-maths/samurai/archive/v0.9.0.tar.gz" + sha256: "49f94a7451b1b50cab335a62e294e612fea27cbf5b131827eb69a8e228ad8010" "0.8.0": url: "https://github.com/hpc-maths/samurai/archive/v0.8.0.tar.gz" sha256: "c20c4cdcc7c5a29d6f44369d5b1addee4237b8282b5cce88be4113367d90d82d" diff --git a/recipes/samurai/config.yml b/recipes/samurai/config.yml index 3cb0f24be34a7..b54c9224b6c19 100644 --- a/recipes/samurai/config.yml +++ b/recipes/samurai/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: all "0.8.0": folder: all "0.7.0": From 2cdfe438f4b057c10307d68cd3ffefbb0d0b6493 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 19:47:08 +0900 Subject: [PATCH 0076/1307] (#21210) mcap: add version 1.3.0 --- recipes/mcap/all/conandata.yml | 3 +++ recipes/mcap/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mcap/all/conandata.yml b/recipes/mcap/all/conandata.yml index 4b98eb916b67c..4ede1237bc36c 100644 --- a/recipes/mcap/all/conandata.yml +++ b/recipes/mcap/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/foxglove/mcap/archive/releases/cpp/v1.3.0.tar.gz" + sha256: "41acf6e85d75556c64407f077e05492d31db1f099e07242ef04364bb2939acf1" "1.2.1": url: "https://github.com/foxglove/mcap/archive/releases/cpp/v1.2.1.tar.gz" sha256: "fdc0c351bbcf8883fec0047ff84fed74da88446859083beb6624a584e2cde669" diff --git a/recipes/mcap/config.yml b/recipes/mcap/config.yml index f50a75ba292e8..fb6aa455469ea 100644 --- a/recipes/mcap/config.yml +++ b/recipes/mcap/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.1": folder: all 1.2.0: From 97a8e6c4ff6dd1a4d2674b8c2532358f244a4dd2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 20:27:28 +0900 Subject: [PATCH 0077/1307] (#21212) simdutf: add version 4.0.4 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index ff02cf20bb0de..ced370b48d8cb 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/simdutf/simdutf/archive/v4.0.4.tar.gz" + sha256: "fd24bab9754e24f42e6cd2c9d336accb2674c306f9221c00fb095fe95cfe9247" "4.0.3": url: "https://github.com/simdutf/simdutf/archive/v4.0.3.tar.gz" sha256: "00429eca296f00d9b93939d2561538bad601602ad02fd01ba9ad366268773751" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 6dcda9d7383b8..45f2cb8a32ffa 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.3": folder: all "3.2.17": From b70b7204653bbf8efd90094d679e323a6df306ce Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sat, 18 Nov 2023 14:27:16 +0100 Subject: [PATCH 0078/1307] (#21214) [uncrustify] Add version 0.78.0 --- recipes/uncrustify/all/conandata.yml | 3 +++ recipes/uncrustify/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uncrustify/all/conandata.yml b/recipes/uncrustify/all/conandata.yml index db432bb0bfdf7..994dd9df8f5c3 100644 --- a/recipes/uncrustify/all/conandata.yml +++ b/recipes/uncrustify/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.78.0": + url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.0.tar.gz" + sha256: "377efec187c26c7ad77900d94032fa51b029831c69442d607a6e53ef2115928f" "0.77.1": url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.77.1.tar.gz" sha256: "414bbc9f7860eb18a53074f9af14ed04638a633b2216a73f2629291300d37c1b" diff --git a/recipes/uncrustify/config.yml b/recipes/uncrustify/config.yml index 14c80b15beabd..67d12c21bb4ac 100644 --- a/recipes/uncrustify/config.yml +++ b/recipes/uncrustify/config.yml @@ -1,4 +1,6 @@ versions: + "0.78.0": + folder: all "0.77.1": folder: all "0.75.1": From b02fd8cfee6183d49245b49df235fc302546a682 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 18 Nov 2023 22:47:35 +0900 Subject: [PATCH 0079/1307] (#21215) shield: add version 0.5 --- recipes/shield/all/conandata.yml | 3 +++ recipes/shield/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/shield/all/conandata.yml b/recipes/shield/all/conandata.yml index 38803c2a64ad9..76d8f2a0a392d 100644 --- a/recipes/shield/all/conandata.yml +++ b/recipes/shield/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5": + url: "https://github.com/holoplot/shield/archive/0.5.tar.gz" + sha256: "f6494b1c95aeddb23fe507ab8da17234ecd7ca6aff97a92112e1e6459b343ff3" "0.4": url: "https://github.com/holoplot/shield/archive/0.4.tar.gz" sha256: "b93661c463b6a3af1900b9ea94bf0f75bc1bc6bd4d98b700cb29a62249fb6089" diff --git a/recipes/shield/config.yml b/recipes/shield/config.yml index b3c1faaf54b2b..ab08cd3e58a8c 100644 --- a/recipes/shield/config.yml +++ b/recipes/shield/config.yml @@ -1,4 +1,6 @@ versions: + "0.5": + folder: all "0.4": folder: all "0.3": From a21c74b3763e994c5ff39be3d9ea2099a79ba319 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 00:08:40 +0900 Subject: [PATCH 0080/1307] (#21216) hictk: update dependencies --- recipes/hictk/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index a654990739eee..1af6d90119f0c 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -40,14 +40,14 @@ def layout(self): def requirements(self): self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True) - self.requires("fast_float/5.2.0", transitive_headers=True) + self.requires("fast_float/5.3.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) self.requires("fmt/10.1.1", transitive_headers=True) self.requires("hdf5/1.14.1", transitive_headers=True) self.requires("highfive/2.7.1", transitive_headers=True) - self.requires("libdeflate/1.18", transitive_headers=True) - self.requires("parallel-hashmap/1.3.11", transitive_headers=True) + self.requires("libdeflate/1.19", transitive_headers=True) + self.requires("parallel-hashmap/1.37", transitive_headers=True) self.requires("span-lite/0.10.3", transitive_headers=True) self.requires("spdlog/1.12.0", transitive_headers=True) self.requires("xxhash/0.8.2", transitive_headers=True) From d513925b315f7dfed4a189ba2ff8dd923e306bc8 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Sat, 18 Nov 2023 17:11:11 +0100 Subject: [PATCH 0081/1307] (#21201) perfetto: Bump version: 39.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 1455ad80e4419..6d72ce39c85b1 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "39.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v39.0.tar.gz" + sha256: "241cbaddc9ff4e5d1de2d28497fef40b5510e9ca60808815bf4944d0d2f026db" "38.0": url: "https://github.com/google/perfetto/archive/refs/tags/v38.0.tar.gz" sha256: "92160b0fbeb8c4992cc0690d832dd923cee1dda466f3364ef4ed26a835e55e40" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 0ec522826b476..03c6316a5eb58 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "39.0": + folder: all "38.0": folder: all "37.0": From 5b8a9b996d725f63204e55d855392ad6b8968383 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 03:27:28 +0300 Subject: [PATCH 0082/1307] (#21224) rtmidi: bump libalsa --- recipes/rtmidi/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rtmidi/all/conanfile.py b/recipes/rtmidi/all/conanfile.py index ab614a8ee05fb..c7428d7707336 100644 --- a/recipes/rtmidi/all/conanfile.py +++ b/recipes/rtmidi/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self._with_alsa: - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") def build_requirements(self): self.tool_requires("cmake/[>=3.24 <4]") From 908aab927c4eca0852fff22c9b907e4912e58531 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 04:47:45 +0300 Subject: [PATCH 0083/1307] (#21225) openal-soft: bump libalsa --- recipes/openal-soft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openal-soft/all/conanfile.py b/recipes/openal-soft/all/conanfile.py index 5401a9836e21a..83f92f752bca9 100644 --- a/recipes/openal-soft/all/conanfile.py +++ b/recipes/openal-soft/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): def requirements(self): if self.settings.os == "Linux": - self.requires("libalsa/1.2.7.2") + self.requires("libalsa/1.2.10") def validate(self): if self._openal_cxx_backend: From 5ba5f9c6db4b4f7c5a21c5c5523727cac3b8c428 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 13:07:14 +0900 Subject: [PATCH 0084/1307] (#21232) s2n: add version 1.3.56 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index de2f57abb815c..8805728159ae7 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.56": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.56.tar.gz" + sha256: "5d7bab81357a564453bc453469b4ae02936f1f35225ad297b8d846d2ecdda521" "1.3.55": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.55.tar.gz" sha256: "3b4d51d08326757440a7a134dd4d73c904b700d64837aa7fec0aca908b70fd9b" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 794b8718cbfe9..541cd4177faf3 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.56": + folder: all "1.3.55": folder: all "1.3.52": From 3947495600fe2849a9de2518d18c48872cb62e7b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 10:07:38 +0300 Subject: [PATCH 0085/1307] (#21234) fontconfig: bump dependencies --- recipes/fontconfig/all/conanfile.py | 6 +++--- recipes/fontconfig/meson/conanfile.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index 1a6adb5ab1e22..ddc997bea245a 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -47,10 +47,10 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def validate(self): if is_msvc(self): @@ -59,7 +59,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index ab15f87fd4486..550cc9984a1bb 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -49,14 +49,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("expat/2.5.0") if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def build_requirements(self): self.tool_requires("gperf/3.1") - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") From 66383dd08cea496b4c0dae269f9d85415970c77a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 19 Nov 2023 21:16:03 +0900 Subject: [PATCH 0086/1307] (#21243) stringzilla: add version 2.0.3 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 99f4cab53f768..63892a4c139d3 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.3.tar.gz" + sha256: "6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3" "2.0.1": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.1.tar.gz" sha256: "804baa0ed8bb530de25390b21d5d51059644d5b1306364edf948c27157029793" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index 1c8c15b143b3d..bb807cfa42498 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.1": folder: all "1.2.2": From 286faeedfe2ae734d21b274fc4c7453d46394ca4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 19 Nov 2023 21:07:55 +0300 Subject: [PATCH 0087/1307] (#21236) harfbuzz: bump dependencies --- recipes/harfbuzz/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index 29d9a1aea73ba..d4c8b382c09ed 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -76,11 +76,11 @@ def layout(self): def requirements(self): if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_icu: - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") def validate(self): if self.options.shared and self.options.with_glib and not self.dependencies["glib"].options.shared: @@ -96,7 +96,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") if self.options.with_glib: From 934aa4c004374a2fb65ba9300e1f02a12dce3d57 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 19 Nov 2023 23:07:56 +0200 Subject: [PATCH 0088/1307] (#21237) proj: bump sqlite3 dependency --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index f38fb9b497bc3..96746a5b96715 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): From b27b5cf7005abc004aa81e1735b851f400757358 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 10:47:25 +0900 Subject: [PATCH 0089/1307] (#21244) miniaudio: add version 0.11.21 --- recipes/miniaudio/all/conandata.yml | 3 +++ recipes/miniaudio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/miniaudio/all/conandata.yml b/recipes/miniaudio/all/conandata.yml index 44320f99355f1..061502ec47da0 100644 --- a/recipes/miniaudio/all/conandata.yml +++ b/recipes/miniaudio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.21": + url: "https://github.com/mackron/miniaudio/archive/0.11.21.tar.gz" + sha256: "6afb5c231613d2fab4f1c668b7243ff9a7d6d78a7f5a2692c133f026fe508506" "0.11.18": url: "https://github.com/mackron/miniaudio/archive/0.11.18.tar.gz" sha256: "85ca916266d809b39902e180a6d16f82caea9c2ea1cea6d374413641b7ba48c3" diff --git a/recipes/miniaudio/config.yml b/recipes/miniaudio/config.yml index 314177c344ff6..4db3fb9d24db2 100644 --- a/recipes/miniaudio/config.yml +++ b/recipes/miniaudio/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.21": + folder: all "0.11.18": folder: all "0.11.17": From ca820064a0bea7042b50f0b5a8c4d077ee11cb72 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 12:07:29 +0900 Subject: [PATCH 0090/1307] (#21251) aggeom-agg: update freetype/2.13.2 --- recipes/aggeom-agg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aggeom-agg/all/conanfile.py b/recipes/aggeom-agg/all/conanfile.py index 991d2d1af6b1e..de0179059224e 100644 --- a/recipes/aggeom-agg/all/conanfile.py +++ b/recipes/aggeom-agg/all/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_platform and self.settings.os in ["Linux"]: self.requires("xorg/system") From cd2af099a4667558088a86dbfdaa5885e49a7729 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 12:27:19 +0900 Subject: [PATCH 0091/1307] (#21250) pdfuim: update freetype/2.13.2 --- recipes/pdfium/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/pdfium/all/conanfile.py b/recipes/pdfium/all/conanfile.py index a4c53251f460c..7a5488384bc9e 100644 --- a/recipes/pdfium/all/conanfile.py +++ b/recipes/pdfium/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("icu/74.1") self.requires("lcms/2.14") self.requires("openjpeg/2.5.0") From a1a290cc03ffc3e9e51c64604fa2a896b7a37587 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 14:47:38 +0900 Subject: [PATCH 0092/1307] (#21254) sfml: update freetype/2.13.2 --- recipes/sfml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index 53306f385e8c4..c29aef0d78113 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("libudev/system") self.requires("xorg/system") if self.options.graphics: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") self.requires("stb/cci.20230920") if self.options.audio: self.requires("flac/1.4.2") From 69163df6002a76e280efecf2eb5a2cff42af5e38 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 15:07:54 +0900 Subject: [PATCH 0093/1307] (#21256) sdl_ttf: update dependencies --- recipes/sdl_ttf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index a1a255cd20f36..3fb325e526385 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -51,11 +51,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("freetype/2.12.1") + self.requires("freetype/2.13.2") # https://github.com/conan-io/conan-center-index/pull/18366#issuecomment-1625464996 self.requires("sdl/2.28.3", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_harfbuzz"): - self.requires("harfbuzz/6.0.0") + self.requires("harfbuzz/8.3.0") def validate(self): if Version(self.version).major != Version(self.dependencies["sdl"].ref.version).major: From 830715a1b5046aea1c3ba6dce8a24eec85dcf3d3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 10:27:48 +0300 Subject: [PATCH 0094/1307] (#21240) wayland: bump dependencies --- recipes/wayland/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index fd8bace1e9cb7..40f32dc534514 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") self.requires("expat/2.5.0") def validate(self): @@ -58,7 +58,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") if cross_building(self): From 3c9cb0cedb20fd45b5c4e7e53a4bdf1dcf563e1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 09:49:44 +0100 Subject: [PATCH 0095/1307] (#21258) meson 1.3.0 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index d3dbac49e9710..581541e8b30e4 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz" + sha256: "4ba253ef60e454e23234696119cbafa082a0aead0bd3bbf6991295054795f5dc" "1.2.3": url: "https://github.com/mesonbuild/meson/releases/download/1.2.3/meson-1.2.3.tar.gz" sha256: "4533a43c34548edd1f63a276a42690fce15bde9409bcf20c4b8fa3d7e4d7cac1" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 5fe93c9a6d5cd..04538c604ee46 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.3": folder: all "1.2.2": From 297ca6bb1561c63425f426c8b17e9ccb0ffdfd6b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 19:08:26 +0900 Subject: [PATCH 0096/1307] (#21260) libxft: update freetype/2.13.2 --- recipes/libxft/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py index 43f3c70609f9f..fdb9b1a6c8663 100644 --- a/recipes/libxft/all/conanfile.py +++ b/recipes/libxft/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): self.requires("xorg/system") - self.requires("freetype/2.13.0", transitive_headers=True) + self.requires("freetype/2.13.2", transitive_headers=True) self.requires("fontconfig/2.14.2", transitive_headers=True) def build_requirements(self): From 33c8f9932dd149fe9cfd52bea5b15b382c605a4d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 20 Nov 2023 20:48:41 +0900 Subject: [PATCH 0097/1307] (#21174) aws-c-io: make aws-c-cal transitive_libs Co-authored-by: Uilian Ries --- recipes/aws-c-io/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-io/all/conanfile.py b/recipes/aws-c-io/all/conanfile.py index 9f7b5e29793d0..36c3965b9abd8 100644 --- a/recipes/aws-c-io/all/conanfile.py +++ b/recipes/aws-c-io/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): self.requires("aws-c-cal/0.5.13") else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.6.9", transitive_headers=True) + self.requires("aws-c-cal/0.6.9", transitive_headers=True, transitive_libs=True) if self.settings.os in ["Linux", "FreeBSD", "Android"]: self.requires("s2n/1.3.55") From f2a66255bdf1fdb6358332a72154498cd419e615 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Mon, 20 Nov 2023 04:28:48 -0800 Subject: [PATCH 0098/1307] (#21248) Add kammce as reviewer for libhal recipe --- .github/workflows/alert-community.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 17c21b9aa39f5..405926199ff5e 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -430,3 +430,8 @@ jobs: with: files: "recipes/zstd/*/*" reviewers: "@Hopobcn" + + - uses: ./.github/actions/alert-community + with: + files: "recipes/libhal/*/*" + reviewers: "@kammce" From 69d8bda9ffb05c6720eff8a8099c4f56210bd999 Mon Sep 17 00:00:00 2001 From: temap Date: Mon, 20 Nov 2023 14:48:16 +0200 Subject: [PATCH 0099/1307] (#21230) elfutils: Bump zlib requirement to [>=1.2.11 <2] --- recipes/elfutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index 587120d32dbbb..eed1654a5e9c9 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -63,7 +63,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/1.2.13") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: self.requires("sqlite3/3.44.0") if self.options.with_bzlib: From 29e5bcea659b5fa2c3f8fce3dd295828d339ea2d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 17:48:24 +0300 Subject: [PATCH 0100/1307] (#21209) libyuv: add 1880 + remove shared option if msvc instead of raising * remove shared option if msvc instead of raising * bump libjpeg-turbo & mozjpeg * add libyuv/1880 --- recipes/libyuv/all/conandata.yml | 6 ++ recipes/libyuv/all/conanfile.py | 21 +++--- .../all/patches/1880-0001-fix-cmake.patch | 68 +++++++++++++++++++ recipes/libyuv/config.yml | 2 + 4 files changed, 86 insertions(+), 11 deletions(-) create mode 100644 recipes/libyuv/all/patches/1880-0001-fix-cmake.patch diff --git a/recipes/libyuv/all/conandata.yml b/recipes/libyuv/all/conandata.yml index e839599c0c5fc..3b9b5764537d0 100644 --- a/recipes/libyuv/all/conandata.yml +++ b/recipes/libyuv/all/conandata.yml @@ -1,6 +1,8 @@ # Versions from LIBYUV_VERSION definition in include/libyuv/version.h # Pay attention to package commits incrementing this definition sources: + "1880": + url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/fb6341d326846fbbe669ad5173e520f66b339621.tar.gz" "1854": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/3abd6f36b6e4f5a2e0ce236580a8bc1da3c7cf7e.tar.gz" "1845": @@ -10,6 +12,10 @@ sources: "1768": url: "https://chromium.googlesource.com/libyuv/libyuv/+archive/dfaf7534e0e536f7e5ef8ddd7326797bd09b8622.tar.gz" patches: + "1880": + - patch_file: "patches/1880-0001-fix-cmake.patch" + patch_description: "Fix CMake to be more robust & predictable" + patch_type: "conan" "1854": - patch_file: "patches/1854-0001-fix-cmake.patch" patch_description: "Fix CMake to be more robust & predictable" diff --git a/recipes/libyuv/all/conanfile.py b/recipes/libyuv/all/conanfile.py index 4fea1b63b21f1..4d851737efc1b 100644 --- a/recipes/libyuv/all/conanfile.py +++ b/recipes/libyuv/all/conanfile.py @@ -1,5 +1,4 @@ from conan import ConanFile -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 from conan.tools.microsoft import is_msvc @@ -15,7 +14,7 @@ class LibyuvConan(ConanFile): description = "libyuv is an open source project that includes YUV scaling and conversion functionality." topics = ["YUV", "libyuv", "google", "chromium"] license = "BSD-3-Clause" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,7 +35,12 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + # Only static for msvc + # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): @@ -46,17 +50,12 @@ 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.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") - - def validate(self): - if is_msvc(self) and self.options.shared: - # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols - raise ConanInvalidConfiguration(f"{self.ref} shared not supported for msvc.") + self.requires("mozjpeg/4.1.3") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version]) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch b/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch new file mode 100644 index 0000000000000..b44803ec7ecf3 --- /dev/null +++ b/recipes/libyuv/all/patches/1880-0001-fix-cmake.patch @@ -0,0 +1,68 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -2,8 +2,8 @@ + # Originally created for "roxlu build system" to compile libyuv on windows + # Run with -DTEST=ON to build unit tests + ++CMAKE_MINIMUM_REQUIRED( VERSION 3.8 ) + PROJECT ( YUV C CXX ) # "C" is required even for C++ projects +-CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) + OPTION( UNIT_TEST "Built unit tests" OFF ) + + SET ( ly_base_dir ${PROJECT_SOURCE_DIR} ) +@@ -27,15 +27,10 @@ if(MSVC) + endif() + + # this creates the static library (.a) +-ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) ++ADD_LIBRARY ( ${ly_lib_static} ${ly_source_files} ) ++target_compile_features(${ly_lib_static} PUBLIC cxx_std_11) + + # this creates the shared library (.so) +-ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) +-SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) +-SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) +-if(WIN32) +- SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES IMPORT_PREFIX "lib" ) +-endif() + + # this creates the conversion tool + ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) +@@ -44,12 +39,18 @@ TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) + # this creates the yuvconstants tool + ADD_EXECUTABLE ( yuvconstants ${ly_base_dir}/util/yuvconstants.c ) + TARGET_LINK_LIBRARIES ( yuvconstants ${ly_lib_static} ) ++include(CheckFunctionExists) ++check_function_exists(round HAVE_MATH_SYSTEM) ++if(NOT HAVE_MATH_SYSTEM) ++ target_link_libraries(yuvconstants m) ++endif() + +-find_package ( JPEG ) +-if (JPEG_FOUND) +- include_directories( ${JPEG_INCLUDE_DIR} ) +- target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) +- add_definitions( -DHAVE_JPEG ) ++option(LIBYUV_WITH_JPEG "Build libyuv with jpeg" ON) ++if (LIBYUV_WITH_JPEG) ++ find_package(JPEG REQUIRED) ++ target_link_libraries(${ly_lib_static} JPEG::JPEG ) ++ target_compile_definitions(${ly_lib_static} PRIVATE HAVE_JPEG) ++ target_compile_definitions(yuvconvert PRIVATE HAVE_JPEG) + endif() + + if(UNIT_TEST) +@@ -94,11 +95,9 @@ endif() + + + # install the conversion tool, .so, .a, and all the header files +-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++INSTALL ( TARGETS yuvconvert yuvconstants DESTINATION bin) ++INSTALL ( TARGETS ${ly_lib_static} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack +-INCLUDE ( CM_linux_packages.cmake ) + diff --git a/recipes/libyuv/config.yml b/recipes/libyuv/config.yml index c1f0cfd37130f..fe46d8f150b2c 100644 --- a/recipes/libyuv/config.yml +++ b/recipes/libyuv/config.yml @@ -1,4 +1,6 @@ versions: + "1880": + folder: all "1854": folder: all "1845": From 7673f0c816ccae861a2ba9eeb92de29064ca4745 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:49:25 +0300 Subject: [PATCH 0101/1307] (#21217) fftw: fix typo in quad precision CMake option --- recipes/fftw/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fftw/all/conanfile.py b/recipes/fftw/all/conanfile.py index 72c620e240684..ef1e6d55efb6e 100644 --- a/recipes/fftw/all/conanfile.py +++ b/recipes/fftw/all/conanfile.py @@ -112,7 +112,7 @@ def on_off(value): variables = { "ENABLE_FLOAT": on_off(self._current_precision == SINGLE), "ENABLE_LONG_DOUBLE": on_off(self._current_precision == LONGDOUBLE), - "EENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) + "ENABLE_QUAD_PRECISION": on_off(self._current_precision == QUAD) } cmake.configure(variables=variables) cmake.build() From 7d5bf48260f629176a8b1f53f06779273ded5aaa Mon Sep 17 00:00:00 2001 From: igormironchik Date: Mon, 20 Nov 2023 21:05:57 +0300 Subject: [PATCH 0102/1307] (#21269) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index dc1231d30c7ad..59870ccc4500d 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.3.tar.gz" + sha256: "31f6de553700b25e4ed8517bcde24bd43b18c3fda1260f968aa5c393a7491783" "2.2.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.2.tar.gz" sha256: "4d5a0f7ed250cbcb8a3a1f4244f8413ed854e538406c571e83ebccf709cff49e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index abdfa70d5200d..291422959f744 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.3": + folder: all "2.2.2": folder: all "2.2.1": From c4e4e107a6c253ec9fb25bc60c2c6d44f1436c03 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 19:28:50 +0100 Subject: [PATCH 0103/1307] (#21266) wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 40f32dc534514..7e341eb9914d7 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -58,7 +58,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") if cross_building(self): From 2fd99ebbdc629d4a53dcd0a01135840e6a244854 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 20 Nov 2023 22:29:16 +0100 Subject: [PATCH 0104/1307] (#21265) xkbcommon: bump libxml2 --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 73fdaedd84c66..0de07aab1e6af 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: From c68e4c99973cee80c74bbf84d40e233175e87213 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 21 Nov 2023 00:41:52 +0100 Subject: [PATCH 0105/1307] (#21284) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 4cb491771469d..415f49a1f1360 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -14,6 +14,7 @@ required_for_references: - ade - aeron - aggeom-agg +- ags - alac - alembic - alpaca @@ -129,6 +130,7 @@ required_for_references: - c-dbg-macro - c4core - caf +- cairomm - cajun-jsonapi - calceph - canary @@ -385,6 +387,7 @@ required_for_references: - frozen - frugally-deep - fruit +- ftjam - ftxui - function2 - functionalplus @@ -466,6 +469,7 @@ required_for_references: - hdrhistogram-c - heatshrink - hedley +- hexl - hffix - hictk - hidapi @@ -596,7 +600,9 @@ required_for_references: - libdc1394 - libde265 - libdeflate +- libdicom - libdisasm +- libdisplay-info - libdivide - libdmtx - libdrawille @@ -640,6 +646,7 @@ required_for_references: - libltc - liblzf - libmad +- libmagic - libmaxminddb - libmbus - libmediainfo @@ -720,6 +727,7 @@ required_for_references: - libudev - libunistring - libunwind +- liburing - libusb - libusb-compat - libuuid @@ -806,6 +814,7 @@ required_for_references: - mdns - mdnsresponder - mdspan +- mesa-glu - meshoptimizer - meson - metall @@ -831,6 +840,7 @@ required_for_references: - mio - mm_file - modern-cpp-kafka +- mold - moltenvk - mongo-c-driver - mongo-cxx-driver @@ -878,6 +888,7 @@ required_for_references: - nlohmann_json - nlopt - nmea +- nmos-cpp - nmslib - nng - nodejs @@ -895,6 +906,7 @@ required_for_references: - nv-codec-headers - nvtx - oatpp +- oatpp-postgresql - objectbox - objectbox-generator - observer-ptr-lite @@ -915,6 +927,7 @@ required_for_references: - onnx - onnxruntime - open-dis-cpp +- open-simulation-interface - open62541 - openal - openal-soft @@ -974,6 +987,7 @@ required_for_references: - pcre2 - pdf-writer - pdfgen +- pdfium - pdqsort - perf - perfetto @@ -1092,6 +1106,7 @@ required_for_references: - rmm - roaring - robin-hood-hashing +- rocksdb - rpclib - rply - rsync @@ -1120,6 +1135,7 @@ required_for_references: - sdf - sdl - sdl_image +- sdl_net - sdl_ttf - seadex-essentials - seasocks @@ -1149,6 +1165,7 @@ required_for_references: - skyr-url - sml - snappy +- snitch - snowhouse - so5extra - sobjectizer @@ -1226,6 +1243,7 @@ required_for_references: - termcap - termcolor - tesseract +- tgbot - tgc - thelink2012-any - threadpool From 87bc98bd3a353c8694b9a65d10e1297bd9a540cc Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 11:08:55 +0300 Subject: [PATCH 0106/1307] (#21275) libgeotiff: add package_type --- recipes/libgeotiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 85af88ca0856c..8420d20d07e09 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -15,7 +15,7 @@ class LibgeotiffConan(ConanFile): topics = ("geotiff", "tiff") homepage = "https://github.com/OSGeo/libgeotiff" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], From 38556dbd5da8547f5e9bf8ad2e672d4ffd080a16 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 21 Nov 2023 17:49:50 +0900 Subject: [PATCH 0107/1307] (#21177) highfive: update dependencies * highfive: update dependencies * add condition for hdf5 --- recipes/highfive/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index 5a1f607f99989..c3667bcf95e14 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -36,13 +37,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hdf5/1.14.1") + if Version(self.version) < "2.5.1": + self.requires("hdf5/1.14.1") + else: + self.requires("hdf5/1.14.2") if self.options.with_boost: self.requires("boost/1.83.0") if self.options.with_eigen: self.requires("eigen/3.4.0") if self.options.with_xtensor: - self.requires("xtensor/0.24.6") + self.requires("xtensor/0.24.7") if self.options.with_opencv: self.requires("opencv/4.5.5") From 764f1e3a06e55701c08661d11fd657767d96f46e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 10:08:23 +0100 Subject: [PATCH 0108/1307] (#21185) protobuf: cleanup remove dead code and patches identified in https://github.com/conan-io/conan-center-index/issues/21163 and https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/protobuf/all/conanfile.py | 14 +++----------- .../patches/upstream-pr-9153-msvc-runtime.patch | 15 --------------- 2 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index b83d4db6fde56..eb5f365e1eb56 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -48,18 +48,12 @@ def _is_clang_cl(self): def _is_clang_x86(self): return self.settings.compiler == "clang" and self.settings.arch == "x86" - @property - def _can_disable_rtti(self): - return Version(self.version) >= "3.15.4" - def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._can_disable_rtti: - del self.options.with_rtti def configure(self): if self.options.shared: @@ -79,7 +73,7 @@ def validate(self): check_min_vs(self, "190") if self.settings.compiler == "clang": - if Version(self.version) >= "3.15.4" and Version(self.settings.compiler.version) < "4": + if Version(self.settings.compiler.version) < "4": raise ConanInvalidConfiguration(f"{self.ref} doesn't support clang < 4") def source(self): @@ -97,10 +91,8 @@ def generate(self): tc.cache_variables["protobuf_BUILD_PROTOC_BINARIES"] = self.settings.os != "tvOS" if not self.options.debug_suffix: tc.cache_variables["protobuf_DEBUG_POSTFIX"] = "" - if Version(self.version) >= "3.14.0": - tc.cache_variables["protobuf_BUILD_LIBPROTOC"] = self.settings.os != "tvOS" - if self._can_disable_rtti: - tc.cache_variables["protobuf_DISABLE_RTTI"] = not self.options.with_rtti + tc.cache_variables["protobuf_BUILD_LIBPROTOC"] = self.settings.os != "tvOS" + tc.cache_variables["protobuf_DISABLE_RTTI"] = not self.options.with_rtti if is_msvc(self) or self._is_clang_cl: runtime = msvc_runtime_flag(self) if not runtime: diff --git a/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch b/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch deleted file mode 100644 index e55d642882aa3..0000000000000 --- a/recipes/protobuf/all/patches/upstream-pr-9153-msvc-runtime.patch +++ /dev/null @@ -1,15 +0,0 @@ -upstream PR: https://github.com/protocolbuffers/protobuf/pull/9153 - ---- a/cmake/CMakeLists.txt -+++ b/cmake/CMakeLists.txt -@@ -182,7 +182,9 @@ else (protobuf_BUILD_SHARED_LIBS) - # making programmatic control difficult. Prefer the functionality in newer - # CMake versions when available. - if(CMAKE_VERSION VERSION_GREATER 3.15 OR CMAKE_VERSION VERSION_EQUAL 3.15) -- set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$:Debug>) -+ if(protobuf_MSVC_STATIC_RUNTIME) -+ set(CMAKE_MSVC_RUNTIME_LIBRARY MultiThreaded$<$:Debug>) -+ endif() - else() - # In case we are building static libraries, link also the runtime library statically - # so that MSVCR*.DLL is not required at runtime. From 1bd648eb56dcbe3c5c086105be02040a6c578652 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 10:47:57 +0100 Subject: [PATCH 0109/1307] (#21186) redis-plus-plus: cleanup remove dead code and patches also, bump deps identified in https://github.com/conan-io/conan-center-index/issues/21163 and https://github.com/conan-io/conan-center-index/issues/21146 --- recipes/redis-plus-plus/all/conanfile.py | 13 ++-- .../1.2.1-0001-fix-hiredis-consumption.patch | 62 ------------------- .../1.2.1-0002-cmake-minimum-required.patch | 15 ----- 3 files changed, 4 insertions(+), 86 deletions(-) delete mode 100644 recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch delete mode 100644 recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch diff --git a/recipes/redis-plus-plus/all/conanfile.py b/recipes/redis-plus-plus/all/conanfile.py index 5895ab8dac984..d7fbaf589b20b 100644 --- a/recipes/redis-plus-plus/all/conanfile.py +++ b/recipes/redis-plus-plus/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version import os @@ -64,9 +64,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("hiredis/1.1.0", transitive_headers=True, transitive_libs=True) + self.requires("hiredis/1.2.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("build_async"): - self.requires("libuv/1.46.0") + self.requires("libuv/1.47.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -97,18 +97,13 @@ def generate(self): tc.variables["REDIS_PLUS_PLUS_BUILD_TEST"] = False tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC"] = not self.options.shared tc.variables["REDIS_PLUS_PLUS_BUILD_SHARED"] = self.options.shared - if Version(self.version) >= "1.2.3": - tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC_WITH_PIC"] = self.options.shared + tc.variables["REDIS_PLUS_PLUS_BUILD_STATIC_WITH_PIC"] = self.options.shared tc.generate() deps = CMakeDeps(self) deps.generate() def _patch_sources(self): apply_conandata_patches(self) - if Version(self.version) < "1.2.3": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "set_target_properties(${STATIC_LIB} PROPERTIES POSITION_INDEPENDENT_CODE ON)", - "") def build(self): self._patch_sources() diff --git a/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch b/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch deleted file mode 100644 index de2b4ddbe2f80..0000000000000 --- a/recipes/redis-plus-plus/all/patches/1.2.1-0001-fix-hiredis-consumption.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -29,6 +29,7 @@ if (REDIS_PLUS_PLUS_USE_TLS) - message(STATUS "Build with TLS support") - - set(TLS_SUB_DIR "${PROJECT_SOURCE_DIR}/tls") -+ find_package(hiredis REQUIRED hiredis_ssl CONFIG) - else() - set(TLS_SUB_DIR "${PROJECT_SOURCE_DIR}/no_tls") - endif() -@@ -36,8 +37,7 @@ endif() - file(GLOB TLS_SOURCE_FILES "${TLS_SUB_DIR}/*.cpp") - - # hiredis dependency --find_path(HIREDIS_HEADER hiredis) --find_library(HIREDIS_LIB hiredis) -+find_package(hiredis REQUIRED hiredis CONFIG) - - # Build static library - option(REDIS_PLUS_PLUS_BUILD_STATIC "Build static library" ON) -@@ -48,7 +48,7 @@ if (REDIS_PLUS_PLUS_BUILD_STATIC) - add_library(${STATIC_LIB} STATIC ${PROJECT_SOURCE_FILES} ${TLS_SOURCE_FILES}) - - target_include_directories(${STATIC_LIB} PUBLIC ${PROJECT_SOURCE_DIR} ${TLS_SUB_DIR}) -- target_include_directories(${STATIC_LIB} PUBLIC ${HIREDIS_HEADER}) -+ target_link_libraries(${STATIC_LIB} PUBLIC hiredis::hiredis) - - if (WIN32) - target_compile_definitions(${STATIC_LIB} PRIVATE NOMINMAX) -@@ -58,6 +58,10 @@ if (REDIS_PLUS_PLUS_BUILD_STATIC) - set_target_properties(${STATIC_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) - endif() - -+ if (REDIS_PLUS_PLUS_USE_TLS) -+ target_link_libraries(${STATIC_LIB} PUBLIC hiredis::hiredis_ssl) -+ endif() -+ - set_target_properties(${STATIC_LIB} PROPERTIES CLEAN_DIRECT_OUTPUT 1) - set_target_properties(${STATIC_LIB} PROPERTIES POSITION_INDEPENDENT_CODE ON) - endif() -@@ -71,7 +75,7 @@ if (REDIS_PLUS_PLUS_BUILD_SHARED) - add_library(${SHARED_LIB} SHARED ${PROJECT_SOURCE_FILES} ${TLS_SOURCE_FILES}) - - target_include_directories(${SHARED_LIB} PUBLIC ${PROJECT_SOURCE_DIR} ${TLS_SUB_DIR}) -- target_include_directories(${SHARED_LIB} PUBLIC ${HIREDIS_HEADER}) -+ target_link_libraries(${SHARED_LIB} PUBLIC hiredis::hiredis) - - if (WIN32) - target_compile_definitions(${SHARED_LIB} PRIVATE NOMINMAX) -@@ -79,11 +83,9 @@ if (REDIS_PLUS_PLUS_BUILD_SHARED) - set_target_properties(${SHARED_LIB} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) - endif() - -- target_link_libraries(${SHARED_LIB} ${HIREDIS_LIB}) - - if (REDIS_PLUS_PLUS_USE_TLS) -- find_library(HIREDIS_TLS_LIB hiredis_ssl) -- target_link_libraries(${SHARED_LIB} ${HIREDIS_TLS_LIB}) -+ target_link_libraries(${SHARED_LIB} PUBLIC hiredis::hiredis_ssl) - endif() - - set_target_properties(${SHARED_LIB} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}) diff --git a/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch b/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch deleted file mode 100644 index d00f3b331f4ab..0000000000000 --- a/recipes/redis-plus-plus/all/patches/1.2.1-0002-cmake-minimum-required.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,10 +1,10 @@ --project(redis++) - - if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") - cmake_minimum_required(VERSION 3.0.0) - else() -- cmake_minimum_required(VERSION 2.8.0) -+ cmake_minimum_required(VERSION 3.0.0) - endif() -+project(redis++) - - if (NOT DEFINED REDIS_PLUS_PLUS_CXX_STANDARD) - set(REDIS_PLUS_PLUS_CXX_STANDARD 11) From f3394226c2ff9ba8d13cde1e6d90c3a31663a2b0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 12:27:35 +0200 Subject: [PATCH 0110/1307] (#21189) ccfits: use a more accurate license identifier --- recipes/ccfits/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ccfits/all/conanfile.py b/recipes/ccfits/all/conanfile.py index d767889c1ed3b..ddf9d5732efd3 100644 --- a/recipes/ccfits/all/conanfile.py +++ b/recipes/ccfits/all/conanfile.py @@ -11,7 +11,7 @@ class CcfitsConan(ConanFile): name = "ccfits" description = "CCfits is an object oriented interface to the cfitsio library." - license = "ISC" + license = "CFITSIO" topics = ("fits", "image", "nasa", "astronomy", "astrophysics", "space") homepage = "https://heasarc.gsfc.nasa.gov/fitsio/ccfits" url = "https://github.com/conan-io/conan-center-index" From c2239e211a5134ff43c165092ebe6b67c9ababf1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 12:46:59 +0200 Subject: [PATCH 0111/1307] (#21190) fltk: use a more accurate license identifier * fltk: use a more accurate license identifier * Replace deprecated license ID Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/fltk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 476a0b8ff9627..4b4a216b2a0e2 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -11,7 +11,7 @@ class FltkConan(ConanFile): name = "fltk" description = "Fast Light Toolkit is a cross-platform C++ GUI toolkit" - license = "LGPL-2.0-custom" + license = "LGPL-2.1-or-later WITH FLTK-exception" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.fltk.org" topics = ("gui",) From f73e574f73e8238cc5a37b461c7eee8bd21893c2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 13:07:51 +0200 Subject: [PATCH 0112/1307] (#21194) libselinux: use a more specific license identifier --- recipes/libselinux/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libselinux/all/conanfile.py b/recipes/libselinux/all/conanfile.py index eb1d902d82d02..11d688ce34c15 100644 --- a/recipes/libselinux/all/conanfile.py +++ b/recipes/libselinux/all/conanfile.py @@ -24,7 +24,7 @@ class LibSELinuxConan(ConanFile): license = ( # https://github.com/SELinuxProject/selinux/blob/main/libselinux/LICENSE # For the libselinux component: public domain with a limited liability clause - "LicenseRef-LICENSE-libselinux", + "libselinux-1.0", # https://github.com/SELinuxProject/selinux/blob/main/libsepol/LICENSE # For the libsepol component: LGPL-2.1 "LGPL-2.1-or-later", From 0476139302da6bb7f7c83eb290eedc782ba61b27 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 21 Nov 2023 13:29:08 +0200 Subject: [PATCH 0113/1307] (#21195) openjdk: use a more specific license identifier --- recipes/openjdk/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/openjdk/all/conanfile.py b/recipes/openjdk/all/conanfile.py index b9d462756f800..becd2ce7c641c 100644 --- a/recipes/openjdk/all/conanfile.py +++ b/recipes/openjdk/all/conanfile.py @@ -13,7 +13,7 @@ class OpenJDK(ConanFile): url = "https://github.com/conan-io/conan-center-index/" description = "Java Development Kit builds, from Oracle" homepage = "https://jdk.java.net" - license = "GPL-2.0-with-classpath-exception" + license = "GPL-2.0-only WITH Classpath-exception-2.0", "GPL-2.0-only WITH OpenJDK-assembly-exception-1.0" topics = ("java", "jdk", "openjdk") settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 83d6655997920f608c7e391d781947d4cd2d361f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 14:47:50 +0300 Subject: [PATCH 0114/1307] (#21226) libsixel: use version range for libcurl * use version range for libcurl * bump meson --- recipes/libsixel/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libsixel/all/conanfile.py b/recipes/libsixel/all/conanfile.py index 182d8500c1d8a..941e12b139215 100644 --- a/recipes/libsixel/all/conanfile.py +++ b/recipes/libsixel/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): def requirements(self): if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_gd: self.requires("libgd/2.3.3") if self.options.with_gdk_pixbuf2: @@ -75,7 +75,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} does not support Visual Studio") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.2.3") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.0.3") From a8e11a52b1110e9a30048a03d65d3c585b3f95c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:07:29 +0300 Subject: [PATCH 0115/1307] (#21228) imutils-cpp: use version range for libcurl + bump opencv * bump opencv * use version range for libcurl --- recipes/imutils-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/imutils-cpp/all/conanfile.py b/recipes/imutils-cpp/all/conanfile.py index f542311be0b20..d9f313c9e9b84 100644 --- a/recipes/imutils-cpp/all/conanfile.py +++ b/recipes/imutils-cpp/all/conanfile.py @@ -56,8 +56,8 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opencv/4.5.5", transitive_headers=True, transitive_libs=True) - self.requires("libcurl/8.2.1") + self.requires("opencv/4.8.1", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From ebc56d7326584926f784c701946f872b65da5164 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 15:27:49 +0300 Subject: [PATCH 0116/1307] (#21229) prometheus-cpp: use version range for libcurl + add package_type * use version range for libcurl * add package_type --- recipes/prometheus-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/prometheus-cpp/all/conanfile.py b/recipes/prometheus-cpp/all/conanfile.py index ad2bd633fa595..10a8edf3a1e5e 100644 --- a/recipes/prometheus-cpp/all/conanfile.py +++ b/recipes/prometheus-cpp/all/conanfile.py @@ -17,7 +17,7 @@ class PrometheusCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jupp0r/prometheus-cpp" topics = ("metrics", "prometheus", "networking") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,7 +66,7 @@ def requirements(self): if self.options.with_pull: self.requires("civetweb/1.16") if self.options.with_push: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_compression"): self.requires("zlib/[>=1.2.11 <2]") From e8d411bd8a8904d4c7bade63379f8c66ff5265bb Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 21 Nov 2023 14:09:39 +0100 Subject: [PATCH 0117/1307] (#21263) qt6: fix QuickTest declaration * qt6: fix cppstd fixes https://github.com/conan-io/conan-center-index/issues/20921 * enable cross-compilation * Update conanfile.py * re-disable cross compilation * qt6: fix QuickTest declaration It requires `Quick`, as the name suggests see also https://github.com/qt/qtdeclarative/blob/v6.6.0/src/qmltest/CMakeLists.txt#L44 * add all *Extras.cmake files to modules * bump freetype --- recipes/qt/6.x.x/conanfile.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index aee4e88a1d5de..c2c05cdf445ec 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -326,7 +326,7 @@ def requirements(self): if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): @@ -575,6 +575,8 @@ def generate(self): self.output.warning(f"host not supported: {self.settings.os} {self.settings.compiler} {self.settings.compiler.version} {self.settings.arch}") if self.options.cross_compile: tc.variables["QT_QMAKE_DEVICE_OPTIONS"] = f"CROSS_COMPILE={self.options.cross_compile}" + if cross_building(self): + tc.variables["QT_HOST_PATH"] = self.dependencies.direct_build["qt"].package_folder tc.variables["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: @@ -589,12 +591,17 @@ def generate(self): current_cpp_std = self.settings.get_safe("compiler.cppstd", default_cppstd(self)) current_cpp_std = str(current_cpp_std).replace("gnu", "") cpp_std_map = { - "20": "FEATURE_cxx20" + 11: "FEATURE_cxx11", + 14: "FEATURE_cxx14", + 17: "FEATURE_cxx17", + 20: "FEATURE_cxx20" } if Version(self.version) >= "6.5.0": - cpp_std_map["23"] = "FEATURE_cxx2b" + cpp_std_map[23] = "FEATURE_cxx2b" + + for std,feature in cpp_std_map.items(): + tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" - tc.variables[cpp_std_map.get(current_cpp_std, "FEATURE_cxx17")] = "ON" tc.variables["QT_USE_VCPKG"] = False tc.cache_variables["QT_USE_VCPKG"] = False @@ -1120,8 +1127,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.widgets: _create_module("QuickWidgets", ["Gui", "Qml", "Quick", "Widgets"]) _create_module("QuickShapes", ["Gui", "Qml", "Quick"]) + _create_module("QuickTest", ["Test", "Quick"]) _create_module("QmlWorkerScript", ["Qml"]) - _create_module("QuickTest", ["Test"]) if self.options.qttools and self.options.gui and self.options.widgets: self.cpp_info.components["qtLinguistTools"].set_property("cmake_target_name", "Qt6::LinguistTools") @@ -1359,10 +1366,15 @@ def _create_plugin(pluginname, libname, plugintype, requires): _add_build_module("qtCore", self._cmake_entry_point_file) for m in os.listdir(os.path.join("lib", "cmake")): - module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") component_name = m.replace("Qt6", "qt") if component_name == "qt": component_name = "qtCore" + + module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) + + module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") if os.path.isfile(module): _add_build_module(component_name, module) @@ -1398,6 +1410,4 @@ def _add_build_modules_for_component(component): for c in self.cpp_info.components: _add_build_modules_for_component(c) - build_modules_list.append(os.path.join(self.package_folder, "lib", "cmake", "Qt6Core", "Qt6CoreConfigExtras.cmake")) - self.cpp_info.set_property("cmake_build_modules", build_modules_list) From 587f411ccb637bff348132f5f9a319bafde26bed Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 21 Nov 2023 22:27:51 +0900 Subject: [PATCH 0118/1307] (#21273) lodepng: add version cci.20230410 --- recipes/lodepng/all/conandata.yml | 3 +++ recipes/lodepng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lodepng/all/conandata.yml b/recipes/lodepng/all/conandata.yml index bc34ea30306f5..c67c30a9939fd 100644 --- a/recipes/lodepng/all/conandata.yml +++ b/recipes/lodepng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230410": + url: "https://github.com/lvandeve/lodepng/archive/c18b949b71f45e78b1f9a28c5d458bce0da505d6.tar.gz" + sha256: "915d1bf834e67632b87bd18c932e6041ed0ca46a7e3493f5e3290980092cf2d9" "cci.20200615": url: "https://github.com/lvandeve/lodepng/archive/34628e89e80cd007179b25b0b2695e6af0f57fac.tar.gz" sha256: "486ece0b661e83e509f1c6c9a05ca8dd1dd0008eec47d2aad9359e3609ab44a9" diff --git a/recipes/lodepng/config.yml b/recipes/lodepng/config.yml index 4b29d9b93e715..7d5d008d1120b 100644 --- a/recipes/lodepng/config.yml +++ b/recipes/lodepng/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230410": + folder: all "cci.20200615": folder: all From 4af83b3ca5df6cc006d168c9e8eac9d4c56b71f2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 16:48:10 +0300 Subject: [PATCH 0119/1307] (#21277) entt: add package_type --- recipes/entt/3.x.x/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/entt/3.x.x/conanfile.py b/recipes/entt/3.x.x/conanfile.py index bcce48c1ce46c..3247530d794dc 100644 --- a/recipes/entt/3.x.x/conanfile.py +++ b/recipes/entt/3.x.x/conanfile.py @@ -15,6 +15,7 @@ class EnttConan(ConanFile): homepage = "https://github.com/skypjack/entt" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -41,7 +42,6 @@ def package_id(self): self.info.clear() def validate(self): - # TODO: use self.info.settings in validate() instead of self.settings if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -58,8 +58,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) From 209e89b0166ac6fc08bd8174e0d8a9e93ac8d7ad Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:08:39 +0300 Subject: [PATCH 0120/1307] (#21278) glm: add package_type --- recipes/glm/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/glm/all/conanfile.py b/recipes/glm/all/conanfile.py index b86499dcc4c3d..468e10f82d8df 100644 --- a/recipes/glm/all/conanfile.py +++ b/recipes/glm/all/conanfile.py @@ -14,6 +14,7 @@ class GlmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/g-truc/glm" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9dd858cb7b6fd955cc98ec65a14d0892cc895211 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:28:25 +0300 Subject: [PATCH 0121/1307] (#21279) jwasm: add package_type & modernize more --- recipes/jwasm/all/conanfile.py | 37 ++++++++++++---------------------- 1 file changed, 13 insertions(+), 24 deletions(-) diff --git a/recipes/jwasm/all/conanfile.py b/recipes/jwasm/all/conanfile.py index 682db91532894..fb10aeba03ec3 100644 --- a/recipes/jwasm/all/conanfile.py +++ b/recipes/jwasm/all/conanfile.py @@ -1,44 +1,36 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os -required_conan_version = ">=1.46.0" +required_conan_version = ">=1.53.0" class JwasmConan(ConanFile): name = "jwasm" description = "JWasm is intended to be a free Masm-compatible assembler." license = "Watcom-1.0" - topics = ("jwasm", "masm", "assembler") + topics = ("masm", "assembler") homepage = "https://github.com/JWasm/JWasm" url = "https://github.com/conan-io/conan-center-index" - + package_type = "application" settings = "os", "arch", "compiler", "build_type" def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def configure(self): - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass - - def package_id(self): - del self.info.settings.compiler + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): cmake_layout(self, src_folder="src") + def package_id(self): + del self.info.settings.compiler + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -56,11 +48,8 @@ def package(self): cmake.install() def package_info(self): - self.cpp_info.frameworkdirs = [] self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_path}") - self.env_info.PATH.append(bin_path) + # TODO: to remove once conan v1 support dropped + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From 33385904c200e9e18b76acdb1ff341bb32908063 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 17:50:29 +0300 Subject: [PATCH 0122/1307] (#21280) nlohmann_json: add package_type --- recipes/nlohmann_json/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nlohmann_json/all/conanfile.py b/recipes/nlohmann_json/all/conanfile.py index 83bc77059e036..98eaf15380fff 100644 --- a/recipes/nlohmann_json/all/conanfile.py +++ b/recipes/nlohmann_json/all/conanfile.py @@ -14,6 +14,7 @@ class NlohmannJsonConan(ConanFile): topics = "json", "header-only" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -32,8 +33,7 @@ def validate(self): check_min_cppstd(self, self._minimum_cpp_standard) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): pass From 51fba871e8341d6dcbe65e8b1a1002a218731d60 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:09:29 +0300 Subject: [PATCH 0123/1307] (#21281) spirv-headers: add package_type --- recipes/spirv-headers/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/spirv-headers/all/conanfile.py b/recipes/spirv-headers/all/conanfile.py index 852af3d493684..854ef17328263 100644 --- a/recipes/spirv-headers/all/conanfile.py +++ b/recipes/spirv-headers/all/conanfile.py @@ -13,6 +13,7 @@ class SpirvheadersConan(ConanFile): license = "MIT-KhronosGroup" topics = ("spirv", "spirv-v", "vulkan", "opengl", "opencl", "khronos") url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def layout(self): @@ -22,8 +23,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 0b2d635b746cc108719dbd60f8d638e08c095c1a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 18:30:59 +0300 Subject: [PATCH 0124/1307] (#21285) stb: add package_type + fix package id * add package_type * fix package id * typo --- recipes/stb/all/conanfile.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/stb/all/conanfile.py b/recipes/stb/all/conanfile.py index 540bdbac942b9..7c777ca96ad4c 100644 --- a/recipes/stb/all/conanfile.py +++ b/recipes/stb/all/conanfile.py @@ -14,9 +14,9 @@ class StbConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nothings/stb" license = ("Unlicense", "MIT") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - options = { "with_deprecated": [True, False], } @@ -39,11 +39,17 @@ def layout(self): basic_layout(self, src_folder="src") def package_id(self): - self.info.clear() + # Can't call self.info.clear() because options contribute to package id + self.info.settings.clear() + self.info.requires.clear() + try: + # conan v2 specific + self.info.conf.clear() + except AttributeError: + pass def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 33ad9746433d2e5c71fe0c35820c269df87d7975 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:08:52 +0900 Subject: [PATCH 0125/1307] (#21287) cairo: update dependencies --- recipes/cairo/meson/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py index 5246b94916751..76c7813fd5b69 100644 --- a/recipes/cairo/meson/conanfile.py +++ b/recipes/cairo/meson/conanfile.py @@ -85,7 +85,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("pixman/0.40.0") + self.requires("pixman/0.42.2") if self.options.with_zlib and self.options.with_png: self.requires("expat/2.5.0") if self.options.with_lzo: @@ -93,13 +93,13 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_freetype: - self.requires("freetype/2.13.0", transitive_headers=True, transitive_libs=True) + self.requires("freetype/2.13.2", transitive_headers=True, transitive_libs=True) if self.options.with_fontconfig: self.requires("fontconfig/2.14.2", transitive_headers=True, transitive_libs=True) if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") if self.settings.os in ["Linux", "FreeBSD"]: if self.options.with_xlib or self.options.with_xlib_xrender or self.options.with_xcb: self.requires("xorg/system", transitive_headers=True, transitive_libs=True) @@ -127,7 +127,7 @@ def validate(self): ) def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") From 8d6e4eb9858e781d752ff85adcbbcb6319e1dfa0 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:30:46 +0900 Subject: [PATCH 0126/1307] (#21289) ada: add version 2.7.4 --- recipes/ada/all/conandata.yml | 3 +++ recipes/ada/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml index 58db4c867f55a..e07ea43a3e678 100644 --- a/recipes/ada/all/conandata.yml +++ b/recipes/ada/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.4": + url: "https://github.com/ada-url/ada/archive/v2.7.4.tar.gz" + sha256: "897942ba8c99153f916c25698a49604022f3e54441cfa9b76f657ad15b6ca041" "2.7.3": url: "https://github.com/ada-url/ada/archive/v2.7.3.tar.gz" sha256: "8e222d536d237269488f7d454544eedf12847f47b3d42651e8c9963c3fb0cf5e" diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml index 2ef669e41a802..e97d7f2aa5a29 100644 --- a/recipes/ada/config.yml +++ b/recipes/ada/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.4": + folder: all "2.7.3": folder: all "2.7.2": From 16f7b6097c325e06ec1551fa4170c9f05665d408 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 01:49:04 +0900 Subject: [PATCH 0127/1307] (#21294) c-ares: add version 1.22.1 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index 8a35305c85a73..71897bd8283d0 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.22.1": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_1/c-ares-1.22.1.tar.gz" + sha256: "f67c180deb799c670d9dda995a18ce06f6c7320b6c6363ff8fa85b77d0da9db8" "1.22.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_0/c-ares-1.22.0.tar.gz" sha256: "ad2e205088083317147c9f9eab5f24b82c3d50927c381a7c963deeb1182dbc21" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 8554b774a5c3a..fcaa857492587 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.22.1": + folder: all "1.22.0": folder: all "1.21.0": From 5b9745fa92eedbc9394e9922323f1338443b1f6f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 02:09:31 +0900 Subject: [PATCH 0128/1307] (#21295) quill: add version 3.4.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 7582dc1978f3c..aebded6d0ed89 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4.1": + url: "https://github.com/odygrd/quill/archive/v3.4.1.tar.gz" + sha256: "99f6497b8ba37c30c871fab89f14cd7bc989f3eaa921ccd940a521ee60a6a1c5" "3.4.0": url: "https://github.com/odygrd/quill/archive/v3.4.0.tar.gz" sha256: "16a6cfadc288953f07d128bb51e8ebd4ca6bb8ce4175b5a8af53ce7dde324d8d" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 5b6996c9d6283..085eaabd5901d 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.4.1": + folder: "all" "3.4.0": folder: "all" "3.3.1": From da5d617fc86ceee1840ffbfb2f2a47cfdf3a34b1 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Tue, 21 Nov 2023 18:27:49 +0100 Subject: [PATCH 0129/1307] (#21300) [emsdk] bump to 3.1.49 --- recipes/emsdk/all/conandata.yml | 3 +++ recipes/emsdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index 03d78ede4c0b8..e702ac23683fc 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.49": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.49.tar.gz" + sha256: "c99d98da9241c7e72784bc764a3e60a65d8f27202d45f3cd422b2ac7245380d9" "3.1.48": url: "https://github.com/emscripten-core/emsdk/archive/3.1.48.tar.gz" sha256: "94b965ba8f2ff0949ff67c6943bf5638a1b8850e4491a25413cdaff5b18da42b" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index 663ad23c939e1..cc4300b7acb96 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.49": + folder: all "3.1.48": folder: all "3.1.47": From 35a87b183016474de2ad838c57e59fb479c86353 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 02:47:40 +0900 Subject: [PATCH 0130/1307] (#21301) ktx: update lodepng --- recipes/ktx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ktx/all/conanfile.py b/recipes/ktx/all/conanfile.py index 872df15047bc5..5d9cc3ea68050 100644 --- a/recipes/ktx/all/conanfile.py +++ b/recipes/ktx/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("lodepng/cci.20200615") + self.requires("lodepng/cci.20230410") self.requires("zstd/1.5.5") def validate(self): From 24b5c223cf07208044a8d556aee51789f0479bbf Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 21 Nov 2023 22:28:29 +0300 Subject: [PATCH 0131/1307] (#21276) trantor: remove legacy output.warn in order to properly support conan v2 + bump c-ares * remove legacy conan v1 output.warn * bump c-ares --- recipes/trantor/all/conanfile.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 6445f7c107ca0..3345447fe2f12 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -61,18 +61,17 @@ def layout(self): def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: - self.requires("c-ares/1.19.1") + self.requires("c-ares/1.22.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.info.settings.compiler), False) - if minimum_version: - if Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") - else: - self.output.warn(f"{self.ref} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") + if minimum_version and Version(self.info.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) # TODO: Compilation succeeds, but execution of test_package fails on Visual Studio with MDd if is_msvc(self) and self.options.shared and "MDd" in msvc_runtime_flag(self): From 546b5008a3cc3ba8047fe31e1ddfa564baede980 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 05:07:56 +0900 Subject: [PATCH 0132/1307] (#21288) libgd: update freetype/2.13.2, add patch for freetype --- recipes/libgd/all/conandata.yml | 15 +++++++++++++++ recipes/libgd/all/conanfile.py | 2 +- recipes/libgd/all/patches/2.2.5-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.0-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.2-use-cci.patch | 13 +++++++++++++ recipes/libgd/all/patches/2.3.3-use-cci.patch | 13 +++++++++++++ 6 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 recipes/libgd/all/patches/2.2.5-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.0-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.2-use-cci.patch create mode 100644 recipes/libgd/all/patches/2.3.3-use-cci.patch diff --git a/recipes/libgd/all/conandata.yml b/recipes/libgd/all/conandata.yml index e4acad43d15b2..f0b126888eb32 100644 --- a/recipes/libgd/all/conandata.yml +++ b/recipes/libgd/all/conandata.yml @@ -22,6 +22,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.3-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.2": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -32,6 +35,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.2-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.1": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -42,6 +48,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "portability" + - patch_file: "patches/2.3.0-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.3.0": - patch_file: "patches/remove-unistd-h.patch" patch_description: "remove unistd.h to fix build error" @@ -52,6 +61,9 @@ patches: - patch_file: "patches/2.3.x-png-msvc.patch" patch_description: "support png on msvc" patch_type: "conan" + - patch_file: "patches/2.3.0-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" "2.2.5": - patch_file: "patches/2.2.5-msvc-static-lib.patch" patch_description: "support static build on msvc" @@ -59,3 +71,6 @@ patches: - patch_file: "patches/2.2.5-qualify-nondll.patch" patch_description: "use BGD_NONDLL instead NONDLL" patch_type: "conan" + - patch_file: "patches/2.2.5-use-cci.patch" + patch_description: "use cci's package" + patch_type: "conan" diff --git a/recipes/libgd/all/conanfile.py b/recipes/libgd/all/conanfile.py index 5776782b6abbc..5de7e7911d0ed 100644 --- a/recipes/libgd/all/conanfile.py +++ b/recipes/libgd/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): if self.options.with_tiff: self.requires("libtiff/4.6.0") if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/libgd/all/patches/2.2.5-use-cci.patch b/recipes/libgd/all/patches/2.2.5-use-cci.patch new file mode 100644 index 0000000000000..7a3609a12620d --- /dev/null +++ b/recipes/libgd/all/patches/2.2.5-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5b764eb..c411860 100755 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -110,7 +110,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.0-use-cci.patch b/recipes/libgd/all/patches/2.3.0-use-cci.patch new file mode 100644 index 0000000000000..cdb3bfc14381a --- /dev/null +++ b/recipes/libgd/all/patches/2.3.0-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index e1f8eda..aa06600 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -125,7 +125,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.2-use-cci.patch b/recipes/libgd/all/patches/2.3.2-use-cci.patch new file mode 100644 index 0000000000000..489c66beb6236 --- /dev/null +++ b/recipes/libgd/all/patches/2.3.2-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1d1be42..447458f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -122,7 +122,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} diff --git a/recipes/libgd/all/patches/2.3.3-use-cci.patch b/recipes/libgd/all/patches/2.3.3-use-cci.patch new file mode 100644 index 0000000000000..4a067840ce98f --- /dev/null +++ b/recipes/libgd/all/patches/2.3.3-use-cci.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 3b271a8..2ee5ef9 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -102,7 +102,7 @@ INCLUDE_DIRECTORIES(BEFORE "${PROJECT_BINARY_DIR}" "${CMAKE_BINARY_DIR}" "${GD_S + + SET(LIBGD_DEP_LIBS + ${ZLIB_LIBRARIES} +- ${FREETYPE_LIBRARIES} ++ ${freetype_LIBRARIES} + ${PNG_LIBRARIES} + ${ICONV_LIBRARIES} + ${LIQ_LIBRARIES} From 1a23f83199b8590211d6e81698eb0a47659e2c0c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 11:27:32 +0300 Subject: [PATCH 0133/1307] (#21180) wt: fix `*_PREFIX` variables passed to CMakeToolchain + bump sqlite3 * fix several paths passed to *_PREFIX variables * bump sqlite3 --- recipes/wt/all/conanfile.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 1e23253caacc0..50a93cf1536b8 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -103,7 +103,7 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.43.0") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): @@ -157,7 +157,7 @@ def _get_library_prefix(self): return "" if self.settings.os == "Windows" else "lib" def _cmakify_path_list(self, paths): - return ";".join(paths).replace("\\", "/") + return ";".join([p.replace("\\", "/") for p in paths]) def _find_library(self, libname, dep): for path in self.dependencies[dep].cpp_info.aggregated_components().libdirs: @@ -201,16 +201,16 @@ def generate(self): # FIXME: all this logic coming from upstream custom find module files seems fragile, to improve later ! # we can't even inject cmake_find_package generator, it breaks the all upstream logic - tc.variables["BOOST_PREFIX"] = self._cmakify_path_list(self.dependencies["boost"].package_folder) + tc.variables["BOOST_PREFIX"] = self._cmakify_path_list([self.dependencies["boost"].package_folder]) if self.options.connector_http: - tc.variables["ZLIB_PREFIX"] = self._cmakify_path_list(self.dependencies["zlib"].package_folder) + tc.variables["ZLIB_PREFIX"] = self._cmakify_path_list([self.dependencies["zlib"].package_folder]) if self.options.with_ssl: - tc.variables["SSL_PREFIX"] = self._cmakify_path_list(self.dependencies["openssl"].package_folder) + tc.variables["SSL_PREFIX"] = self._cmakify_path_list([self.dependencies["openssl"].package_folder]) tc.variables["OPENSSL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("openssl")) tc.variables["OPENSSL_INCLUDE_DIR"] = self._cmakify_path_list(self.dependencies["openssl"].cpp_info.aggregated_components().includedirs) tc.variables["OPENSSL_FOUND"] = True if self.options.get_safe("with_sqlite"): - tc.variables["SQLITE3_PREFIX"] = self._cmakify_path_list(self.dependencies["sqlite3"].package_folder) + tc.variables["SQLITE3_PREFIX"] = self._cmakify_path_list([self.dependencies["sqlite3"].package_folder]) if self.options.get_safe("with_mysql"): tc.variables["MYSQL_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libmysqlclient")) libmysqlclient_cppinfo = self.dependencies["libmysqlclient"].cpp_info.aggregated_components() @@ -218,17 +218,17 @@ def generate(self): tc.variables["MYSQL_DEFINITIONS"] = ";".join(f"-D{d}" for d in libmysqlclient_cppinfo.defines) tc.variables["MYSQL_FOUND"] = True if self.options.get_safe("with_postgres"): - tc.variables["POSTGRES_PREFIX"] = self._cmakify_path_list(self.dependencies["libpq"].package_folder) + tc.variables["POSTGRES_PREFIX"] = self._cmakify_path_list([self.dependencies["libpq"].package_folder]) tc.variables["POSTGRES_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("libpq")) tc.variables["POSTGRES_INCLUDE"] = self._cmakify_path_list(self.dependencies["libpq"].cpp_info.aggregated_components().includedirs) tc.variables["POSTGRES_FOUND"] = True if self.options.get_safe("with_mssql") and self.settings.os != "Windows": - tc.variables["ODBC_PREFIX"] = self._cmakify_path_list(self.dependencies["odbc"].package_folder) + tc.variables["ODBC_PREFIX"] = self._cmakify_path_list([self.dependencies["odbc"].package_folder]) tc.variables["ODBC_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("odbc")) tc.variables["ODBC_INCLUDE"] = self._cmakify_path_list(self.dependencies["odbc"].cpp_info.aggregated_components().includedirs) tc.variables["ODBC_FOUND"] = True if self.options.get_safe("with_unwind"): - tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list(self.dependencies["libunwind"].package_folder) + tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list([self.dependencies["libunwind"].package_folder]) if self.settings.os == "Windows": tc.variables["CONNECTOR_FCGI"] = False tc.variables["CONNECTOR_ISAPI"] = self.options.connector_isapi From df61f06090cf7e79526dfdae390e3ec47d7505fb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 22 Nov 2023 09:28:38 +0100 Subject: [PATCH 0134/1307] (#21262) [bot] Update authorized users list (2023-11-20) --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index eb2fa30e632e6..b4ac09c53df56 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1236,3 +1236,7 @@ authorized_users: - agdavydov81 - sizeak - johannes-wolf +- cyberflashguru +- OndrejSlamecka +- correaa +- jakeheke75 From 50b5b1f3db1ae934da49373d7dc17b2f6453664a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 11:47:31 +0300 Subject: [PATCH 0135/1307] (#21199) glfw: fix regressions introduced by #20913 * do not require xorg for non-Linux platforms it fixes a regression introduced by https://github.com/conan-io/conan-center-index/pull/20913 * update required_conan_version due to host_version in build requirements * better way to handle CMake variables related to x11 and wayland and fix version comparison related to these options * do not add wayland in build requirements if 1 profile as it may lead to conflicts impossible to resolve for consumers * move wayland-protocols to build requirements * use legacy deps_cpp_info for wayland-protocols workaround with 1 profile * more elegant workaround for wayland-protocols and 1 profile * reduce PR diff --- recipes/glfw/all/conanfile.py | 59 ++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 14 deletions(-) diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py index 29249e91fd11c..c27f9801a9ee6 100644 --- a/recipes/glfw/all/conanfile.py +++ b/recipes/glfw/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualBuildEnv +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime @@ -9,7 +9,7 @@ import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" class GlfwConan(ConanFile): @@ -50,7 +50,7 @@ def config_options(self): self.options.rm_safe("fPIC") if self.settings.os != "Linux": self.options.rm_safe("with_wayland") - if not self.settings.os in ["Linux", "FreeBSD"] or self.version <= Version("3.3.8"): + if self.settings.os not in ["Linux", "FreeBSD"] or Version(self.version) <= "3.3.8": self.options.rm_safe("with_x11") def configure(self): @@ -69,11 +69,11 @@ def requirements(self): self.requires("opengl/system") if self.options.vulkan_static: self.requires("vulkan-loader/1.3.243.0") - if self.options.get_safe("with_x11") or self.version <= Version("3.3.8"): - self.requires("xorg/system") + if self.settings.os in ["Linux", "FreeBSD"]: + if self.options.get_safe("with_x11", True): + self.requires("xorg/system") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") - self.requires("wayland-protocols/1.32") self.requires("xkbcommon/1.6.0") def validate(self): @@ -82,30 +82,61 @@ def validate(self): def build_requirements(self): if self.options.get_safe("with_wayland"): - self.tool_requires("wayland/") + self.tool_requires("wayland-protocols/1.32") + if self._has_build_profile: + self.tool_requires("wayland/") + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if self.options.get_safe("with_wayland") and not self._has_build_profile: + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = CMakeToolchain(self) tc.cache_variables["GLFW_BUILD_DOCS"] = False tc.cache_variables["GLFW_BUILD_EXAMPLES"] = False tc.cache_variables["GLFW_BUILD_TESTS"] = False - tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11") tc.cache_variables["GLFW_INSTALL"] = True - tc.variables["GLFW_USE_WAYLAND" if self.version <= "3.3.8" else "GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland") + if Version(self.version) > "3.3.8": + tc.cache_variables["GLFW_BUILD_X11"] = self.options.get_safe("with_x11", False) + tc.cache_variables["GLFW_BUILD_WAYLAND"] = self.options.get_safe("with_wayland", False) + else: + tc.cache_variables["GLFW_USE_WAYLAND"] = self.options.get_safe("with_wayland", False) tc.variables["GLFW_VULKAN_STATIC"] = self.options.vulkan_static if is_msvc(self): tc.cache_variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) tc.generate() cmake_deps = CMakeDeps(self) - cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") + if self.options.get_safe("with_wayland"): + cmake_deps.set_property("xkbcommon", "cmake_file_name", "XKBCommon") cmake_deps.generate() - pkg_config_deps = PkgConfigDeps(self) - pkg_config_deps.generate() - virtual_build_env = VirtualBuildEnv(self) - virtual_build_env.generate() + if self.options.get_safe("with_wayland"): + pkg_config_deps = PkgConfigDeps(self) + if self._has_build_profile: + pkg_config_deps.build_context_activated = ["wayland-protocols"] + else: + # Manually generate pkgconfig file of wayland-protocols since + # PkgConfigDeps.build_context_activated can't work with legacy 1 profile + # We must use legacy conan v1 deps_cpp_info because self.dependencies doesn't + # contain build requirements when using 1 profile. + wp_prefix = self.deps_cpp_info["wayland-protocols"].rootpath + wp_version = self.deps_cpp_info["wayland-protocols"].version + wp_pkg_content = textwrap.dedent(f"""\ + prefix={wp_prefix} + datarootdir=${{prefix}}/res + pkgdatadir=${{datarootdir}}/wayland-protocols + Name: Wayland Protocols + Description: Wayland protocol files + Version: {wp_version} + """) + save(self, os.path.join(self.generators_folder, "wayland-protocols.pc"), wp_pkg_content) + pkg_config_deps.generate() def _patch_sources(self): apply_conandata_patches(self) From c0f8ed59c5a278faf346f1cce64cc8b7de83b917 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 22 Nov 2023 12:28:05 +0300 Subject: [PATCH 0136/1307] (#21200) sofa: add 20231011 --- recipes/sofa/all/conandata.yml | 3 +++ recipes/sofa/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sofa/all/conandata.yml b/recipes/sofa/all/conandata.yml index 7a99aaa5b5893..d4de8c6bcf502 100644 --- a/recipes/sofa/all/conandata.yml +++ b/recipes/sofa/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20231011": + url: "http://www.iausofa.org/2023_1011_C/sofa_c-20231011.tar.gz" + sha256: "d9c10833cae8b4d9361a0ffda31ec361fd1262362025bec4d4e51a880150ace2" "20210512": url: "http://www.iausofa.org/2021_0512_C/sofa_c-20210512.tar.gz" sha256: "3362baba47ce965af1fc6a3141052a0e1f643d186e8deca83df1ea97455bb2fd" diff --git a/recipes/sofa/config.yml b/recipes/sofa/config.yml index de0c26b7bcf2a..a6912b42b0a98 100644 --- a/recipes/sofa/config.yml +++ b/recipes/sofa/config.yml @@ -1,4 +1,6 @@ versions: + "20231011": + folder: all "20210512": folder: all "20210125_a": From e70b0d30401de78beaf143da8762ba2a47327f9c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 22 Nov 2023 18:53:02 +0900 Subject: [PATCH 0137/1307] (#21307) implot: update imgui/1.90 --- recipes/implot/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/implot/all/conanfile.py b/recipes/implot/all/conanfile.py index 6bc9eddf1f5d2..0f83131c24116 100644 --- a/recipes/implot/all/conanfile.py +++ b/recipes/implot/all/conanfile.py @@ -39,7 +39,7 @@ def configure(self): def requirements(self): if Version(self.version) >= "0.15": - self.requires("imgui/1.89.9", transitive_headers=True) + self.requires("imgui/1.90", transitive_headers=True) elif Version(self.version) >= "0.14": self.requires("imgui/1.89.4", transitive_headers=True) elif Version(self.version) >= "0.13": From 739df54852cc97c9168cf3ce1d0a0d38e292a9f9 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 22 Nov 2023 11:49:03 +0100 Subject: [PATCH 0138/1307] (#21184) libcurl: cleanup remove dead code after bed40ca0a7eb45a7b1c8882ef4be2c79b48563b0 also, bump deps identified in https://github.com/conan-io/conan-center-index/issues/21146 and https://github.com/conan-io/conan-center-index/issues/21163 --- recipes/libcurl/all/conanfile.py | 41 +++++-------------- .../libcurl/all/patches/004-no-checksrc.patch | 12 ------ 2 files changed, 10 insertions(+), 43 deletions(-) delete mode 100644 recipes/libcurl/all/patches/004-no-checksrc.patch diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index f900348955a32..60998d280ae09 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -49,7 +49,6 @@ class LibcurlConan(ConanFile): "with_libidn": [True, False], "with_librtmp": [True, False], "with_libgsasl": [True, False], - "with_libmetalink": [True, False], "with_libpsl": [True, False], "with_largemaxwritesize": [True, False], "with_nghttp2": [True, False], @@ -95,7 +94,6 @@ class LibcurlConan(ConanFile): "with_libidn": False, "with_librtmp": False, "with_libgsasl": False, - "with_libmetalink": False, "with_libpsl": False, "with_largemaxwritesize": False, "with_nghttp2": False, @@ -136,11 +134,6 @@ def _is_win_x_android(self): def _is_using_cmake_build(self): return is_msvc(self) or self._is_win_x_android - @property - def _has_metalink_option(self): - # Support for metalink was removed in version 7.78.0 https://github.com/curl/curl/pull/7176 - return Version(self.version) < "7.78.0" and not self._is_using_cmake_build - @property def _has_with_libpsl_option(self): return not (self._is_using_cmake_build and Version(self.version) < "7.84.0") @@ -152,8 +145,6 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if not self._has_metalink_option: - del self.options.with_libmetalink if not self._has_with_libpsl_option: del self.options.with_libpsl if self._is_using_cmake_build: @@ -185,7 +176,7 @@ def requirements(self): elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.3") if self.options.with_nghttp2: - self.requires("libnghttp2/1.56.0") + self.requires("libnghttp2/1.58.0") if self.options.with_libssh2: self.requires("libssh2/1.11.0") if self.options.with_zlib: @@ -195,7 +186,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: - self.requires("c-ares/1.19.1") + self.requires("c-ares/1.22.0") if self.options.get_safe("with_libpsl"): self.requires("libpsl/0.21.1") @@ -216,7 +207,7 @@ def build_requirements(self): else: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.2") + self.tool_requires("pkgconf/2.0.3") if self.settings.os in [ "tvOS", "watchOS" ]: self.tool_requires("gnu-config/cci.20210814") if self._settings_build.os == "Windows": @@ -436,15 +427,14 @@ def _generate_with_autotools(self): ]) # Since 7.77.0, disabling TLS must be explicitly requested otherwise it fails - if Version(self.version) >= "7.77.0" and not self.options.with_ssl: + if not self.options.with_ssl: tc.configure_args.append("--without-ssl") - openssl_option = "ssl" if Version(self.version) < "7.77.0" else "openssl" if self.options.with_ssl == "openssl": path = unix_path(self, self.dependencies["openssl"].package_folder) - tc.configure_args.append(f"--with-{openssl_option}={path}") + tc.configure_args.append(f"--with-openssl={path}") else: - tc.configure_args.append(f"--without-{openssl_option}") + tc.configure_args.append("--without-openssl") if self.options.with_ssl == "wolfssl": path = unix_path(self, self.dependencies["wolfssl"].package_folder) @@ -470,9 +460,6 @@ def _generate_with_autotools(self): else: tc.configure_args.append("--without-zlib") - if self._has_metalink_option: - tc.configure_args.append(f"--with-libmetalink={self._yes_no(self.options.with_libmetalink)}") - if not self.options.with_proxy: tc.configure_args.append("--disable-proxy") @@ -484,10 +471,7 @@ def _generate_with_autotools(self): # ntlm will default to enabled if any SSL options are enabled if not self.options.with_ntlm: - if Version(self.version) <= "7.77.0": - tc.configure_args.append("--disable-crypto-auth") - else: - tc.configure_args.append("--disable-ntlm") + tc.configure_args.append("--disable-ntlm") if not self.options.with_ntlm_wb: tc.configure_args.append("--disable-ntlm-wb") @@ -607,10 +591,7 @@ def _generate_with_cmake(self): # Also disables NTLM_WB if set to false if not self.options.with_ntlm: - if Version(self.version) <= "7.77.0": - tc.variables["CURL_DISABLE_CRYPTO_AUTH"] = True - else: - tc.variables["CURL_DISABLE_NTLM"] = True + tc.variables["CURL_DISABLE_NTLM"] = True tc.variables["NTLM_WB_ENABLED"] = self.options.with_ntlm_wb if self.options.with_ca_bundle: @@ -684,10 +665,8 @@ def package_info(self): if self.options.with_ssl == "schannel": self.cpp_info.components["curl"].system_libs.append("crypt32") elif is_apple_os(self): - if Version(self.version) >= "7.78.0" or self.options.with_ssl == "darwinssl": - self.cpp_info.components["curl"].frameworks.append("CoreFoundation") - if Version(self.version) >= "7.77.0": - self.cpp_info.components["curl"].frameworks.append("SystemConfiguration") + self.cpp_info.components["curl"].frameworks.append("CoreFoundation") + self.cpp_info.components["curl"].frameworks.append("SystemConfiguration") if self.options.with_ldap: self.cpp_info.components["curl"].system_libs.append("ldap") if self.options.with_ssl == "darwinssl": diff --git a/recipes/libcurl/all/patches/004-no-checksrc.patch b/recipes/libcurl/all/patches/004-no-checksrc.patch deleted file mode 100644 index 7a5cb866faa93..0000000000000 --- a/recipes/libcurl/all/patches/004-no-checksrc.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN a/lib/Makefile.am b/lib/Makefile.am ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -138,8 +138,6 @@ - CS_ = $(CS_0) - - checksrc: -- $(CHECKSRC)(@PERL@ $(srcdir)/checksrc.pl -D$(srcdir) -W$(srcdir)/curl_config.h \ -- $(srcdir)/*.[ch] $(srcdir)/vauth/*.[ch] $(srcdir)/vtls/*.[ch] $(srcdir)/vquic/*.[ch] $(srcdir)/vssh/*.[ch]) - - if CURLDEBUG - # for debug builds, we scan the sources on all regular make invokes From 2df61c8065e3114fc2e6d62c6882d62c394892f7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 22 Nov 2023 21:45:15 +0100 Subject: [PATCH 0139/1307] (#21319) [config] Add parallel strategy for BuildSingleReference --- .c3i/config_v1.yml | 1 + .c3i/config_v2.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index e7fe571c34fb5..bb61be1f4e1b0 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -49,6 +49,7 @@ tasks: - boost - qt - llvm + parallel_strategy: unlimited cci: conan_v2_run_export: false write_comments: true diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 677e540455c59..69f002da7a538 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -41,6 +41,7 @@ tasks: - qt - llvm - gstreamer + parallel_strategy: unlimited cci: conan_v2_run_export: false detailed_status_checks: false From 487f86b8e0a915db3554ed01d9c5353bc45597c5 Mon Sep 17 00:00:00 2001 From: ashley-b Date: Thu, 23 Nov 2023 09:45:15 +1100 Subject: [PATCH 0140/1307] (#18813) libgpiod: Added version 1.6.4 and 2.0.1 * libgpiod: Added version 1.6.4 and 2.0.1 - Added version 1.6.4 - Added new major version 2.0.1 with breaking API change - Fixed test_package to work with version 1 & 2 * Update config.yml with new versions * WIP * Reorder the versions * libgpiod: Added version 2.1 --- recipes/libgpiod/all/conandata.yml | 9 +++++++++ recipes/libgpiod/all/test_package/test_package.c | 2 +- recipes/libgpiod/config.yml | 6 ++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/recipes/libgpiod/all/conandata.yml b/recipes/libgpiod/all/conandata.yml index 851ae98da0f81..e57f9b7713c5f 100644 --- a/recipes/libgpiod/all/conandata.yml +++ b/recipes/libgpiod/all/conandata.yml @@ -1,4 +1,13 @@ sources: + "2.1": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-2.1.tar.gz" + sha256: "fd6ed4b2c674fe6cc3b481880f6cde1eea79e296e95a139b85401eaaea6de3fc" + "2.0.1": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-2.0.1.tar.gz" + sha256: "b6eda55356160a8e73906e3d48e959ef81296787d764975b10f257e9660668e9" + "1.6.4": + url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-1.6.4.tar.gz" + sha256: "829d4ac268df07853609d67cfc7f476e9aa736cb2a68a630be99e8fad197be0a" "1.6.3": url: "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/snapshot/libgpiod-1.6.3.tar.gz" sha256: "eb446070be1444fd7d32d32bbca53c2f3bbb0a21193db86198cf6050b7a28441" diff --git a/recipes/libgpiod/all/test_package/test_package.c b/recipes/libgpiod/all/test_package/test_package.c index 686dc9682cd7d..624c4536ecb0e 100644 --- a/recipes/libgpiod/all/test_package/test_package.c +++ b/recipes/libgpiod/all/test_package/test_package.c @@ -2,6 +2,6 @@ int main(int argc, char *argv[]) { struct gpiod_chip *chip; - chip = gpiod_chip_open_by_name("gpiochip0"); + chip = gpiod_chip_open("/dev/gpiochip0"); return 0; } diff --git a/recipes/libgpiod/config.yml b/recipes/libgpiod/config.yml index bfd56b0a1b59f..032322a67e7ab 100644 --- a/recipes/libgpiod/config.yml +++ b/recipes/libgpiod/config.yml @@ -1,3 +1,9 @@ versions: + "2.1": + folder: all + "2.0.1": + folder: all + "1.6.4": + folder: all "1.6.3": folder: all From 98446ff031d58a61d6a2b3e34b172f40e5127b7f Mon Sep 17 00:00:00 2001 From: Fabio Rossetto Date: Thu, 23 Nov 2023 00:47:29 +0100 Subject: [PATCH 0141/1307] (#18983) capnproto: zlib is a dependency of kj-http The conanfile of capnproto was failing to list zlib::zlib as a requirement for kj-http. This is wrong, as kj-http uses zlib directly in the websocket implementation, if zlib is used. --- recipes/capnproto/all/conanfile.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 5c1f1850cd6c9..8b8d3ca76e788 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -205,11 +205,13 @@ def package_info(self): {"name": "capnpc", "requires": ["capnp", "kj"]}, {"name": "kj", "requires": []}, {"name": "kj-async", "requires": ["kj"]}, - {"name": "kj-http", "requires": ["kj", "kj-async"]}, {"name": "kj-test", "requires": ["kj"]}, - ] + ] if self.options.get_safe("with_zlib"): components.append({"name": "kj-gzip", "requires": ["kj", "kj-async", "zlib::zlib"]}) + components.append({"name": "kj-http", "requires": ["kj", "kj-async", "zlib::zlib"]}) + else: + components.append({"name": "kj-http", "requires": ["kj", "kj-async"]}) if self.options.with_openssl: components.append({"name": "kj-tls", "requires": ["kj", "kj-async", "openssl::openssl"]}) if Version(self.version) >= "0.9.0": From 0845ed0c0141f5c4babd1f1314f7641667ab7b39 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:26:02 +0300 Subject: [PATCH 0142/1307] (#20566) replxx: fix MinGW shared + remove old version + fix cpp_info.libs for RelWithDebInfo --- recipes/replxx/all/conandata.yml | 14 +- recipes/replxx/all/conanfile.py | 25 ++- ....0.3-0001-fix-export-symbols-windows.patch | 51 ++++++ ....0.4-0001-fix-export-symbols-windows.patch | 151 ++++++++++++++++++ recipes/replxx/config.yml | 2 - 5 files changed, 224 insertions(+), 19 deletions(-) create mode 100644 recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch create mode 100644 recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch diff --git a/recipes/replxx/all/conandata.yml b/recipes/replxx/all/conandata.yml index 6dce0f8a4cabd..cc779ef163dc2 100644 --- a/recipes/replxx/all/conandata.yml +++ b/recipes/replxx/all/conandata.yml @@ -5,6 +5,14 @@ sources: "0.0.3": url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.3.tar.gz" sha256: "72ad0655eead16544645b1724b27a988543fcefd14d46df6e8dfef17d9ba50ac" - "0.0.2": - url: "https://github.com/AmokHuginnsson/replxx/archive/release-0.0.2.tar.gz" - sha256: "6f5c58b4cd23550d5a589d134727296438793cb818ce7158fbd5e1b0db1548ba" +patches: + "0.0.4": + - patch_file: "patches/0.0.4-0001-fix-export-symbols-windows.patch" + patch_description: "Fix export of symbols for Windows" + patch_type: "portability" + patch_source: "https://github.com/AmokHuginnsson/replxx/pull/151" + "0.0.3": + - patch_file: "patches/0.0.3-0001-fix-export-symbols-windows.patch" + patch_description: "Fix export of symbols for Windows" + patch_type: "portability" + patch_source: "https://github.com/AmokHuginnsson/replxx/pull/151" diff --git a/recipes/replxx/all/conanfile.py b/recipes/replxx/all/conanfile.py index 1d287dc51fe1f..72beed1028bdc 100644 --- a/recipes/replxx/all/conanfile.py +++ b/recipes/replxx/all/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile -from conan.tools.files import get, copy, rmdir, replace_in_file from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -33,6 +32,9 @@ class ReplxxConan(ConanFile): def _min_cppstd(self): return 11 + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,17 +55,12 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["REPLXX_BuildExamples"] = False - tc.variables["BUILD_STATIC_LIBS"] = not self.options.shared + tc.variables["REPLXX_BUILD_EXAMPLES"] = False + tc.variables["REPLXX_BUILD_PACKAGE"] = False tc.generate() def build(self): - if Version(self.version) < "0.0.3": - replace_in_file(self, - os.path.join(self.source_folder, "src", "io.cxx"), - "#include \n", - "#include \n#include \n" - ) + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -75,18 +72,18 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "replxx") + self.cpp_info.set_property("cmake_target_name", "replxx::replxx") libname = "replxx" if is_msvc(self) and not self.options.shared: libname += "-static" if self.settings.build_type == "Debug": libname += "-d" + elif self.settings.build_type == "RelWithDebInfo": + libname += "-rd" self.cpp_info.libs = [libname] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] if not self.options.shared: self.cpp_info.defines.append("REPLXX_STATIC") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "replxx" - self.cpp_info.filenames["cmake_find_package_multi"] = "replxx" diff --git a/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch b/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch new file mode 100644 index 0000000000000..752c888324f23 --- /dev/null +++ b/recipes/replxx/all/patches/0.0.3-0001-fix-export-symbols-windows.patch @@ -0,0 +1,51 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) + endif() + +-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS ON) + +@@ -77,8 +76,8 @@ target_compile_definitions( + replxx + PUBLIC + $<$>:REPLXX_STATIC> +- $<$:REPLXX_BUILDING_DLL> + PRIVATE ++ $<$:REPLXX_BUILDING_DLL> + $<$:_CRT_SECURE_NO_WARNINGS=1 /ignore:4503> + ) + target_compile_options( +--- a/include/replxx.h ++++ b/include/replxx.h +@@ -435,7 +435,7 @@ REPLXX_IMPEXP void replxx_bind_key( Replxx*, int code, key_press_handler_t handl + * \param actionName - name of internal action to be invoked on key press. + * \return -1 if invalid action name was used, 0 otherwise. + */ +-int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); ++REPLXX_IMPEXP int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); + + REPLXX_IMPEXP void replxx_set_preload_buffer( Replxx*, const char* preloadText ); + +@@ -552,7 +552,7 @@ REPLXX_IMPEXP int replxx_history_load( Replxx*, const char* filename ); + REPLXX_IMPEXP void replxx_history_clear( Replxx* ); + REPLXX_IMPEXP void replxx_clear_screen( Replxx* ); + #ifdef __REPLXX_DEBUG__ +-void replxx_debug_dump_print_codes(void); ++REPLXX_IMPEXP void replxx_debug_dump_print_codes(void); + #endif + /* the following is extension to the original linenoise API */ + REPLXX_IMPEXP int replxx_install_window_change_handler( Replxx* ); +--- a/include/replxx.hxx ++++ b/include/replxx.hxx +@@ -242,7 +242,7 @@ public: + } + }; + class HistoryScanImpl; +- class HistoryScan { ++ class REPLXX_IMPEXP HistoryScan { + public: + typedef std::unique_ptr impl_t; + private: diff --git a/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch b/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch new file mode 100644 index 0000000000000..12104832cd70d --- /dev/null +++ b/recipes/replxx/all/patches/0.0.4-0001-fix-export-symbols-windows.patch @@ -0,0 +1,151 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,6 @@ if (NOT DEFINED CMAKE_C_STANDARD) + set(CMAKE_C_STANDARD 99) + endif() + +-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS ON) + +@@ -77,8 +76,8 @@ target_compile_definitions( + replxx + PUBLIC + $<$>:REPLXX_STATIC> +- $<$:REPLXX_BUILDING_DLL> + PRIVATE ++ $<$:REPLXX_BUILDING_DLL> + $<$:_CRT_SECURE_NO_WARNINGS=1 /ignore:4503> + ) + target_compile_options( +--- a/include/replxx.h ++++ b/include/replxx.h +@@ -449,7 +449,7 @@ REPLXX_IMPEXP void replxx_bind_key( Replxx*, int code, key_press_handler_t handl + * \param actionName - name of internal action to be invoked on key press. + * \return -1 if invalid action name was used, 0 otherwise. + */ +-int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); ++REPLXX_IMPEXP int replxx_bind_key_internal( Replxx*, int code, char const* actionName ); + + REPLXX_IMPEXP void replxx_set_preload_buffer( Replxx*, const char* preloadText ); + +@@ -572,7 +572,7 @@ REPLXX_IMPEXP int replxx_history_load( Replxx*, const char* filename ); + REPLXX_IMPEXP void replxx_history_clear( Replxx* ); + REPLXX_IMPEXP void replxx_clear_screen( Replxx* ); + #ifdef __REPLXX_DEBUG__ +-void replxx_debug_dump_print_codes(void); ++REPLXX_IMPEXP void replxx_debug_dump_print_codes(void); + #endif + /* the following is extension to the original linenoise API */ + REPLXX_IMPEXP int replxx_install_window_change_handler( Replxx* ); +@@ -587,35 +587,35 @@ REPLXX_IMPEXP void replxx_disable_bracketed_paste( Replxx* ); + * \param color2 - second input color. + * \return A new color definition that represent combined input colors. + */ +-ReplxxColor replxx_color_combine( ReplxxColor color1, ReplxxColor color2 ); ++REPLXX_IMPEXP ReplxxColor replxx_color_combine( ReplxxColor color1, ReplxxColor color2 ); + + /*! \brief Transform foreground color definition into a background color definition. + * + * \param color - an input foreground color definition. + * \return A background color definition that is a transformed input \e color. + */ +-ReplxxColor replxx_color_bg( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_bg( ReplxxColor color ); + + /*! \brief Add `bold` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with bold attribute set. + */ +-ReplxxColor replxx_color_bold( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_bold( ReplxxColor color ); + + /*! \brief Add `underline` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with underline attribute set. + */ +-ReplxxColor replxx_color_underline( ReplxxColor color ); ++REPLXX_IMPEXP ReplxxColor replxx_color_underline( ReplxxColor color ); + + /*! \brief Create a new grayscale color of given brightness level. + * + * \param level - a brightness level for new color, must be between 0 (darkest) and 23 (brightest). + * \return A new grayscale color of a given brightest \e level. + */ +-ReplxxColor replxx_color_grayscale( int level ); ++REPLXX_IMPEXP ReplxxColor replxx_color_grayscale( int level ); + + /*! \brief Create a new color in 6×6×6 RGB color space from base component levels. + * +@@ -624,7 +624,7 @@ ReplxxColor replxx_color_grayscale( int level ); + * \param blue - a blue (of RGB) component level, must be 0 and 5. + * \return A new color in 6×6×6 RGB color space. + */ +-ReplxxColor replxx_color_rgb666( int red, int green, int blue ); ++REPLXX_IMPEXP ReplxxColor replxx_color_rgb666( int red, int green, int blue ); + + #ifdef __cplusplus + } +--- a/include/replxx.hxx ++++ b/include/replxx.hxx +@@ -249,7 +249,7 @@ public: + } + }; + class HistoryScanImpl; +- class HistoryScan { ++ class REPLXX_IMPEXP HistoryScan { + public: + typedef std::unique_ptr impl_t; + private: +@@ -646,35 +646,35 @@ namespace color { + * \param color2 - second input color. + * \return A new color definition that represent combined input colors. + */ +-Replxx::Color operator | ( Replxx::Color color1, Replxx::Color color2 ); ++REPLXX_IMPEXP Replxx::Color operator | ( Replxx::Color color1, Replxx::Color color2 ); + + /*! \brief Transform foreground color definition into a background color definition. + * + * \param color - an input foreground color definition. + * \return A background color definition that is a transformed input \e color. + */ +-Replxx::Color bg( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color bg( Replxx::Color color ); + + /*! \brief Add `bold` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with bold attribute set. + */ +-Replxx::Color bold( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color bold( Replxx::Color color ); + + /*! \brief Add `underline` attribute to color definition. + * + * \param color - an input color definition. + * \return A new color definition with underline attribute set. + */ +-Replxx::Color underline( Replxx::Color color ); ++REPLXX_IMPEXP Replxx::Color underline( Replxx::Color color ); + + /*! \brief Create a new grayscale color of given brightness level. + * + * \param level - a brightness level for new color, must be between 0 (darkest) and 23 (brightest). + * \return A new grayscale color of a given brightest \e level. + */ +-Replxx::Color grayscale( int level ); ++REPLXX_IMPEXP Replxx::Color grayscale( int level ); + + /*! \brief Create a new color in 6×6×6 RGB color space from base component levels. + * +@@ -683,7 +683,7 @@ Replxx::Color grayscale( int level ); + * \param blue - a blue (of RGB) component level, must be 0 and 5. + * \return A new color in 6×6×6 RGB color space. + */ +-Replxx::Color rgb666( int red, int green, int blue ); ++REPLXX_IMPEXP Replxx::Color rgb666( int red, int green, int blue ); + + } + diff --git a/recipes/replxx/config.yml b/recipes/replxx/config.yml index 280ae0c8f5550..9579ce3b8a9cd 100644 --- a/recipes/replxx/config.yml +++ b/recipes/replxx/config.yml @@ -3,5 +3,3 @@ versions: folder: "all" "0.0.3": folder: "all" - "0.0.2": - folder: "all" From c1fa15593c21a24665f630bf09fda26e0799f4d3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 03:47:24 +0300 Subject: [PATCH 0143/1307] (#21202) libvpx: add 1.13.1 + remove shared option and set package_type to static-library if Windows instead of raising for shared=True * remove shared option if Windows instead of raising * add patch_source * add libvpx/1.13.1 * add another patch_source --- recipes/libvpx/all/conandata.yml | 13 ++++++++++--- recipes/libvpx/all/conanfile.py | 9 +++++---- recipes/libvpx/config.yml | 2 ++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/recipes/libvpx/all/conandata.yml b/recipes/libvpx/all/conandata.yml index a64c42db322ce..6d2cd13499015 100644 --- a/recipes/libvpx/all/conandata.yml +++ b/recipes/libvpx/all/conandata.yml @@ -1,26 +1,33 @@ sources: + "1.13.1": + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.13.1.tar.gz" + sha256: "00dae80465567272abd077f59355f95ac91d7809a2d3006f9ace2637dd429d14" "1.11.0": - url: "https://github.com/webmproject/libvpx/archive/v1.11.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.11.0.tar.gz" sha256: "965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83" "1.10.0": - url: "https://github.com/webmproject/libvpx/archive/v1.10.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.10.0.tar.gz" sha256: "85803ccbdbdd7a3b03d930187cb055f1353596969c1f92ebec2db839fa4f834a" "1.9.0": - url: "https://github.com/webmproject/libvpx/archive/v1.9.0.tar.gz" + url: "https://github.com/webmproject/libvpx/archive/refs/tags/v1.9.0.tar.gz" sha256: "d279c10e4b9316bf11a570ba16c3d55791e1ad6faa4404c67422eb631782c80a" patches: "1.11.0": - patch_file: "patches/0001-extended-support-1.10.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" "1.10.0": - patch_file: "patches/0001-extended-support-1.10.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" "1.9.0": - patch_file: "patches/0001-extended-support-1.9.0.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/cafe7cc1f10cfea74edb2ded7c3df2d69fcf1eee" - patch_file: "patches/0002-msvc_conan_build.patch" patch_type: "portability" patch_description: "Add support for more compilers" + patch_source: "https://github.com/webmproject/libvpx/commit/04086a30664d2a3e89d6a6e4e1c18f1a82c8f958" diff --git a/recipes/libvpx/all/conanfile.py b/recipes/libvpx/all/conanfile.py index e431a16c35a92..42873e7560c7d 100644 --- a/recipes/libvpx/all/conanfile.py +++ b/recipes/libvpx/all/conanfile.py @@ -53,15 +53,16 @@ def config_options(self): delattr(self.options, name) def configure(self): - if self.options.shared: + if self.settings.os == "Windows": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") def layout(self): basic_layout(self, src_folder="src") def validate(self): - if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("Windows shared builds are not supported") if str(self.settings.compiler) not in ["Visual Studio", "msvc", "gcc", "clang", "apple-clang"]: raise ConanInvalidConfiguration(f"Unsupported compiler {self.settings.compiler}") if self.settings.os == "Macos" and self.settings.arch == "armv8" and Version(self.version) < "1.10.0": @@ -255,7 +256,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "vpx") self.cpp_info.libs = [self._lib_name] - if not self.options.shared: + if not self.options.get_safe("shared"): libcxx = stdcpp_library(self) if libcxx: self.cpp_info.system_libs.append(libcxx) diff --git a/recipes/libvpx/config.yml b/recipes/libvpx/config.yml index 460cf69bd04b2..a39af33955838 100644 --- a/recipes/libvpx/config.yml +++ b/recipes/libvpx/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.1": + folder: all "1.11.0": folder: all "1.10.0": From 891714aa5849feeb8b7146b053ff14e3cef4569e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 10:26:57 +0900 Subject: [PATCH 0144/1307] (#21218) aws-lambda-cpp: add version 0.2.10 --- recipes/aws-lambda-cpp/all/conandata.yml | 3 +++ recipes/aws-lambda-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-lambda-cpp/all/conandata.yml b/recipes/aws-lambda-cpp/all/conandata.yml index ecbfb0f0cbde4..22a060a14124f 100644 --- a/recipes/aws-lambda-cpp/all/conandata.yml +++ b/recipes/aws-lambda-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.10": + url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/v0.2.10.tar.gz" + sha256: "fee8e465ac63efaa6252aa2a108183ef174cbc5ed3e56e4de4986846f89a76ee" "0.2.9": url: "https://github.com/awslabs/aws-lambda-cpp/archive/refs/tags/0.2.9.tar.gz" sha256: "4fb98483248adf0a2b251cb1b06df8b19bbd40e7f015dccfc32b7eaae6a294e7" diff --git a/recipes/aws-lambda-cpp/config.yml b/recipes/aws-lambda-cpp/config.yml index 4a43b4a490f8c..6cead73879d2a 100644 --- a/recipes/aws-lambda-cpp/config.yml +++ b/recipes/aws-lambda-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.10": + folder: all "0.2.9": folder: all "0.2.8": From 4d68464f6bc7077dfa10cfa2e0cc1b4b3ec33be1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 10:48:07 +0900 Subject: [PATCH 0145/1307] (#21219) aws-c-event-stream: add version 0.3.2 --- recipes/aws-c-event-stream/all/conandata.yml | 3 +++ recipes/aws-c-event-stream/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-event-stream/all/conandata.yml b/recipes/aws-c-event-stream/all/conandata.yml index 4c8f01cd490cb..dd1f6736ca7be 100644 --- a/recipes/aws-c-event-stream/all/conandata.yml +++ b/recipes/aws-c-event-stream/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.2.tar.gz" + sha256: "3134b35a45e9f9d974c2b78ee44fd2ea0aebc04df80236b80692aa63bee2092e" "0.3.1": url: "https://github.com/awslabs/aws-c-event-stream/archive/v0.3.1.tar.gz" sha256: "bdbc420efc2572689fb167ac288e982a01224876eb79d80e2411fad4c43e9dc0" diff --git a/recipes/aws-c-event-stream/config.yml b/recipes/aws-c-event-stream/config.yml index 4a2530c32b47b..38b22762f5273 100644 --- a/recipes/aws-c-event-stream/config.yml +++ b/recipes/aws-c-event-stream/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: all "0.3.1": folder: all "0.2.15": From 18a53b9b45090d6d66386d746b7cdbc57d4b1e37 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 11:07:07 +0900 Subject: [PATCH 0146/1307] (#21233) serdepp: update magic_enum/0.9.5 --- recipes/serdepp/all/conandata.yml | 6 +++++ recipes/serdepp/all/conanfile.py | 14 +++++++--- .../0.1.4.1-0001-fix-magic_enum-path.patch | 26 +++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch diff --git a/recipes/serdepp/all/conandata.yml b/recipes/serdepp/all/conandata.yml index a5bc02fad6305..48987703821e7 100644 --- a/recipes/serdepp/all/conandata.yml +++ b/recipes/serdepp/all/conandata.yml @@ -2,3 +2,9 @@ sources: "0.1.4.1": url: "https://github.com/injae/serdepp/archive/refs/tags/v0.1.4.1.tar.gz" sha256: "0a1112e5fb929e22eba14c8699cfcd4b58cfcbb70068149a6a7ed2a532800972" +patches: + "0.1.4.1": + - patch_file: "patches/0.1.4.1-0001-fix-magic_enum-path.patch" + patch_description: "fix magic_enum path" + patch_type: "conan" + patch_source: "https://github.com/injae/serdepp/pull/57" diff --git a/recipes/serdepp/all/conanfile.py b/recipes/serdepp/all/conanfile.py index db1294b2b4673..433b310f78080 100644 --- a/recipes/serdepp/all/conanfile.py +++ b/recipes/serdepp/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import copy, get +from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.layout import basic_layout from conan.tools.scm import Version @@ -49,12 +49,15 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") def requirements(self): self.requires("nameof/0.10.3") - self.requires("magic_enum/0.9.3") + self.requires("magic_enum/0.9.5") if self.options.with_toml11: self.requires("toml11/3.7.1") if self.options.with_yamlcpp: @@ -76,13 +79,16 @@ def validate(self): minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if not minimum_version: - self.output.warning(f"{self.name} requires C++17. Your compiler is unknown. Assuming it supports C++17.") + self.output.warning(f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") elif Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++17") + raise ConanInvalidConfiguration(f"{self.name} requires a compiler that supports at least C++{self._min_cppstd}") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + apply_conandata_patches(self) + def package(self): s = lambda x: os.path.join(self.source_folder, x) p = lambda x: os.path.join(self.package_folder, x) diff --git a/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch b/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch new file mode 100644 index 0000000000000..1d276241e168b --- /dev/null +++ b/recipes/serdepp/all/patches/0.1.4.1-0001-fix-magic_enum-path.patch @@ -0,0 +1,26 @@ +diff --git a/include/serdepp/meta.hpp b/include/serdepp/meta.hpp +index d0a607a..5e6674f 100644 +--- a/include/serdepp/meta.hpp ++++ b/include/serdepp/meta.hpp +@@ -11,7 +11,7 @@ + #include + #include + #include +-#include ++#include + #include + + #ifndef __SERDEPP_META_HPP__ +diff --git a/include/serdepp/serializer.hpp b/include/serdepp/serializer.hpp +index 2e984af..d8b7247 100644 +--- a/include/serdepp/serializer.hpp ++++ b/include/serdepp/serializer.hpp +@@ -14,7 +14,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include "serdepp/meta.hpp" From dbf53c3d09f32e978192d0ae021cb878da8a1f37 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 05:30:29 +0300 Subject: [PATCH 0147/1307] (#21264) ms-gsl: remove conan v1 warning for unknown compilers * remove conan v1 warnings for unknown compilers * add package_type & clear bindirs & libdirs --- recipes/ms-gsl/all/conanfile.py | 42 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/recipes/ms-gsl/all/conanfile.py b/recipes/ms-gsl/all/conanfile.py index 1f2447a4480af..22f61968c9ba8 100644 --- a/recipes/ms-gsl/all/conanfile.py +++ b/recipes/ms-gsl/all/conanfile.py @@ -5,7 +5,6 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version required_conan_version = ">=1.50.0" @@ -19,6 +18,7 @@ class MicrosoftGslConan(ConanFile): license = "MIT" topics = ("gsl", "guidelines", "core", "span") no_copy_source = True + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "on_contract_violation": ["terminate", "throw", "unenforced"] @@ -45,6 +45,8 @@ def _compilers_minimum_version(self): "gcc": "5", "clang": "3.4", "apple-clang": "3.4", + "msvc": "190", + "Visual Studio": "14", } def config_options(self): @@ -58,24 +60,17 @@ def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._minimum_cpp_standard) - check_min_vs(self, "190") - - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not fully support.") - else: - self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. " - "Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}.") + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not fully support." + ) def layout(self): basic_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): pass @@ -90,16 +85,21 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "Microsoft.GSL") self.cpp_info.set_property("cmake_target_name", "Microsoft.GSL::GSL") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + # TODO: back to global scope once support for legacy generators dropped + if Version(self.version) < "3.0.0": + self.cpp_info.components["_ms-gsl"].defines = [ + self._contract_map[str(self.options.on_contract_violation)] + ] - self.cpp_info.filenames["cmake_find_package"] = "Microsoft.GSL" - self.cpp_info.filenames["cmake_find_package_multi"] = "Microsoft.GSL" + # TODO: to remove once support for legacy generators dropped self.cpp_info.names["cmake_find_package"] = "Microsoft.GSL" self.cpp_info.names["cmake_find_package_multi"] = "Microsoft.GSL" self.cpp_info.components["_ms-gsl"].names["cmake_find_package"] = "GSL" self.cpp_info.components["_ms-gsl"].names["cmake_find_package_multi"] = "GSL" - - if Version(self.version) < "3.0.0": - self.cpp_info.components["_ms-gsl"].defines = [ - self._contract_map[str(self.options.on_contract_violation)] - ] + self.cpp_info.components["_ms-gsl"].set_property("cmake_target_name", "Microsoft.GSL::GSL") + self.cpp_info.components["_ms-gsl"].bindirs = [] + self.cpp_info.components["_ms-gsl"].libdirs = [] From 88cd07bd7afefc1082b75a1b389b8c547e7b8fd6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 05:47:49 +0300 Subject: [PATCH 0148/1307] (#21270) hictk: add package_type + remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * add package_type & cleanup recipe * cast self.settings.compiler.version --- recipes/hictk/all/conanfile.py | 37 ++++++++++------------------------ 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 1af6d90119f0c..1951fe8bdc793 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -16,13 +16,13 @@ class HictkConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/paulsengroup/hictk" topics = "hictk", "bioinformatics", "hic" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True options = {"with_eigen": [True, False]} default_options = {"with_eigen": True} @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property @@ -58,7 +58,7 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] @@ -66,29 +66,18 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - compiler = str(self.settings.compiler) - version = str(self.settings.compiler.version) - try: - minimum_version = self._compilers_minimum_version[str(compiler)] - if minimum_version and loose_lt_semver(version, minimum_version): - msg = ( - f"{self.ref} requires C++{self._minimum_cpp_standard} features " - f"which are not supported by compiler {compiler} {version}." - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._minimum_cpp_standard} features is assumed" + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - self.output.warn(msg) - - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) def build_requirements(self): self.tool_requires("cmake/[>=3.25 <4]") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): tc = CMakeToolchain(self) tc.variables["HICTK_BUILD_BENCHMARKS"] = "OFF" @@ -121,11 +110,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "hictk") self.cpp_info.set_property("cmake_target_name", "hictk::libhictk") - self.cpp_info.set_property("pkg_config_name", "hictk") - - # TODO: to remove in conan v2 once legacy generators removed - self.cpp_info.names["cmake_find_package"] = "hictk" - self.cpp_info.names["cmake_find_package_multi"] = "hictk" From d7616607d9bb100c32e3e5276464892aca7aa5d7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 06:07:16 +0300 Subject: [PATCH 0149/1307] (#21272) refl-cpp: add package_type + remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * add package_type --- recipes/refl-cpp/all/conanfile.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/recipes/refl-cpp/all/conanfile.py b/recipes/refl-cpp/all/conanfile.py index 7ba2308354522..cfecdf8a0b5ec 100644 --- a/recipes/refl-cpp/all/conanfile.py +++ b/recipes/refl-cpp/all/conanfile.py @@ -15,6 +15,7 @@ class ReflCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/veselink1/refl-cpp" topics = ("header", "header-only", "reflection", "modern", "metaprogramming") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -43,15 +44,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if not min_version: - self.output.warn(f"{self.ref} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd} support. " - f"The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it." - ) + + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 64c660d48fc6de981e3d6a473a19e38b76f11139 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 12:27:10 +0900 Subject: [PATCH 0150/1307] (#21306) rapidjson: add version cci.20230929 --- recipes/rapidjson/all/conandata.yml | 3 +++ recipes/rapidjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidjson/all/conandata.yml b/recipes/rapidjson/all/conandata.yml index dd7649f2b814f..4f7c0b1008ac2 100644 --- a/recipes/rapidjson/all/conandata.yml +++ b/recipes/rapidjson/all/conandata.yml @@ -3,6 +3,9 @@ sources: url: "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz" sha256: bf7ced29704a1e696fbccf2a2b4ea068e7774fa37f6d7dd4039d0787f8bed98e # More recent unofficial releases based on commits + "cci.20230929": + url: "https://github.com/Tencent/rapidjson/archive/f9d53419e912910fd8fa57d5705fa41425428c35.tar.gz" + sha256: "2b521dba5c22eaae6e6e7d4d304cb317e2cf8c687c70046b02792c02f78c127e" "cci.20220822": url: "https://github.com/Tencent/rapidjson/archive/06d58b9e848c650114556a23294d0b6440078c61.tar.gz" sha256: 30d28bbe0bfff9d8dc5d3cf62799b6ee550499cc1520e44bdece81e002480d19 diff --git a/recipes/rapidjson/config.yml b/recipes/rapidjson/config.yml index 82e5350012d0b..e55a15ea06b31 100644 --- a/recipes/rapidjson/config.yml +++ b/recipes/rapidjson/config.yml @@ -1,6 +1,8 @@ versions: "1.1.0": folder: "all" + "cci.20230929": + folder: "all" "cci.20220822": folder: "all" "cci.20211112": From f03ee897dfc685503e4e975567ec126c0bba4554 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 06:47:03 +0300 Subject: [PATCH 0151/1307] (#21310) psimd: add package_type --- recipes/psimd/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/psimd/all/conanfile.py b/recipes/psimd/all/conanfile.py index 138520809226b..977da9b21114c 100644 --- a/recipes/psimd/all/conanfile.py +++ b/recipes/psimd/all/conanfile.py @@ -13,6 +13,7 @@ class PsimdConan(ConanFile): topics = ("psimd", "simd") homepage = "https://github.com/Maratyszcza/psimd" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From ef4e6ba98161c3f25418146231f4d07a5ce22863 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 07:07:31 +0300 Subject: [PATCH 0152/1307] (#21311) nanoflann: add package_type --- recipes/nanoflann/all/conanfile.py | 14 ++++++-------- recipes/nanoflann/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/recipes/nanoflann/all/conanfile.py b/recipes/nanoflann/all/conanfile.py index 5e499d9aae48d..47bfe18256ddd 100644 --- a/recipes/nanoflann/all/conanfile.py +++ b/recipes/nanoflann/all/conanfile.py @@ -13,13 +13,17 @@ class NanoflannConan(ConanFile): of datasets with different topologies: R2, R3 (point clouds), SO(2) and SO(3) (2D and 3D rotation groups). """ - topics = ("nanoflann", "nearest-neighbor", "kd-trees") + topics = ("flann", "nearest-neighbor", "kd-trees") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jlblancoc/nanoflann" license = "BSD-2-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -27,12 +31,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -47,6 +47,4 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "nanoflann::nanoflann") self.cpp_info.set_property("pkg_config_name", "nanoflann") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/nanoflann/all/test_package/conanfile.py b/recipes/nanoflann/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/nanoflann/all/test_package/conanfile.py +++ b/recipes/nanoflann/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From eecc6a6c7fa6d0840ffc9eb209c766e0cf552555 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 13:27:14 +0900 Subject: [PATCH 0153/1307] (#21317) sqlite3: add version 3.44.1 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index 9e950697ed913..c9ab9c78e3f98 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.44.1": + url: "https://sqlite.org/2023/sqlite-amalgamation-3440100.zip" + sha256: "cc6545b71ca188e245d5d668543c01f61175f0228a0e1b4ced76fabc75ea6b2e" "3.44.0": url: "https://sqlite.org/2023/sqlite-amalgamation-3440000.zip" sha256: "93299c8d2c8397622fe00bd807204b1f58815f45bda8097bf93b3bf759a3ebad" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index b5aee54f1ff24..3cd6bbcc4b83a 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.44.1": + folder: all "3.44.0": folder: all "3.43.2": From 3fa48aeb54118f6cbf503a88beb2edf0d0d5577d Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 13:47:13 +0900 Subject: [PATCH 0154/1307] (#21318) glaze: add version 1.6.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 96f185a6420f5..011b6dae9a20b 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.1": + url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" + sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" "1.6.0": url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 3b631d52275ed..24e8aaec36afd 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.1": + folder: all "1.6.0": folder: all "1.5.7": From 7cae68e2de36273b9a4c5b8c8e3cabaebddaa82a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 16:48:17 +0900 Subject: [PATCH 0155/1307] (#21220) libavif: add version 1.0.2 --- recipes/libavif/all/conandata.yml | 7 +++++++ recipes/libavif/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index 853cd880f3a20..4c6e091c13d31 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.2.tar.gz" + sha256: "de8bf79488c5b523b77358df8b85ae69c3078e6b3f1636fc1f313f952269ad20" "1.0.1": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.1.tar.gz" sha256: "398fe7039ce35db80fe7da8d116035924f2c02ea4a4aa9f4903df6699287599c" @@ -9,6 +12,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.2": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.1": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 5cf9b4e379877..4c37b1d7a9e9a 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: all "1.0.1": folder: all "0.11.1": From ee15583406a8bf5304c34d9c260f8901ea331562 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 23 Nov 2023 11:08:09 +0100 Subject: [PATCH 0156/1307] (#21314) g3log: remove 1.3.2-86 version it never was an actual version, and newer version have been created since then. also, this recipe has no dependants in CCI --- recipes/g3log/all/conandata.yml | 3 --- recipes/g3log/config.yml | 2 -- 2 files changed, 5 deletions(-) diff --git a/recipes/g3log/all/conandata.yml b/recipes/g3log/all/conandata.yml index 1ad5a5433b5fb..bb193ad6a160e 100644 --- a/recipes/g3log/all/conandata.yml +++ b/recipes/g3log/all/conandata.yml @@ -14,9 +14,6 @@ sources: "1.3.3": url: "https://github.com/KjellKod/g3log/archive/1.3.3.tar.gz" sha256: "d8cae14e1508490145d710f10178b2da9b86ce03fb2428a684fff35576fe5d5c" - "1.3.2-86": - url: "https://github.com/KjellKod/g3log/archive/4000c5c899c0ae58b8b851f9b66e1a2ac0fe2bff.tar.gz" - sha256: "4572b723458fbe2b3bf620e2bd47ecfab2975c16369dc6390ffa27e177b33c88" "1.3.2": url: "https://github.com/KjellKod/g3log/archive/1.3.2.tar.gz" sha256: "0ed1983654fdd8268e051274904128709c3d9df8234acf7916e9015199b0b247" diff --git a/recipes/g3log/config.yml b/recipes/g3log/config.yml index 0452fc2e8e027..fd39876109b97 100644 --- a/recipes/g3log/config.yml +++ b/recipes/g3log/config.yml @@ -9,7 +9,5 @@ versions: folder: all "1.3.3": folder: all - "1.3.2-86": - folder: all "1.3.2": folder: all From 810bc47902d4ed17911cde998ad0492ea108ac8c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 23 Nov 2023 19:27:33 +0900 Subject: [PATCH 0157/1307] (#21016) aws-c-http: add version 0.7.14, update dependencies * aws-c-http: add version 0.7.14, update dependencies * fix version check for aws-c-io * make transitive_libs true --- recipes/aws-c-http/all/conandata.yml | 3 +++ recipes/aws-c-http/all/conanfile.py | 17 ++++++++++++----- recipes/aws-c-http/config.yml | 2 ++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/recipes/aws-c-http/all/conandata.yml b/recipes/aws-c-http/all/conandata.yml index 09a36b1a86c13..68fa29d3753e7 100644 --- a/recipes/aws-c-http/all/conandata.yml +++ b/recipes/aws-c-http/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.14": + url: "https://github.com/awslabs/aws-c-http/archive/v0.7.14.tar.gz" + sha256: "afb935395c93427ac0853d6363900a71816a0508f18c86e84da0e6ebe7271429" "0.6.22": url: "https://github.com/awslabs/aws-c-http/archive/v0.6.22.tar.gz" sha256: "a178fd04bd1618469cd21afc5b84cbe436d1f9d9e036fefbd3a8f00356da4d4c" diff --git a/recipes/aws-c-http/all/conanfile.py b/recipes/aws-c-http/all/conanfile.py index 2d95021a30464..a9bb3bc67dc42 100644 --- a/recipes/aws-c-http/all/conanfile.py +++ b/recipes/aws-c-http/all/conanfile.py @@ -40,12 +40,19 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-compression/0.2.15") - if Version(self.version) < "0.6.22": - self.requires("aws-c-io/0.10.20", transitive_headers=True) + if Version(self.version) <= "0.6.22": + self.requires("aws-c-compression/0.2.15") + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) + self.requires("aws-c-compression/0.2.17") + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + + if Version(self.version) <= "0.6.13": + self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) + elif Version(self.version) <= "0.6.22": + self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) + else: + self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-http/config.yml b/recipes/aws-c-http/config.yml index ab4b9f0488086..febd9410cb93f 100644 --- a/recipes/aws-c-http/config.yml +++ b/recipes/aws-c-http/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.14": + folder: all "0.6.22": folder: all "0.6.13": From 8ca43be53d5f96c34c46443def79e71c8ae6e7d5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 23 Nov 2023 13:08:30 +0200 Subject: [PATCH 0158/1307] (#21197) tcp-wrappers: use correct license identifier --- recipes/tcp-wrappers/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tcp-wrappers/all/conanfile.py b/recipes/tcp-wrappers/all/conanfile.py index 654c207b466b2..3089488940a7d 100644 --- a/recipes/tcp-wrappers/all/conanfile.py +++ b/recipes/tcp-wrappers/all/conanfile.py @@ -15,7 +15,7 @@ class TcpWrappersConan(ConanFile): name = "tcp-wrappers" description = "A security tool which acts as a wrapper for TCP daemons" - license = "BSD" + license = "TCP-wrappers" url = "https://github.com/conan-io/conan-center-index" homepage = "http://ftp.porcupine.org/pub/security/" topics = ("tcp", "ip", "daemon", "wrapper") From 5598d6b26ea41dde932c15b16aee21e471e7bea4 Mon Sep 17 00:00:00 2001 From: Dean Moldovan Date: Thu, 23 Nov 2023 16:09:03 +0100 Subject: [PATCH 0159/1307] (#21329) pfr: Bump to v2.2.0 --- recipes/pfr/all/conandata.yml | 3 +++ recipes/pfr/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pfr/all/conandata.yml b/recipes/pfr/all/conandata.yml index a92db9416c3b3..ad60c0a68373e 100644 --- a/recipes/pfr/all/conandata.yml +++ b/recipes/pfr/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/boostorg/pfr/archive/refs/tags/2.2.0.tar.gz" + sha256: "6f490ec1383de5855dcf801c23f0a967f888eb6e1440b6ca0bf36c12d4ae7ac7" "2.1.0": url: "https://github.com/boostorg/pfr/archive/refs/tags/2.1.0.tar.gz" sha256: "7c18a4ab73b70f8b3513fa3a836c6f4310f627bbf55f62b89bdd7aa787c7da31" diff --git a/recipes/pfr/config.yml b/recipes/pfr/config.yml index 656874f312592..979e702ffcb5f 100644 --- a/recipes/pfr/config.yml +++ b/recipes/pfr/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.1.0": folder: "all" "2.0.3": From 2576d9cc11a579ef543641cf48748d99e321cfcd Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Thu, 23 Nov 2023 17:29:27 +0200 Subject: [PATCH 0160/1307] (#21330) xz_utils: add 5.4.5 --- recipes/xz_utils/all/conandata.yml | 3 +++ recipes/xz_utils/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xz_utils/all/conandata.yml b/recipes/xz_utils/all/conandata.yml index 458ec76199721..09ca27188fcd2 100644 --- a/recipes/xz_utils/all/conandata.yml +++ b/recipes/xz_utils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.4.5": + url: "https://tukaani.org/xz/xz-5.4.5.tar.xz" + sha256: "da9dec6c12cf2ecf269c31ab65b5de18e8e52b96f35d5bcd08c12b43e6878803" "5.4.4": url: "https://tukaani.org/xz/xz-5.4.4.tar.gz" sha256: "aae39544e254cfd27e942d35a048d592959bd7a79f9a624afb0498bb5613bdf8" diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index 88aa46f065b92..d950dab72f7d0 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.4.5": + folder: all "5.4.4": folder: all "5.4.2": From 9c4e9bd9a82102607fae8a256c2be1948b6affce Mon Sep 17 00:00:00 2001 From: James Date: Thu, 23 Nov 2023 18:46:35 +0100 Subject: [PATCH 0161/1307] (#20984) fix exiv2 provides --- recipes/exiv2/all/conanfile.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 19688c15f33b3..94d55cc8a9289 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -44,8 +44,6 @@ class Exiv2Conan(ConanFile): "win_unicode": False, } - provides = [] - def export_sources(self): export_conandata_patches(self) @@ -67,7 +65,7 @@ def configure(self): if self.options.with_xmp == "bundled": # recipe has bundled xmp-toolkit-sdk of old version # avoid conflict with a future xmp recipe - self.provides.append("xmp-toolkit-sdk") + self.provides = ["xmp-toolkit-sdk"] def layout(self): cmake_layout(self, src_folder="src") From f4c0e2d9803672be3fd79490934e150af28b37db Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:27:17 +0300 Subject: [PATCH 0162/1307] (#21309) fp16: add package_type --- recipes/fp16/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/fp16/all/conanfile.py b/recipes/fp16/all/conanfile.py index 75666c9f3bd71..92f6f21bd74b0 100644 --- a/recipes/fp16/all/conanfile.py +++ b/recipes/fp16/all/conanfile.py @@ -13,6 +13,7 @@ class Fp16Conan(ConanFile): topics = ("half-precision-floating-point") homepage = "https://github.com/Maratyszcza/FP16" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -20,14 +21,13 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("psimd/cci.20200517", transitive_headers=True) + self.requires("psimd/cci.20200517") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 13b0b66abf3e46c99101cb4f8bd176d514337e94 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 21:48:58 +0300 Subject: [PATCH 0163/1307] (#21312) parallel-hashmap: add package_type * add package_type * remove old versions --- recipes/parallel-hashmap/all/conandata.yml | 6 ------ recipes/parallel-hashmap/all/conanfile.py | 13 ++++++------- .../parallel-hashmap/all/test_package/conanfile.py | 7 ++++--- recipes/parallel-hashmap/config.yml | 4 ---- 4 files changed, 10 insertions(+), 20 deletions(-) diff --git a/recipes/parallel-hashmap/all/conandata.yml b/recipes/parallel-hashmap/all/conandata.yml index e810473c6e2e7..3e06bdb26e652 100644 --- a/recipes/parallel-hashmap/all/conandata.yml +++ b/recipes/parallel-hashmap/all/conandata.yml @@ -23,9 +23,3 @@ sources: "1.32": url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.32.tar.gz" sha256: "50cc7abc08f78c6396a33a334e5bc0b3ade121af8604690dae13a1bad47cf07c" - "1.31": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.31.tar.gz" - sha256: "1826589041140837f91ab0e3421abbf7e9184454bb83403b5a0359a0bf87bd68" - "1.30": - url: "https://github.com/greg7mdp/parallel-hashmap/archive/1.30.tar.gz" - sha256: "ae14fa41110b5fe211d3f7599318fb1a3e862353c7110cd8370cdc044a98d815" diff --git a/recipes/parallel-hashmap/all/conanfile.py b/recipes/parallel-hashmap/all/conanfile.py index d8dcf1537c358..5f3e3f51ac110 100644 --- a/recipes/parallel-hashmap/all/conanfile.py +++ b/recipes/parallel-hashmap/all/conanfile.py @@ -12,12 +12,16 @@ class ParallelHashmapConan(ConanFile): name = "parallel-hashmap" description = "A family of header-only, very fast and memory-friendly hashmap and btree containers." license = "Apache-2.0" - topics = ("parallel-hashmap", "parallel", "hashmap", "btree") + topics = ("parallel", "hashmap", "btree") homepage = "https://github.com/greg7mdp/parallel-hashmap" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -25,12 +29,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -66,7 +66,6 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "phmap") self.cpp_info.set_property("cmake_target_name", "phmap") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed diff --git a/recipes/parallel-hashmap/all/test_package/conanfile.py b/recipes/parallel-hashmap/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/parallel-hashmap/all/test_package/conanfile.py +++ b/recipes/parallel-hashmap/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/parallel-hashmap/config.yml b/recipes/parallel-hashmap/config.yml index a8a50d11cadad..a1c1439981d11 100644 --- a/recipes/parallel-hashmap/config.yml +++ b/recipes/parallel-hashmap/config.yml @@ -15,7 +15,3 @@ versions: folder: all "1.32": folder: all - "1.31": - folder: all - "1.30": - folder: all From 2da1b80169224212cdb04956ce54e443680787ea Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 23 Nov 2023 22:07:47 +0300 Subject: [PATCH 0164/1307] (#21316) onetbb: don't require pkgconf when tbbbind is disabled --- recipes/onetbb/all/conanfile.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 86585126d6bb5..6fafa4d81ece1 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, load, rmdir from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version @@ -97,13 +98,17 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") def build_requirements(self): - if not self._tbbbind_explicit_hwloc and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + if self._tbbbind_build and not self._tbbbind_explicit_hwloc: + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + env = VirtualBuildEnv(self) + env.generate() + toolchain = CMakeToolchain(self) toolchain.variables["TBB_TEST"] = False toolchain.variables["TBB_STRICT"] = False @@ -126,7 +131,7 @@ def generate(self): os.path.join(hwloc_package_folder, "bin", "hwloc.dll").replace("\\", "/") toolchain.generate() - if self._tbbbind_build: + if self._tbbbind_build and not self._tbbbind_explicit_hwloc: deps = PkgConfigDeps(self) deps.generate() From cbc45f4a086c4f18f011407648f7d2194d183a86 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 24 Nov 2023 04:27:28 +0900 Subject: [PATCH 0165/1307] (#21335) metall: add version 0.27 --- recipes/metall/all/conandata.yml | 3 +++ recipes/metall/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/metall/all/conandata.yml b/recipes/metall/all/conandata.yml index 96fee3029b84f..107baf765b6af 100644 --- a/recipes/metall/all/conandata.yml +++ b/recipes/metall/all/conandata.yml @@ -17,3 +17,6 @@ sources: "0.26": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" + "0.27": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" + sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" diff --git a/recipes/metall/config.yml b/recipes/metall/config.yml index 11daea4abf351..8abab3ff86ffd 100644 --- a/recipes/metall/config.yml +++ b/recipes/metall/config.yml @@ -11,3 +11,5 @@ versions: folder: all "0.26": folder: all + "0.27": + folder: all From 6988f02eb06a16f66335e294a300f5493e6a564e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:27:53 +0300 Subject: [PATCH 0166/1307] (#21308) cereal: add package_type --- recipes/cereal/all/conanfile.py | 15 ++++++--------- recipes/cereal/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/recipes/cereal/all/conanfile.py b/recipes/cereal/all/conanfile.py index 7523bebc550cf..c0fce5f2a6d25 100644 --- a/recipes/cereal/all/conanfile.py +++ b/recipes/cereal/all/conanfile.py @@ -11,10 +11,10 @@ class CerealConan(ConanFile): name = "cereal" description = "Serialization header-only library for C++11." license = "BSD-3-Clause" - topics = ("cereal", "header-only", "serialization", "cpp11") + topics = ("header-only", "serialization", "cpp11") homepage = "https://github.com/USCiLab/cereal" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "thread_safe": [True, False], @@ -23,15 +23,14 @@ class CerealConan(ConanFile): "thread_safe": False, } - def package_id(self): - self.info.clear() - def layout(self): cmake_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -81,9 +80,7 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "cereal::cereal") self.cpp_info.set_property("cmake_target_aliases", ["cereal"]) # target before 1.3.1 self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.options.thread_safe: self.cpp_info.defines = ["CEREAL_THREAD_SAFE=1"] if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/cereal/all/test_package/conanfile.py b/recipes/cereal/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/cereal/all/test_package/conanfile.py +++ b/recipes/cereal/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From bf0e321e9f0f2b62df69647f9e4afb395ffd04d9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 24 Nov 2023 13:07:45 +0300 Subject: [PATCH 0167/1307] (#21223) qt6: bump dependencies + fix condition for winflexbison in build requirements + depends on openal-soft instead of deprecated openal recipe * bump dependencies * required winflexbison based on build machine, not host * replace openal by openal-soft since openal recipe is deprecated * bump xkbcommon * Revert "bump xkbcommon" This reverts commit 4327bcdf8dfd60ed5261a48219181c2544bee404. --- recipes/qt/6.x.x/conanfile.py | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index c2c05cdf445ec..3124fbfcf843c 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -322,7 +322,7 @@ def requirements(self): if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.77.0") + self.requires("glib/2.78.1") if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: @@ -330,47 +330,47 @@ def requirements(self): if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.2.1") + self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.42.0") + self.requires("sqlite3/3.44.0") if self.options.get_safe("with_mysql", False): - self.requires("libmysqlclient/8.0.31") + self.requires("libmysqlclient/8.1.0") if self.options.with_pq: - self.requires("libpq/15.3") + self.requires("libpq/15.4") if self.options.with_odbc: if self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.get_safe("with_openal", False): - self.requires("openal/1.22.2") + self.requires("openal-soft/1.22.2") if self.options.get_safe("with_libalsa", False): - self.requires("libalsa/1.2.7.2") - if self.options.get_safe("with_x11", False): + self.requires("libalsa/1.2.10") + if self.options.get_safe("with_x11") or self.options.qtwayland: self.requires("xkbcommon/1.5.0") + if self.options.get_safe("with_x11", False): self.requires("xorg/system") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": self.requires("opengl/system") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.qtwayland: - self.requires("xkbcommon/1.5.0") self.requires("wayland/1.22.0") if self.options.with_brotli: self.requires("brotli/1.1.0") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": self.requires("expat/2.5.0") - self.requires("opus/1.3.1") + self.requires("opus/1.4") self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") - self.requires("nss/3.89") + self.requires("nss/3.93") self.requires("libdrm/2.4.114") if self.options.get_safe("with_gstreamer", False): self.requires("gst-plugins-base/1.19.2") @@ -387,7 +387,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.2") + self.tool_requires("pkgconf/2.0.3") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') @@ -395,11 +395,11 @@ def build_requirements(self): self.tool_requires("nodejs/18.15.0") self.tool_requires("gperf/3.1") # gperf, bison, flex, python >= 2.7.5 & < 3 - if self.settings.os != "Windows": + if self._settings_build.os == "Windows": + self.tool_requires("winflexbison/2.5.25") + else: self.tool_requires("bison/3.8.2") self.tool_requires("flex/2.6.4") - else: - self.tool_requires("winflexbison/2.5.24") if self.options.qtwayland: self.tool_requires("wayland/1.22.0") @@ -1231,7 +1231,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.get_safe("with_libalsa", False): multimedia_reqs.append("libalsa::libalsa") if self.options.with_openal: - multimedia_reqs.append("openal::openal") + multimedia_reqs.append("openal-soft::openal-soft") if self.options.get_safe("with_pulseaudio", False): multimedia_reqs.append("pulseaudio::pulse") _create_module("Multimedia", multimedia_reqs) From 685ce4e6773efc1b979adcc4200f550c2a7be1a1 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 24 Nov 2023 13:21:39 +0100 Subject: [PATCH 0168/1307] (#21327) [bot] Update authorized users list (2023-11-23) --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index b4ac09c53df56..e492f7b97c587 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1240,3 +1240,6 @@ authorized_users: - OndrejSlamecka - correaa - jakeheke75 +- NelDav +- utelle +- har-bw From 35d081612727c323cf5b8b698fe68dcb413353da Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 24 Nov 2023 13:42:57 +0100 Subject: [PATCH 0169/1307] (#21348) [docs] Use official windows PS for sha256sum Signed-off-by: Uilian Ries --- docs/adding_packages/conandata_yml_format.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adding_packages/conandata_yml_format.md b/docs/adding_packages/conandata_yml_format.md index e1b7f89ee3173..ed96865802cc0 100644 --- a/docs/adding_packages/conandata_yml_format.md +++ b/docs/adding_packages/conandata_yml_format.md @@ -127,7 +127,7 @@ Usually, `url` has a [https](https://tools.ietf.org/html/rfc2660) scheme, but ot [sha256](https://tools.ietf.org/html/rfc6234) is a preferred method to specify hash sum for the released sources. It allows to check the integrity of sources downloaded. You may use an [online service](https://hash.online-convert.com/sha256-generator) to compute `sha256` sum for the given `url`. -Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](http://www.labtestproject.com/files/win/sha256sum/sha256sum.exe)). +Also, you may use [sha256sum](https://linux.die.net/man/1/sha256sum) command ([windows](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-7.4) you can use PowerShell). ## patches From 0a3d265ff60f66781ec7f12717146e6720ff04c2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Fri, 24 Nov 2023 14:02:17 +0100 Subject: [PATCH 0170/1307] (#21325) [pcl] Hotfix: export qhull define Signed-off-by: Uilian Ries --- recipes/pcl/all/conanfile.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index fc423168869ea..b172e88fb5927 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -574,6 +574,13 @@ def package_info(self): if self.settings.os == "Windows": common.system_libs.append("ws2_32") + if self.options.with_qhull: + self.cpp_info.defines.append('HAVE_QHULL=1') + if self.options.with_png: + self.cpp_info.defines.append('HAVE_PNG=1') + if self.options.with_cuda: + self.cpp_info.defines.append('HAVE_CUDA=1') + # TODO: Legacy, to be removed on Conan 2.0 self.cpp_info.names["cmake_find_package"] = "PCL" self.cpp_info.names["cmake_find_package_multi"] = "PCL" From 7a524496823225ea5d5f7b6835c6616a5e5a7ea6 Mon Sep 17 00:00:00 2001 From: Andrei Davydov Date: Fri, 24 Nov 2023 21:46:24 +0300 Subject: [PATCH 0171/1307] (#21102) dfp: Add DFP recipe. * feat: DFP: Add DFP recipe. * fix: dfp: Move sources from the 'native' sub-folder to the top level. * fix: dfp: Add Conan 1.6 test_v1_package * fix: dfp: Switch from ZIP to TAR.GZ * fix: dfp: Fix Liner errors * Added source method. Removed test_v1_package * Using cmake_layout and cmake >=3.22.0 as a tool requirement * Linter complains * Ensuring std++11 in test package demo * fix: dfp: test_package: More correct way to set c++11 * Avoiding stdin. Demo simplified * fix: dfp: test_package: Statically link with MSVC runtime * Update recipes/dfp/all/conanfile.py * fix: dfp: Resolve review request: Add fPIC option. * fix: dfp: Fix sources archive URL * fix: dfp: Add proper fPIC option processing in script * fix: dfp: Replace option 'del' with safe 'rm_safe' --------- Co-authored-by: Francisco Ramirez de Anton --- recipes/dfp/all/conandata.yml | 4 ++ recipes/dfp/all/conanfile.py | 71 +++++++++++++++++++++ recipes/dfp/all/test_package/CMakeLists.txt | 10 +++ recipes/dfp/all/test_package/conanfile.py | 27 ++++++++ recipes/dfp/all/test_package/src/demo.cpp | 10 +++ recipes/dfp/config.yml | 3 + 6 files changed, 125 insertions(+) create mode 100644 recipes/dfp/all/conandata.yml create mode 100644 recipes/dfp/all/conanfile.py create mode 100644 recipes/dfp/all/test_package/CMakeLists.txt create mode 100644 recipes/dfp/all/test_package/conanfile.py create mode 100644 recipes/dfp/all/test_package/src/demo.cpp create mode 100644 recipes/dfp/config.yml diff --git a/recipes/dfp/all/conandata.yml b/recipes/dfp/all/conandata.yml new file mode 100644 index 0000000000000..ef5dd3970cc87 --- /dev/null +++ b/recipes/dfp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.2": + url: "https://github.com/epam/DFP/releases/download/1.0.2-cxx/native-sources.tar.gz" + sha256: "f62acab311086c1207f7d58185232c7e86e11ed606596d9afcff49703c196058" diff --git a/recipes/dfp/all/conanfile.py b/recipes/dfp/all/conanfile.py new file mode 100644 index 0000000000000..93d025c258e68 --- /dev/null +++ b/recipes/dfp/all/conanfile.py @@ -0,0 +1,71 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout, CMakeDeps +from conan.tools.files import copy, get + +required_conan_version = ">=1.54.0" + + +class DfpConan(ConanFile): + name = "dfp" + package_type = "library" + + # Optional metadata + description = "Decimal Floating Point Arithmetic Library" + homepage = "https://github.com/epam/DFP/" + url = "https://github.com/conan-io/conan-center-index" + license = ("Apache-2.0", "Intel") + topics = ("decimal", "dfp", "ieee-754", "deltix") + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + # it's a C library + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + self.tool_requires("cmake/[>=3.22.0 <4]") + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "intel-eula.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["ddfp"] diff --git a/recipes/dfp/all/test_package/CMakeLists.txt b/recipes/dfp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..0fc7fa3dfb5a0 --- /dev/null +++ b/recipes/dfp/all/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) +set(CMAKE_CXX_STANDARD 11) + +find_package(dfp CONFIG REQUIRED) + + +add_executable(${PROJECT_NAME} src/demo.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE dfp::dfp) +set_property(TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") diff --git a/recipes/dfp/all/test_package/conanfile.py b/recipes/dfp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..32f908420470d --- /dev/null +++ b/recipes/dfp/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + + +class TestExampleConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/dfp/all/test_package/src/demo.cpp b/recipes/dfp/all/test_package/src/demo.cpp new file mode 100644 index 0000000000000..69d2647abc971 --- /dev/null +++ b/recipes/dfp/all/test_package/src/demo.cpp @@ -0,0 +1,10 @@ +#include +#include + +using namespace epam::deltix::dfp; + +int main(void) { + const Decimal64 number("42"); + std::cout << number << " : " << number.toUnderlying() << std::endl; + return 0; +} diff --git a/recipes/dfp/config.yml b/recipes/dfp/config.yml new file mode 100644 index 0000000000000..8457ca9a4a8cd --- /dev/null +++ b/recipes/dfp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.2": + folder: all From b4de1e443bbf3ff32ef0b87802a7bf1d1a7ce21c Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 09:49:44 +0900 Subject: [PATCH 0172/1307] (#21356) glaze: add version 1.7.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 011b6dae9a20b..6350539fe7901 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/stephenberry/glaze/archive/v1.7.0.tar.gz" + sha256: "e8ccb925cf45f8974ba8d9af56c29eed12dd5fd9253c02015a6780b7c861e4df" "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 24e8aaec36afd..a5c7ebbca4dd3 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.1": folder: all "1.6.0": From 0df24827bee4eff8f3c82fd3344132150419e263 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Sat, 25 Nov 2023 02:27:00 -0600 Subject: [PATCH 0173/1307] (#21304) [cpptrace] Add v0.3.0 * Try to add v0.3.0 * Fixes * Bump hash * Bump * Update * Set to 0.3.0 * Bump hash --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/all/conanfile.py | 11 ++++++++--- recipes/cpptrace/all/test_package/test_package.cpp | 2 +- recipes/cpptrace/config.yml | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index df698c75da843..3cac71ee486fa 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.3.0": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.0.tar.gz" + sha256: "1650d760ff0c0f9763de7e1e04285033f2b0189df87398ba8bf76e9937d5a4ee" "0.2.1": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index be00c8ea4cc5a..f96b276006f6d 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -59,9 +60,13 @@ def generate(self): tc = CMakeToolchain(self) if is_msvc(self): tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - if not self.options.shared: - tc.variables["CPPTRACE_STATIC"] = True - tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True + if Version(self.version) >= Version("0.3.0"): + tc.variables["CPPTRACE_USE_EXTERNAL_LIBDWARF"] = True + tc.variables["CPPTRACE_CONAN"] = True + else: + if not self.options.shared: + tc.variables["CPPTRACE_STATIC"] = True + tc.variables["CPPTRACE_USE_SYSTEM_LIBDWARF"] = True tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/cpptrace/all/test_package/test_package.cpp b/recipes/cpptrace/all/test_package/test_package.cpp index 27e7cbc21a5cb..bc640e59ffc24 100644 --- a/recipes/cpptrace/all/test_package/test_package.cpp +++ b/recipes/cpptrace/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ #include #include -#include "cpptrace/cpptrace.hpp" +#include int main() { cpptrace::generate_trace().print(); diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c9540bd54bac5..182eea5248ab1 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,4 +1,6 @@ versions: # Newer versions at the top + "0.3.0": + folder: all "0.2.1": folder: all From 463c062170f09dee2bdc9d2f9e59b25ca34adfb7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 15:27:22 +0100 Subject: [PATCH 0174/1307] (#21359) sqlite3: add version 3.44.2 --- recipes/sqlite3/all/conandata.yml | 3 +++ recipes/sqlite3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml index c9ab9c78e3f98..d1238ae4e2a8d 100644 --- a/recipes/sqlite3/all/conandata.yml +++ b/recipes/sqlite3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.44.2": + url: "https://sqlite.org/2023/sqlite-amalgamation-3440200.zip" + sha256: "833be89b53b3be8b40a2e3d5fedb635080e3edb204957244f3d6987c2bb2345f" "3.44.1": url: "https://sqlite.org/2023/sqlite-amalgamation-3440100.zip" sha256: "cc6545b71ca188e245d5d668543c01f61175f0228a0e1b4ced76fabc75ea6b2e" diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml index 3cd6bbcc4b83a..8f761c32c82b7 100644 --- a/recipes/sqlite3/config.yml +++ b/recipes/sqlite3/config.yml @@ -1,4 +1,6 @@ versions: + "3.44.2": + folder: all "3.44.1": folder: all "3.44.0": From 22f5d3d825a544852e29a0962479042067fdb192 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 25 Nov 2023 23:47:19 +0900 Subject: [PATCH 0175/1307] (#21361) simdutf: add version 4.0.5 --- recipes/simdutf/all/conandata.yml | 3 +++ recipes/simdutf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index ced370b48d8cb..b28c517c6191a 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.5": + url: "https://github.com/simdutf/simdutf/archive/v4.0.5.tar.gz" + sha256: "040d80ff4321f89ea9739ccc7f468ece9c4bc2630f3d4762b6d829000d2ec625" "4.0.4": url: "https://github.com/simdutf/simdutf/archive/v4.0.4.tar.gz" sha256: "fd24bab9754e24f42e6cd2c9d336accb2674c306f9221c00fb095fe95cfe9247" diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index 45f2cb8a32ffa..d16a8ca4a324b 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.5": + folder: all "4.0.4": folder: all "4.0.3": From 523b606f1f15d696c9c92474cf50dbaf5ac826f0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 20:07:25 +0100 Subject: [PATCH 0176/1307] (#21367) apr-util: bump sqlite3 --- recipes/apr-util/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/apr-util/all/conanfile.py b/recipes/apr-util/all/conanfile.py index cdc91defc9dca..c6efeb71fc33d 100644 --- a/recipes/apr-util/all/conanfile.py +++ b/recipes/apr-util/all/conanfile.py @@ -88,7 +88,7 @@ def requirements(self): if self.options.with_mysql: self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.44.2") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_postgresql: From 44201f969073b0884bea1409dc17922361cabd40 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 25 Nov 2023 20:27:47 +0100 Subject: [PATCH 0177/1307] (#21363) poco: bump sqlite3 --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index cf4c0eaeba152..6ede924a2f329 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -136,7 +136,7 @@ def requirements(self): if self.options.enable_xml: self.requires("expat/2.5.0") if self.options.enable_data_sqlite: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.enable_apacheconnector: self.requires("apr/1.7.4") self.requires("apr-util/1.6.1") From 84a432dbad7ec6e02f6b0956e84f143c1c6d9aaf Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 02:47:52 +0100 Subject: [PATCH 0178/1307] (#21365) cyrus-sasl: bump sqlite3 --- recipes/cyrus-sasl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py index 908fb513cf279..d9623fba3aec4 100644 --- a/recipes/cyrus-sasl/all/conanfile.py +++ b/recipes/cyrus-sasl/all/conanfile.py @@ -84,7 +84,7 @@ def requirements(self): if self.options.with_mysql: self.requires("libmysqlclient/8.1.0") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") def validate(self): if self.settings.os == "Windows": From 9b4cd6ea2aa9de9f29a141399d621ec45873b5bd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 04:08:01 +0100 Subject: [PATCH 0179/1307] (#21364) drogon: bump sqlite3 --- recipes/drogon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index e5fe1d6704648..44120c268dd5c 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -127,7 +127,7 @@ def requirements(self): if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_redis"): self.requires("hiredis/1.2.0") if self.options.get_safe("with_yaml_cpp", False): From cb36d9c057f57b5dfee5b15ce1b2469bcb8eb750 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 04:47:40 +0100 Subject: [PATCH 0180/1307] (#21368) dlib: bump sqlite3 --- recipes/dlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py index 39ff8fcf414f8..bad5b166dc9bf 100644 --- a/recipes/dlib/all/conanfile.py +++ b/recipes/dlib/all/conanfile.py @@ -96,7 +96,7 @@ def requirements(self): if self.options.get_safe("with_webp"): self.requires("libwebp/1.3.2") if self.options.with_sqlite3: - self.requires("sqlite3/3.43.2") + self.requires("sqlite3/3.44.2") if self.options.with_openblas: self.requires("openblas/0.3.20") From 573bf9be0e3bbc596ef4b1f64c51b0b2d1e37b67 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 12:53:22 +0100 Subject: [PATCH 0181/1307] (#21372) sqlite_orm: bump sqlite3 --- recipes/sqlite_orm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlite_orm/all/conanfile.py b/recipes/sqlite_orm/all/conanfile.py index 343f40bded77d..23fa807bf57d5 100644 --- a/recipes/sqlite_orm/all/conanfile.py +++ b/recipes/sqlite_orm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.43.0", transitive_headers=True, transitive_libs=True) + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) def package_id(self): self.info.clear() From 82a6c3338289babf91af917bbdada9a9bb993169 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 17:52:34 +0100 Subject: [PATCH 0182/1307] (#21374) soci: bump sqlite3 --- recipes/soci/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/soci/all/conanfile.py b/recipes/soci/all/conanfile.py index 2ff7486399f30..1f10648c31235 100644 --- a/recipes/soci/all/conanfile.py +++ b/recipes/soci/all/conanfile.py @@ -62,7 +62,7 @@ def configure(self): def requirements(self): if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_odbc and self.settings.os != "Windows": self.requires("odbc/2.3.11") if self.options.with_mysql: From e5612acdeb4584a136c6a5bb4655c5276cfdbb4c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 19:08:13 +0100 Subject: [PATCH 0183/1307] (#21377) libwebsockets: bump sqlite3 --- recipes/libwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index 050d4a84dde11..4bd1dccf1a09f 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -221,7 +221,7 @@ def requirements(self): self.requires("libmount/2.39") if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_ssl == "openssl": # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail From 72482cd6ffbcdd9e68b5552705503be2f45dd7dd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 05:57:09 +0900 Subject: [PATCH 0184/1307] (#21381) daw_json_link: add version 3.23.0 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index a5b0b4f48353b..3262aaa6ca666 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.23.0": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.0.tar.gz" + sha256: "a01e9a3a48784a47dbb60bd21ecbe7e05a7d30cec75ea6d55b1789f6aefe5f05" "3.20.1": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.20.1.tar.gz" sha256: "046638bc4437d138cc8bdc882027d318ca3e267f33d1b419c5bdecb45b595a47" diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index 97a23d5d14600..cd93a25c55255 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.23.0": + folder: "all" "3.20.1": folder: "all" "3.19.0": From 42c0aef8f37d2e128d5de81d4c749700811ec6d0 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 23:49:06 +0100 Subject: [PATCH 0185/1307] (#21376) sqlitecpp: bump sqlite3 --- recipes/sqlitecpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py index cb53fcb31537f..c0bfff9f89eee 100644 --- a/recipes/sqlitecpp/all/conanfile.py +++ b/recipes/sqlitecpp/all/conanfile.py @@ -43,7 +43,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") def validate(self): if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"): From d7b65f350edf866f3f8f9bf445af70036fcb5840 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 26 Nov 2023 23:58:46 +0100 Subject: [PATCH 0186/1307] (#21379) qt/6.x.x: bump sqlite3 --- recipes/qt/6.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 3124fbfcf843c..e2aed1b2ad68e 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -341,7 +341,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: From e37878b7deda67e8c53724819069221ba77a6ea7 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 00:27:29 +0100 Subject: [PATCH 0187/1307] (#21375) elfutils: bump deps --- recipes/elfutils/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index eed1654a5e9c9..ca68760068c83 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -65,13 +65,13 @@ def layout(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.with_bzlib: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.1.2") + self.requires("libcurl/8.3.0") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") From ebbecc095a0c4429d3dade2a61d024ff006cbc88 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 08:47:33 +0900 Subject: [PATCH 0188/1307] (#21384) nghttp3: add version 1.1.0 --- recipes/nghttp3/all/conandata.yml | 3 +++ recipes/nghttp3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index dab729864ca6f..3d19ff221c51b 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.1.0/nghttp3-1.1.0.tar.bz2" + sha256: "5a203bf6e3129a9c23b06207c0fa3b05b26066ea28c037a62c9fea8cffecd85f" "1.0.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.0.0/nghttp3-1.0.0.tar.bz2" sha256: "c4aa8a38056e3b286a4102612d690e0c21f584784364f04215100e74efc95a61" diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index b80b93245d90a..f581e0802958e 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.15.0": From 2cf6518731e053a91c897152e821678f29e0d20f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 03:30:46 +0100 Subject: [PATCH 0189/1307] (#21373) proj: bump sqlite3 --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index 96746a5b96715..ee6edd6244053 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -61,7 +61,7 @@ def layout(self): def requirements(self): self.requires("nlohmann_json/3.11.2") - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") if self.options.get_safe("with_curl"): From b6c7299553f875d6e624d9aa7e828d844c7221fe Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 04:08:09 +0100 Subject: [PATCH 0190/1307] (#21378) wt: bump sqlite3 --- recipes/wt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index 50a93cf1536b8..fc0eb757303bd 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -103,7 +103,7 @@ def requirements(self): if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("with_sqlite"): - self.requires("sqlite3/3.44.0") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql"): self.requires("libmysqlclient/8.1.0", transitive_headers=True, transitive_libs=True) if self.options.get_safe("with_postgres"): From 26ee7779caa1c291517e6dbc70efb2a7bff60003 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 27 Nov 2023 04:47:51 +0100 Subject: [PATCH 0191/1307] (#21362) qt/5.x.x: bump sqlite3 * qt/5.x.x: bump sqlite3 * bump harfbuzz & freetype --- recipes/qt/5.x.x/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 6dcdc8e7ad5c1..a4c631120b356 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -355,13 +355,13 @@ def requirements(self): if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): self.requires("icu/73.2") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: - self.requires("harfbuzz/8.2.1") + self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": self.requires("libjpeg-turbo/3.0.0") @@ -370,7 +370,7 @@ def requirements(self): if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: self.requires("libpng/1.6.40") if self.options.with_sqlite3 and not self.options.multiconfiguration: - self.requires("sqlite3/3.43.1") + self.requires("sqlite3/3.44.2") if self.options.get_safe("with_mysql", False): self.requires("libmysqlclient/8.1.0") if self.options.with_pq: From 5449d4082153237cc1ee38695e0cd055f83f9f1f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 10:08:56 +0100 Subject: [PATCH 0192/1307] (#21395) elfutils/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/elfutils/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index ca68760068c83..b8aafd509dd45 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -71,7 +71,7 @@ def requirements(self): if self.options.with_lzma: self.requires("xz_utils/5.4.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.3.0") + self.requires("libcurl/8.4.0") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") From 05ef10d4ec27f1103e3f1bce1e47082d53b9e7f6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 27 Nov 2023 11:28:46 +0100 Subject: [PATCH 0193/1307] (#21322) capnproto: remove zlib from dependencies of kj-http before 1.0.0 refactor components block in package_info in order to extend more easily properties of each component --- recipes/capnproto/all/conanfile.py | 81 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/recipes/capnproto/all/conanfile.py b/recipes/capnproto/all/conanfile.py index 8b8d3ca76e788..591f5effa85d6 100644 --- a/recipes/capnproto/all/conanfile.py +++ b/recipes/capnproto/all/conanfile.py @@ -193,55 +193,54 @@ def package(self): "function(CAPNP_GENERATE_CPP SOURCES HEADERS)", find_execs) - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "CapnProto") - capnprotomacros = os.path.join(self._cmake_folder, "CapnProtoMacros.cmake") - self.cpp_info.set_property("cmake_build_modules", [capnprotomacros]) + @property + def _capnp_components(self): + def libm(): + return ["m"] if self.settings.os in ["Linux", "FreeBSD"] else [] + + def pthread(): + return ["pthread"] if self.settings.os in ["Linux", "FreeBSD"] else [] + + def ws2_32(): + return ["ws2_32"] if self.settings.os == "Windows" else [] + + components = { + "capnp": {"requires": ["kj"]}, + "capnp-json": {"requires": ["capnp", "kj"]}, + "capnp-rpc": {"requires": ["capnp", "kj", "kj-async"]}, + "capnpc": {"requires": ["capnp", "kj"], "system_libs": libm() + pthread()}, + "kj": {"system_libs": libm() + pthread()}, + "kj-async": {"requires": ["kj"], "system_libs": libm() + pthread() + ws2_32()}, + "kj-http": {"requires": ["kj", "kj-async"]}, + "kj-test": {"requires": ["kj"]}, + } - components = [ - {"name": "capnp", "requires": ["kj"]}, - {"name": "capnp-json", "requires": ["capnp", "kj"]}, - {"name": "capnp-rpc", "requires": ["capnp", "kj", "kj-async"]}, - {"name": "capnpc", "requires": ["capnp", "kj"]}, - {"name": "kj", "requires": []}, - {"name": "kj-async", "requires": ["kj"]}, - {"name": "kj-test", "requires": ["kj"]}, - ] if self.options.get_safe("with_zlib"): - components.append({"name": "kj-gzip", "requires": ["kj", "kj-async", "zlib::zlib"]}) - components.append({"name": "kj-http", "requires": ["kj", "kj-async", "zlib::zlib"]}) - else: - components.append({"name": "kj-http", "requires": ["kj", "kj-async"]}) + components.update({"kj-gzip": {"requires": ["kj", "kj-async", "zlib::zlib"]}}) + if Version(self.version) >= "1.0.0": + components["kj-http"].setdefault("requires", []).append("zlib::zlib") if self.options.with_openssl: - components.append({"name": "kj-tls", "requires": ["kj", "kj-async", "openssl::openssl"]}) + components.update({"kj-tls": {"requires": ["kj", "kj-async", "openssl::openssl"]}}) if Version(self.version) >= "0.9.0": - components.append({ - "name": "capnp-websocket", - "requires": ["capnp", "capnp-rpc", "kj-http", "kj-async", "kj"], - }) + components.update({"capnp-websocket": {"requires": ["capnp", "capnp-rpc", "kj-http", "kj-async", "kj"]}}) + + return components - for component in components: - self._register_component(component) + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "CapnProto") + capnprotomacros = os.path.join(self._cmake_folder, "CapnProtoMacros.cmake") + self.cpp_info.set_property("cmake_build_modules", [capnprotomacros]) - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["capnpc"].system_libs = ["pthread", "m"] - self.cpp_info.components["kj"].system_libs = ["pthread", "m"] - self.cpp_info.components["kj-async"].system_libs = ["pthread", "m"] - elif self.settings.os == "Windows": - self.cpp_info.components["kj-async"].system_libs = ["ws2_32"] + for name, comp_info in self._capnp_components.items(): + self.cpp_info.components[name].set_property("cmake_target_name", f"CapnProto::{name}") + self.cpp_info.components[name].builddirs.append(self._cmake_folder) + self.cpp_info.components[name].set_property("pkg_config_name", name) + self.cpp_info.components[name].libs = [name] + self.cpp_info.components[name].requires = comp_info.get("requires", []) + self.cpp_info.components[name].system_libs = comp_info.get("system_libs", []) # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "CapnProto" self.cpp_info.names["cmake_find_package_multi"] = "CapnProto" self.cpp_info.components["kj"].build_modules = [capnprotomacros] - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH env var with: {bin_path}") - self.env_info.PATH.append(bin_path) - - def _register_component(self, component): - name = component["name"] - self.cpp_info.components[name].set_property("cmake_target_name", f"CapnProto::{name}") - self.cpp_info.components[name].builddirs.append(self._cmake_folder) - self.cpp_info.components[name].set_property("pkg_config_name", name) - self.cpp_info.components[name].libs = [name] - self.cpp_info.components[name].requires = component["requires"] + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) From 531cb010644191e4e6bea61f244242db0b064300 Mon Sep 17 00:00:00 2001 From: temap Date: Mon, 27 Nov 2023 14:27:19 +0200 Subject: [PATCH 0194/1307] (#19494) libxslt: add version 1.1.37 --- recipes/libxslt/all/conandata.yml | 3 +++ recipes/libxslt/all/conanfile.py | 1 + recipes/libxslt/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index 8795d460be899..535fcb94f934b 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.37": + sha256: "3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz" "1.1.34": sha256: "28c47db33ab4daefa6232f31ccb3c65260c825151ec86ec461355247f3f56824" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.34.tar.xz" diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index f3241de947d7f..b8980d5d2465d 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -190,6 +190,7 @@ def package(self): autotools.install() os.remove(os.path.join(self.package_folder, "bin", "xslt-config")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rm(self, "*.la", os.path.join(self.package_folder, "lib")) rm(self, "*.sh", os.path.join(self.package_folder, "lib")) rmdir(self, os.path.join(self.package_folder, "share")) diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index 9aafb604e965b..d53687ed0c186 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.37": + folder: all "1.1.34": folder: all From 8a4759f52b7e8d9c48f094e3127dfe0d421ee78e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 13:49:22 +0100 Subject: [PATCH 0195/1307] (#21336) bzip3: cleanup patches also, use more compact archive for 1.1.8 identified by https://github.com/conan-io/conan-center-index/issues/21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/bzip3/all/conandata.yml | 4 +- .../1.1.4-0001-make-restrict-alias.patch | 114 ------------------ .../patches/1.1.4-0002-export-symbols.patch | 95 --------------- .../patches/1.1.5-0002-export-symbols.patch | 83 ------------- 4 files changed, 2 insertions(+), 294 deletions(-) delete mode 100644 recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch delete mode 100644 recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch delete mode 100644 recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index e5219a4ddad45..464608d61d50a 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -21,5 +21,5 @@ sources: url: "https://github.com/kspalaiologos/bzip3/releases/download/1.2.0/bzip3-1.2.0.tar.xz" sha256: "f0441519321070e03708638b37bdeb9105aff8f0a5c838e45aff1b0cbe752572" "1.1.8": - url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.8/bzip3-1.1.8.tar.bz2" - sha256: "bc15d0e4599aad18d9ed71ee0f7e859af89051bf5105b0751e8ca3a26117567d" + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.1.8/bzip3-1.1.8.tar.xz" + sha256: "80a226950832df5674e012a38cf5f45efc6405d51a1caceb96f80ec2861a6111" diff --git a/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch b/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch deleted file mode 100644 index 20195b834da7b..0000000000000 --- a/recipes/bzip3/all/patches/1.1.4-0001-make-restrict-alias.patch +++ /dev/null @@ -1,114 +0,0 @@ -diff --git a/src/crc32.c b/src/crc32.c -index 856fcd4..d9fb87a 100644 ---- a/src/crc32.c -+++ b/src/crc32.c -@@ -19,6 +19,14 @@ - - #include "crc32.h" - -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ - static const u32 crc32Table[256] = { - 0x00000000L, 0xF26B8303L, 0xE13B70F7L, 0x1350F3F4L, 0xC79A971FL, 0x35F1141CL, 0x26A1E7E8L, 0xD4CA64EBL, 0x8AD958CFL, - 0x78B2DBCCL, 0x6BE22838L, 0x9989AB3BL, 0x4D43CFD0L, 0xBF284CD3L, 0xAC78BF27L, 0x5E133C24L, 0x105EC76FL, 0xE235446CL, -@@ -51,7 +59,7 @@ static const u32 crc32Table[256] = { - 0xBE2DA0A5L, 0x4C4623A6L, 0x5F16D052L, 0xAD7D5351L - }; - --u32 crc32sum(u32 crc, u8 * restrict buf, size_t size) { -+u32 crc32sum(u32 crc, u8 * RESTRICT buf, size_t size) { - while (size--) crc = crc32Table[(crc ^ *(buf++)) & 0xff] ^ (crc >> 8); - return crc; - } -diff --git a/src/lzp.c b/src/lzp.c -index c19580d..2206673 100644 ---- a/src/lzp.c -+++ b/src/lzp.c -@@ -11,8 +11,16 @@ - - #define MATCH 0xf2 - --static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * restrict out, u8 * out_end, -- s32 * restrict lut, s32 mask, s32 m_len) { -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ -+static s32 lzp_encode_block(const u8 * RESTRICT in, const u8 * in_end, u8 * RESTRICT out, u8 * out_end, -+ s32 * RESTRICT lut, s32 mask, s32 m_len) { - const u8 *ins = in, *outs = out; - const u8 * out_eob = out_end - 8; - const u8 * heur = in; -@@ -28,7 +36,7 @@ static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * rest - s32 val = lut[idx]; - lut[idx] = in - ins; - if (val > 0) { -- const u8 * restrict ref = ins + val; -+ const u8 * RESTRICT ref = ins + val; - if (memcmp(in + m_len - 4, ref + m_len - 4, sizeof(u32)) == 0 && memcmp(in, ref, sizeof(u32)) == 0) { - if (heur > in && *(u32 *)heur != *(u32 *)(ref + (heur - in))) goto not_found; - -@@ -85,7 +93,7 @@ static s32 lzp_encode_block(const u8 * restrict in, const u8 * in_end, u8 * rest - return out >= out_eob ? -1 : (s32)(out - outs); - } - --static s32 lzp_decode_block(const u8 * restrict in, const u8 * in_end, s32 * restrict lut, u8 * restrict out, s32 hash, -+static s32 lzp_decode_block(const u8 * RESTRICT in, const u8 * in_end, s32 * RESTRICT lut, u8 * RESTRICT out, s32 hash, - s32 m_len) { - if (in_end - in < 4) return -1; - -@@ -129,7 +137,7 @@ static s32 lzp_decode_block(const u8 * restrict in, const u8 * in_end, s32 * res - return out - outs; - } - --s32 lzp_compress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 m_len, s32 * restrict lut) { -+s32 lzp_compress(const u8 * RESTRICT in, u8 * RESTRICT out, s32 n, s32 hash, s32 m_len, s32 * RESTRICT lut) { - if (n - m_len < 32) return -1; - - memset(lut, 0, sizeof(s32) * (1 << hash)); -@@ -137,6 +145,6 @@ s32 lzp_compress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 - return lzp_encode_block(in, in + n, out, out + n, lut, (s32)(1 << hash) - 1, m_len); - } - --s32 lzp_decompress(const u8 * restrict in, u8 * restrict out, s32 n, s32 hash, s32 m_len, s32 * restrict lut) { -+s32 lzp_decompress(const u8 * RESTRICT in, u8 * RESTRICT out, s32 n, s32 hash, s32 m_len, s32 * RESTRICT lut) { - return lzp_decode_block(in, in + n, lut, out, hash, m_len); - } -diff --git a/src/rle.c b/src/rle.c -index b1f0340..2cb2e53 100644 ---- a/src/rle.c -+++ b/src/rle.c -@@ -19,6 +19,14 @@ - - #include "rle.h" - -+#if defined(__GNUC__) || defined(__clang__) -+ #define RESTRICT __restrict__ -+#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -+ #define RESTRICT __restrict -+#else -+ #error Your compiler, configuration or platform is not supported. -+#endif -+ - s32 mrlec(u8 * in, s32 inlen, u8 * out) { - u8 *ip = in, *in_end = in + inlen; - s32 op = 0; -@@ -57,7 +65,7 @@ s32 mrlec(u8 * in, s32 inlen, u8 * out) { - return op; - } - --void mrled(u8 * restrict in, u8 * restrict out, s32 outlen) { -+void mrled(u8 * RESTRICT in, u8 * RESTRICT out, s32 outlen) { - s32 op = 0, ip = 0; - - s32 c, pc = -1; diff --git a/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch b/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch deleted file mode 100644 index 3bdf13582cc59..0000000000000 --- a/recipes/bzip3/all/patches/1.1.4-0002-export-symbols.patch +++ /dev/null @@ -1,95 +0,0 @@ ---- a/include/common.h -+++ b/include/common.h -@@ -46,10 +46,6 @@ static void write_neutral_s32(u8 * data, s32 value) { - data[3] = (value >> 24) & 0xFF; - } - --#ifdef __MINGW32__ -- #define PUBLIC_API __declspec(dllexport) --#else -- #define PUBLIC_API --#endif -+#define PUBLIC_API - - #endif ---- a/include/libbz3.h -+++ b/include/libbz3.h -@@ -22,6 +22,16 @@ - - #include - -+#ifdef bzip3_EXPORTS -+#ifdef _WIN32 -+ #define BZIP3_API __declspec(dllexport) -+#else -+ #define BZIP3_API __attribute__((visibility("default"))) -+#endif -+#else -+ #define BZIP3_API -+#endif -+ - #define BZ3_OK 0 - #define BZ3_ERR_OUT_OF_BOUNDS -1 - #define BZ3_ERR_BWT -2 -@@ -35,31 +45,31 @@ struct bz3_state; - /** - * @brief Get the last error number associated with a given state. - */ --int8_t bz3_last_error(struct bz3_state * state); -+BZIP3_API int8_t bz3_last_error(struct bz3_state * state); - - /** - * @brief Return a user-readable message explaining the cause of the last error. - */ --const char * bz3_strerror(struct bz3_state * state); -+BZIP3_API const char * bz3_strerror(struct bz3_state * state); - - /** - * @brief Construct a new block encoder state, which will encode blocks as big as the given block size. - * The decoder will be able to decode blocks at most as big as the given block size. - * Returns NULL in case allocation fails or the block size is not between 65K and 511M - */ --struct bz3_state * bz3_new(int32_t block_size); -+BZIP3_API struct bz3_state * bz3_new(int32_t block_size); - - /** - * @brief Free the memory occupied by a block encoder state. - */ --void bz3_free(struct bz3_state * state); -+BZIP3_API void bz3_free(struct bz3_state * state); - - /** - * @brief Encode a single block. Returns the amount of bytes written to `buffer'. - * `buffer' must be able to hold at least `size + size / 50 + 32' bytes. The size must not - * exceed the block size associated with the state. - */ --int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); -+BZIP3_API int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); - - /** - * @brief Decode a single block. -@@ -68,7 +78,7 @@ int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * @param size The size of the compressed data in `buffer' - * @param orig_size The original size of the data before compression. - */ --int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); -+BZIP3_API int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); - - /** - * @brief Encode `n' blocks, all in parallel. -@@ -80,13 +90,13 @@ int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * - * Present in the shared library only if -lpthread was present during building. - */ --void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); -+BZIP3_API void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); - - /** - * @brief Decode `n' blocks, all in parallel. - * Same specifics as `bz3_encode_blocks', but doesn't overwrite `sizes'. - */ --void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], -+BZIP3_API void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], - int32_t n); - - #endif diff --git a/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch b/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch deleted file mode 100644 index e76dc6e0d184e..0000000000000 --- a/recipes/bzip3/all/patches/1.1.5-0002-export-symbols.patch +++ /dev/null @@ -1,83 +0,0 @@ -diff --git a/include/libbz3.h b/include/libbz3.h -index a5ac58a..a9b13fd 100644 ---- a/include/libbz3.h -+++ b/include/libbz3.h -@@ -22,6 +22,16 @@ - - #include - -+#ifdef bzip3_EXPORTS -+#ifdef _WIN32 -+ #define BZIP3_API __declspec(dllexport) -+#else -+ #define BZIP3_API __attribute__((visibility("default"))) -+#endif -+#else -+ #define BZIP3_API -+#endif -+ - #define BZ3_OK 0 - #define BZ3_ERR_OUT_OF_BOUNDS -1 - #define BZ3_ERR_BWT -2 -@@ -35,31 +45,31 @@ struct bz3_state; - /** - * @brief Get the last error number associated with a given state. - */ --int8_t bz3_last_error(struct bz3_state * state); -+BZIP3_API int8_t bz3_last_error(struct bz3_state * state); - - /** - * @brief Return a user-readable message explaining the cause of the last error. - */ --const char * bz3_strerror(struct bz3_state * state); -+BZIP3_API const char * bz3_strerror(struct bz3_state * state); - - /** - * @brief Construct a new block encoder state, which will encode blocks as big as the given block size. - * The decoder will be able to decode blocks at most as big as the given block size. - * Returns NULL in case allocation fails or the block size is not between 65K and 511M - */ --struct bz3_state * bz3_new(int32_t block_size); -+BZIP3_API struct bz3_state * bz3_new(int32_t block_size); - - /** - * @brief Free the memory occupied by a block encoder state. - */ --void bz3_free(struct bz3_state * state); -+BZIP3_API void bz3_free(struct bz3_state * state); - - /** - * @brief Encode a single block. Returns the amount of bytes written to `buffer'. - * `buffer' must be able to hold at least `size + size / 50 + 32' bytes. The size must not - * exceed the block size associated with the state. - */ --int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); -+BZIP3_API int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t size); - - /** - * @brief Decode a single block. -@@ -68,7 +78,7 @@ int32_t bz3_encode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * @param size The size of the compressed data in `buffer' - * @param orig_size The original size of the data before compression. - */ --int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); -+BZIP3_API int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t size, int32_t orig_size); - - /** - * @brief Encode `n' blocks, all in parallel. -@@ -80,13 +90,13 @@ int32_t bz3_decode_block(struct bz3_state * state, uint8_t * buffer, int32_t siz - * - * Present in the shared library only if -lpthread was present during building. - */ --void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); -+BZIP3_API void bz3_encode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t n); - - /** - * @brief Decode `n' blocks, all in parallel. - * Same specifics as `bz3_encode_blocks', but doesn't overwrite `sizes'. - */ --void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], -+BZIP3_API void bz3_decode_blocks(struct bz3_state * states[], uint8_t * buffers[], int32_t sizes[], int32_t orig_sizes[], - int32_t n); - - #endif From d4b37567ccf49f37da36933c9fcd8257fb9e132d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 27 Nov 2023 14:01:56 +0100 Subject: [PATCH 0196/1307] (#21399) [bot] Update authorized users list (2023-11-27) --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index e492f7b97c587..0cbf772510706 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1243,3 +1243,5 @@ authorized_users: - NelDav - utelle - har-bw +- abedra +- bennettgoble From 4533956c5c6b6d6457328847e81b3e5146d0a4de Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 27 Nov 2023 15:24:26 +0200 Subject: [PATCH 0197/1307] (#19073) ignition-cmake: migrate to Conan v2 * ignition-cmake: migrate to Conan v2 * ignition-cmake: fix Windows build, use tool_requires() in test_package * ignition-cmake: remove redundant test sources * ignition-cmake: add "gazebo" tag * ignition-cmake: clean up package_info() a bit * ignition-cmake: use as both regular and build req in test_package * ignition-cmake: v1 fix * ignition-math: fix test_v1_package --- recipes/ignition-cmake/all/CMakeLists.txt | 7 - recipes/ignition-cmake/all/conandata.yml | 6 +- recipes/ignition-cmake/all/conanfile.py | 136 +++++++++--------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 42 ++++-- .../all/test_package/src/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../all/test_v1_package/conanfile.py | 23 +++ 8 files changed, 139 insertions(+), 90 deletions(-) delete mode 100644 recipes/ignition-cmake/all/CMakeLists.txt create mode 100644 recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/ignition-cmake/all/test_v1_package/conanfile.py diff --git a/recipes/ignition-cmake/all/CMakeLists.txt b/recipes/ignition-cmake/all/CMakeLists.txt deleted file mode 100644 index 8d6da516c42c7..0000000000000 --- a/recipes/ignition-cmake/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.10.2) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/ignition-cmake/all/conandata.yml b/recipes/ignition-cmake/all/conandata.yml index 91e85702d37b5..ccb98d28636f3 100644 --- a/recipes/ignition-cmake/all/conandata.yml +++ b/recipes/ignition-cmake/all/conandata.yml @@ -8,8 +8,6 @@ sources: patches: "2.5.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-cmake-fixes.patch" + - patch_file: "patches/0001-cmake-fixes.patch" "2.10.0": - - base_path: "source_subfolder" - patch_file: "patches/0002-ignition-cmake-2.10.0-fixes.patch" + - patch_file: "patches/0002-ignition-cmake-2.10.0-fixes.patch" diff --git a/recipes/ignition-cmake/all/conanfile.py b/recipes/ignition-cmake/all/conanfile.py index f09f2bd8badbc..90598402ac8d1 100644 --- a/recipes/ignition-cmake/all/conanfile.py +++ b/recipes/ignition-cmake/all/conanfile.py @@ -1,115 +1,121 @@ -from conans import CMake, ConanFile, tools, RunEnvironment -import conan.tools.files import os import textwrap +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class IgnitionCmakeConan(ConanFile): name = "ignition-cmake" + description = "A set of CMake modules that are used by the C++-based Ignition projects." license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/gazebosim/gz-cmake" - description = "A set of CMake modules that are used by the C++-based Ignition projects." - topics = ("ignition", "robotics", "cmake") - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" - exports_sources = "CMakeLists.txt", "patches/**" + topics = ("ignition", "robotics", "cmake", "gazebo", "header-only") - _cmake = None + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - @property - def _module_file_rel_path(self): - return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + def export_sources(self): + export_conandata_patches(self) - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + cmake_layout(self, src_folder="src") def package_id(self): - self.info.header_only() - - def _configure_cmake(self): - if self._cmake is not None: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["CMAKE_INSTALL_DATAROOTDIR"] = "lib" - self._cmake.definitions["SKIP_component_name"] = False - self._cmake.configure(source_folder=self._source_subfolder) - return self._cmake + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_INSTALL_DATAROOTDIR"] = "lib" + tc.variables["SKIP_component_name"] = False + tc.generate() def build(self): - version_major = tools.Version(self.version).major - env_build = RunEnvironment(self) - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - version_major = tools.Version(self.version).major - cmake_config_files_dir = os.path.join(self.package_folder, "lib", "cmake",f"ignition-cmake{version_major}") - files = os.listdir(cmake_config_files_dir) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "bin")) - # retain the special config file for utilities target provided by ignition-cmake - # removing it from the list - files.remove(f"ignition-cmake{version_major}-utilities-targets.cmake") - - # remove all other xxx.cmake files from the list - for file in files: + version_major = Version(self.version).major + cmake_config_files_dir = os.path.join(self.package_folder, "lib", "cmake", f"ignition-cmake{version_major}") + for file in os.listdir(cmake_config_files_dir): if file.endswith(".cmake"): + if file == f"ignition-cmake{version_major}-utilities-targets.cmake": + # retain the special config file for utilities target provided by ignition-cmake + continue os.remove(os.path.join(cmake_config_files_dir, file)) - - # add version information for downstream dependencies consuming ign-cmake through cmake_find_package generators + + # add version information for downstream dependencies consuming ign-cmake through CMake generators self._create_cmake_module_variables( os.path.join(self.package_folder, self._module_file_rel_path), - tools.Version(self.version) + Version(self.version) ) - @staticmethod - def _create_cmake_module_variables(module_file, version): + def _create_cmake_module_variables(self, module_file, version): # the version info is needed by downstream ignition-dependencies - content = textwrap.dedent("""\ - set(ignition-cmake{major}_VERSION_MAJOR {major}) - set(ignition-cmake{major}_VERSION_MINOR {minor}) - set(ignition-cmake{major}_VERSION_PATCH {patch}) - set(ignition-cmake{major}_VERSION_STRING "{major}.{minor}.{patch}") - """.format(major=version.major, minor=version.minor, patch=version.patch)) - tools.save(module_file, content) + content = textwrap.dedent(f"""\ + set(ignition-cmake{version.major}_VERSION_MAJOR {version.major}) + set(ignition-cmake{version.major}_VERSION_MINOR {version.minor}) + set(ignition-cmake{version.major}_VERSION_PATCH {version.patch}) + set(ignition-cmake{version.major}_VERSION_STRING "{version.major}.{version.minor}.{version.patch}") + """) + save(self, module_file, content) + + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") def package_info(self): - version_major = tools.Version(self.version).major + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.frameworkdirs = [] + + version_major = Version(self.version).major ign_cmake_component = f"ignition-cmake{version_major}" - base_module_path = os.path.join(self.package_folder, "lib", "cmake", ign_cmake_component) + self.cpp_info.set_property("cmake_file_name", ign_cmake_component) + + base_module_path = os.path.join("lib", "cmake", ign_cmake_component) ign_cmake_file = os.path.join(base_module_path, f"cmake{version_major}", "IgnCMake.cmake") utils_targets_file = os.path.join(base_module_path, f"{ign_cmake_component}-utilities-targets.cmake") - + self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path, ign_cmake_file, utils_targets_file]) + + self.cpp_info.components[ign_cmake_component].set_property("cmake_target_name", f"{ign_cmake_component}::{ign_cmake_component}") + self.cpp_info.components[ign_cmake_component].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) + + self.cpp_info.components["utilities"].set_property("cmake_target_name", f"{ign_cmake_component}::utilities") + self.cpp_info.components["utilities"].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) + self.cpp_info.components["utilities"].includedirs.append(os.path.join("include", "ignition", f"cmake{version_major}")) + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["cmake_find_package"] = ign_cmake_component self.cpp_info.names["cmake_find_package_multi"] = ign_cmake_component self.cpp_info.names["cmake_paths"] = ign_cmake_component - self.cpp_info.components[ign_cmake_component].names["cmake_find_package"] = ign_cmake_component self.cpp_info.components[ign_cmake_component].names["cmake_find_package_multi"] = ign_cmake_component self.cpp_info.components[ign_cmake_component].names["cmake_paths"] = ign_cmake_component - self.cpp_info.components[ign_cmake_component].builddirs.append(os.path.join(base_module_path, f"cmake{version_major}")) - self.cpp_info.components[ign_cmake_component].build_modules["cmake_find_package"] = [self._module_file_rel_path, ign_cmake_file] self.cpp_info.components[ign_cmake_component].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, ign_cmake_file] self.cpp_info.components[ign_cmake_component].build_modules["cmake_paths"] = [self._module_file_rel_path, ign_cmake_file] - self.cpp_info.components["utilities"].names["cmake_find_package"] = "utilities" self.cpp_info.components["utilities"].names["cmake_find_package_multi"] = "utilities" self.cpp_info.components["utilities"].names["cmake_paths"] = "utilities" - self.cpp_info.components["utilities"].includedirs.append(f"include/ignition/cmake{version_major}") - - self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path, ign_cmake_file]) self.cpp_info.components["utilities"].build_modules["cmake_find_package"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] self.cpp_info.components["utilities"].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] self.cpp_info.components["utilities"].build_modules["cmake_paths"] = [self._module_file_rel_path, ign_cmake_file, utils_targets_file] diff --git a/recipes/ignition-cmake/all/test_package/CMakeLists.txt b/recipes/ignition-cmake/all/test_package/CMakeLists.txt index 9595663869a7f..de43752ed5575 100644 --- a/recipes/ignition-cmake/all/test_package/CMakeLists.txt +++ b/recipes/ignition-cmake/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.10.2) +cmake_minimum_required(VERSION 3.15) project(test_package VERSION 1.0) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(IGN_CMAKE_VER "" CACHE STRING "Version of igition-cmake") if(NOT IGN_CMAKE_VER) diff --git a/recipes/ignition-cmake/all/test_package/conanfile.py b/recipes/ignition-cmake/all/test_package/conanfile.py index 5b49fe0a15144..708eb36d16238 100644 --- a/recipes/ignition-cmake/all/test_package/conanfile.py +++ b/recipes/ignition-cmake/all/test_package/conanfile.py @@ -1,23 +1,47 @@ import os -from conans import CMake, ConanFile, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" - + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualRunEnv" test_type = "explicit" + def requirements(self): - self.requires(self.tested_reference_str) + # For headers + self.requires(self.tested_reference_str) + + def build_requirements(self): + # For *.cmake files + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["IGN_CMAKE_VER"] = Version(self.dependencies["ignition-cmake"].ref.version).major + tc.generate() + deps = CMakeDeps(self) + # If using as a build requirement, the following lines are necessary + # deps.build_context_activated = ["ignition-cmake"] + # deps.build_context_build_modules = ["ignition-cmake"] + deps.generate() def build(self): cmake = CMake(self) - cmake.definitions["IGN_CMAKE_VER"] = tools.Version(self.deps_cpp_info["ignition-cmake"].version).major cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + if is_msvc(self): + bin_path = os.path.join(self.build_folder, "bin", str(self.settings.build_type), "test_package") + else: + bin_path = os.path.join(self.build_folder, "bin", "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt b/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt index e050db890afd7..3934b5db47f4a 100644 --- a/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt +++ b/recipes/ignition-cmake/all/test_package/src/CMakeLists.txt @@ -1,3 +1,3 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) ign_add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} ignition-cmake${IGN_CMAKE_VER}::utilities) diff --git a/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt b/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/ignition-cmake/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/ignition-cmake/all/test_v1_package/conanfile.py b/recipes/ignition-cmake/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..8f851887ec419 --- /dev/null +++ b/recipes/ignition-cmake/all/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +import os + +from conans import CMake, ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.definitions["IGN_CMAKE_VER"] = tools.Version(self.deps_cpp_info["ignition-cmake"].version).major + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join(self.build_folder, "bin", "test_package") + self.run(bin_path, run_environment=True) From 812e92c681878a0867423d04cbc697beaaafda3c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 14:48:26 +0100 Subject: [PATCH 0198/1307] (#21337) libssh2: cleanup patches * libssh2: cleanup patches also, use more compact archive for 1.11.0 identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ * Update conandata.yml --- recipes/libssh2/all/conandata.yml | 4 ++-- recipes/libssh2/all/patches/0001-threads.patch | 16 ---------------- 2 files changed, 2 insertions(+), 18 deletions(-) delete mode 100644 recipes/libssh2/all/patches/0001-threads.patch diff --git a/recipes/libssh2/all/conandata.yml b/recipes/libssh2/all/conandata.yml index f30a9ab38ce9b..46c0ee9468864 100644 --- a/recipes/libssh2/all/conandata.yml +++ b/recipes/libssh2/all/conandata.yml @@ -1,7 +1,7 @@ sources: "1.11.0": - sha256: 3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461 - url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.gz + sha256: a488a22625296342ddae862de1d59633e6d446eff8417398e06674a49be3d7c2 + url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.11.0/libssh2-1.11.0.tar.xz "1.10.0": sha256: 2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 url: https://github.com/libssh2/libssh2/releases/download/libssh2-1.10.0/libssh2-1.10.0.tar.gz diff --git a/recipes/libssh2/all/patches/0001-threads.patch b/recipes/libssh2/all/patches/0001-threads.patch deleted file mode 100644 index 05985dac07a46..0000000000000 --- a/recipes/libssh2/all/patches/0001-threads.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index eee1a80..3373f2a 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -42,6 +42,11 @@ include(CheckSymbolExists) - include(CheckNonblockingSocketSupport) - include(SocketLibraries) - -+if(UNIX AND NOT APPLE) -+ find_package(Threads REQUIRED) -+ list(APPEND LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) -+endif() -+ - ## Cryptography backend choice - - set(CRYPTO_BACKEND From 4231631ba75228ccc440e1efb6a804d0eedc5d02 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 15:08:15 +0100 Subject: [PATCH 0199/1307] (#21338) m4: cleanup patches patch was introduced in https://github.com/conan-io/conan-center-index/pull/346/files but never applied also, use more compact archives identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/m4/all/conandata.yml | 12 ++++++------ .../patches/1.4.18-0003-secure_snprintf.patch | 16 ---------------- 2 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch diff --git a/recipes/m4/all/conandata.yml b/recipes/m4/all/conandata.yml index 3b25f4d23294d..6dc3bb1b5c347 100644 --- a/recipes/m4/all/conandata.yml +++ b/recipes/m4/all/conandata.yml @@ -1,14 +1,14 @@ sources: "1.4.19": url: - - "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.gz" - - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.19.tar.gz" - sha256: "3be4a26d825ffdfda52a56fc43246456989a3630093cced3fbddf4771ee58a70" + - "https://ftp.gnu.org/gnu/m4/m4-1.4.19.tar.xz" + - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.19.tar.xz" + sha256: "63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96" "1.4.18": url: - - "https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz" - - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.18.tar.gz" - sha256: "ab2633921a5cd38e48797bf5521ad259bdc4b979078034a3b790d7fec5493fab" + - "https://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.xz" + - "https://ftpmirror.gnu.org/gnu/m4/m4-1.4.18.tar.xz" + sha256: "f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07" patches: "1.4.19": - patch_file: "patches/1.4.19-0001-open-files-in-binary-mode.patch" diff --git a/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch b/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch deleted file mode 100644 index 0afa4da0a47d0..0000000000000 --- a/recipes/m4/all/patches/1.4.18-0003-secure_snprintf.patch +++ /dev/null @@ -1,16 +0,0 @@ -patch taken from https://github.com/macports/macports-ports/blob/master/devel/m4/files/secure_snprintf.patch -to fix invalid instruction error on OSX when running m4 - -diff --git a/lib/vasnprintf.c b/lib/vasnprintf.c -index 246831f..ae47ebf 100644 ---- a/lib/vasnprintf.c -+++ b/lib/vasnprintf.c -@@ -4858,7 +4858,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+#if !defined(__APPLE__) && !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; From a45917ad303f3391c1a4d0b2e3af49ddcce03ba6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 15:28:14 +0100 Subject: [PATCH 0200/1307] (#21339) mpfr: cleanup patches they were introduced in https://github.com/conan-io/conan-center-index/pull/14687 but never applied also, use more compact archives identified by #21146 and https://ericlemanissier.github.io/conan-center-lint-conandata/ --- recipes/mpfr/all/conandata.yml | 16 +++++++------- .../4.0.2-0001-configure.ac-fixes.patch | 21 ------------------ .../4.1.0-0001-configure.ac-fixes.patch | 22 ------------------- .../4.2.0-0001-configure.ac-fixes.patch | 10 --------- 4 files changed, 8 insertions(+), 61 deletions(-) delete mode 100644 recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch delete mode 100644 recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch delete mode 100644 recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch diff --git a/recipes/mpfr/all/conandata.yml b/recipes/mpfr/all/conandata.yml index bdecd0395c37d..afd84455cac46 100644 --- a/recipes/mpfr/all/conandata.yml +++ b/recipes/mpfr/all/conandata.yml @@ -1,16 +1,16 @@ sources: "4.2.1": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.gz" - sha256: "116715552bd966c85b417c424db1bbdf639f53836eb361549d1f8d6ded5cb4c6" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.1.tar.xz" + sha256: "277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2" "4.2.0": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.gz" - sha256: "f1cc1c6bb14d18f0c61cc416e083f5e697b6e0e3cf9630b9b33e8e483fc960f0" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.xz" + sha256: "06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993" "4.1.0": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.gz" - sha256: "3127fe813218f3a1f0adf4e8899de23df33b4cf4b4b3831a5314f78e65ffa2d6" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.1.0.tar.xz" + sha256: "0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f" "4.0.2": - url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.gz" - sha256: "ae26cace63a498f07047a784cd3b0e4d010b44d2b193bab82af693de57a19a78" + url: "https://ftp.gnu.org/gnu/mpfr/mpfr-4.0.2.tar.xz" + sha256: "1d3be708604eae0e42d578ba93b390c2a145f17743a744d8f3f8c2ad5855a38a" patches: "4.2.1": - patch_file: "patches/4.2.0-0002-windows-header-dll.patch" diff --git a/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch deleted file mode 100644 index c6b67dbae98b2..0000000000000 --- a/recipes/mpfr/all/patches/4.0.2-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,21 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -27,6 +27,7 @@ - - dnl Add check-news when it checks for more than 15 lines - AC_INIT([MPFR],[4.0.2]) -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file - ---- acinclude.m4 -+++ acinclude.m4 -@@ -41,7 +41,6 @@ - AC_REQUIRE([AC_OBJEXT]) - AC_REQUIRE([MPFR_CHECK_LIBM]) - AC_REQUIRE([MPFR_CHECK_LIBQUADMATH]) --AC_REQUIRE([AC_HEADER_TIME]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl Features for the MPFR shared cache. This needs to be done diff --git a/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch deleted file mode 100644 index 888d7d12deb82..0000000000000 --- a/recipes/mpfr/all/patches/4.1.0-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -27,6 +27,7 @@ - - dnl Add check-news when it checks for more than 15 lines - AC_INIT([MPFR],[4.1.0]) -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file - ---- acinclude.m4 -+++ acinclude.m4 -@@ -40,7 +40,6 @@ - AC_REQUIRE([AC_OBJEXT]) - AC_REQUIRE([MPFR_CHECK_LIBM]) - AC_REQUIRE([MPFR_CHECK_LIBQUADMATH]) --AC_REQUIRE([AC_HEADER_TIME]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl Features for the MPFR shared cache. This needs to be done - diff --git a/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch b/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch deleted file mode 100644 index 59480e9bde74c..0000000000000 --- a/recipes/mpfr/all/patches/4.2.0-0001-configure.ac-fixes.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -44,6 +44,7 @@ - dnl as it could cause confusion. But let's keep AC_CANONICAL_HOST here, - dnl since this may be a better place than later. - AC_CANONICAL_HOST -+AC_CANONICAL_TARGET - - dnl Older Automake versions than 1.13 may still be supported, but no longer - dnl tested, and many things have changed in 1.13. Moreover the INSTALL file From fbbe79c0b62a6ca30eee9969dd58175101a7a467 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 27 Nov 2023 23:47:59 +0900 Subject: [PATCH 0201/1307] (#21343) suyash-ulid: add recipe * ulid: add recipe * rename ulid to suyash-ulid --- recipes/suyash-ulid/all/conandata.yml | 4 ++ recipes/suyash-ulid/all/conanfile.py | 51 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 +++ .../suyash-ulid/all/test_package/conanfile.py | 26 ++++++++++ .../all/test_package/test_package.cpp | 11 ++++ recipes/suyash-ulid/config.yml | 3 ++ 6 files changed, 103 insertions(+) create mode 100644 recipes/suyash-ulid/all/conandata.yml create mode 100644 recipes/suyash-ulid/all/conanfile.py create mode 100644 recipes/suyash-ulid/all/test_package/CMakeLists.txt create mode 100644 recipes/suyash-ulid/all/test_package/conanfile.py create mode 100644 recipes/suyash-ulid/all/test_package/test_package.cpp create mode 100644 recipes/suyash-ulid/config.yml diff --git a/recipes/suyash-ulid/all/conandata.yml b/recipes/suyash-ulid/all/conandata.yml new file mode 100644 index 0000000000000..31eb78c9466e9 --- /dev/null +++ b/recipes/suyash-ulid/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20201213": + url: "https://github.com/suyash/ulid/archive/3a46362db2c0f5fece10e59a52bdefbf7eec0877.tar.gz" + sha256: "4a9756e5d481f591c0ea4f4e767b5eecf05fea32e5b74915b044d1401548485a" diff --git a/recipes/suyash-ulid/all/conanfile.py b/recipes/suyash-ulid/all/conanfile.py new file mode 100644 index 0000000000000..df3cfccf4abd0 --- /dev/null +++ b/recipes/suyash-ulid/all/conanfile.py @@ -0,0 +1,51 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class SuyashUlidConan(ConanFile): + name = "suyash-ulid" + description = "ulids in C++, Header Only" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://suy.io/ulid/" + topics = ("ulid", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + # Copy all files to the package folder + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.hh", + os.path.join(self.source_folder, "src"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/suyash-ulid/all/test_package/CMakeLists.txt b/recipes/suyash-ulid/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..16ec5b9fe9802 --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(suyash-ulid REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE suyash-ulid::suyash-ulid) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/suyash-ulid/all/test_package/conanfile.py b/recipes/suyash-ulid/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/suyash-ulid/all/test_package/test_package.cpp b/recipes/suyash-ulid/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c6c6528f85a1f --- /dev/null +++ b/recipes/suyash-ulid/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include + +#include "ulid.hh" + +int main(void) { + ulid::ULID ulid = ulid::Create(1484581420, []() { return 4; }); + std::string str = ulid::Marshal(ulid); + std::cout << str << '\n'; // 0001C7STHC0G2081040G208104 + + return EXIT_SUCCESS; +} diff --git a/recipes/suyash-ulid/config.yml b/recipes/suyash-ulid/config.yml new file mode 100644 index 0000000000000..3d9ceb6ab28c0 --- /dev/null +++ b/recipes/suyash-ulid/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20201213": + folder: all From 98c2841d48957f14752c1064b9098862bbf6522f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 27 Nov 2023 16:08:17 +0100 Subject: [PATCH 0202/1307] (#21401) qarchive: add version 2.2.8 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/qarchive/all/conandata.yml | 3 +++ recipes/qarchive/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/qarchive/all/conandata.yml b/recipes/qarchive/all/conandata.yml index 421701414538e..5c350fe46c402 100644 --- a/recipes/qarchive/all/conandata.yml +++ b/recipes/qarchive/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.8": + url: "https://github.com/antony-jr/QArchive/archive/v2.2.8.tar.gz" + sha256: "2f231b48b51de5d730f98bffbff34d7791b61ea766429230d81bce82c7ce1bf9" "2.2.6": url: "https://github.com/antony-jr/QArchive/archive/v2.2.6.tar.gz" sha256: "c0cad2bc79eeb4ab4180fd97822a967b8a0e3c594387ccf921733449ee5bd3e6" diff --git a/recipes/qarchive/config.yml b/recipes/qarchive/config.yml index b9579224638bc..201ce057fb3e5 100644 --- a/recipes/qarchive/config.yml +++ b/recipes/qarchive/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.8": + folder: all "2.2.6": folder: all "2.2.4": From 1ca07bc24a4c55cae7624fcb8261fd43e68a7655 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 01:09:07 +0900 Subject: [PATCH 0203/1307] (#21393) mozjpeg: add version 4.1.5 --- recipes/mozjpeg/all/conandata.yml | 7 ++++ .../all/patches/4.1.5-0001-cmake-fixes.patch | 34 +++++++++++++++++++ recipes/mozjpeg/config.yml | 2 ++ 3 files changed, 43 insertions(+) create mode 100644 recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch diff --git a/recipes/mozjpeg/all/conandata.yml b/recipes/mozjpeg/all/conandata.yml index 972600a1f5a90..16c60131167b1 100644 --- a/recipes/mozjpeg/all/conandata.yml +++ b/recipes/mozjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.5": + url: "https://github.com/mozilla/mozjpeg/archive/v4.1.5.tar.gz" + sha256: "9fcbb7171f6ac383f5b391175d6fb3acde5e64c4c4727274eade84ed0998fcc1" "4.1.3": url: "https://github.com/mozilla/mozjpeg/archive/v4.1.3.tar.gz" sha256: "f6ce89f616b30c498d1fb3b0f0940914557d8393a79c9e7aafff72032446bca0" @@ -12,6 +15,10 @@ sources: url: "https://github.com/mozilla/mozjpeg/archive/v3.3.1.tar.gz" sha256: "aebbea60ea038a84a2d1ed3de38fdbca34027e2e54ee2b7d08a97578be72599d" patches: + "4.1.5": + - patch_file: "patches/4.1.5-0001-cmake-fixes.patch" + patch_description: "fix install folder and disable /NODEFAULT in MSVC" + patch_type: "conan" "4.1.3": - patch_file: "patches/4.1.3-0001-cmake-fixes.patch" patch_description: "fix install folder and disable /NODEFAULT in MSVC" diff --git a/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch b/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch new file mode 100644 index 0000000000000..d3dd3fde8807b --- /dev/null +++ b/recipes/mozjpeg/all/patches/4.1.5-0001-cmake-fixes.patch @@ -0,0 +1,34 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 939625d..c234c44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1518,7 +1518,7 @@ if(WITH_TURBOJPEG) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/tjbench-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) + endif() + endif() +@@ -1536,16 +1536,16 @@ if(ENABLE_STATIC) + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() +- install(PROGRAMS ${DIR}/cjpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME cjpeg${EXE}) +- install(PROGRAMS ${DIR}/djpeg-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME djpeg${EXE}) +- install(PROGRAMS ${DIR}/jpegtran-static${EXE} ++ install(PROGRAMS $ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE}) + endif() + endif() + +-install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS rdjpgcom wrjpgcom DESTINATION ${CMAKE_INSTALL_BINDIR}) + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt diff --git a/recipes/mozjpeg/config.yml b/recipes/mozjpeg/config.yml index 980a55d043dc8..ae34a5e9040b3 100644 --- a/recipes/mozjpeg/config.yml +++ b/recipes/mozjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.5": + folder: all "4.1.3": folder: all "4.1.1": From a0789b2c77078a79afc1ecb3f7704cf63048f089 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 01:39:22 +0900 Subject: [PATCH 0204/1307] (#21385) protobuf-c: add version 1.5.0 * protobuf-c: add version 1.5.0 * build require cmake * remove cmake files * disable MSVC RUNTIME setting --- recipes/protobuf-c/all/conandata.yml | 7 +++++++ recipes/protobuf-c/all/conanfile.py | 6 +++++- .../all/patches/1.5.0-disable-msvc-runtime.patch | 13 +++++++++++++ recipes/protobuf-c/config.yml | 2 ++ 4 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch diff --git a/recipes/protobuf-c/all/conandata.yml b/recipes/protobuf-c/all/conandata.yml index 9007e5a9a5e00..76c13c0bb2057 100644 --- a/recipes/protobuf-c/all/conandata.yml +++ b/recipes/protobuf-c/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.5.0": + url: "https://github.com/protobuf-c/protobuf-c/archive/v1.5.0.tar.gz" + sha256: "d4cb022d55f49796959b07a9d83040822e39129bc0eb28f4e8301da17d758f62" "1.4.1": url: https://github.com/protobuf-c/protobuf-c/archive/v1.4.1.tar.gz sha256: 99be336cdb15dfc5827efe34e5ac9aaa962e2485db547dd254d2a122a7d23102 patches: + "1.5.0": + - patch_file: "patches/1.5.0-disable-msvc-runtime.patch" + patch_description: "disable msvc runtime setting" + patch_type: conan "1.4.1": # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged - patch_file: "patches/1.4.1-cmake-protobuf-target.patch" diff --git a/recipes/protobuf-c/all/conanfile.py b/recipes/protobuf-c/all/conanfile.py index 83f6ad3e9a327..2111ba51320e0 100644 --- a/recipes/protobuf-c/all/conanfile.py +++ b/recipes/protobuf-c/all/conanfile.py @@ -55,6 +55,8 @@ def build_requirements(self): self.tool_requires("protobuf/3.21.9", visible=True) else: self.tool_requires("protobuf/3.21.9") + if Version(self.version) >= "1.5.0": + self.tool_requires("cmake/[>=3.19 <4]") def requirements(self): self.requires("protobuf/3.21.9") @@ -89,9 +91,11 @@ def package(self): cmake = CMake(self) cmake.install() copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + # TODO: This won't be needed once upstream PR (https://github.com/protobuf-c/protobuf-c/pull/555) gets merged copy(self, "protobuf-c.cmake", dst=os.path.join(self.package_folder, self._cmake_install_base_path), src=self.export_sources_folder) - rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): # upstream CMake config file name and target name matches the package name diff --git a/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch b/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch new file mode 100644 index 0000000000000..babf079071444 --- /dev/null +++ b/recipes/protobuf-c/all/patches/1.5.0-disable-msvc-runtime.patch @@ -0,0 +1,13 @@ +diff --git a/build-cmake/CMakeLists.txt b/build-cmake/CMakeLists.txt +index f46fba7..bac3ce4 100644 +--- a/build-cmake/CMakeLists.txt ++++ b/build-cmake/CMakeLists.txt +@@ -68,7 +68,7 @@ if(MSVC) + + # Allow matching protobuf runtime dependency + if(NOT BUILD_SHARED_LIBS) +- set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") ++# set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + endif(NOT BUILD_SHARED_LIBS) + + ENDIF() diff --git a/recipes/protobuf-c/config.yml b/recipes/protobuf-c/config.yml index 4709a2eb80f4c..e8bcb86099429 100644 --- a/recipes/protobuf-c/config.yml +++ b/recipes/protobuf-c/config.yml @@ -1,3 +1,5 @@ versions: + "1.5.0": + folder: all "1.4.1": folder: all From 2ad6bd093eef1c9510cfd6847257846b81698781 Mon Sep 17 00:00:00 2001 From: Kischy <42995291+Kischy@users.noreply.github.com> Date: Mon, 27 Nov 2023 18:07:18 +0100 Subject: [PATCH 0205/1307] (#20892) Open62541 - Allow more clang versions * Added open62541 v1.3.8 * Added libary version check to clang support check * Updated invalid configuration string * Added -fsanitize=address compile flag to test_package for clang and debug * Removed support for clang-12 * Readded support for clang-12 * Added compiler option -fsanitize=address to test_package * Removed cmake generator expression and switched to if * Corrected cmake of test_package * - Added -fsanitize=address to test_package of v1 * - Added debug_sanitizer option to recipe - Removed linker option -fsanitize=address from test_packes * Removed lower bug versions of open62541 for each minor version * Updated supported clang versions to allow a broader variity of clang and open62541 versions * Updated forgotten config.yml * Added usage of debug_sanitizer to generate() * Deleted old patch files * - Removed debug_sanitizer option from conanfile.py - Added patch to remove the sanitizers for v. 1.3.8 * Switched to f-string instead of format string * Updated patch so unused code is removed instead of commented --- recipes/open62541/all/conandata.yml | 75 +------ recipes/open62541/all/conanfile.py | 13 +- .../0001-disable-sanitizers-1_3_x.patch | 24 +++ .../0001-fix-cmake-find-deps-1_3_1.patch | 200 ------------------ .../0001-fix-cmake-find-deps-1_3_4.patch | 196 ----------------- ...2-disable-sanitizers-1_1_3-and-1_1_5.patch | 23 -- recipes/open62541/all/submoduledata.yml | 37 +--- .../open62541/all/test_package/CMakeLists.txt | 1 + .../all/test_v1_package/CMakeLists.txt | 1 + recipes/open62541/config.yml | 16 +- 10 files changed, 41 insertions(+), 545 deletions(-) create mode 100644 recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch delete mode 100644 recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch delete mode 100644 recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch delete mode 100644 recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index e50e7d9a28e65..41d18d560523a 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,67 +1,22 @@ sources: - "1.3.6": - url: "https://github.com/open62541/open62541/archive/v1.3.6.tar.gz" - sha256: "0751ce6273908b1e571f36591665f3d5b9451514c2478ea5f6b4b466d7da6b02" - "1.3.4": - url: "https://github.com/open62541/open62541/archive/v1.3.4.tar.gz" - sha256: "3489cfa2f98c52df252adc8e641a9e59cb675bdfd5ef413b0d947e667cddd16d" - "1.3.1": - url: "https://github.com/open62541/open62541/archive/v1.3.1.tar.gz" - sha256: "f54d10325fd08fc1505aea37d83daa085912a269521e6d018bfc41a744ba57aa" + "1.3.8": + url: "https://github.com/open62541/open62541/archive/v1.3.8.tar.gz" + sha256: "b6943b564787c4953b77ca8d7f987c4b896b3f3e91f45d9f13e9056b6148bc1d" "1.2.6": url: "https://github.com/open62541/open62541/archive/v1.2.6.tar.gz" sha256: "7470c1e2f97d0e7dad9632ced7b62f0add66a3c689532204ef85b0556d129106" - "1.2.4": - url: "https://github.com/open62541/open62541/archive/v1.2.4.tar.gz" - sha256: "b2d00b91e8315b61efaef6398f0902a0c9a8f357aa6d02f7f000a429048c97ae" - "1.2.2": - url: "https://github.com/open62541/open62541/archive/v1.2.2.tar.gz" - sha256: "9b5bfd811ee523be601f11abc514a93c67fe5c6e957cd6c36fe6ea4f28e009bb" "1.1.6": url: "https://github.com/open62541/open62541/archive/v1.1.6.tar.gz" sha256: "005bb336ba52f2c0add479bb46de8aa4216efa7f2bfd8b1c24a0271494edbd3f" - "1.1.5": - url: "https://github.com/open62541/open62541/archive/v1.1.5.tar.gz" - sha256: "a3e689216d75c3313bffdbb1cb7190d63b173410f392b8c558062fdd667635d7" - "1.1.3": - url: "https://github.com/open62541/open62541/archive/v1.1.3.tar.gz" - sha256: "12770bf9f5d9f44dedce0d1b34066dd14111d24c73a2f0153420e0a750e85d19" "1.0.6": url: "https://github.com/open62541/open62541/archive/v1.0.6.tar.gz" sha256: "299940025c14929533064abe0044d5805ea50d52b32d05ad9bc0e6996569c2a6" - "1.0.3": - url: "https://github.com/open62541/open62541/archive/v1.0.3.tar.gz" - sha256: "3e4c939d702d06d89f32a1cafe2b992c7f3d81c8f8579e093a972d4bc4fb3d50" patches: - "1.3.4": - - patch_file: "patches/0001-fix-cmake-find-deps-1_3_4.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - "1.3.1": - - patch_file: "patches/0001-fix-cmake-find-deps-1_3_1.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - "1.2.6": - - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0003-disable-sanitizers-1_2_x.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" - - patch_file: "patches/0003-fix-use-usr-bin-env-python3.patch" - patch_description: "Use python3 instead of default python interpreter" - patch_type: "conan" - "1.2.4": - - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0003-disable-sanitizers-1_2_x.patch" + "1.3.8": + - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" patch_description: "Disable static code analysis" patch_type: "conan" - - patch_file: "patches/0003-fix-use-usr-bin-env-python3.patch" - patch_description: "Use python3 instead of default python interpreter" - patch_type: "conan" - "1.2.2": + "1.2.6": - patch_file: "patches/0001-fix-cmake-find-deps-1_2_x.patch" patch_description: "Use Cmake find_package(*) to resolve external dependencies" patch_type: "portability" @@ -78,25 +33,7 @@ patches: - patch_file: "patches/0003-disable-sanitizers-1_1_6.patch" patch_description: "Disable static code analysis" patch_type: "conan" - "1.1.5": - - patch_file: "patches/0001-fix-cmake-find-deps-1_1_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" - "1.1.3": - - patch_file: "patches/0001-fix-cmake-find-deps-1_1_x.patch" - patch_description: "Use Cmake find_package(*) to resolve external dependencies" - patch_type: "portability" - - patch_file: "patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch" - patch_description: "Disable static code analysis" - patch_type: "conan" "1.0.6": - patch_file: "patches/1_0_x.patch" patch_description: "Fix CMAKE_MODULE_PATH and PROJECT_VERSION variables, remove -Werror flag, disable static code analysis, use Cmake find_package(*) to resolve external dependencies, fix include paths" patch_type: "conan" - "1.0.3": - - patch_file: "patches/1_0_x.patch" - patch_description: "Fix CMAKE_MODULE_PATH and PROJECT_VERSION variables, remove -Werror flag, disable static code analysis, use Cmake find_package(*) to resolve external dependencies, fix include paths" - patch_type: "conan" diff --git a/recipes/open62541/all/conanfile.py b/recipes/open62541/all/conanfile.py index a620f7d0b2c63..2321b74998973 100644 --- a/recipes/open62541/all/conanfile.py +++ b/recipes/open62541/all/conanfile.py @@ -108,7 +108,7 @@ class Open62541Conan(ConanFile): # UA_COMPILE_AS_CXX=cpp_compatible "cpp_compatible": [True, False], # UA_ENABLE_STATUSCODE_DESCRIPTIONS=readable_statuscodes - "readable_statuscodes": [True, False] + "readable_statuscodes": [True, False], } default_options = { "fPIC": True, @@ -136,7 +136,7 @@ class Open62541Conan(ConanFile): "typenames": True, "hardening": True, "cpp_compatible": False, - "readable_statuscodes": True + "readable_statuscodes": True, } exports = "submoduledata.yml" @@ -215,10 +215,10 @@ def validate(self): raise ConanInvalidConfiguration( "Lower Open62541 versions than 1.1.0 are not cpp compatible due to -fpermisive flags") - max_clang_version = "8" if Version(self.version) < "1.1.0" else "9" - if self.settings.compiler == "clang" and Version(self.settings.compiler.version) > max_clang_version: + unsupported_clang_version = "8" if Version(self.version) < "1.1.0" else "9" + if self.settings.compiler == "clang" and Version(self.settings.compiler.version) == unsupported_clang_version: raise ConanInvalidConfiguration( - "Open62541 supports Clang up to {} compiler version".format(max_clang_version)) + f"{self.ref} does not support Clang version {self.settings.compiler.version}") if self.settings.compiler == "clang": if Version(self.settings.compiler.version) < "5": @@ -353,7 +353,7 @@ def generate(self): tc.variables["UA_MSVC_FORCE_STATIC_CRT"] = True tc.variables["UA_COMPILE_AS_CXX"] = self.options.cpp_compatible - + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" @@ -451,3 +451,4 @@ def package_info(self): self._module_file_rel_path] self.cpp_info.set_property("cmake_build_modules", [ self._module_file_rel_path]) + diff --git a/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch b/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch new file mode 100644 index 0000000000000..a2c9d60322e4f --- /dev/null +++ b/recipes/open62541/all/patches/0001-disable-sanitizers-1_3_x.patch @@ -0,0 +1,24 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5300b12f6..9a80321da 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -749,19 +749,6 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST + # Linker + set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default + +- # Debug +- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND +- "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) +- # Add default sanitizer settings when using clang and Debug build. +- # This allows e.g. CLion to find memory locations for SegFaults +- message(STATUS "Sanitizer enabled") +- set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=leak -fsanitize=undefined") +- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0) +- set(SANITIZER_FLAGS "${SANITIZER_FLAGS} -fsanitize-coverage=trace-pc-guard") +- endif() +- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") +- endif() + + if(NOT MINGW AND UA_ENABLE_HARDENING AND ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))) + check_add_cc_flag("-D_FORTIFY_SOURCE=2") # run-time buffer overflow detection (needs at least -O1) diff --git a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch b/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch deleted file mode 100644 index 470202a51fce2..0000000000000 --- a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_1.patch +++ /dev/null @@ -1,200 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2a140ebd..bbca9b1f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,7 +11,7 @@ endif() - - string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER_CASE) - --set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake") -+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR};${PROJECT_SOURCE_DIR}/tools/cmake") - find_package(Python3 REQUIRED) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - find_package(Git) -@@ -40,15 +40,12 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - # The current version information. On the master branch, we take the version - # number from the latest release plus the "-undefined" label. Will be - # overwritten with more detailed information if git is available. --set(OPEN62541_VER_MAJOR 1) --set(OPEN62541_VER_MINOR 2) --set(OPEN62541_VER_PATCH 2) --set(OPEN62541_VER_LABEL "-unknown") # like "-rc1" or "-g4538abcd" or "-g4538abcd-dirty" --set(OPEN62541_VER_COMMIT "undefined") - --# Overwrite the version information based on git if available --include(SetGitBasedVersion) --set_open62541_version() -+set(OPEN62541_VER_MINOR "0" CACHE STRING "Set the major version. Used by conan") -+set(OPEN62541_VER_MAJOR "0" CACHE STRING "Set the minor version. Used by conan") -+set(OPEN62541_VER_PATCH "0" CACHE STRING "Set the patch version. Used by conan") -+set(OPEN62541_VER_LABEL "") -+set(OPEN62541_VER_COMMIT "${OPEN62541_VER_MAJOR}.${OPEN62541_VER_MINOR}.${OPEN62541_VER_PATCH}") - - # Examples for the version string are: - # v1.2 -@@ -580,7 +577,7 @@ if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) - # use the OpenSSL encryption library - # https://cmake.org/cmake/help/v3.0/module/FindOpenSSL.html - find_package(OpenSSL REQUIRED) -- list(APPEND open62541_LIBRARIES ${OPENSSL_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${OpenSSL_LIBRARIES}) - endif () - - if(UA_ENABLE_ENCRYPTION_LIBRESSL) -@@ -598,7 +595,7 @@ if(UA_ENABLE_ENCRYPTION_MBEDTLS OR UA_ENABLE_PUBSUB_ENCRYPTION) - # that is not possible, manually compile mbedTLS and set the cmake variables - # defined in /tools/cmake/FindMbedTLS.cmake. - find_package(MbedTLS REQUIRED) -- list(APPEND open62541_LIBRARIES ${MBEDTLS_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${MbedTLS_LIBRARIES}) - endif() - - if(UA_ENABLE_TPM2_SECURITY) -@@ -609,8 +606,10 @@ if(UA_ENABLE_WEBSOCKET_SERVER) - # The recommended way is to install libwebsockets via the OS package manager. If - # that is not possible, manually compile libwebsockets and set the cmake variables - # defined in /tools/cmake/Findlibwebsockets.cmake -- find_package(libwebsockets REQUIRED) -- list(APPEND open62541_LIBRARIES ${LIBWEBSOCKETS_LIBRARIES}) -+ find_package(Libwebsockets REQUIRED) -+ list(APPEND open62541_LIBRARIES ${Libwebsockets_LIBRARIES}) -+ message(STATUS "Libwebsockets library: ${Libwebsockets_LIBRARIES}") -+ message(STATUS "Libwebsockets includes: ${Libwebsockets_INCLUDE_DIRS}") - - set(ua_architecture_directories_to_include ${ua_architecture_directories_to_include} - ${LIBWEBSOCKETS_INCLUDE_DIR}) -@@ -725,7 +724,7 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - - # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND -+ if(FALSE AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND - "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) - # Add default sanitizer settings when using clang and Debug build. - # This allows e.g. CLion to find memory locations for SegFaults -@@ -811,24 +810,7 @@ configure_file(include/open62541/config.h.in ${PROJECT_BINARY_DIR}/src_generated - configure_file(tools/open62541.pc.in ${PROJECT_BINARY_DIR}/src_generated/open62541.pc @ONLY) - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- include(GenerateExportHeader) -- set(MDNSD_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported" FORCE) -- # create a "fake" empty library to generate the export header macros -- add_library(libmdnsd ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h) -- if (UA_FORCE_CPP) -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE CXX) -- else() -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE C) -- endif() -- set_property(TARGET libmdnsd PROPERTY DEFINE_SYMBOL "MDNSD_DYNAMIC_LINKING_EXPORT") -- configure_file("deps/mdnsd/libmdnsd/mdnsd_config_extra.in" -- "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra") -- file(READ "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra" MDNSD_CONFIG_EXTRA) -- generate_export_header(libmdnsd -- EXPORT_FILE_NAME "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h" -- BASE_NAME MDNSD -- DEFINE_NO_DEPRECATED -- CUSTOM_CONTENT_FROM_VARIABLE MDNSD_CONFIG_EXTRA) -+ find_package(mdnsd) - endif() - - set(exported_headers ${ua_architecture_headers_beginning}) -@@ -1133,18 +1115,7 @@ if(UA_DEBUG_DUMP_PKGS) - endif() - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- # prepend in list, otherwise it complains that winsock2.h has to be included before windows.h -- set(internal_headers ${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h -- ${internal_headers} ) - set(lib_sources ${PROJECT_SOURCE_DIR}/src/server/ua_server_discovery_mdns.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.c - ${lib_sources}) - endif() - -@@ -1349,10 +1320,10 @@ if(UA_ENABLE_AMALGAMATION) - target_include_directories(open62541-object PRIVATE ${PROJECT_BINARY_DIR}) - target_include_directories(open62541-object PRIVATE "${ua_architecture_directories_to_include}") - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- target_include_directories(open62541-object PRIVATE ${MBEDTLS_INCLUDE_DIRS}) -+ target_include_directories(open62541-object PRIVATE ${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- target_include_directories(open62541-object PRIVATE ${OPENSSL_INCLUDE_DIR}) -+ target_include_directories(open62541-object PRIVATE ${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - target_include_directories(open62541-object PRIVATE ${LIBRESSL_INCLUDE_DIR}) -@@ -1391,6 +1362,12 @@ else() - ) - - target_include_directories(open62541-object PRIVATE ${PROJECT_SOURCE_DIR}/src) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ target_include_directories(open62541-object PUBLIC ${mdnsd_INCLUDE_DIRS}) -+ endif() -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ target_include_directories(open62541-object PUBLIC ${Libwebsockets_INCLUDE_DIRS}) -+ endif() - - add_library(open62541-plugins OBJECT ${default_plugin_sources} ${ua_architecture_sources} ${exported_headers}) - add_dependencies(open62541-plugins open62541-generator-types open62541-generator-transport open62541-generator-namespace) -@@ -1404,6 +1381,13 @@ else() - set_target_properties(open62541-static PROPERTIES OUTPUT_NAME open62541) - endif() - add_library(open62541 $ $) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ list(APPEND open62541_LIBRARIES mdnsd::mdnsd) -+ endif() -+ -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ list(APPEND open62541_LIBRARIES Libwebsockets::Libwebsockets) -+ endif() - - if(UA_FORCE_CPP) - set_source_files_properties(${lib_sources} PROPERTIES LANGUAGE CXX) -@@ -1444,10 +1428,10 @@ else() - include_directories_private("${PROJECT_BINARY_DIR}") - - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- include_directories_private(${MBEDTLS_INCLUDE_DIRS}) -+ include_directories_private(${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- include_directories_private(${OPENSSL_INCLUDE_DIR}) -+ include_directories_private(${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - include_directories_private(${LIBRESSL_INCLUDE_DIR}) -diff --git a/src/server/ua_discovery_manager.h b/src/server/ua_discovery_manager.h -index e0f48c0f..bae9bd65 100644 ---- a/src/server/ua_discovery_manager.h -+++ b/src/server/ua_discovery_manager.h -@@ -44,7 +44,7 @@ typedef struct periodicServerRegisterCallback_entry { - - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - --#include "mdnsd/libmdnsd/mdnsd.h" -+#include "libmdnsd/mdnsd.h" - - /** - * TXT record: -diff --git a/src/server/ua_server_discovery_mdns.c b/src/server/ua_server_discovery_mdns.c -index fccb9c73..aa585b8f 100644 ---- a/src/server/ua_server_discovery_mdns.c -+++ b/src/server/ua_server_discovery_mdns.c -@@ -11,8 +11,8 @@ - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - - #ifndef UA_ENABLE_AMALGAMATION --#include "mdnsd/libmdnsd/xht.h" --#include "mdnsd/libmdnsd/sdtxt.h" -+#include "libmdnsd/xht.h" -+#include "libmdnsd/sdtxt.h" - #endif - - #ifdef _WIN32 diff --git a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch b/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch deleted file mode 100644 index c1c291956aa8a..0000000000000 --- a/recipes/open62541/all/patches/0001-fix-cmake-find-deps-1_3_4.patch +++ /dev/null @@ -1,196 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 1934374e..199df369 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,7 +11,7 @@ endif() - - string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER_CASE) - --set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake") -+set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR};${PROJECT_SOURCE_DIR}/tools/cmake") - find_package(Python3 REQUIRED) - set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) - find_package(Git) -@@ -41,11 +41,11 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) - # The current version information. On the master branch, we take the version - # number from the latest release plus the "-undefined" label. Will be - # overwritten with more detailed information if git is available. --set(OPEN62541_VER_MAJOR 1) --set(OPEN62541_VER_MINOR 3) --set(OPEN62541_VER_PATCH 3) --set(OPEN62541_VER_LABEL "-undefined") # like "-rc1" or "-g4538abcd" or "-g4538abcd-dirty" --set(OPEN62541_VER_COMMIT "unknown-commit") -+set(OPEN62541_VER_MINOR "0" CACHE STRING "Set the major version. Used by conan") -+set(OPEN62541_VER_MAJOR "0" CACHE STRING "Set the minor version. Used by conan") -+set(OPEN62541_VER_PATCH "0" CACHE STRING "Set the patch version. Used by conan") -+set(OPEN62541_VER_LABEL "") -+set(OPEN62541_VER_COMMIT "${OPEN62541_VER_MAJOR}.${OPEN62541_VER_MINOR}.${OPEN62541_VER_PATCH}") - - # Overwrite the version information based on git if available - include(SetGitBasedVersion) -@@ -601,7 +601,7 @@ if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) - # use the OpenSSL encryption library - # https://cmake.org/cmake/help/v3.0/module/FindOpenSSL.html - find_package(OpenSSL REQUIRED) -- list(APPEND open62541_LIBRARIES ${OPENSSL_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${OpenSSL_LIBRARIES}) - endif () - - if(UA_ENABLE_ENCRYPTION_LIBRESSL) -@@ -619,7 +619,7 @@ if(UA_ENABLE_ENCRYPTION_MBEDTLS OR UA_ENABLE_PUBSUB_ENCRYPTION) - # that is not possible, manually compile mbedTLS and set the cmake variables - # defined in /tools/cmake/FindMbedTLS.cmake. - find_package(MbedTLS REQUIRED) -- list(APPEND open62541_LIBRARIES ${MBEDTLS_LIBRARIES}) -+ list(APPEND open62541_LIBRARIES ${MbedTLS_LIBRARIES}) - endif() - - if(UA_ENABLE_TPM2_SECURITY) -@@ -630,8 +630,10 @@ if(UA_ENABLE_WEBSOCKET_SERVER) - # The recommended way is to install libwebsockets via the OS package manager. If - # that is not possible, manually compile libwebsockets and set the cmake variables - # defined in /tools/cmake/Findlibwebsockets.cmake -- find_package(libwebsockets REQUIRED) -- list(APPEND open62541_LIBRARIES ${LIBWEBSOCKETS_LIBRARIES}) -+ find_package(Libwebsockets REQUIRED) -+ list(APPEND open62541_LIBRARIES ${Libwebsockets_LIBRARIES}) -+ message(STATUS "Libwebsockets library: ${Libwebsockets_LIBRARIES}") -+ message(STATUS "Libwebsockets includes: ${Libwebsockets_INCLUDE_DIRS}") - - set(ua_architecture_directories_to_include ${ua_architecture_directories_to_include} - ${LIBWEBSOCKETS_INCLUDE_DIR}) -@@ -746,7 +748,7 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - - # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND -+ if(FALSE AND BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX AND NOT UA_BUILD_OSS_FUZZ AND - "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) - # Add default sanitizer settings when using clang and Debug build. - # This allows e.g. CLion to find memory locations for SegFaults -@@ -832,24 +834,7 @@ configure_file(include/open62541/config.h.in ${PROJECT_BINARY_DIR}/src_generated - configure_file(tools/open62541.pc.in ${PROJECT_BINARY_DIR}/src_generated/open62541.pc @ONLY) - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- include(GenerateExportHeader) -- set(MDNSD_LOGLEVEL 300 CACHE STRING "Level at which logs shall be reported" FORCE) -- # create a "fake" empty library to generate the export header macros -- add_library(libmdnsd ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h) -- if (UA_FORCE_CPP) -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE CXX) -- else() -- set_property(TARGET libmdnsd PROPERTY LINKER_LANGUAGE C) -- endif() -- set_property(TARGET libmdnsd PROPERTY DEFINE_SYMBOL "MDNSD_DYNAMIC_LINKING_EXPORT") -- configure_file("deps/mdnsd/libmdnsd/mdnsd_config_extra.in" -- "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra") -- file(READ "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config_extra" MDNSD_CONFIG_EXTRA) -- generate_export_header(libmdnsd -- EXPORT_FILE_NAME "${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h" -- BASE_NAME MDNSD -- DEFINE_NO_DEPRECATED -- CUSTOM_CONTENT_FROM_VARIABLE MDNSD_CONFIG_EXTRA) -+ find_package(mdnsd) - endif() - - set(exported_headers ${ua_architecture_headers_beginning}) -@@ -1154,18 +1139,7 @@ if(UA_DEBUG_DUMP_PKGS) - endif() - - if(UA_ENABLE_DISCOVERY_MULTICAST) -- # prepend in list, otherwise it complains that winsock2.h has to be included before windows.h -- set(internal_headers ${PROJECT_BINARY_DIR}/src_generated/mdnsd_config.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.h -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.h -- ${internal_headers} ) - set(lib_sources ${PROJECT_SOURCE_DIR}/src/server/ua_server_discovery_mdns.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/1035.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/xht.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/sdtxt.c -- ${PROJECT_SOURCE_DIR}/deps/mdnsd/libmdnsd/mdnsd.c - ${lib_sources}) - endif() - -@@ -1370,10 +1344,10 @@ if(UA_ENABLE_AMALGAMATION) - target_include_directories(open62541-object PRIVATE ${PROJECT_BINARY_DIR}) - target_include_directories(open62541-object PRIVATE "${ua_architecture_directories_to_include}") - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- target_include_directories(open62541-object PRIVATE ${MBEDTLS_INCLUDE_DIRS}) -+ target_include_directories(open62541-object PRIVATE ${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- target_include_directories(open62541-object PRIVATE ${OPENSSL_INCLUDE_DIR}) -+ target_include_directories(open62541-object PRIVATE ${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - target_include_directories(open62541-object PRIVATE ${LIBRESSL_INCLUDE_DIR}) -@@ -1412,6 +1386,12 @@ else() - ) - - target_include_directories(open62541-object PRIVATE ${PROJECT_SOURCE_DIR}/src) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ target_include_directories(open62541-object PUBLIC ${mdnsd_INCLUDE_DIRS}) -+ endif() -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ target_include_directories(open62541-object PUBLIC ${Libwebsockets_INCLUDE_DIRS}) -+ endif() - - add_library(open62541-plugins OBJECT ${default_plugin_sources} ${ua_architecture_sources} ${exported_headers}) - add_dependencies(open62541-plugins open62541-generator-types open62541-generator-transport open62541-generator-namespace) -@@ -1425,6 +1405,13 @@ else() - set_target_properties(open62541-static PROPERTIES OUTPUT_NAME open62541) - endif() - add_library(open62541 $ $) -+ if(UA_ENABLE_DISCOVERY_MULTICAST) -+ list(APPEND open62541_LIBRARIES mdnsd::mdnsd) -+ endif() -+ -+ if(UA_ENABLE_WEBSOCKET_SERVER) -+ list(APPEND open62541_LIBRARIES Libwebsockets::Libwebsockets) -+ endif() - - if(UA_FORCE_CPP) - set_source_files_properties(${lib_sources} PROPERTIES LANGUAGE CXX) -@@ -1465,10 +1452,10 @@ else() - include_directories_private("${PROJECT_BINARY_DIR}") - - if(UA_ENABLE_ENCRYPTION_MBEDTLS) -- include_directories_private(${MBEDTLS_INCLUDE_DIRS}) -+ include_directories_private(${MbedTLS_INCLUDE_DIRS}) - endif() - if(UA_ENABLE_ENCRYPTION_OPENSSL OR UA_ENABLE_MQTT_TLS_OPENSSL) -- include_directories_private(${OPENSSL_INCLUDE_DIR}) -+ include_directories_private(${OpenSSL_INCLUDE_DIR}) - endif() - if(UA_ENABLE_ENCRYPTION_LIBRESSL) - include_directories_private(${LIBRESSL_INCLUDE_DIR}) -diff --git a/src/server/ua_discovery_manager.h b/src/server/ua_discovery_manager.h -index e0f48c0f..bae9bd65 100644 ---- a/src/server/ua_discovery_manager.h -+++ b/src/server/ua_discovery_manager.h -@@ -44,7 +44,7 @@ typedef struct periodicServerRegisterCallback_entry { - - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - --#include "mdnsd/libmdnsd/mdnsd.h" -+#include "libmdnsd/mdnsd.h" - - /** - * TXT record: -diff --git a/src/server/ua_server_discovery_mdns.c b/src/server/ua_server_discovery_mdns.c -index fccb9c73..aa585b8f 100644 ---- a/src/server/ua_server_discovery_mdns.c -+++ b/src/server/ua_server_discovery_mdns.c -@@ -11,8 +11,8 @@ - #ifdef UA_ENABLE_DISCOVERY_MULTICAST - - #ifndef UA_ENABLE_AMALGAMATION --#include "mdnsd/libmdnsd/xht.h" --#include "mdnsd/libmdnsd/sdtxt.h" -+#include "libmdnsd/xht.h" -+#include "libmdnsd/sdtxt.h" - #endif - - #ifdef _WIN32 diff --git a/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch b/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch deleted file mode 100644 index d8c1db13840da..0000000000000 --- a/recipes/open62541/all/patches/0002-disable-sanitizers-1_1_3-and-1_1_5.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2fd6ef29..cde6a08c 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -576,18 +576,6 @@ if(NOT UA_FORCE_CPP AND (CMAKE_COMPILER_IS_GNUCC OR "x${CMAKE_C_COMPILER_ID}" ST - # Linker - set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # cmake sets -rdynamic by default - -- # Debug -- if(BUILD_TYPE_LOWER_CASE STREQUAL "debug" AND UNIX) -- if("x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang" AND NOT UA_ENABLE_UNIT_TESTS_MEMCHECK) -- # Add default sanitizer settings when using clang and Debug build. -- # This allows e.g. CLion to find memory locations for SegFaults -- message(STATUS "Sanitizer enabled") -- set(SANITIZER_FLAGS "-g -fno-omit-frame-pointer -gline-tables-only -fsanitize=address -fsanitize-address-use-after-scope -fsanitize-coverage=trace-pc-guard,trace-cmp -fsanitize=leak -fsanitize=undefined") -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SANITIZER_FLAGS}") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}") -- endif() -- endif() -- - if (NOT MINGW) - if(UA_ENABLE_HARDENING AND ((CMAKE_BUILD_TYPE STREQUAL "Release") OR (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo"))) - check_add_cc_flag("-D_FORTIFY_SOURCE=2") # run-time buffer overflow detection (needs at least -O1) diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index 5a2a7e3ff90b7..1de1304b65b1e 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -1,55 +1,20 @@ submodules: - "1.0.3": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.0.6": deps/ua-nodeset: sha256: c9c0228ce640bf4eead31b9c0b5b7190bc197a2d393a8e90328d14cb45805637 url: https://github.com/OPCFoundation/UA-Nodeset/archive/UA-1.04.8-2020-11-20.zip archive_pattern: "UA-Nodeset-{version}" - "1.1.3": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.1.5": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.1.6": deps/ua-nodeset: sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip archive_pattern: "UA-Nodeset-{version}" - "1.2.2": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.2.4": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" "1.2.6": deps/ua-nodeset: sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip archive_pattern: "UA-Nodeset-{version}" - "1.3.1": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.3.4": - deps/ua-nodeset: - sha256: a2bcc1cda0154091ecbed25b8c40436c5b75d11bb38df28b35a2ceedb331d562 - url: https://github.com/OPCFoundation/UA-Nodeset/archive/Errata-1.04.5.zip - archive_pattern: "UA-Nodeset-{version}" - "1.3.6": + "1.3.8": deps/ua-nodeset: sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip diff --git a/recipes/open62541/all/test_package/CMakeLists.txt b/recipes/open62541/all/test_package/CMakeLists.txt index 553baebf9bc49..099ba922c1149 100644 --- a/recipes/open62541/all/test_package/CMakeLists.txt +++ b/recipes/open62541/all/test_package/CMakeLists.txt @@ -28,6 +28,7 @@ add_executable(${PROJECT_NAME} ${UA_TYPES_FOO_FLT_SOURCES} test_package.c ) + # Make sure the nodeset compiler is executed before compiling the main file add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}-ns-foo_flt) target_link_libraries(${PROJECT_NAME} PRIVATE open62541::open62541) diff --git a/recipes/open62541/all/test_v1_package/CMakeLists.txt b/recipes/open62541/all/test_v1_package/CMakeLists.txt index bd17b291f8bc6..8113fa1875eb6 100644 --- a/recipes/open62541/all/test_v1_package/CMakeLists.txt +++ b/recipes/open62541/all/test_v1_package/CMakeLists.txt @@ -31,6 +31,7 @@ add_executable(${PROJECT_NAME} ${UA_TYPES_FOO_FLT_SOURCES} ../test_package/test_package.c ) + # Make sure the nodeset compiler is executed before compiling the main file add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}-ns-foo_flt) target_link_libraries(${PROJECT_NAME} PRIVATE open62541::open62541) diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index a82ee371e80a5..6a69381fdd40f 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,23 +1,9 @@ versions: - "1.3.6": - folder: all - "1.3.4": - folder: all - "1.3.1": + "1.3.8": folder: all "1.2.6": folder: all - "1.2.4": - folder: all - "1.2.2": - folder: all "1.1.6": folder: all - "1.1.5": - folder: all - "1.1.3": - folder: all "1.0.6": folder: all - "1.0.3": - folder: all From 390290889ced6458f009fa2fab14deff784a3d55 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Mon, 27 Nov 2023 09:47:22 -0800 Subject: [PATCH 0206/1307] (#21247) libhal: Correct 2.0.1 dependency on conan center MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libhal: Correct 2.0.1 dependency on conan center * Update sha hash for 2.0.1 package * Add version 2.0.2 - Replace the old 2.0.1 hash - Add missing bare metal os property - Add missing BOOST_LEAF macros for bare metal targets * Add header only validation check for boost leaf * Add version and baremetal check for header-only validation * Fix boost header_only check in validation * Reorder versions * Revert back to boost-leaf usage --------- Co-authored-by: Rubén Rincón --- recipes/libhal/all/conandata.yml | 3 +++ recipes/libhal/all/conanfile.py | 43 +++++++++++++++++++++++--------- recipes/libhal/config.yml | 2 ++ 3 files changed, 36 insertions(+), 12 deletions(-) diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 319d522ee3f02..5f30969947a89 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.2.tar.gz" + sha256: "bb69fffbff58ac9a91f71636422d81a4426fe70c3b47ca9b07c87fb074c989dc" "2.0.1": url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.1.tar.gz" sha256: "ba05f9d2172f7afbf816ab18f2dcd7c8cc4452df2b268a832e995a0321c1d2f9" diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index c1302026ed5ab..4d6375a4008aa 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -36,14 +36,18 @@ def _compilers_minimum_version(self): "apple-clang": "14" } - def export_sources(self): - export_conandata_patches(self) + @property + def _bare_metal(self): + return self.settings.os == "baremetal" def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.83.0", transitive_headers=True) + # NOTE from the author, kammce, and CCI maintainers: + # although boost-leaf is deprecated, we've kept it for 2.x versions, + # don't update it as upstream code won't work with boost itself + self.requires("boost-leaf/1.81.0") def package_id(self): self.info.clear() @@ -63,29 +67,44 @@ def lazy_lt_semver(v1, v2): minimum_version = self._compilers_minimum_version.get(compiler, False) if minimum_version and lazy_lt_semver(version, minimum_version): raise ConanInvalidConfiguration( - f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") + f"{self.ref} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - apply_conandata_patches(self) + pass def package(self): copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( - self, - "*.h", - dst=os.path.join(self.package_folder, "include"), + self, + "*.h", + dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include") ) copy( - self, - "*.hpp", - dst=os.path.join(self.package_folder, "include"), + self, + "*.hpp", + dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include") ) def package_info(self): self.cpp_info.bindirs = [] + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + + version = Version(self.version) + if self._bare_metal and version < "3.0.0": + self.cpp_info.defines = [ + "BOOST_LEAF_EMBEDDED", + "BOOST_LEAF_NO_THREADS" + ] + + # Note from CCI maintainers: Ensure users are aware of the deprecated dependency + if Version(self.version) < "3.0": + self.output.warning(f"{self.name} < 3.0.0 uses boost-leaf which is a deprecated recipe. " + f"Once 3.0 is released, 2.x will also be deprecated.") diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index 6c4e3d9e96f71..855e335e2fd53 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.2": + folder: "all" "2.0.1": folder: "all" From 6b24c4c1830f2419b3ce7cbaf8e3153b906c338e Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Mon, 27 Nov 2023 10:14:49 -0800 Subject: [PATCH 0207/1307] (#21392) openssl: add 3.2.0 --- recipes/openssl/3.x.x/conandata.yml | 5 +++++ recipes/openssl/config.yml | 3 +++ 2 files changed, 8 insertions(+) diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index 4dc7c65bc721c..c4de0d1d32358 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -1,4 +1,9 @@ sources: + 3.2.0: + url: + - "https://www.openssl.org/source/openssl-3.2.0.tar.gz" + - "https://github.com/openssl/openssl/releases/download/openssl-3.2.0/openssl-3.2.0.tar.gz" + sha256: 14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e 3.1.4: url: - "https://www.openssl.org/source/openssl-3.1.4.tar.gz" diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml index a33ff6a80ee4d..816020f3de15e 100644 --- a/recipes/openssl/config.yml +++ b/recipes/openssl/config.yml @@ -1,4 +1,7 @@ versions: + # 3.2.x releases + 3.2.0: + folder: "3.x.x" # 3.1.x releases 3.1.4: folder: "3.x.x" From 3e6f514828f2f9266cbfb2747a6f1b26589cd831 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 03:49:30 +0900 Subject: [PATCH 0208/1307] (#21394) nng: add version 1.6.0 --- recipes/nng/all/conandata.yml | 15 +++++++++++++++ recipes/nng/all/conanfile.py | 18 +++++++++++++----- recipes/nng/all/test_package/CMakeLists.txt | 3 +-- recipes/nng/config.yml | 2 ++ 4 files changed, 31 insertions(+), 7 deletions(-) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index 7f6a9a4f236ee..821ab71934ba1 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.0": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.6.0.tar.gz" + sha256: "f639e77911ef935a13e9779d4a18d45490433ba744f89752a15b84c929ce2725" "1.5.2": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.5.2.tar.gz" sha256: "f8b25ab86738864b1f2e3128e8badab581510fa8085ff5ca9bb980d317334c46" @@ -17,9 +20,21 @@ sources: patches: "1.5.1": - patch_file: patches/0001-fix-ios-tvos-watchos-1.5.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.2": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.1": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" "1.3.0": - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.0.patch + patch_description: "add support iOS, tvOS and watchOS" + patch_type: "portability" + patch_source: "https://github.com/nanomsg/nng/pull/1474" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 38c580aa2cc03..184a8d520a4c2 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -11,11 +11,11 @@ class NngConan(ConanFile): name = "nng" description = "nanomsg-next-generation: light-weight brokerless messaging" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/nanomsg/nng" - license = "MIT" topics = ("nanomsg", "communication", "messaging", "protocols") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -23,7 +23,8 @@ class NngConan(ConanFile): "nngcat": [True, False], "http": [True, False], "tls": [True, False], - "max_taskq_threads": ["ANY"] + "max_taskq_threads": ["ANY"], + "max_expire_threads": ["ANY"], } default_options = { "shared": False, @@ -31,7 +32,8 @@ class NngConan(ConanFile): "nngcat": False, "http": True, "tls": False, - "max_taskq_threads": "16" + "max_taskq_threads": "16", + "max_expire_threads": "8", } def export_sources(self): @@ -40,6 +42,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.6.0": + del self.options.max_expire_threads def configure(self): if self.options.shared: @@ -55,7 +59,7 @@ def requirements(self): if Version(self.version) < "1.5.2": self.requires("mbedtls/2.25.0") else: - self.requires("mbedtls/3.0.0") + self.requires("mbedtls/3.5.0") def validate(self): compiler_minimum_version = { @@ -69,6 +73,8 @@ def validate(self): ) if not self.options.max_taskq_threads.value.isdigit(): raise ConanInvalidConfiguration("max_taskq_threads must be an integral number") + if "max_expire_threads" in self.options and not self.options.max_expire_threads.value.isdigit(): + raise ConanInvalidConfiguration("max_expire_threads must be an integral number") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -80,6 +86,8 @@ def generate(self): tc.variables["NNG_ENABLE_NNGCAT"] = self.options.nngcat tc.variables["NNG_ENABLE_HTTP"] = self.options.http tc.variables["NNG_MAX_TASKQ_THREADS"] = self.options.max_taskq_threads + if "max_expire_threads" in self.options: + tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads tc.generate() def build(self): diff --git a/recipes/nng/all/test_package/CMakeLists.txt b/recipes/nng/all/test_package/CMakeLists.txt index 6c83380e0106e..7a60c8282db34 100644 --- a/recipes/nng/all/test_package/CMakeLists.txt +++ b/recipes/nng/all/test_package/CMakeLists.txt @@ -1,7 +1,6 @@ cmake_minimum_required(VERSION 3.8) +project(test_package LANGUAGES C) -project(test_package C) - find_package(nng REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index ba169426f19de..07341cd03187d 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.0": + folder: all "1.5.2": folder: all "1.5.1": From ea2c3648e8d49d800620ea452b0405ec4f44cab7 Mon Sep 17 00:00:00 2001 From: fdgStilla <79465612+fdgStilla@users.noreply.github.com> Date: Mon, 27 Nov 2023 20:28:03 +0100 Subject: [PATCH 0209/1307] (#21397) Add spix/0.6 * Add spix 0.6 * Update qt version * Conan 2 compatibility --- recipes/spix/all/conandata.yml | 7 +++++++ recipes/spix/all/conanfile.py | 6 +++--- recipes/spix/all/patches/0001-use-conan-libs-0.6.patch | 10 ++++++++++ recipes/spix/config.yml | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 recipes/spix/all/patches/0001-use-conan-libs-0.6.patch diff --git a/recipes/spix/all/conandata.yml b/recipes/spix/all/conandata.yml index 85ea4e8fd6a62..69403c56106cb 100644 --- a/recipes/spix/all/conandata.yml +++ b/recipes/spix/all/conandata.yml @@ -5,6 +5,9 @@ sources: "0.5": url: "https://github.com/faaxm/spix/archive/refs/tags/v0.5.tar.gz" sha256: "d3fd9bb069aef6ff6c93c69524ed3603afd24e6b52e4bb8d093c80cec255d4dc" + "0.6": + url: "https://github.com/faaxm/spix/archive/refs/tags/v0.6.tar.gz" + sha256: "5b2f4b89e112f3b31d8576923c2ac4a6913ae3c2a0042640846a65c4af39ac05" patches: "0.4": - patch_file: "patches/0001-use-conan-libs-0.4.patch" @@ -14,3 +17,7 @@ patches: - patch_file: "patches/0001-use-conan-libs-0.5.patch" patch_description: "Link to conan libs" patch_type: "conan" + "0.6": + - patch_file: "patches/0001-use-conan-libs-0.6.patch" + patch_description: "Link to conan libs" + patch_type: "conan" diff --git a/recipes/spix/all/conanfile.py b/recipes/spix/all/conanfile.py index 375acd44db4e0..e4a33c59e2c81 100644 --- a/recipes/spix/all/conanfile.py +++ b/recipes/spix/all/conanfile.py @@ -66,7 +66,7 @@ def layout(self): def requirements(self): self.requires("anyrpc/1.0.2") - self.requires("qt/6.4.2") + self.requires("qt/6.5.3") def validate(self): if self.settings.compiler.cppstd: @@ -77,9 +77,9 @@ def validate(self): f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support." ) - if Version(self.dependencies["qt"].ref.version).major == 6 and not self.options["qt"].qtshadertools: + if Version(self.dependencies["qt"].ref.version).major == 6 and not self.dependencies["qt"].options.qtshadertools: raise ConanInvalidConfiguration(f"{self.ref} requires qt:qtshadertools to get the Quick module") - if not (self.options["qt"].gui and self.options["qt"].qtdeclarative): + if not (self.dependencies["qt"].options.gui and self.dependencies["qt"].options.qtdeclarative): raise ConanInvalidConfiguration(f"{self.ref} requires qt:gui and qt:qtdeclarative to get the Quick module") def source(self): diff --git a/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch b/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch new file mode 100644 index 0000000000000..0746373586081 --- /dev/null +++ b/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch @@ -0,0 +1,10 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,6 @@ option(SPIX_BUILD_EXAMPLES "Build Spix examples." ON) + option(SPIX_BUILD_TESTS "Build Spix unit tests." OFF) + set(SPIX_QT_MAJOR "6" CACHE STRING "Major Qt version to build Spix against") + +-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/modules") + set(CMAKE_CXX_STANDARD 17) + + # Hide symbols unless explicitly flagged with SPIX_EXPORT diff --git a/recipes/spix/config.yml b/recipes/spix/config.yml index 57a887729c2ab..74b40e9de2d7f 100644 --- a/recipes/spix/config.yml +++ b/recipes/spix/config.yml @@ -3,3 +3,5 @@ versions: folder: all "0.5": folder: all + "0.6": + folder: all From a6f8c59208f80d4ac32f8d953fad398d56011db8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 05:30:37 +0900 Subject: [PATCH 0210/1307] (#21404) djinni-generator: add version 1.4.0 --- recipes/djinni-generator/all/conandata.yml | 3 +++ recipes/djinni-generator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/djinni-generator/all/conandata.yml b/recipes/djinni-generator/all/conandata.yml index f0faa524fc522..3079ff3808154 100644 --- a/recipes/djinni-generator/all/conandata.yml +++ b/recipes/djinni-generator/all/conandata.yml @@ -29,3 +29,6 @@ sources: "1.3.2": url: https://github.com/cross-language-cpp/djinni-generator/releases/download/v1.3.2/djinni sha256: "8e618aeb8e9138e7fefaca804263317846799fee59d9465a4eee6625b8266ea1" + "1.4.0": + url: "https://github.com/cross-language-cpp/djinni-generator/releases/download/v1.4.0/djinni" + sha256: "1838504f29e9bd8d7246710cbf31d17abb44b2dbd7df91e08cc7566167fee068" diff --git a/recipes/djinni-generator/config.yml b/recipes/djinni-generator/config.yml index 47d0ee6875d8a..c523a45caabe7 100644 --- a/recipes/djinni-generator/config.yml +++ b/recipes/djinni-generator/config.yml @@ -19,3 +19,5 @@ versions: folder: "all" "1.3.2": folder: "all" + "1.4.0": + folder: "all" From feef4d621d5be810536b691276e9c55213cf629d Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 27 Nov 2023 23:01:52 +0100 Subject: [PATCH 0211/1307] (#21432) [bot] Update list of references (prod-v2/ListPackages) --- .c3i/conan_v2_ready_references.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 415f49a1f1360..3f4ed4cf0b99e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -268,6 +268,7 @@ required_for_references: - decimal_for_cpp - deco - detools +- dfp - di - dice-template-library - dime From 2fa507f7ce905c920058312e1f553bf22186f567 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:08:04 +0100 Subject: [PATCH 0212/1307] (#21428) circularbuffer: modernize more for conan v2 - add package_type - fix required_conan_version - default cmake names since there is no config file upstream - remove dead code --- recipes/circularbuffer/all/conanfile.py | 36 +++++++------------ .../all/test_package/CMakeLists.txt | 9 +++-- .../all/test_v1_package/CMakeLists.txt | 10 ++---- .../all/test_v1_package/conanfile.py | 2 +- .../all/test_v1_package/test_package.cpp | 10 ------ 5 files changed, 20 insertions(+), 47 deletions(-) delete mode 100644 recipes/circularbuffer/all/test_v1_package/test_package.cpp diff --git a/recipes/circularbuffer/all/conanfile.py b/recipes/circularbuffer/all/conanfile.py index c3948bef41ba8..695a6ea119334 100644 --- a/recipes/circularbuffer/all/conanfile.py +++ b/recipes/circularbuffer/all/conanfile.py @@ -1,11 +1,10 @@ from conan import ConanFile from conan.tools.files import get, copy from conan.tools.layout import basic_layout -from conan.tools.cmake import CMakeToolchain import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.50.0" class CircularBufferConan(ConanFile): @@ -15,37 +14,26 @@ class CircularBufferConan(ConanFile): license = "LGPL-3.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/rlogiacco/CircularBuffer" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, - "licenses"), src=self.source_folder) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "CircularBuffer.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) copy(self, "CircularBuffer.tpp", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.clear() - - def generate(self): - tc = CMakeToolchain(self) - tc.generate() - def package_info(self): - self.cpp_info.set_property("cmake_file_name", "CircularBuffer") - self.cpp_info.set_property( - "cmake_target_name", "CircularBuffer::CircularBuffer") - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "CircularBuffer" - self.cpp_info.filenames["cmake_find_package_multi"] = "CircularBuffer" - self.cpp_info.names["cmake_find_package"] = "CircularBuffer" - self.cpp_info.names["cmake_find_package_multi"] = "CircularBuffer" + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/circularbuffer/all/test_package/CMakeLists.txt b/recipes/circularbuffer/all/test_package/CMakeLists.txt index d331e75f3a1ad..933c1c7ab13f6 100644 --- a/recipes/circularbuffer/all/test_package/CMakeLists.txt +++ b/recipes/circularbuffer/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) - -find_package(CircularBuffer CONFIG REQUIRED) +find_package(circularbuffer CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE CircularBuffer::CircularBuffer) +target_link_libraries(${PROJECT_NAME} PRIVATE circularbuffer::circularbuffer) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt b/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt index 3ddfb18ba1fed..0d20897301b68 100644 --- a/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt +++ b/recipes/circularbuffer/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ - cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(CircularBuffer CONFIG REQUIRED) - -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} CircularBuffer::CircularBuffer) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/circularbuffer/all/test_v1_package/conanfile.py b/recipes/circularbuffer/all/test_v1_package/conanfile.py index 0a93a273ba575..90eb89e3f2f46 100644 --- a/recipes/circularbuffer/all/test_v1_package/conanfile.py +++ b/recipes/circularbuffer/all/test_v1_package/conanfile.py @@ -2,7 +2,7 @@ from conans import ConanFile, CMake, tools -class TestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "cmake", "cmake_find_package_multi" diff --git a/recipes/circularbuffer/all/test_v1_package/test_package.cpp b/recipes/circularbuffer/all/test_v1_package/test_package.cpp deleted file mode 100644 index c9d59e4b258c6..0000000000000 --- a/recipes/circularbuffer/all/test_v1_package/test_package.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -int main() { - CircularBuffer buffer; - - buffer.push(5); - buffer.unshift(1); - - return 0; -} From e2e4cd13ad238ad3cec16dd5900330ff05a3f01e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:28:49 +0100 Subject: [PATCH 0213/1307] (#21429) cista: add package_type --- recipes/cista/all/conanfile.py | 7 ++++--- recipes/cista/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/recipes/cista/all/conanfile.py b/recipes/cista/all/conanfile.py index a5a461c964a04..98e6da7d482b1 100644 --- a/recipes/cista/all/conanfile.py +++ b/recipes/cista/all/conanfile.py @@ -18,6 +18,7 @@ class CistaConan(ConanFile): topics = ("cista", "serialization", "deserialization", "reflection") homepage = "https://github.com/felixguendling/cista" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -35,6 +36,9 @@ def _compilers_minimum_version(self): "apple-clang": "9.1" } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -54,9 +58,6 @@ def loose_lt_semver(v1, v2): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): for file in self.conan_data["sources"][self.version]: filename = os.path.basename(file["url"]) diff --git a/recipes/cista/all/test_package/conanfile.py b/recipes/cista/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/cista/all/test_package/conanfile.py +++ b/recipes/cista/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From 824333940428ba7482c7dc88a754fce3bf0eed98 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 08:48:20 +0100 Subject: [PATCH 0214/1307] (#21430) clipp: modernize more for conan v2 - add package_type - add layout - add test package with v2 helpers - check min cppstd 11 - empty bindirs & libdirs in package_info() - explicit cmake names since there is a config file upstream --- recipes/clipp/all/conanfile.py | 43 +++++++++++++++---- recipes/clipp/all/test_package/CMakeLists.txt | 11 +++-- recipes/clipp/all/test_package/conanfile.py | 20 ++++++--- .../clipp/all/test_v1_package/CMakeLists.txt | 8 ++++ .../clipp/all/test_v1_package/conanfile.py | 17 ++++++++ 5 files changed, 77 insertions(+), 22 deletions(-) create mode 100644 recipes/clipp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/clipp/all/test_v1_package/conanfile.py diff --git a/recipes/clipp/all/conanfile.py b/recipes/clipp/all/conanfile.py index 2a4b7c31a6543..772d6c4ae0f5d 100644 --- a/recipes/clipp/all/conanfile.py +++ b/recipes/clipp/all/conanfile.py @@ -1,25 +1,50 @@ import os -from conan import ConanFile, tools +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout required_conan_version = ">=1.50.0" + class ClippConan(ConanFile): name = "clipp" - description = """Easy to use, powerful & expressive command line argument parsing for modern C++ / single header / usage & doc generation.""" - topics = ("clipp", "argparse", "cli", "usage", "options", "subcommands") + description = ( + "Easy to use, powerful & expressive command line argument parsing " + "for modern C++ / single header / usage & doc generation." + ) + topics = ("argparse", "cli", "usage", "options", "subcommands") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/muellan/clipp" license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - tools.files.get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + @property + def _min_cppstd(self): + return "11" - def package(self): - tools.files.copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - tools.files.copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "clipp") + self.cpp_info.set_property("cmake_target_name", "clipp::clipp") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/clipp/all/test_package/CMakeLists.txt b/recipes/clipp/all/test_package/CMakeLists.txt index 829b5ca81b9ce..a7580c7f51d5d 100644 --- a/recipes/clipp/all/test_package/CMakeLists.txt +++ b/recipes/clipp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(clipp REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE clipp::clipp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/clipp/all/test_package/conanfile.py b/recipes/clipp/all/test_package/conanfile.py index 70924c438164e..81d4d29e64c73 100644 --- a/recipes/clipp/all/test_package/conanfile.py +++ b/recipes/clipp/all/test_package/conanfile.py @@ -1,11 +1,17 @@ import os -from conans import CMake -from conan import ConanFile, tools + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) @@ -16,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.build.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/clipp/all/test_v1_package/CMakeLists.txt b/recipes/clipp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/clipp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/clipp/all/test_v1_package/conanfile.py b/recipes/clipp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/clipp/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 1bc5ee90c9a986104cd8cc408a4d677b441fdef1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:08:20 +0100 Subject: [PATCH 0215/1307] (#21411) blaze: add package_type --- recipes/blaze/all/conanfile.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/recipes/blaze/all/conanfile.py b/recipes/blaze/all/conanfile.py index a5d62edf842a5..576d457372823 100644 --- a/recipes/blaze/all/conanfile.py +++ b/recipes/blaze/all/conanfile.py @@ -12,11 +12,15 @@ class BlazeConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://bitbucket.org/blaze-lib/blaze" description = "open-source, high-performance C++ math library for dense and sparse arithmetic" - topics = ("blaze", "math", "algebra", "linear algebra", "high-performance") + topics = ("math", "algebra", "linear algebra", "high-performance") license = "BSD-3-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,9 +28,6 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 14) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): base_source_dir = os.path.join(self.source_folder, os.pardir) get(self, **self.conan_data["sources"][self.version], @@ -46,6 +47,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "blaze") self.cpp_info.set_property("cmake_target_name", "blaze::blaze") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From a99534751f2a9d5564cefe101b656dcc15778715 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:30:33 +0100 Subject: [PATCH 0216/1307] (#21407) backport-cpp: add package_type --- recipes/backport-cpp/all/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/backport-cpp/all/conanfile.py b/recipes/backport-cpp/all/conanfile.py index a114a54bf9ff4..7bd9c00c00321 100644 --- a/recipes/backport-cpp/all/conanfile.py +++ b/recipes/backport-cpp/all/conanfile.py @@ -9,22 +9,22 @@ class BackportCppRecipe(ConanFile): name = "backport-cpp" description = "An ongoing effort to bring modern C++ utilities to be compatible with C++11" - topics = ("backport-cpp", "header-only", "backport") + topics = ("header-only", "backport") homepage = "https://github.com/bitwizeshift/BackportCpp" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source=True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -37,9 +37,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "Backport") self.cpp_info.set_property("cmake_target_name", "Backport::Backport") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Backport" From e1426f1e52faf7d1ee1cb0733bfe98d3f7db8064 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 09:49:31 +0100 Subject: [PATCH 0217/1307] (#21408) bit-lite: add package_type --- recipes/bit-lite/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bit-lite/all/conanfile.py b/recipes/bit-lite/all/conanfile.py index b0529cb7abe9a..9057f4c627521 100644 --- a/recipes/bit-lite/all/conanfile.py +++ b/recipes/bit-lite/all/conanfile.py @@ -14,18 +14,18 @@ class BitLiteConan(ConanFile): in a single-file header-only library.") topics = ("bit-lite", "bit", "manipulation", ) license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,9 +38,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "bit-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::bit-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "bit-lite" From e53a85c3105227389fb854c3ab5093b6ba8c82f9 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:09:29 +0100 Subject: [PATCH 0218/1307] (#21352) pcl: properly configure pcl_configure.h regarding qhull * remove unofficial interface definitions and properly configure pcl_configure.h * less verbose package_info() --- recipes/pcl/all/conanfile.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index b172e88fb5927..481bfcadd49be 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -440,6 +440,10 @@ def generate(self): tc.cache_variables["WITH_PCAP"] = self._is_enabled("pcap") tc.cache_variables["WITH_PNG"] = self._is_enabled("png") tc.cache_variables["WITH_QHULL"] = self._is_enabled("qhull") + if self._is_enabled("qhull"): + # Upstream FindQhull.cmake defines HAVE_QHULL which changes content of pcl_config.h + # Since we use CMakeDeps instead of this file, we have to manually inject HAVE_QHULL + tc.cache_variables["HAVE_QHULL"] = True tc.cache_variables["WITH_QT"] = self._is_enabled("qt") tc.cache_variables["WITH_VTK"] = self._is_enabled("vtk") tc.cache_variables["WITH_CUDA"] = self._is_enabled("cuda") @@ -539,7 +543,6 @@ def package_info(self): component.requires.append(opt_dep) for dep in self._external_deps.get(name, []) + self._external_optional_deps.get(name, []): component.requires += self._ext_dep_to_conan_target(dep) - self.output.info(f"Component {name} requires: {component.requires}") if self.options.apps: component = self.cpp_info.components["apps"] @@ -574,13 +577,6 @@ def package_info(self): if self.settings.os == "Windows": common.system_libs.append("ws2_32") - if self.options.with_qhull: - self.cpp_info.defines.append('HAVE_QHULL=1') - if self.options.with_png: - self.cpp_info.defines.append('HAVE_PNG=1') - if self.options.with_cuda: - self.cpp_info.defines.append('HAVE_CUDA=1') - # TODO: Legacy, to be removed on Conan 2.0 self.cpp_info.names["cmake_find_package"] = "PCL" self.cpp_info.names["cmake_find_package_multi"] = "PCL" From 5ec9fd48348bb90f444e7d245ffb976755c97509 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 19:18:06 +0900 Subject: [PATCH 0219/1307] (#21382) clipper2: add version 1.2.4 * clipper2: add version 1.2.4 * remove macos suffix --- recipes/clipper2/all/conandata.yml | 7 +++++++ .../patches/1.2.4-0001-remove-macos-suffix.patch | 13 +++++++++++++ recipes/clipper2/config.yml | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index f81cdc19e4abe..1b524aee1941a 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.4": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.4.tar.gz" + sha256: "a013d391c25c5f665cdb5cbd75cdd842dcc28f6e1bd098454beb359f6f212f33" "1.2.3": url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.3.tar.gz" sha256: "d65bd45f50331e9dd2de3c68137c6be069fe25732095bef0128d547c997b1fda" @@ -6,6 +9,10 @@ sources: url: "https://github.com/AngusJohnson/Clipper2/files/11071418/Clipper2_1.2.2.zip" sha256: "ec28bc4e05a86cb0be81a872e8d90a4d575b63882ef3ac78f06662358e410f89" patches: + "1.2.4": + - patch_file: "patches/1.2.4-0001-remove-macos-suffix.patch" + patch_description: "fix install for windows shared build" + patch_type: "portability" "1.2.2": - patch_file: "patches/1.2.2-0001-fix-install.patch" patch_description: "fix install for windows shared build" diff --git a/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch b/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch new file mode 100644 index 0000000000000..bdf115e1c468c --- /dev/null +++ b/recipes/clipper2/all/patches/1.2.4-0001-remove-macos-suffix.patch @@ -0,0 +1,13 @@ +diff --git a/CPP/CMakeLists.txt b/CPP/CMakeLists.txt +index 817cf01..cd17e84 100644 +--- a/CPP/CMakeLists.txt ++++ b/CPP/CMakeLists.txt +@@ -19,7 +19,7 @@ set(CLIPPER2_USINGZ "ON" CACHE STRING "Build Clipper2Z, either \"ON\" or \"OFF\" + set(CLIPPER2_MAX_PRECISION 8 CACHE STRING "Maximum precision allowed for double to int64 scaling") + + if (APPLE) +- set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") ++# set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") + endif () + + include(GNUInstallDirs) diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index 6d9f399765e2d..66e7ce883e15d 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.4": + folder: all "1.2.3": folder: all "1.2.2": From 9321528317bca5ab1e4cf26c759e4f8d0e29d874 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:41:26 +0100 Subject: [PATCH 0220/1307] (#21386) base64: modernize more + avoid to build tests and warnings as errors in CMake build + fix cmake target name * modernize more * fix cmake_target_name * reproducible CMake build and avoid warnings as errors * fix install destination --- recipes/base64/all/conanfile.py | 53 ++++++++----------- .../base64/all/patches/0.4.0-0002-cmake.patch | 10 ++-- .../base64/all/test_package/CMakeLists.txt | 5 +- .../base64/all/test_v1_package/CMakeLists.txt | 11 ---- .../base64/all/test_v1_package/conanfile.py | 18 ------- 5 files changed, 29 insertions(+), 68 deletions(-) delete mode 100644 recipes/base64/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/base64/all/test_v1_package/conanfile.py diff --git a/recipes/base64/all/conanfile.py b/recipes/base64/all/conanfile.py index d56ae8c5bcf10..e01cf8be42f58 100644 --- a/recipes/base64/all/conanfile.py +++ b/recipes/base64/all/conanfile.py @@ -1,8 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration -from conan.tools.env import Environment -from conan.tools.files import copy, get, apply_conandata_patches, chdir, export_conandata_patches, rmdir from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, apply_conandata_patches, chdir, export_conandata_patches, rmdir +from conan.tools.env import Environment from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc @@ -10,7 +9,8 @@ import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.53.0" + class Base64Conan(ConanFile): name = "base64" @@ -18,7 +18,8 @@ class Base64Conan(ConanFile): license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aklomp/base64" - topics = ("base64", "codec", "encoder", "decoder") + topics = ("codec", "encoder", "decoder") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,23 +34,17 @@ def export_sources(self): export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + if Version(self.version) < "0.5.0": + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): if self._use_cmake: @@ -57,13 +52,8 @@ def layout(self): else: basic_layout(self, src_folder="src") - def validate(self): - if Version(self.version) < "0.5.0" and self.info.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support build shared.") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _use_cmake(self): @@ -72,6 +62,10 @@ def _use_cmake(self): def generate(self): if self._use_cmake: tc = CMakeToolchain(self) + tc.variables["BASE64_BUILD_CLI"] = False + tc.variables["BASE64_WERROR"] = False + tc.variables["BASE64_BUILD_TESTS"] = False + tc.variables["BASE64_WITH_OpenMP"] = False tc.generate() else: tc = AutotoolsToolchain(self) @@ -82,10 +76,7 @@ def build(self): if self._use_cmake: cmake = CMake(self) cmake.configure() - if Version(self.version) >= "0.5.0": - cmake.build() - else: - cmake.build(target="base64") + cmake.build() else: env = Environment() if self.settings.arch == "x86" or self.settings.arch == "x86_64": @@ -111,14 +102,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) else: rmdir(self, os.path.join(self.package_folder, "cmake")) - rmdir(self, os.path.join(self.package_folder, "lib")) - copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) else: copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) copy(self, pattern="*.a", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) copy(self, pattern="*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.build_folder, keep_path=False) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "base64") + self.cpp_info.set_property("cmake_target_name", "aklomp::base64") self.cpp_info.libs = ["base64"] if Version(self.version) >= "0.5.0" and not self.options.shared: diff --git a/recipes/base64/all/patches/0.4.0-0002-cmake.patch b/recipes/base64/all/patches/0.4.0-0002-cmake.patch index 4b833cc2f77c3..27b194373c867 100644 --- a/recipes/base64/all/patches/0.4.0-0002-cmake.patch +++ b/recipes/base64/all/patches/0.4.0-0002-cmake.patch @@ -29,7 +29,7 @@ +# Compilation options +option(BASE64_INSTALL_TARGET "add an install target" ON) +option(BASE64_BUILD_TESTS "add test projects" ON) -+option(BASE64_WITH_OPENMP "use openmp" OFF) ++option(BASE64_WITH_OpenMP "use openmp" OFF) + +if (_TARGET_ARCH STREQUAL "x86" OR _TARGET_ARCH STREQUAL "x64") + option(BASE64_WITH_FAST_UNALIGNED_ACCESS "vectorization: unaligned access enabled" ON) @@ -49,7 +49,7 @@ + +################################################################### +# OpenMP -+if(BASE64_WITH_OPENMP) ++if(BASE64_WITH_OpenMP) + find_package(OpenMP) + if (OPENMP_FOUND) + option(BASE64_USE_OpenMP "Utilize OpenMP to parallelize encoding and decoding." ON) @@ -180,9 +180,9 @@ +# install target +if (BASE64_INSTALL_TARGET) + install(TARGETS base64 EXPORT base64-targets -+ RUNTIME DESTINATION bin/$ -+ LIBRARY DESTINATION lib/$ -+ ARCHIVE DESTINATION lib/$ ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib + INCLUDES DESTINATION include + ) + install(FILES include/libbase64.h DESTINATION include) diff --git a/recipes/base64/all/test_package/CMakeLists.txt b/recipes/base64/all/test_package/CMakeLists.txt index 195fdf269b250..d13d382a6be8a 100644 --- a/recipes/base64/all/test_package/CMakeLists.txt +++ b/recipes/base64/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) - -project(test_package C) +project(test_package LANGUAGES C) find_package(base64 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE base64::base64) +target_link_libraries(${PROJECT_NAME} PRIVATE aklomp::base64) diff --git a/recipes/base64/all/test_v1_package/CMakeLists.txt b/recipes/base64/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 6c32de99d28f7..0000000000000 --- a/recipes/base64/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.1) - -project(test_package C) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(base64 REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE base64::base64) diff --git a/recipes/base64/all/test_v1_package/conanfile.py b/recipes/base64/all/test_v1_package/conanfile.py deleted file mode 100644 index 5a05af3c2dfd2..0000000000000 --- a/recipes/base64/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,18 +0,0 @@ -from conans import ConanFile, CMake -from conan.tools.build import cross_building -import os - - -class TestPackageV1Conan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 629b5ae962f24ab2d2989a9fadb5924f7cc0082a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 28 Nov 2023 20:09:16 +0900 Subject: [PATCH 0221/1307] (#21390) jsoncons: add version 0.172.0 * jsoncons: add version 0.172.0 * drop support gcc5 in 0.172.0 * check C++14 on jsoncons/0.172.0 * support test_v1_package --- recipes/jsoncons/all/conandata.yml | 3 ++ recipes/jsoncons/all/conanfile.py | 28 +++++++++++++++++++ .../jsoncons/all/test_package/CMakeLists.txt | 6 +++- .../all/test_v1_package/CMakeLists.txt | 6 +++- recipes/jsoncons/config.yml | 2 ++ 5 files changed, 43 insertions(+), 2 deletions(-) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 7c01d444fb091..4ac7b31b02bf9 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.172.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.0.tar.gz" + sha256: "a0b9f8c9afcfc30993bc9122a659e3790351b621c354e5dee09dd7c53665df14" "0.171.1": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.1.tar.gz" sha256: "e84d71bcf7c78f21de8bbd88a8da6f6afa458f562f6b846ef51f1aa5697ad904" diff --git a/recipes/jsoncons/all/conanfile.py b/recipes/jsoncons/all/conanfile.py index acb202ad18e68..54b1abb2a2c3e 100644 --- a/recipes/jsoncons/all/conanfile.py +++ b/recipes/jsoncons/all/conanfile.py @@ -1,6 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import get, copy from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -23,12 +26,37 @@ class JsonconsConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "0.172.0" else "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + }.get(self._min_cppstd, {}) + def layout(self): basic_layout(self, src_folder="src") def package_id(self): self.info.clear() + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/jsoncons/all/test_package/CMakeLists.txt b/recipes/jsoncons/all/test_package/CMakeLists.txt index 15f5b1aabdb29..067c8673df55b 100644 --- a/recipes/jsoncons/all/test_package/CMakeLists.txt +++ b/recipes/jsoncons/all/test_package/CMakeLists.txt @@ -5,4 +5,8 @@ find_package(jsoncons CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncons) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(jsoncons_VERSION VERSION_LESS "0.172.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt b/recipes/jsoncons/all/test_v1_package/CMakeLists.txt index 2e4adc0eddf16..a5743e33125cd 100644 --- a/recipes/jsoncons/all/test_v1_package/CMakeLists.txt +++ b/recipes/jsoncons/all/test_v1_package/CMakeLists.txt @@ -8,4 +8,8 @@ find_package(jsoncons CONFIG REQUIRED) add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jsoncons::jsoncons) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if(jsoncons_VERSION VERSION_LESS "0.172.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index f6d765635e5eb..b73a3c682c9d1 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.172.0": + folder: "all" "0.171.1": folder: "all" "0.171.0": From 626ed31a228756a5d73b670efec216d08fec902a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:28:00 +0100 Subject: [PATCH 0222/1307] (#21402) cpuinfo: remove shared option if msvc (always static) + allow shared for windows & non-msvc + add cmake_file_name property * remove shared option if msvc instead of raising also allow shared for non-msvc compiler on Windows * add cmake_file_name property --- recipes/cpuinfo/all/conanfile.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/recipes/cpuinfo/all/conanfile.py b/recipes/cpuinfo/all/conanfile.py index d109a4b7e8b2f..24edf5382c77c 100644 --- a/recipes/cpuinfo/all/conanfile.py +++ b/recipes/cpuinfo/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.microsoft import is_msvc import os required_conan_version = ">=1.53.0" @@ -15,7 +15,7 @@ class CpuinfoConan(ConanFile): topics = ("cpu", "cpuid", "cpu-cache", "cpu-model", "instruction-set", "cpu-topology") homepage = "https://github.com/pytorch/cpuinfo" url = "https://github.com/conan-io/conan-center-index" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -33,7 +33,12 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.shared: + if is_msvc(self): + # Only static for msvc + # Injecting CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not sufficient since there are global symbols + del self.options.shared + self.package_type = "static-library" + if self.options.get_safe("shared"): self.options.rm_safe("fPIC") self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") @@ -41,10 +46,6 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") - def validate(self): - if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("shared cpuinfo not supported on Windows") - def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -65,10 +66,19 @@ def generate(self): tc.generate() def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + + # Fix install dir of dll + replace_in_file( + self, + cmakelists, + "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}", + "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}", + ) + if self.version < "cci.20230118": - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", - "") + # Honor fPIC option + replace_in_file(self, cmakelists, "SET_PROPERTY(TARGET clog PROPERTY POSITION_INDEPENDENT_CODE ON)", "") def build(self): self._patch_sources() @@ -84,6 +94,7 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "cpuinfo") self.cpp_info.set_property("pkg_config_name", "libcpuinfo") if self.version < "cci.20230118": From cb3d56d604017acb0795eaa6d0b6beaad7a6eb7b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 12:49:10 +0100 Subject: [PATCH 0223/1307] (#21409) bertrand: add package_type --- recipes/bertrand/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bertrand/all/conanfile.py b/recipes/bertrand/all/conanfile.py index 3e410daba2d59..1373f8df7a23f 100644 --- a/recipes/bertrand/all/conanfile.py +++ b/recipes/bertrand/all/conanfile.py @@ -15,6 +15,7 @@ class BertrandConan(ConanFile): homepage = "https://github.com/bernedom/bertrand" description = "A C++ header only library providing a trivial implementation for design by contract." topics = ("design by contract", "dbc", "cplusplus-library", "cplusplus-17") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property @@ -31,6 +32,9 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + cmake_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -50,12 +54,8 @@ def loose_lt_semver(v1, v2): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -78,6 +78,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "bertrand") self.cpp_info.set_property("cmake_target_name", "bertrand::bertrand") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 46d49e3ea50c18bf618e5a87d29bcdc17a4ad0ca Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:36:36 +0100 Subject: [PATCH 0224/1307] (#21412) boolean-lite: add package_type --- recipes/boolean-lite/all/conanfile.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/boolean-lite/all/conanfile.py b/recipes/boolean-lite/all/conanfile.py index 312d87af87164..d7d42e0dd8b35 100644 --- a/recipes/boolean-lite/all/conanfile.py +++ b/recipes/boolean-lite/all/conanfile.py @@ -11,20 +11,20 @@ class BooleanLiteConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/boolean-lite" description = "boolean lite - A strong boolean type for C++98 and later in a single-file header-only library" - topics = ("boolean-lite", "strong bool", "cpp98/11/17") + topics = ("strong bool", "cpp98/11/17") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -37,9 +37,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "boolean-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::boolean-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "boolean-lite" @@ -49,3 +47,5 @@ def package_info(self): self.cpp_info.components["booleanlite"].names["cmake_find_package"] = "boolean-lite" self.cpp_info.components["booleanlite"].names["cmake_find_package_multi"] = "boolean-lite" self.cpp_info.components["booleanlite"].set_property("cmake_target_name", "nonstd::boolean-lite") + self.cpp_info.components["booleanlite"].bindirs = [] + self.cpp_info.components["booleanlite"].libdirs = [] From 7bdba0f5d16d8fe5e66c6d9681fefc92aa7decdb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:46:15 +0100 Subject: [PATCH 0225/1307] (#21413) boolinq: add package_type --- recipes/boolinq/all/conanfile.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/recipes/boolinq/all/conanfile.py b/recipes/boolinq/all/conanfile.py index b9eaad3c63e47..6aee6c7437722 100644 --- a/recipes/boolinq/all/conanfile.py +++ b/recipes/boolinq/all/conanfile.py @@ -10,13 +10,17 @@ class BoolinqConan(ConanFile): name = "boolinq" description = "Super tiny C++11 single-file header-only LINQ template library" - topics = ("boolinq", "linq", "header-only") + topics = ("linq", "header-only") license = "MIT" homepage = "https://github.com/k06a/boolinq" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 27955a8e6c345fb4553f55ece8dea7cff362d90c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 16:15:20 +0100 Subject: [PATCH 0226/1307] (#21414) brigand: add package_type --- recipes/brigand/all/conanfile.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/recipes/brigand/all/conanfile.py b/recipes/brigand/all/conanfile.py index d205988b4830f..21dde9eb4313f 100644 --- a/recipes/brigand/all/conanfile.py +++ b/recipes/brigand/all/conanfile.py @@ -14,7 +14,7 @@ class BrigandConan(ConanFile): topics = ("meta-programming", "boost", "runtime", "header-only") homepage = "https://github.com/edouarda/brigand" license = "BSL-1.0" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_boost": [True, False], @@ -25,9 +25,11 @@ class BrigandConan(ConanFile): no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if self.options.with_boost: - # TODO: add transitive_headers=True & bump required_conan_version to >=1.52.0 self.requires("boost/1.79.0") def package_id(self): @@ -37,12 +39,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -55,9 +53,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "libbrigand") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.options.with_boost: self.cpp_info.requires = ["boost::headers"] else: From cb907e41c208d213acbf9e3d43323be70e5651c7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:38:57 +0100 Subject: [PATCH 0227/1307] (#21415) bshoshany-thread-pool: modernize more - add layout - add package_type - properly copy headers depending on versions in package() --- .../bshoshany-thread-pool/all/conanfile.py | 43 ++++++++++--------- .../all/test_package/CMakeLists.txt | 7 +-- .../all/test_package/conanfile.py | 2 +- .../all/test_v1_package/CMakeLists.txt | 14 ++---- .../all/test_v1_package/conanfile.py | 2 +- 5 files changed, 31 insertions(+), 37 deletions(-) diff --git a/recipes/bshoshany-thread-pool/all/conanfile.py b/recipes/bshoshany-thread-pool/all/conanfile.py index 29f20f3aa9b91..3da6e90d6c057 100644 --- a/recipes/bshoshany-thread-pool/all/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/conanfile.py @@ -4,20 +4,22 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get +from conan.tools.layout import basic_layout from conan.tools.scm import Version required_conan_version = ">=1.43.0" class BShoshanyThreadPoolConan(ConanFile): + name = "bshoshany-thread-pool" description = "BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library" homepage = "https://github.com/bshoshany/thread-pool" license = "MIT" - name = "bshoshany-thread-pool" - no_copy_source = True - settings = "arch", "build_type", "compiler", "os" topics = ("concurrency", "cpp17", "header-only", "library", "multi-threading", "parallel-computing", "thread-pool", "threads") url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "arch", "build_type", "compiler", "os" + no_copy_source = True @property def _minimum_compilers_version(self): @@ -33,27 +35,12 @@ def _minimum_compilers_version(self): def _min_cppstd(self): return "17" - @property - def _source_subfolder(self): - return "source_subfolder" - - def package(self): - copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) - copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) - copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() - def package_info(self): - if self.settings.os == "Linux": - self.cpp_info.system_libs = ["pthread"] - self.cpp_info.names["cmake_find_package"] = "bshoshany-thread-pool" - self.cpp_info.names["cmake_find_package_multi"] = "bshoshany-thread-pool" - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -63,3 +50,19 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "3.5.0": + copy(self, "*.hpp", self.source_folder, os.path.join(self.package_folder, "include")) + else: + copy(self, "*.hpp", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] diff --git a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt index ef975b6d66e03..28d8252a78110 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt +++ b/recipes/bshoshany-thread-pool/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) - find_package(bshoshany-thread-pool REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) +target_link_libraries(${PROJECT_NAME} PRIVATE bshoshany-thread-pool::bshoshany-thread-pool) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py index a154ce8fd694e..b16654fc86e82 100644 --- a/recipes/bshoshany-thread-pool/all/test_package/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/test_package/conanfile.py @@ -5,7 +5,7 @@ from conan.tools.cmake import CMake, cmake_layout -class BshoshanyThreadPoolTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt index 0ad87e39bce01..be00a8c7f57c7 100644 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/CMakeLists.txt @@ -1,14 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +cmake_minimum_required(VERSION 3.8) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(bshoshany-thread-pool REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} bshoshany-thread-pool::bshoshany-thread-pool) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py index e3619171241a6..2fc6ad2a6a2ba 100644 --- a/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py +++ b/recipes/bshoshany-thread-pool/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ from conans import CMake, ConanFile, tools -class BshoshanyThreadPoolTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "cmake", "cmake_find_package_multi" From e70701bf47aacc5984e80477fbce0a27da73e6c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 17:51:39 +0100 Subject: [PATCH 0228/1307] (#21416) bvdberg-ctest: add package_type --- recipes/bvdberg-ctest/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/bvdberg-ctest/all/conanfile.py b/recipes/bvdberg-ctest/all/conanfile.py index ac8c63a98f38c..7786a8fb5c6c8 100644 --- a/recipes/bvdberg-ctest/all/conanfile.py +++ b/recipes/bvdberg-ctest/all/conanfile.py @@ -14,9 +14,13 @@ class BvdbergCtestConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "ctest is a unit test framework for software written in C." topics = ("testing", "testing-framework", "unit-testing") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("Windows not supported") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 817e1e8af23b4a26812fab45dfe29440222fc15c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:10:16 +0100 Subject: [PATCH 0229/1307] (#21418) c-dbg-macro: add package_type --- recipes/c-dbg-macro/all/conanfile.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/recipes/c-dbg-macro/all/conanfile.py b/recipes/c-dbg-macro/all/conanfile.py index d30bb72e433f7..96423bd2a8bac 100644 --- a/recipes/c-dbg-macro/all/conanfile.py +++ b/recipes/c-dbg-macro/all/conanfile.py @@ -5,7 +5,8 @@ import os -required_conan_version = ">=1.46.0" +required_conan_version = ">=1.50.0" + class DbgMacroConan(ConanFile): name = "c-dbg-macro" @@ -14,18 +15,22 @@ class DbgMacroConan(ConanFile): license = "MIT" description = "A dbg(...) macro for C" topics = ("debugging", "macro", "pretty-printing", "header-only") + package_type = "header-library" settings = ("compiler", "build_type", "os", "arch") no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("This library is not compatible with Windows") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "dbg.h", @@ -34,6 +39,6 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - - def package_id(self): - self.info.clear() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 07f7a6d5c53ba669cdc737263838003ceb8ffbce Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:18:43 +0100 Subject: [PATCH 0230/1307] (#21419) cajun-jsonapi: modernize more for conan v2 - add package_type - add layout - empty bindirs & libdirs - fix required_conan_version --- recipes/cajun-jsonapi/all/conanfile.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/recipes/cajun-jsonapi/all/conanfile.py b/recipes/cajun-jsonapi/all/conanfile.py index 55cd07447203f..4c40bccc4e945 100644 --- a/recipes/cajun-jsonapi/all/conanfile.py +++ b/recipes/cajun-jsonapi/all/conanfile.py @@ -1,34 +1,37 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.files import get, copy, load, save +from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.50.0" class CajunJsonApiConan(ConanFile): name = "cajun-jsonapi" description = "CAJUN* is a C++ API for the JSON object interchange format." - topics = ("conan", "cajun", "json") + topics = ("cajun", "json") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/cajun-jsonapi/cajun-jsonapi" license = "BSD-3-Clause" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True - ) + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, 11) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + def _extract_license(self): file_content = load(self, os.path.join(self.source_folder, "test.cpp")) return ( @@ -82,8 +85,7 @@ def package(self): src=self.source_folder, ) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.includedirs.append(os.path.join("include", "cajun")) + self.cpp_info.libdirs = [] From 53f13e1ba371607b838ff39a3cdfcf10d2505703 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 18:38:01 +0100 Subject: [PATCH 0231/1307] (#21421) canvas_ity: add package_type --- recipes/canvas_ity/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/canvas_ity/all/conanfile.py b/recipes/canvas_ity/all/conanfile.py index b4527ac4677c7..9b0e2c5ceee1d 100644 --- a/recipes/canvas_ity/all/conanfile.py +++ b/recipes/canvas_ity/all/conanfile.py @@ -14,6 +14,7 @@ class CanvasItyConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/a-e-k/canvas_ity" topics = ("rasterizer", "canvas", "2d", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -24,7 +25,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From e341ed29661e720babf3d6d9574b4c830b7fa836 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:06:32 +0100 Subject: [PATCH 0232/1307] (#21422) cd3-boost-unit-definitions: modernize more for conan v2 - add package_type - fix msvc min version - put src code under src folder --- recipes/cd3-boost-unit-definitions/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/cd3-boost-unit-definitions/all/conanfile.py b/recipes/cd3-boost-unit-definitions/all/conanfile.py index 23bdb146d0b4e..2b48b57aef4a1 100644 --- a/recipes/cd3-boost-unit-definitions/all/conanfile.py +++ b/recipes/cd3-boost-unit-definitions/all/conanfile.py @@ -10,13 +10,14 @@ required_conan_version = ">=1.52.0" -class PackageConan(ConanFile): +class Cd3BoostUnitDefinitionsConan(ConanFile): name = "cd3-boost-unit-definitions" description = "A collection of pre-defined types and unit instances for working with Boost.Units quantities." license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/CD3/BoostUnitDefinitions" topics = ("physical dimensions", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,20 +29,17 @@ def _min_cppstd(self): def _compilers_minimum_version(self): return { "Visual Studio": "15", - "msvc": "19.0", + "msvc": "191", "gcc": "5", "clang": "5", "apple-clang": "5.1", } - def export_sources(self): - pass - def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.80.0", transitive_headers=True) + self.requires("boost/1.80.0") def package_id(self): self.info.clear() From 0406eef581563db43d051fd11a41239f9a03b88c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:56:43 +0100 Subject: [PATCH 0233/1307] (#21423) chef-fun: add package_type & cleanup recipe - add package_type - fix required_conan_version - remove dead code --- recipes/chef-fun/all/conandata.yml | 4 +- recipes/chef-fun/all/conanfile.py | 54 ++----------------- .../chef-fun/all/test_package/conanfile.py | 1 - recipes/chef-fun/config.yml | 1 - 4 files changed, 4 insertions(+), 56 deletions(-) diff --git a/recipes/chef-fun/all/conandata.yml b/recipes/chef-fun/all/conandata.yml index b1d88fa4a923c..9532bc9181c94 100644 --- a/recipes/chef-fun/all/conandata.yml +++ b/recipes/chef-fun/all/conandata.yml @@ -1,6 +1,4 @@ sources: - # Newer versions at the top "1.0.1": - url: - - "https://gitlab.com/libchef/chef-fun/-/archive/1.0.1/chef-fun-1.0.1.tar.gz" + url: "https://gitlab.com/libchef/chef-fun/-/archive/1.0.1/chef-fun-1.0.1.tar.gz" sha256: "52a4facb3b1de9f1a8ed4f3314fc5e2190fab1f5564c04c7071361fb08ca837e" diff --git a/recipes/chef-fun/all/conanfile.py b/recipes/chef-fun/all/conanfile.py index e764b383caf1b..8958e9403c1fa 100644 --- a/recipes/chef-fun/all/conanfile.py +++ b/recipes/chef-fun/all/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" class ChefFunConan(ConanFile): @@ -17,40 +17,28 @@ class ChefFunConan(ConanFile): topics = ("functional programming", "cpp", "library" ) url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - # Keep these or explain why it's not required for this particular case - # Do not copy sources to build folder for header only projects, unless you need to apply patches no_copy_source = True @property def _min_cppstd(self): return 20 - # In case the project requires C++14/17/20/... the minimum compiler version should be listed - # Not tested on "msvc", "clang", and "apple-clang". Possibly it works there - # given a sufficient recent version @property def _compilers_minimum_version(self): return { "gcc": "9.4.0", } - # Use the export_sources(self) method instead of the exports_sources attribute. - # This allows finer grain exportation of patches per version - def export_sources(self): - export_conandata_patches(self) - def layout(self): - # src_folder must use the same source folder name than the project basic_layout(self, src_folder="src") - # same package ID for any package def package_id(self): self.info.clear() def validate(self): if self.settings.compiler.get_safe("cppstd"): - # Validate the minimum cpp standard supported when installing the package. For C++ projects only check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: @@ -58,21 +46,9 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) -# def requirements(self): -# # Prefer self.requires method instead of requires attribute -# # Direct dependencies of header only libs are always transitive since they are included in public headers -# self.requires("dependency/0.8.1", transitive_headers=True) - def source(self): - # Download source package and extract to source folder get(self, **self.conan_data["sources"][self.version], strip_root=True) - # Not mandatory when there is no patch, but will suppress warning message about missing build() method - def build(self): - # The attribute no_copy_source should not be used when applying patches in build - apply_conandata_patches(self) - - # Copy all files to the package folder def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( @@ -89,29 +65,5 @@ def package(self): ) def package_info(self): - # Folders not used for header-only self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - - # Set these to the appropriate values if the package has an official FindPACKAGE.cmake - # listed in https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html#find-modules - # examples: bzip2, freetype, gdal, icu, libcurl, libjpeg, libpng, libtiff, openssl, sqlite3, zlib... - self.cpp_info.set_property("cmake_module_file_name", "ChefFun") - self.cpp_info.set_property("cmake_module_target_name", "ChefFun::ChefFun") - # Set these to the appropriate values if package provides a CMake config file - # (package-config.cmake or packageConfig.cmake, with package::package target, usually installed in /lib/cmake//) - self.cpp_info.set_property("cmake_file_name", "chef-fun") - self.cpp_info.set_property("cmake_target_name", "chef-fun::chef-fun") - # Set this to the appropriate value if the package provides a pkgconfig file - # (package.pc, usually installed in /lib/pkgconfig/) - self.cpp_info.set_property("pkg_config_name", "chef-fun") - - ## Add m, pthread and dl if needed in Linux/FreeBSD - #if self.settings.os in ["Linux", "FreeBSD"]: - # self.cpp_info.system_libs.extend(["dl", "m", "pthread"]) - - # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.names["cmake_find_package"] = "chef-fun" - self.cpp_info.names["cmake_find_package_multi"] = "chef-fun" - self.cpp_info.filenames["cmake_find_package"] = "chef-fun" - self.cpp_info.filenames["cmake_find_package_multi"] = "chef-fun" diff --git a/recipes/chef-fun/all/test_package/conanfile.py b/recipes/chef-fun/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/chef-fun/all/test_package/conanfile.py +++ b/recipes/chef-fun/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" diff --git a/recipes/chef-fun/config.yml b/recipes/chef-fun/config.yml index d8a13868268e6..715e55357a17b 100644 --- a/recipes/chef-fun/config.yml +++ b/recipes/chef-fun/config.yml @@ -1,4 +1,3 @@ versions: - # Newer versions at the top "1.0.1": folder: all From a6bf8ccac1adbe0d188b70d7d2d9a62053daefc8 Mon Sep 17 00:00:00 2001 From: Khalil Estell Date: Tue, 28 Nov 2023 11:20:24 -0800 Subject: [PATCH 0234/1307] (#21425) Add missing requirement for libhal * Add missing requirement for libhal libhal 2.Y.Z requires tl-function-ref as well as boost-leaf. * Add to test package This file uses the tl-function-ref dependency is used. --- recipes/libhal/all/conanfile.py | 26 ++++++----- .../libhal/all/test_package/test_package.cpp | 43 ++++++++++++++++--- 2 files changed, 52 insertions(+), 17 deletions(-) diff --git a/recipes/libhal/all/conanfile.py b/recipes/libhal/all/conanfile.py index 4d6375a4008aa..b711596878185 100644 --- a/recipes/libhal/all/conanfile.py +++ b/recipes/libhal/all/conanfile.py @@ -44,6 +44,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): + self.requires("tl-function-ref/1.0.0") # NOTE from the author, kammce, and CCI maintainers: # although boost-leaf is deprecated, we've kept it for 2.x versions, # don't update it as upstream code won't work with boost itself @@ -77,18 +78,20 @@ def build(self): pass def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - copy( - self, + copy(self, + "LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses") + ) + copy(self, "*.h", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include") + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include") ) - copy( - self, + copy(self, "*.hpp", - dst=os.path.join(self.package_folder, "include"), - src=os.path.join(self.source_folder, "include") + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include") ) def package_info(self): @@ -104,7 +107,8 @@ def package_info(self): "BOOST_LEAF_NO_THREADS" ] - # Note from CCI maintainers: Ensure users are aware of the deprecated dependency - if Version(self.version) < "3.0": + # Note from CCI maintainers: Ensure users are aware of the deprecated + # dependency + if version < "3.0": self.output.warning(f"{self.name} < 3.0.0 uses boost-leaf which is a deprecated recipe. " f"Once 3.0 is released, 2.x will also be deprecated.") diff --git a/recipes/libhal/all/test_package/test_package.cpp b/recipes/libhal/all/test_package/test_package.cpp index f32cbffd9f13d..f702ac0fa8617 100644 --- a/recipes/libhal/all/test_package/test_package.cpp +++ b/recipes/libhal/all/test_package/test_package.cpp @@ -20,7 +20,8 @@ class test_pwm : public hal::pwm } }; -int main() +int +main() { test_pwm pwm; auto rc_servo = hal::rc_servo::create(pwm).value(); @@ -34,15 +35,20 @@ int main() #else #include +#include +#include -class test_pwm : public hal::pwm { +class test_pwm : public hal::pwm +{ private: - virtual hal::result driver_frequency(hal::hertz p_frequency) { + hal::result driver_frequency(hal::hertz p_frequency) override + { std::printf("frequency = %f Hz\n", p_frequency); return frequency_t{}; } - virtual hal::result driver_duty_cycle(float p_position) { + hal::result driver_duty_cycle(float p_position) override + { error_count_down--; if (error_count_down == 0) { return hal::new_error(std::errc::io_error); @@ -55,13 +61,36 @@ class test_pwm : public hal::pwm { int error_count_down = 2; }; -int main() { +class test_timer : public hal::timer +{ +private: + hal::result driver_is_running() override + { + return is_running_t{}; + } + hal::result driver_cancel() override + { + return cancel_t{}; + } + hal::result driver_schedule( + hal::callback, + hal::time_duration) override + { + return schedule_t{}; + } +}; + +int +main() +{ using namespace hal::literals; + using namespace std::literals; int status = 0; test_pwm pwm; + test_timer timer; hal::attempt_all( - [&pwm]() -> hal::status { + [&pwm, &timer]() -> hal::status { HAL_CHECK(pwm.frequency(10.0_kHz)); HAL_CHECK(pwm.duty_cycle(0.25)); @@ -69,6 +98,8 @@ int main() { HAL_CHECK(pwm.duty_cycle(-0.25)); HAL_CHECK(pwm.duty_cycle(-1.0)); + HAL_CHECK(timer.schedule([]() {}, 1ms)); + return hal::success(); }, [](std::errc p_errc) { From bdc4e8e9bb289a3514391d81a4d1eaca37af3747 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 04:28:38 +0900 Subject: [PATCH 0235/1307] (#21435) glaze: add version 1.8.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6350539fe7901..0f33621d3e035 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.1": + url: "https://github.com/stephenberry/glaze/archive/v1.8.1.tar.gz" + sha256: "ea804976d55a27e6df49390c3ec8600daea0c72780ea7094d79d1edcbe525fcd" "1.7.0": url: "https://github.com/stephenberry/glaze/archive/v1.7.0.tar.gz" sha256: "e8ccb925cf45f8974ba8d9af56c29eed12dd5fd9253c02015a6780b7c861e4df" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a5c7ebbca4dd3..c83a25c985852 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.1": + folder: all "1.7.0": folder: all "1.6.1": From de9163332446f36a6d5cd5dd9e919d9d57dcd32a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 28 Nov 2023 20:49:06 +0100 Subject: [PATCH 0236/1307] (#21438) cppzmq: add package_type + bump zeromq * add package_type * bump zeromq --- recipes/cppzmq/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/cppzmq/all/conanfile.py b/recipes/cppzmq/all/conanfile.py index 44e3718dd5de3..5a976b586d2ff 100644 --- a/recipes/cppzmq/all/conanfile.py +++ b/recipes/cppzmq/all/conanfile.py @@ -12,25 +12,23 @@ class CppZmqConan(ConanFile): description = "C++ binding for 0MQ" homepage = "https://github.com/zeromq/cppzmq" license = "MIT" - topics = ("cppzmq", "zmq-cpp", "zmq", "cpp-bind") + topics = ("zmq-cpp", "zmq", "cpp-bind") url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zeromq/4.3.4", transitive_headers=True, transitive_libs=True) + self.requires("zeromq/4.3.5") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From a8536b38a7ef148c7b6384414e5a880b0049cb29 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 05:08:30 +0900 Subject: [PATCH 0237/1307] (#21441) zlib-ng: add version 2.1.5 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 83e5af856aeeb..7e85151017f0d 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.5": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.5.tar.gz" + sha256: "3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04" "2.1.4": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.4.tar.gz" sha256: "a0293475e6a44a3f6c045229fe50f69dc0eebc62a42405a51f19d46a5541e77a" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index cc680233f4b5c..b48f6e22e71f3 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.5": + folder: all "2.1.4": folder: all "2.1.3": From 120fa739b1ef1471e8f48d2d4e963ef96c87c544 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 28 Nov 2023 23:28:18 +0300 Subject: [PATCH 0238/1307] (#21446) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 59870ccc4500d..8b39ba21d27ff 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.0.tar.gz" + sha256: "e8a37c80f1823bbac9cbfd6bbd662ee14e8ff0ac9e97966aa34cb2d0eed18e72" "2.2.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.2.3.tar.gz" sha256: "31f6de553700b25e4ed8517bcde24bd43b18c3fda1260f968aa5c393a7491783" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 291422959f744..ea0e83069f215 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.3": folder: all "2.2.2": From e4b5bc24efc8075fcf436591cc0ee990caaaf80a Mon Sep 17 00:00:00 2001 From: Hans-Joachim Krauch Date: Tue, 28 Nov 2023 19:58:53 -0300 Subject: [PATCH 0239/1307] (#21452) foxglove-websocket: Add version 1.2.0 --- recipes/foxglove-websocket/all/conandata.yml | 3 +++ recipes/foxglove-websocket/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/foxglove-websocket/all/conandata.yml b/recipes/foxglove-websocket/all/conandata.yml index 8f15ef7f494fb..697b11f6c928c 100644 --- a/recipes/foxglove-websocket/all/conandata.yml +++ b/recipes/foxglove-websocket/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 1.2.0: + url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.2.0.tar.gz + sha256: 0471d3932500ed6acd87a99cd76e048366c82f2527c1631afcee4f8ab71c4ab7 1.1.0: url: https://github.com/foxglove/ws-protocol/archive/refs/tags/releases/cpp/v1.1.0.tar.gz sha256: 3ad1f639e340e878dd638d542e57185b8c7c08fdfcb03d8c43d054957078a81f diff --git a/recipes/foxglove-websocket/config.yml b/recipes/foxglove-websocket/config.yml index 29bb1651937f8..6f923ecb4a132 100644 --- a/recipes/foxglove-websocket/config.yml +++ b/recipes/foxglove-websocket/config.yml @@ -1,4 +1,6 @@ versions: + 1.2.0: + folder: all 1.1.0: folder: all 1.0.0: From a48a4bc322a6fc12d163988584b0bc8f298f24b6 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 09:47:42 +0900 Subject: [PATCH 0240/1307] (#21447) quill: add version 3.5.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index aebded6d0ed89..665850c7b00b6 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/odygrd/quill/archive/v3.5.0.tar.gz" + sha256: "47a69465cddeb05645745bed0b3099b49cb627464782f765ce9545723ff1fe84" "3.4.1": url: "https://github.com/odygrd/quill/archive/v3.4.1.tar.gz" sha256: "99f6497b8ba37c30c871fab89f14cd7bc989f3eaa921ccd940a521ee60a6a1c5" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index 085eaabd5901d..c12fd98d1c139 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: "all" "3.4.1": folder: "all" "3.4.0": From 23cf6c4c03d3e164ccdebeffd0893df62ce826d7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 02:29:34 +0100 Subject: [PATCH 0241/1307] (#21437) cppcodec: add package_type --- recipes/cppcodec/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/cppcodec/all/conanfile.py b/recipes/cppcodec/all/conanfile.py index 59f96dbe4a59f..abb2abaee1872 100644 --- a/recipes/cppcodec/all/conanfile.py +++ b/recipes/cppcodec/all/conanfile.py @@ -17,6 +17,7 @@ class CppcodecConan(ConanFile): "base32hex and hex (a.k.a. base16) as specified in RFC 4648, plus Crockford's base32" ) topics = ("base64", "cpp11", "codec", "base32") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -31,8 +32,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -45,4 +45,3 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "cppcodec-1") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] From 4336a68a1fef94e6c9704100a436c3a1a72f600d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:29:41 +0900 Subject: [PATCH 0242/1307] (#21451) clipper2: add version 1.3.0 --- recipes/clipper2/all/conandata.yml | 3 +++ recipes/clipper2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/clipper2/all/conandata.yml b/recipes/clipper2/all/conandata.yml index 1b524aee1941a..317fd4373a1de 100644 --- a/recipes/clipper2/all/conandata.yml +++ b/recipes/clipper2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Cliper2_1.3.0.tar.gz" + sha256: "f7e1a706f5f786ed1be8ae969ce15ca569ce36d8de1c3d3f3dacfb3ce0c493e8" "1.2.4": url: "https://github.com/AngusJohnson/Clipper2/archive/refs/tags/Clipper2_1.2.4.tar.gz" sha256: "a013d391c25c5f665cdb5cbd75cdd842dcc28f6e1bd098454beb359f6f212f33" diff --git a/recipes/clipper2/config.yml b/recipes/clipper2/config.yml index 66e7ce883e15d..49b239cf22a6f 100644 --- a/recipes/clipper2/config.yml +++ b/recipes/clipper2/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.4": folder: all "1.2.3": From 51ea3c6f4b80bf62928b163828da7c1a04b8d396 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 11:48:18 +0900 Subject: [PATCH 0243/1307] (#21461) nlohmann_json: add version 3.11.3 --- recipes/nlohmann_json/all/conandata.yml | 3 +++ recipes/nlohmann_json/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nlohmann_json/all/conandata.yml b/recipes/nlohmann_json/all/conandata.yml index 3da3e0aae2e97..971d0191590f9 100644 --- a/recipes/nlohmann_json/all/conandata.yml +++ b/recipes/nlohmann_json/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.11.3": + url: "https://github.com/nlohmann/json/archive/v3.11.3.tar.gz" + sha256: "0d8ef5af7f9794e3263480193c491549b2ba6cc74bb018906202ada498a79406" "3.11.2": url: "https://github.com/nlohmann/json/archive/v3.11.2.tar.gz" sha256: "d69f9deb6a75e2580465c6c4c5111b89c4dc2fa94e3a85fcd2ffcd9a143d9273" diff --git a/recipes/nlohmann_json/config.yml b/recipes/nlohmann_json/config.yml index e38fadbe1b4de..ad526c439b84b 100644 --- a/recipes/nlohmann_json/config.yml +++ b/recipes/nlohmann_json/config.yml @@ -1,4 +1,6 @@ versions: + "3.11.3": + folder: all "3.11.2": folder: all "3.11.1": From 31bca922dacac3f2608a44736cddb6bf3e920e4f Mon Sep 17 00:00:00 2001 From: Tobias Ribizel Date: Wed, 29 Nov 2023 04:37:50 +0100 Subject: [PATCH 0244/1307] (#21058) [ginkgo] add version 1.7.0 * [ginkgo] add versions up to 1.7.0 * remove intermediate versions * patch libc++ issue * add cmake requirement * improve patch descriptions * list sources as string * fix tool_requires * remove old versions * fix cmake requirement * fix patch * fix SYCL warning * disable shared debug on MSVC for 1.7.0 * revert formatting changes --------- Co-authored-by: Uilian Ries --- recipes/ginkgo/all/conandata.yml | 17 +++++++++++ recipes/ginkgo/all/conanfile.py | 29 ++++++++++++++++--- .../ginkgo/all/patches/libc++-chrono.patch | 17 +++++++++++ recipes/ginkgo/config.yml | 2 ++ 4 files changed, 61 insertions(+), 4 deletions(-) create mode 100644 recipes/ginkgo/all/patches/libc++-chrono.patch diff --git a/recipes/ginkgo/all/conandata.yml b/recipes/ginkgo/all/conandata.yml index 1b82b82c2ec35..8927c006e472b 100644 --- a/recipes/ginkgo/all/conandata.yml +++ b/recipes/ginkgo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/ginkgo-project/ginkgo/archive/v1.7.0.tar.gz" + sha256: "f4b362bcb046bc53fbe2e578662b939222d0c44b96449101829e73ecce02bcb3" "1.4.0": url: "https://github.com/ginkgo-project/ginkgo/archive/v1.4.0.tar.gz" sha256: "6dcadbd3e93f6ec58ef6cda5b980fbf51ea3c7c13e27952ef38804058ac93f08" @@ -6,8 +9,22 @@ sources: url: "https://github.com/ginkgo-project/ginkgo/archive/v1.3.0.tar.gz" sha256: "1b0e907b4046cdf7cef16d1730c12ba812b38f2764f49f74f454239a27f63596" patches: + "1.7.0": + - patch_file: "patches/libc++-chrono.patch" + patch_type: "official" + patch_description: "Fix for std::chrono incompatibility with libc++" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/1463" "1.4.0": - patch_file: "patches/windows-symbols.patch" + patch_type: "official" + patch_description: "Fix for excessive link symbol count with MSVC" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/868" "1.3.0": - patch_file: "patches/cmake-fixes.patch" + patch_type: "official" + patch_description: "Fixes for CMake issues" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/713, https://github.com/ginkgo-project/ginkgo/pull/720" - patch_file: "patches/windows-iterator.patch" + patch_type: "official" + patch_description: "Fixes for MSVC compatibility" + patch_source: "https://github.com/ginkgo-project/ginkgo/pull/665" diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 89838bc8bd072..6c4dd324e58d0 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -57,6 +57,9 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -74,13 +77,27 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler)) - if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + minimum_version = self._minimum_compilers_version.get( + str(self.settings.compiler) + ) + if minimum_version and loose_lt_semver( + str(self.settings.compiler.version), minimum_version + ): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - if self.options.shared and is_msvc(self) and is_msvc_static_runtime(self): + is_windows_shared = self.options.shared and is_msvc(self) + + if ( + is_windows_shared + and self.settings.build_type == "Debug" + and Version(self.version) >= "1.7.0" + ): + raise ConanInvalidConfiguration( + "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" + ) + if is_windows_shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Ginkgo does not support mixing static CRT and shared library" ) @@ -98,8 +115,12 @@ def generate(self): tc.variables["GINKGO_BUILD_OMP"] = self.options.openmp tc.variables["GINKGO_BUILD_CUDA"] = self.options.cuda tc.variables["GINKGO_BUILD_HIP"] = False - tc.variables["GINKGO_BUILD_DPCPP"] = False + if Version(self.version) >= "1.7.0": + tc.variables["GINKGO_BUILD_SYCL"] = False + else: + tc.variables["GINKGO_BUILD_DPCPP"] = False tc.variables["GINKGO_BUILD_HWLOC"] = False + tc.variables["GINKGO_BUILD_MPI"] = False tc.generate() def build(self): diff --git a/recipes/ginkgo/all/patches/libc++-chrono.patch b/recipes/ginkgo/all/patches/libc++-chrono.patch new file mode 100644 index 0000000000000..81e20b2bc3b95 --- /dev/null +++ b/recipes/ginkgo/all/patches/libc++-chrono.patch @@ -0,0 +1,17 @@ +--- + core/base/timer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/core/base/timer.cpp b/core/base/timer.cpp +index 786c31cae39..2c587ff0d8c 100644 +--- a/core/base/timer.cpp ++++ b/core/base/timer.cpp +@@ -124,7 +124,7 @@ void CpuTimer::wait(time_point& time) {} + std::chrono::nanoseconds CpuTimer::difference_async(const time_point& start, + const time_point& stop) + { +- return std::chrono::duration_cast( ++ return std::chrono::duration_cast( + stop.data_.chrono - start.data_.chrono); + } + diff --git a/recipes/ginkgo/config.yml b/recipes/ginkgo/config.yml index 25c9b4921636c..4283c517286f9 100644 --- a/recipes/ginkgo/config.yml +++ b/recipes/ginkgo/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.4.0": folder: all "1.3.0": From 75ca185b6ec09f479753f94ab5d36241fc10658f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 29 Nov 2023 12:58:27 +0900 Subject: [PATCH 0245/1307] (#21459) c-blosc2: update zlib-ng/2.1.5 --- recipes/c-blosc2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 591fa3d30b1d6..9f202af962843 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.4") + self.requires("zlib-ng/2.1.5") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From 55985a0b66596fa162c92f62a70d9e8ebd2ac5a3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 09:29:33 +0100 Subject: [PATCH 0246/1307] (#21431) cpp-lazy: add package_type & explicit cmake names --- recipes/cpp-lazy/all/conanfile.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/cpp-lazy/all/conanfile.py b/recipes/cpp-lazy/all/conanfile.py index 431ebcb132c22..eff5d319df990 100644 --- a/recipes/cpp-lazy/all/conanfile.py +++ b/recipes/cpp-lazy/all/conanfile.py @@ -16,8 +16,8 @@ class CpplazyConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MarcDirven/cpp-lazy" topics = ("lazy evaluation", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -55,5 +55,7 @@ def package(self): ) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "cpp-lazy") + self.cpp_info.set_property("cmake_target_name", "cpp-lazy::cpp-lazy") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 5f553ba24abde0241ebf602993612076c564c6e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 12:30:30 +0200 Subject: [PATCH 0247/1307] (#18736) djinni-support-lib: migrate to Conan v2, remove deprecated option * djinni-support-lib: migrate to Conan v2 * djinni-support-lib: restore VirtualRunEnv in test_package * djinni-support-lib: fix path issue with CMake * djinni-support-lib: fix a missing include * djinni-support-lib: add -pthread * djinni-support-lib: fix CMake path * djinni-support-lib: add system frameworks --- .../djinni-support-lib/1.x.x/CMakeLists.txt | 11 - .../djinni-support-lib/1.x.x/conandata.yml | 34 ++- recipes/djinni-support-lib/1.x.x/conanfile.py | 204 ++++++++++-------- .../1.x.x/patches/fix-missing-include.patch | 22 ++ .../1.x.x/test_package/CMakeLists.txt | 9 +- .../1.x.x/test_package/conanfile.py | 29 ++- .../1.x.x/test_package/test_package.cpp | 8 +- .../1.x.x/test_v1_package/CMakeLists.txt | 8 + .../1.x.x/test_v1_package/conanfile.py | 19 ++ recipes/djinni-support-lib/all/CMakeLists.txt | 11 - recipes/djinni-support-lib/all/conandata.yml | 4 +- recipes/djinni-support-lib/all/conanfile.py | 129 ++++++----- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 29 ++- .../all/test_package/test_package.cpp | 8 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 19 ++ 17 files changed, 339 insertions(+), 222 deletions(-) delete mode 100644 recipes/djinni-support-lib/1.x.x/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch create mode 100644 recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py delete mode 100644 recipes/djinni-support-lib/all/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/djinni-support-lib/all/test_v1_package/conanfile.py diff --git a/recipes/djinni-support-lib/1.x.x/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/CMakeLists.txt deleted file mode 100644 index 0afabb3cbe2e0..0000000000000 --- a/recipes/djinni-support-lib/1.x.x/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(conan_cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/djinni-support-lib/1.x.x/conandata.yml b/recipes/djinni-support-lib/1.x.x/conandata.yml index d35c553da9ba8..10c1b916311e1 100644 --- a/recipes/djinni-support-lib/1.x.x/conandata.yml +++ b/recipes/djinni-support-lib/1.x.x/conandata.yml @@ -1,13 +1,29 @@ sources: - "1.0.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.0.0.tar.gz - sha256: "25f8c648c3bec78a54d5387a792f1d7cd3c073c4477dc50ad2b9c5270a590779" + "1.2.1": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.1.tar.gz" + sha256: "ed64d3466ad7f13971913b5bd70c608a558a6b8574d9dbd8779dcdce9b97521b" + "1.2.0": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.0.tar.gz" + sha256: "3630870c2b3305dc6216f8ca8e37139f3f59f2ea7bd600a1154c5aa1c4d983a9" "1.1.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.1.0.tar.gz + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.1.0.tar.gz" sha256: "3a67d1c26959a9df5c158fdf0792e036149009b206ed89fcee8c7b1608187336" + "1.0.0": + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.0.0.tar.gz" + sha256: "25f8c648c3bec78a54d5387a792f1d7cd3c073c4477dc50ad2b9c5270a590779" +patches: "1.2.0": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.0.tar.gz - sha256: "3630870c2b3305dc6216f8ca8e37139f3f59f2ea7bd600a1154c5aa1c4d983a9" - "1.2.1": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v1.2.1.tar.gz - sha256: "ed64d3466ad7f13971913b5bd70c608a558a6b8574d9dbd8779dcdce9b97521b" + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" + "1.1.0": + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" + "1.0.0": + - patch_file: "patches/fix-missing-include.patch" + patch_source: "https://github.com/cross-language-cpp/djinni-support-lib/commit/ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f" + patch_description: "Fix missing #include " + patch_type: "backport" diff --git a/recipes/djinni-support-lib/1.x.x/conanfile.py b/recipes/djinni-support-lib/1.x.x/conanfile.py index 61920459f5086..ef96684a7eec4 100644 --- a/recipes/djinni-support-lib/1.x.x/conanfile.py +++ b/recipes/djinni-support-lib/1.x.x/conanfile.py @@ -1,145 +1,175 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import collect_libs, copy, get, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version +required_conan_version = ">=1.53.0" -class DjinniSuppotLib(ConanFile): + +class DjinniSupportLib(ConanFile): name = "djinni-support-lib" - homepage = "https://djinni.xlcpp.dev" - url = "https://github.com/conan-io/conan-center-index" description = "Djinni is a tool for generating cross-language type declarations and interface bindings" - topics = ("java", "Objective-C", "Android", "iOS") license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://djinni.xlcpp.dev" + topics = ("java", "Objective-C", "Android", "iOS") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False], - "target": ["jni", "objc", "python", "cppcli", "auto", "deprecated"], - "with_jni": [True, False, "auto"], - "with_objc": [True, False, "auto"], - "with_python": [True, False, "auto"], - "with_cppcli": [True, False, "auto"], - "system_java": [True, False] - } - default_options = {"shared": False, - "fPIC": True, - "target": "deprecated", - "with_jni": "auto", - "with_objc": "auto", - "with_python": "auto", - "with_cppcli": "auto", - "system_java": False, - } - exports_sources = ["CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - - _cmake = None + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_jni": [True, False, "auto"], + "with_objc": [True, False, "auto"], + "with_python": [True, False, "auto"], + "with_cppcli": [True, False, "auto"], + "system_java": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_jni": "auto", + "with_objc": "auto", + "with_python": "auto", + "with_cppcli": "auto", + "system_java": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + elif self.settings.os == "Android": + self.options.system_java = True @property def _objc_support(self): - if self.options.with_objc == "auto" or self.options.target == "auto": - return tools.is_apple_os(self.settings.os) + if self.options.with_objc == "auto": + return is_apple_os(self) else: - return self.options.with_objc == True or self.options.target == "objc" + return self.options.with_objc @property def _jni_support(self): - if self.options.with_jni == "auto" or self.options.target == "auto": + if self.options.with_jni == "auto": return self.settings.os == "Android" else: - return self.options.with_jni == True or self.options.target == "jni" + return self.options.with_jni @property def _python_support(self): - return self.options.with_python == True or self.options.target == "python" + return self.options.with_python @property def _cppcli_support(self): - if self.options.with_cppcli == "auto" or self.options.target == "auto": + if self.options.with_cppcli == "auto": return self.settings.os == "Windows" else: - return self.options.with_cppcli == True or self.options.target == "cppcli" - - def configure(self): - if self.settings.compiler == "Visual Studio" or self.options.shared: - del self.options.fPIC - - @property - def _source_subfolder(self): - return "source_subfolder" - - def build_requirements(self): - if not self.options.system_java and self._jni_support: - self.build_requires("zulu-openjdk/11.0.12@") - - def config_options(self): - if self.settings.os == "Windows": - del self.options.fPIC - elif self.settings.os == "Android": - self.options.system_java = True + return self.options.with_cppcli @property def _supported_compilers(self): return { "gcc": "8", "clang": "7", - "Visual Studio": "15", "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", } + def configure(self): + if is_msvc(self) or self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + def validate(self): - if self.options.target != "deprecated": - self.output.warn("The 'target' option is deprecated and will be removed soon. Use 'with_jni', 'with_objc', 'with_python' or 'with_cppcli' options instead.") if not (self._objc_support or self._jni_support or self._python_support or self._cppcli_support): - raise ConanInvalidConfiguration("Target language could not be determined automatically. Set at least one of 'with_jni', 'with_objc', 'with_python' or 'with_cppcli' options to `True`.") + raise ConanInvalidConfiguration( + "Target language could not be determined automatically. Set at least one of 'with_jni'," + " 'with_objc', 'with_python' or 'with_cppcli' options to `True`." + ) if self._cppcli_support: if self.settings.os != "Windows": - raise ConanInvalidConfiguration("C++/CLI has been enabled on a non-Windows operating system. This is not supported.") + raise ConanInvalidConfiguration( + "C++/CLI has been enabled on a non-Windows operating system. This is not supported." + ) + if self._objc_support or self._jni_support or self._python_support: + raise ConanInvalidConfiguration( + "C++/CLI is not yet supported with other languages enabled as well. " + "Disable 'with_jni', 'with_objc' and 'with_python' options for a valid configuration." + ) if self.options.shared: raise ConanInvalidConfiguration("C++/CLI does not support building as shared library") - if self.settings.compiler.runtime == "MT" or self.settings.compiler.runtime == "MTd": + if is_msvc_static_runtime(self): raise ConanInvalidConfiguration("'/clr' and '/MT' command-line options are incompatible") - if self._objc_support or self._jni_support or self._python_support: - raise ConanInvalidConfiguration( - "C++/CLI is not yet supported with other languages enabled as well. Disable 'with_jni', 'with_objc' and 'with_python' options for a valid configuration.") if self._python_support: if self.settings.os == "Windows": - raise ConanInvalidConfiguration("Python on Windows is not fully yet supported, please see https://github.com/cross-language-cpp/djinni-support-lib/issues.") + raise ConanInvalidConfiguration( + "Python on Windows is not fully yet supported, please see" + " https://github.com/cross-language-cpp/djinni-support-lib/issues." + ) if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, "17") + check_min_cppstd(self, "17") try: minimum_required_compiler_version = self._supported_compilers[str(self.settings.compiler)] - if tools.Version(self.settings.compiler.version) < minimum_required_compiler_version: - raise ConanInvalidConfiguration("This package requires c++17 support. The current compiler does not support it.") + if Version(self.settings.compiler.version) < minimum_required_compiler_version: + raise ConanInvalidConfiguration( + "This package requires c++17 support. The current compiler does not support it." + ) except KeyError: - self.output.warn("This recipe has no support for the current compiler. Please consider adding it.") + self.output.warning( + "This recipe has no support for the current compiler. Please consider adding it." + ) + + def build_requirements(self): + if not self.options.system_java and self._jni_support: + self.build_requires("zulu-openjdk/11.0.19") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["DJINNI_WITH_OBJC"] = self._objc_support - self._cmake.definitions["DJINNI_WITH_JNI"] = self._jni_support - self._cmake.definitions["DJINNI_WITH_PYTHON"] = self._python_support - self._cmake.definitions["DJINNI_WITH_CPPCLI"] = self._cppcli_support - self._cmake.definitions["BUILD_TESTING"] = False + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared + tc.variables["DJINNI_WITH_OBJC"] = self._objc_support + tc.variables["DJINNI_WITH_JNI"] = self._jni_support + tc.variables["DJINNI_WITH_PYTHON"] = self._python_support + tc.variables["DJINNI_WITH_CPPCLI"] = self._cppcli_support + tc.variables["BUILD_TESTING"] = False if self._jni_support: - self._cmake.definitions["JAVA_AWT_LIBRARY"] = "NotNeeded" - self._cmake.definitions["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" - self._cmake.configure() - return self._cmake + tc.variables["JAVA_AWT_LIBRARY"] = "NotNeeded" + tc.variables["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch b/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch new file mode 100644 index 0000000000000..03996b5c26511 --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/patches/fix-missing-include.patch @@ -0,0 +1,22 @@ +From ac0e9f4f633ad8bfc1378db8954af4f1f88c1f4f Mon Sep 17 00:00:00 2001 +From: Denis Pershin +Date: Tue, 9 Nov 2021 19:36:50 +0700 +Subject: [PATCH] Fix compilation on gcc 11.2 (#67) + +Add include memory for standard smart pointer +--- + djinni/cwrapper/wrapper_marshal.hpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/djinni/cwrapper/wrapper_marshal.hpp b/djinni/cwrapper/wrapper_marshal.hpp +index 75a75d1..6d6a7cc 100644 +--- a/djinni/cwrapper/wrapper_marshal.hpp ++++ b/djinni/cwrapper/wrapper_marshal.hpp +@@ -9,6 +9,7 @@ + #include + #include + #include ++#include + + #ifdef __cplusplus + extern "C" { diff --git a/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt index 6c1d84c7e3d82..b118a50a53af8 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt +++ b/recipes/djinni-support-lib/1.x.x/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(djinni-support-lib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE djinni-support-lib::djinni-support-lib) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) diff --git a/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py b/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py index ed8aa8b7e0ebb..ef5d7042163ec 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py +++ b/recipes/djinni-support-lib/1.x.x/test_package/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp b/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp index 9228c8f56407e..acdc2e577622c 100644 --- a/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp +++ b/recipes/djinni-support-lib/1.x.x/test_package/test_package.cpp @@ -1,11 +1,9 @@ #include + #include // since we would either need objective C++ or Java (jni) there is not a lot to test -// just that we have the hearders and can link +// just that we have the headers and can link int main() { - return EXIT_SUCCESS ; + return EXIT_SUCCESS; } - - - diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py b/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c534d392ac09f --- /dev/null +++ b/recipes/djinni-support-lib/1.x.x/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def _configure_cmake(self): + cmake = CMake(self) + cmake.configure() + return cmake + + def build(self): + cmake = self._configure_cmake() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/djinni-support-lib/all/CMakeLists.txt b/recipes/djinni-support-lib/all/CMakeLists.txt deleted file mode 100644 index 0afabb3cbe2e0..0000000000000 --- a/recipes/djinni-support-lib/all/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(conan_cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -if(WIN32 AND BUILD_SHARED_LIBS) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -endif() - -add_subdirectory("source_subfolder") diff --git a/recipes/djinni-support-lib/all/conandata.yml b/recipes/djinni-support-lib/all/conandata.yml index dea5fe156fcc1..fae655bf2e6d5 100644 --- a/recipes/djinni-support-lib/all/conandata.yml +++ b/recipes/djinni-support-lib/all/conandata.yml @@ -1,9 +1,7 @@ sources: "0.0.1": - url: https://github.com/cross-language-cpp/djinni-support-lib/archive/v0.0.1.tar.gz + url: "https://github.com/cross-language-cpp/djinni-support-lib/archive/v0.0.1.tar.gz" sha256: "ddef30a95a8bd325446d3a76ea9c11f198f3b33f66157217bd46fb13d75c43d2" patches: "0.0.1": - patch_file: "patches/cmake_install.patch" - base_path: "source_subfolder" - diff --git a/recipes/djinni-support-lib/all/conanfile.py b/recipes/djinni-support-lib/all/conanfile.py index 97c05458fb360..0957b9e7315cf 100644 --- a/recipes/djinni-support-lib/all/conanfile.py +++ b/recipes/djinni-support-lib/all/conanfile.py @@ -1,93 +1,104 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get -class DjinniSuppotLib(ConanFile): +required_conan_version = ">=1.53.0" + + +class DjinniSupportLib(ConanFile): name = "djinni-support-lib" - homepage = "https://djinni.xlcpp.dev" - url = "https://github.com/conan-io/conan-center-index" description = "Djinni is a tool for generating cross-language type declarations and interface bindings" - topics = ("java", "Objective-C", "Android", "iOS") license = "Apache-2.0" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], - "fPIC": [True, False], - "target": ["jni", "objc", "auto"], - "system_java": [True, False] - } - default_options = {"shared": False, - "fPIC": True , - "target": "auto", - "system_java": False - } - exports_sources = ["patches/**", "CMakeLists.txt"] - generators = "cmake", "cmake_find_package" - - _cmake = None + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://djinni.xlcpp.dev" + topics = ("java", "Objective-C", "Android", "iOS") - @property - def objc_support(self): - if self.options.target == "auto": - return tools.is_apple_os(self.settings.os) - else: - return self.options.target == "objc" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "target": ["jni", "objc", "auto"], + "system_java": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "target": "auto", + "system_java": False, + } @property - def jni_support(self): - if self.options.target == "auto": - return self.settings.os not in ["iOS", "watchOS", "tvOS"] - else: - return self.options.target == "jni" + def _objc_support(self): + return self.options.target == "objc" @property - def _source_subfolder(self): - return "source_subfolder" + def _jni_support(self): + return self.options.target == "jni" - def build_requirements(self): - if not self.options.system_java: - self.build_requires("zulu-openjdk/11.0.8@") + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Set default target based on OS + self.options.target = "objc" if is_apple_os(self) else "jni" def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + if not self.options.system_java and self._jni_support: + self.tool_requires("zulu-openjdk/21.0.1") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True if not self.options.shared: - self._cmake.definitions["DJINNI_STATIC_LIB"] = True - self._cmake.definitions["DJINNI_WITH_OBJC"] = self.objc_support - self._cmake.definitions["DJINNI_WITH_JNI"] = self.jni_support - if self.jni_support: - self._cmake.definitions["JAVA_AWT_LIBRARY"] = "NotNeeded" - self._cmake.definitions["JAVA_AWT_INCLUDE_PATH"] = "NotNeeded" - self._cmake.configure() - return self._cmake + tc.variables["DJINNI_STATIC_LIB"] = True + tc.variables["DJINNI_WITH_OBJC"] = self._objc_support + tc.variables["DJINNI_WITH_JNI"] = self._jni_support + if self._jni_support: + tc.variables["JAVA_AWT_LIBRARY"] = "NotNeeded" + tc.variables["JAVA_AWT_INCLUDE_PATH"] = self.source_folder.replace("\\", "/") + tc.generate() + tc = CMakeDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) # these should not be here, but to support old generated files .... - if self.objc_support: + if self._objc_support: self.cpp_info.includedirs.append(os.path.join("include", "djinni", "objc")) - if self.jni_support: + if self._jni_support: self.cpp_info.includedirs.append(os.path.join("include", "djinni", "jni")) + + if self._objc_support: + self.cpp_info.frameworks = ["Foundation", "CoreFoundation"] diff --git a/recipes/djinni-support-lib/all/test_package/CMakeLists.txt b/recipes/djinni-support-lib/all/test_package/CMakeLists.txt index 33ae887aa6aea..67f60b7a2aed7 100644 --- a/recipes/djinni-support-lib/all/test_package/CMakeLists.txt +++ b/recipes/djinni-support-lib/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(djinni-support-lib REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE djinni-support-lib::djinni-support-lib) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) diff --git a/recipes/djinni-support-lib/all/test_package/conanfile.py b/recipes/djinni-support-lib/all/test_package/conanfile.py index ed8aa8b7e0ebb..ef5d7042163ec 100644 --- a/recipes/djinni-support-lib/all/test_package/conanfile.py +++ b/recipes/djinni-support-lib/all/test_package/conanfile.py @@ -1,19 +1,26 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os + + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/djinni-support-lib/all/test_package/test_package.cpp b/recipes/djinni-support-lib/all/test_package/test_package.cpp index 9228c8f56407e..acdc2e577622c 100644 --- a/recipes/djinni-support-lib/all/test_package/test_package.cpp +++ b/recipes/djinni-support-lib/all/test_package/test_package.cpp @@ -1,11 +1,9 @@ #include + #include // since we would either need objective C++ or Java (jni) there is not a lot to test -// just that we have the hearders and can link +// just that we have the headers and can link int main() { - return EXIT_SUCCESS ; + return EXIT_SUCCESS; } - - - diff --git a/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt b/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/djinni-support-lib/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/djinni-support-lib/all/test_v1_package/conanfile.py b/recipes/djinni-support-lib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c534d392ac09f --- /dev/null +++ b/recipes/djinni-support-lib/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def _configure_cmake(self): + cmake = CMake(self) + cmake.configure() + return cmake + + def build(self): + cmake = self._configure_cmake() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 0ed34193b3c0ce104c78db4f4c188de292fcc078 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 13:03:08 +0100 Subject: [PATCH 0248/1307] (#21420) canary: modernize more for conan v2 - add package_type - add layout - empty bindirs & libdirs --- recipes/canary/all/conanfile.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/recipes/canary/all/conanfile.py b/recipes/canary/all/conanfile.py index 1a102a8feb035..a8399d13089c4 100644 --- a/recipes/canary/all/conanfile.py +++ b/recipes/canary/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir required_conan_version = ">=1.53.0" @@ -16,7 +16,7 @@ class SocketcanCanaryConan(ConanFile): license = "BSL-1.0" homepage = "https://github.com/djarek/canary" topics = ("socketcan", "can-bus", "can") - + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True @@ -24,17 +24,23 @@ class SocketcanCanaryConan(ConanFile): def _min_cppstd(self): return 11 + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("boost/1.74.0") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} only supports Linux.") if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - def requirements(self): - self.requires("boost/1.74.0", transitive_headers=True) - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -43,19 +49,19 @@ def generate(self): tc.generate() def build(self): - pass + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): copy(self, "LICENSE_1_0.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) - cmake.configure() cmake.install() rmdir(self, os.path.join(self.package_folder, "lib")) - def package_id(self): - self.info.clear() - def package_info(self): self.cpp_info.requires = ["boost::headers", "boost::system"] self.cpp_info.set_property("cmake_file_name", "canary") self.cpp_info.set_property("cmake_target_name", "canary::canary") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 56e548eea9299c933eb3e13cd02997702ba5e798 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 16:52:01 +0200 Subject: [PATCH 0249/1307] (#18730) libftdi/0.x: migrate to Conan v2 * libftdi: migrate to Conan v2 * libftdi: bump deps * libftdi: fix transitive_headers=True * libftdi: fix_apple_shared_install_name() --- recipes/libftdi/0.x/CMakeLists.txt | 11 +-- recipes/libftdi/0.x/conandata.yml | 1 - recipes/libftdi/0.x/conanfile.py | 93 ++++++++++--------- .../libftdi/0.x/test_package/CMakeLists.txt | 7 +- recipes/libftdi/0.x/test_package/conanfile.py | 21 +++-- .../0.x/test_v1_package/CMakeLists.txt | 8 ++ .../libftdi/0.x/test_v1_package/conanfile.py | 18 ++++ recipes/libftdi/1.x/conanfile.py | 64 +++++++------ .../libftdi/1.x/test_package/CMakeLists.txt | 3 +- .../1.x/test_v1_package/CMakeLists.txt | 3 +- 10 files changed, 134 insertions(+), 95 deletions(-) create mode 100644 recipes/libftdi/0.x/test_v1_package/CMakeLists.txt create mode 100644 recipes/libftdi/0.x/test_v1_package/conanfile.py diff --git a/recipes/libftdi/0.x/CMakeLists.txt b/recipes/libftdi/0.x/CMakeLists.txt index 5b33131a68c48..922dfc4a145e3 100644 --- a/recipes/libftdi/0.x/CMakeLists.txt +++ b/recipes/libftdi/0.x/CMakeLists.txt @@ -1,10 +1,9 @@ -cmake_minimum_required(VERSION 3.4) +cmake_minimum_required(VERSION 3.12) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +find_package(libusb-compat CONFIG REQUIRED) +find_package(Boost CONFIG REQUIRED) -link_libraries(CONAN_PKG::libusb-compat) -include_directories(${CONAN_INCLUDE_DIRS_BOOST}) +link_libraries(libusb-compat::libusb-compat Boost::boost) -add_subdirectory(source_subfolder) +add_subdirectory(src) diff --git a/recipes/libftdi/0.x/conandata.yml b/recipes/libftdi/0.x/conandata.yml index 87f1338e3ed67..362a6680a8215 100644 --- a/recipes/libftdi/0.x/conandata.yml +++ b/recipes/libftdi/0.x/conandata.yml @@ -5,4 +5,3 @@ sources: patches: "0.20": - patch_file: "patches/0001-cmake-fixes.patch" - base_path: "source_subfolder" diff --git a/recipes/libftdi/0.x/conanfile.py b/recipes/libftdi/0.x/conanfile.py index bdc298e883977..3ae320b47fbec 100644 --- a/recipes/libftdi/0.x/conanfile.py +++ b/recipes/libftdi/0.x/conanfile.py @@ -1,16 +1,22 @@ -from conans import CMake, ConanFile, tools -from contextlib import contextmanager import os +from conan import ConanFile +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir + +required_conan_version = ">=1.53.0" + class LibFtdi(ConanFile): name = "libftdi" description = "libFTDI - FTDI USB driver with bitbang mode" - topics = ("conan", "libconfuse", "configuration", "parser") + license = "LGPL-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.intra2net.com/en/developer/libftdi" - license = "LGPL-2.0" - exports_sources = "CMakeLists.txt", "patches/**" + topics = ("libconfuse", "configuration", "parser") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -22,17 +28,10 @@ class LibFtdi(ConanFile): "fPIC": True, "enable_cpp_wrapper": True, } - generators = "cmake" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -40,51 +39,55 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.enable_cpp_wrapper: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("libftdi-{}".format(self.version), self._source_subfolder) + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libusb-compat/0.1.7") + self.requires("libusb-compat/0.1.7", transitive_headers=True, transitive_libs=True) if self.options.enable_cpp_wrapper: - self.requires("boost/1.74.0") - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["FTDIPP"] = self.options.enable_cpp_wrapper - self._cmake.definitions["PYTHON_BINDINGS"] = False - self._cmake.definitions["EXAMPLES"] = False - self._cmake.definitions["DOCUMENTATION"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + self.requires("boost/1.83.0", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FTDIPP"] = self.options.enable_cpp_wrapper + tc.variables["PYTHON_BINDINGS"] = False + tc.variables["EXAMPLES"] = False + tc.variables["DOCUMENTATION"] = False + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), "CMAKE_BINARY_DIR", "PROJECT_BINARY_DIR") - tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") - tools.replace_in_file(os.path.join(self._source_subfolder, "ftdipp", "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "CMAKE_BINARY_DIR", "PROJECT_BINARY_DIR") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") + replace_in_file(self, os.path.join(self.source_folder, "ftdipp", "CMakeLists.txt"), + "CMAKE_SOURCE_DIR", "PROJECT_SOURCE_DIR") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy(pattern="COPYING*", src=self._source_subfolder, dst="licenses") - cmake = self._configure_cmake() + copy(self, "COPYING*", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): + self.cpp_info.libs = ["ftdi"] + self.cpp_info.requires = ["libusb-compat::libusb-compat"] if self.options.enable_cpp_wrapper: self.cpp_info.libs.append("ftdipp") - self.cpp_info.libs.append("ftdi") + self.cpp_info.requires.append("boost::headers") diff --git a/recipes/libftdi/0.x/test_package/CMakeLists.txt b/recipes/libftdi/0.x/test_package/CMakeLists.txt index 7b9b613cbb24a..6f4e1992a2351 100644 --- a/recipes/libftdi/0.x/test_package/CMakeLists.txt +++ b/recipes/libftdi/0.x/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libftdi REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libftdi::libftdi) diff --git a/recipes/libftdi/0.x/test_package/conanfile.py b/recipes/libftdi/0.x/test_package/conanfile.py index 8c64bd2e6fd24..35930df6e35fd 100644 --- a/recipes/libftdi/0.x/test_package/conanfile.py +++ b/recipes/libftdi/0.x/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,7 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") config_path = os.path.join(self.source_folder, "hello.conf") - self.run("{} {}".format(bin_path, config_path), run_environment=True) + self.run(f"{bin_path} {config_path}", env="conanrun") diff --git a/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libftdi/0.x/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libftdi/0.x/test_v1_package/conanfile.py b/recipes/libftdi/0.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a86b3a5dad12e --- /dev/null +++ b/recipes/libftdi/0.x/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + config_path = os.path.join(self.source_folder, "hello.conf") + self.run("{} {}".format(bin_path, config_path), run_environment=True) diff --git a/recipes/libftdi/1.x/conanfile.py b/recipes/libftdi/1.x/conanfile.py index 16c0bb3e46d34..93a939465107f 100644 --- a/recipes/libftdi/1.x/conanfile.py +++ b/recipes/libftdi/1.x/conanfile.py @@ -1,20 +1,23 @@ import os + from conan import ConanFile -from conan.tools.files import get, rmdir, export_conandata_patches -from conan.tools.files import apply_conandata_patches, copy +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout +from conan.tools.files import get, rmdir, export_conandata_patches, apply_conandata_patches, copy from conan.tools.microsoft import is_msvc -from conan.errors import ConanInvalidConfiguration required_conan_version = ">=1.53.0" + class LibFtdiConan(ConanFile): name = "libftdi" description = "A library to talk to FTDI chips" - license = "LGPL-2.0-only", "GPLv2-or-later" - topics = "ftdi" - homepage = "https://www.intra2net.com/en/developer/libftdi/" + license = ("LGPL-2.0-only", "GPLv2-or-later") url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.intra2net.com/en/developer/libftdi/" + topics = "ftdi" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared" : [True, False], @@ -34,23 +37,36 @@ class LibFtdiConan(ConanFile): def export_sources(self): export_conandata_patches(self) - def source(self): - get(self, **self.conan_data["sources"][self.version], - strip_root=True) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC if is_msvc(self): self.options.use_streaming = False - def layout(self): - cmake_layout(self, src_folder="src") - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - self.license = ("LGPL-2.1-only", "GPL-2.0-only") if self.options.build_eeprom_tool or self.options.enable_cpp_wrapper else ("LGPL-2.1-only") + if self.options.build_eeprom_tool or self.options.enable_cpp_wrapper: + self.license = ("LGPL-2.1-only", "GPL-2.0-only") + else: + self.license = "LGPL-2.1-only" + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # libusb.h is used in public ftdi.h + self.requires("libusb/1.0.26", transitive_headers=True, transitive_libs=True) + if self.options.enable_cpp_wrapper: + # boost/shared_ptr.hpp is used in public ftdi.hpp + self.requires("boost/1.83.0", transitive_headers=True) + + def validate(self): + if is_msvc(self) and self.options.use_streaming: + raise ConanInvalidConfiguration("VS doesn't not compile with enabled option use_streaming") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -64,15 +80,6 @@ def generate(self): tc = CMakeDeps(self) tc.generate() - def requirements(self): - self.requires("libusb/1.0.26") - if self.options.enable_cpp_wrapper: - self.requires("boost/1.80.0") - - def validate(self): - if is_msvc(self) and self.options.use_streaming: - raise ConanInvalidConfiguration("VS doesn't not compile with enabled option use_streaming") - def build(self): apply_conandata_patches(self) cmake = CMake(self) @@ -91,21 +98,20 @@ def package(self): rmdir(self, os.path.join(lib_folder, "pkgconfig")) def package_info(self): - # Remove "self.cpp_info.filenames.." statements in Conan V2 - self.cpp_info.filenames['cmake_find_package'] = "LibFTDI1" - self.cpp_info.filenames['cmake_find_package_multi'] = "LibFTDI1" - self.cpp_info.set_property("cmake_file_name", "LibFTDI1") + self.cpp_info.components["ftdi"].set_property("pkg_config_name", "libftdi1") self.cpp_info.components["ftdi"].libs = ["ftdi1"] self.cpp_info.components["ftdi"].requires = ["libusb::libusb"] self.cpp_info.components["ftdi"].includedirs.append(os.path.join("include", "libftdi1")) - self.cpp_info.components["ftdi"].names["pkg_config"] = "libftdi1" if self.options.enable_cpp_wrapper: self.cpp_info.components["ftdipp"].set_property("pkg_config_name", "libftdipp1") self.cpp_info.components["ftdipp"].libs = ["ftdipp1"] self.cpp_info.components["ftdipp"].requires = ["ftdi", "boost::headers"] - self.cpp_info.components["ftdipp"].names["pkg_config"] = "libftdipp1" if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["ftdipp"].system_libs.append("m") + + # TODO: Remove "self.cpp_info.filenames.." statements in Conan V2 + self.cpp_info.filenames["cmake_find_package"] = "LibFTDI1" + self.cpp_info.filenames["cmake_find_package_multi"] = "LibFTDI1" diff --git a/recipes/libftdi/1.x/test_package/CMakeLists.txt b/recipes/libftdi/1.x/test_package/CMakeLists.txt index efdfd6bd92c12..40064cdad12f4 100644 --- a/recipes/libftdi/1.x/test_package/CMakeLists.txt +++ b/recipes/libftdi/1.x/test_package/CMakeLists.txt @@ -1,5 +1,4 @@ -cmake_minimum_required(VERSION 3.1) - +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) diff --git a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt b/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt index eb26d0c1b0943..65f19e16d7a62 100644 --- a/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt +++ b/recipes/libftdi/1.x/test_v1_package/CMakeLists.txt @@ -1,5 +1,4 @@ -cmake_minimum_required(VERSION 3.1) - +cmake_minimum_required(VERSION 3.15) project(test_package) From 72627a7f41aa7ce02babf8b366775464fdd5511e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 16:18:53 +0100 Subject: [PATCH 0250/1307] (#21469) gsl-lite: modernize more for conan v2 * modernize more for conan v2 - add package_type - use a layout - empty bindirs & libdirs since it's header-only - fix required_conan_version * fix installation of headers * remove old versions --- recipes/gsl-lite/all/conandata.yml | 6 ----- recipes/gsl-lite/all/conanfile.py | 25 +++++++++++-------- .../gsl-lite/all/test_package/CMakeLists.txt | 4 +-- .../all/test_v1_package/CMakeLists.txt | 9 +++---- .../gsl-lite/all/test_v1_package/conanfile.py | 4 --- recipes/gsl-lite/config.yml | 4 --- 6 files changed, 19 insertions(+), 33 deletions(-) diff --git a/recipes/gsl-lite/all/conandata.yml b/recipes/gsl-lite/all/conandata.yml index cc6eafeeee69d..48441a1526519 100644 --- a/recipes/gsl-lite/all/conandata.yml +++ b/recipes/gsl-lite/all/conandata.yml @@ -17,9 +17,3 @@ sources: "0.37.0": url: "https://github.com/gsl-lite/gsl-lite/archive/0.37.0.zip" sha256: "980c8e91dd25bfaac7bfbd7151f04027fa68ff0bf652baa11de137242641e399" - "0.36.0": - url: "https://github.com/martinmoene/gsl-lite/archive/v0.36.0.zip" - sha256: "ab1bb560611dcf9cef2265b8e40e59689bb4af1fd64914aa4a8eff945dd75057" - "0.34.0": - url: "https://github.com/martinmoene/gsl-lite/archive/v0.34.0.zip" - sha256: "44255fd8aab1780773a5a2a16703c9c5a95f8c944d95caa7c468b229c0fcd1ff" diff --git a/recipes/gsl-lite/all/conanfile.py b/recipes/gsl-lite/all/conanfile.py index d59ea8610e6a3..498e3972927b9 100644 --- a/recipes/gsl-lite/all/conanfile.py +++ b/recipes/gsl-lite/all/conanfile.py @@ -1,8 +1,9 @@ from conan import ConanFile from conan.tools.files import get, copy +from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.50.0" class GslLiteConan(ConanFile): @@ -10,10 +11,10 @@ class GslLiteConan(ConanFile): license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/gsl-lite" - topics = ("GSL") + topics = ("GSL",) description = "A single-file header-only version of ISO C++ " \ "Guideline Support Library (GSL) for C++98, C++11 and later" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" # There are three configuration options for this GSL implementation's behavior # when pre/post conditions on the GSL types are violated: @@ -31,10 +32,6 @@ class GslLiteConan(ConanFile): no_copy_source = True - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") - @property def _contract_map(self): return { @@ -43,20 +40,24 @@ def _contract_map(self): "unenforced": "GSL_UNENFORCED_ON_CONTRACT_VIOLATION" } + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, "*gsl-lite.hpp", src=self._source_subfolder, dst=self.package_folder) - copy(self, "LICENSE", src=self._source_subfolder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "gsl-lite") self.cpp_info.set_property("cmake_target_name", "gsl::gsl-lite") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: back to global scope in conan v2 once cmake_find_package* generators removed self.cpp_info.components["gsllite"].defines = [self._contract_map[str(self.options.on_contract_violation)]] @@ -68,3 +69,5 @@ def package_info(self): self.cpp_info.components["gsllite"].names["cmake_find_package"] = "gsl-lite" self.cpp_info.components["gsllite"].names["cmake_find_package_multi"] = "gsl-lite" self.cpp_info.components["gsllite"].set_property("cmake_target_name", "gsl::gsl-lite") + self.cpp_info.components["gsllite"].bindirs = [] + self.cpp_info.components["gsllite"].libdirs = [] diff --git a/recipes/gsl-lite/all/test_package/CMakeLists.txt b/recipes/gsl-lite/all/test_package/CMakeLists.txt index 0063a1958556f..b4d8ae0dd1ce8 100644 --- a/recipes/gsl-lite/all/test_package/CMakeLists.txt +++ b/recipes/gsl-lite/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(gsl-lite REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} gsl::gsl-lite) +target_link_libraries(${PROJECT_NAME} PRIVATE gsl::gsl-lite) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt b/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt index 6042a2363b626..b21cc49efde95 100644 --- a/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/gsl-lite/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.15) -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(gsl-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gsl::gsl-lite) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gsl-lite/all/test_v1_package/conanfile.py b/recipes/gsl-lite/all/test_v1_package/conanfile.py index db36d97f3c465..7895db93c24a6 100644 --- a/recipes/gsl-lite/all/test_v1_package/conanfile.py +++ b/recipes/gsl-lite/all/test_v1_package/conanfile.py @@ -7,10 +7,6 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) diff --git a/recipes/gsl-lite/config.yml b/recipes/gsl-lite/config.yml index cec66ae3b5e02..587567b5e7b67 100644 --- a/recipes/gsl-lite/config.yml +++ b/recipes/gsl-lite/config.yml @@ -11,7 +11,3 @@ versions: folder: all "0.37.0": folder: all - "0.36.0": - folder: all - "0.34.0": - folder: all From a2ac1a5e6142b9703796bc7e19a5ba9d576d4376 Mon Sep 17 00:00:00 2001 From: Dmitry Baryshev Date: Wed, 29 Nov 2023 18:46:17 +0300 Subject: [PATCH 0251/1307] (#20788) [sail] Update to 0.9.0 and remove rc2 as incompatible * [sail] Update to 0.9.0 (draft) and remove rc2 as incompatible * [sail] Fix lint * [sail] Update to the latest master * [sail] Remove rc2 artifacts * [sail] Remove patches * [sail] Fix webp in upstream * [sail] Disable SVG and JPEGXL * [sail] Allow disabling forced codecs with SAIL_DISABLE_CODECS * [sail] Use BUILD_TESTING * [sail] Update URL * [sail] Update URL * [sail] Update release hash * [sail] Added _codecs suffix to priorities to make priorities more clear * [sail] Use libavif 1.0.1 * [sail] Use libavif 1.0.2 * Deprecate codes Signed-off-by: Uilian Ries * Add options description Signed-off-by: Uilian Ries * Use options.get_safe * Update description for codecs lists --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sail/all/conandata.yml | 11 +- recipes/sail/all/conanfile.py | 145 +++++++++++------- .../patches/0.9.0-rc2-avif-find-package.patch | 22 --- recipes/sail/config.yml | 2 +- 4 files changed, 93 insertions(+), 87 deletions(-) delete mode 100644 recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch diff --git a/recipes/sail/all/conandata.yml b/recipes/sail/all/conandata.yml index 3233a1960c7bf..f34812471ebce 100644 --- a/recipes/sail/all/conandata.yml +++ b/recipes/sail/all/conandata.yml @@ -1,9 +1,4 @@ sources: - "0.9.0-rc2": - url: "https://github.com/smoked-herring/sail/archive/v0.9.0-rc2.tar.gz" - sha256: "988d318fd4cfbc77ccbda49f4ac751d1998b990db157aef32b0dbd32d11f8fd6" -patches: - "0.9.0-rc2": - - patch_file: "patches/0.9.0-rc2-avif-find-package.patch" - patch_type: "conan" - patch_description: "Make the AVIF codec use find_package()" + "0.9.0": + url: "https://github.com/HappySeaFox/sail/archive/v0.9.0.tar.gz" + sha256: "892738e0f56fed8c6387e1045bba2bfbf1b095024a495845d4879edb310cd1a7" diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py index b4491bf395758..5f767c3bd62c5 100644 --- a/recipes/sail/all/conanfile.py +++ b/recipes/sail/all/conanfile.py @@ -18,27 +18,53 @@ class SAILConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "thread_safe": [True, False], - "with_avif": [True, False], - "with_gif": [True, False], - "with_jpeg2000": [True, False], - "with_jpeg": ["libjpeg", "libjpeg-turbo", False], - "with_png": [True, False], - "with_tiff": [True, False], - "with_webp": [True, False], + "with_highest_priority_codecs": [True, False], + "with_high_priority_codecs": [True, False], + "with_medium_priority_codecs": [True, False], + "with_low_priority_codecs": [True, False], + "with_lowest_priority_codecs": [True, False], + "with_avif": [True, False, "deprecated"], + "with_gif": [True, False, "deprecated"], + "with_jpeg2000": [True, False, "deprecated"], + "with_jpeg": ["libjpeg", "libjpeg-turbo", False, "deprecated"], + "with_png": [True, False, "deprecated"], + "with_tiff": [True, False, "deprecated"], + "with_webp": [True, False, "deprecated"], + } default_options = { "shared": False, "fPIC": True, "thread_safe": True, - "with_avif": True, - "with_gif": True, - "with_jpeg2000": True, - "with_jpeg": "libjpeg", - "with_png": True, - "with_tiff": True, - "with_webp": True, + "with_highest_priority_codecs": True, + "with_high_priority_codecs": True, + "with_medium_priority_codecs": True, + "with_low_priority_codecs": True, + "with_lowest_priority_codecs": True, + "with_avif": "deprecated", + "with_gif": "deprecated", + "with_jpeg2000": "deprecated", + "with_jpeg": "deprecated", + "with_png": "deprecated", + "with_tiff": "deprecated", + "with_webp": "deprecated", + } + options_description = { + "with_avif": "Deprecated", + "with_gif": "Deprecated", + "with_jpeg2000": "Deprecated", + "with_jpeg": "Deprecated", + "with_png": "Deprecated", + "with_tiff": "Deprecated", + "with_webp": "Deprecated", + "with_highest_priority_codecs": "Enable codecs: GIF, JPEG, PNG, TIFF", + "with_high_priority_codecs": "Enable codecs: BMP, SVG", + "with_medium_priority_codecs": "Enable codecs: AVIF, JPEG2000, JPEGXL, WEBL", + "with_low_priority_codecs": "Enable codecs: ICO, PCX, PNM, PSD, QOI, TGA", + "with_lowest_priority_codecs": "Enable codecs: WAL, XBM", } + def export_sources(self): export_conandata_patches(self) @@ -51,23 +77,34 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - if self.options.with_avif: - self.requires("libavif/0.11.1") - if self.options.with_gif: + if self.options.with_highest_priority_codecs: self.requires("giflib/5.2.1") - if self.options.with_jpeg2000: - self.requires("jasper/4.0.0") - if self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") - elif self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") - if self.options.with_png: self.requires("libpng/1.6.40") - if self.options.with_tiff: self.requires("libtiff/4.6.0") - if self.options.with_webp: + if self.options.with_medium_priority_codecs: + self.requires("libavif/1.0.2") + self.requires("jasper/4.0.0") + # TODO Re-enable JPEG XL after merging either of the following: + # - https://github.com/conan-io/conan-center-index/pull/13898 + # - https://github.com/conan-io/conan-center-index/pull/18812 + # self.requires("libjxl/0.6.1") self.requires("libwebp/1.3.2") + def package_id(self): + del self.info.options.with_avif + del self.info.options.with_gif + del self.info.options.with_jpeg2000 + del self.info.options.with_jpeg + del self.info.options.with_png + del self.info.options.with_tiff + del self.info.options.with_webp + + def validate(self): + for option_name in ["with_avif", "with_gif", "with_jpeg2000", "with_jpeg", "with_png", "with_tiff", "with_webp"]: + if self.options.get_safe(option_name, "deprecated") != "deprecated": + self.output.warning(f"{self.ref}:{option_name} option is deprecated, please, use 'with_xxx_priority_codecs' instead.") + def layout(self): cmake_layout(self, src_folder="src") @@ -76,31 +113,30 @@ def source(self): strip_root=True, destination=self.source_folder) def generate(self): - enable_codecs = [] - - if self.options.with_avif: - enable_codecs.append("avif") - if self.options.with_gif: - enable_codecs.append("gif") - if self.options.with_jpeg2000: - enable_codecs.append("jpeg2000") - if self.options.with_jpeg: - enable_codecs.append("jpeg") - if self.options.with_png: - enable_codecs.append("png") - if self.options.with_tiff: - enable_codecs.append("tiff") - if self.options.with_webp: - enable_codecs.append("webp") + only_codecs = [] + + if self.options.with_highest_priority_codecs: + only_codecs.append("highest-priority") + if self.options.with_high_priority_codecs: + only_codecs.append("high-priority") + if self.options.with_medium_priority_codecs: + only_codecs.append("medium-priority") + if self.options.with_low_priority_codecs: + only_codecs.append("low-priority") + if self.options.with_lowest_priority_codecs: + only_codecs.append("lowest-priority") tc = CMakeToolchain(self) - tc.variables["SAIL_BUILD_APPS"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["SAIL_BUILD_APPS"] = False tc.variables["SAIL_BUILD_EXAMPLES"] = False - tc.variables["SAIL_BUILD_TESTS"] = False tc.variables["SAIL_COMBINE_CODECS"] = True - tc.variables["SAIL_ENABLE_CODECS"] = ";".join(enable_codecs) - tc.variables["SAIL_INSTALL_PDB"] = False - tc.variables["SAIL_THREAD_SAFE"] = self.options.thread_safe + tc.variables["SAIL_ONLY_CODECS"] = ";".join(only_codecs) + # SVG requires resvg which is not in Conan yet + # JPEGXL needs porting to Conan2 + tc.variables["SAIL_DISABLE_CODECS"] = "svg;jpegxl" + tc.variables["SAIL_INSTALL_PDB"] = False + tc.variables["SAIL_THREAD_SAFE"] = self.options.thread_safe # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012 if is_msvc(self): tc.cache_variables["CMAKE_TRY_COMPILE_CONFIGURATION"] = str(self.settings.build_type) @@ -151,19 +187,16 @@ def package_info(self): self.cpp_info.components["sail-codecs"].names["cmake_find_package_multi"] = "SailCodecs" self.cpp_info.components["sail-codecs"].libs = ["sail-codecs"] self.cpp_info.components["sail-codecs"].requires = ["sail-common"] - if self.options.with_avif: - self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif") - if self.options.with_gif: + + if self.options.with_highest_priority_codecs: self.cpp_info.components["sail-codecs"].requires.append("giflib::giflib") - if self.options.with_jpeg2000: - self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper") - if self.options.with_jpeg: - self.cpp_info.components["sail-codecs"].requires.append("{0}::{0}".format(self.options.with_jpeg)) - if self.options.with_png: + self.cpp_info.components["sail-codecs"].requires.append("libjpeg::libjpeg") self.cpp_info.components["sail-codecs"].requires.append("libpng::libpng") - if self.options.with_tiff: self.cpp_info.components["sail-codecs"].requires.append("libtiff::libtiff") - if self.options.with_webp: + if self.options.with_medium_priority_codecs: + self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif") + self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper") + # self.cpp_info.components["sail-codecs"].requires.append("libjxl::libjxl") self.cpp_info.components["sail-codecs"].requires.append("libwebp::libwebp") self.cpp_info.components["libsail"].set_property("cmake_target_name", "SAIL::Sail") diff --git a/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch b/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch deleted file mode 100644 index 98ec3b23d5ae9..0000000000000 --- a/recipes/sail/all/patches/0.9.0-rc2-avif-find-package.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/sail-codecs/avif/CMakeLists.txt b/src/sail-codecs/avif/CMakeLists.txt -index 3f36e0c8..1e31be83 100644 ---- a/src/sail-codecs/avif/CMakeLists.txt -+++ b/src/sail-codecs/avif/CMakeLists.txt -@@ -1,7 +1,6 @@ --find_library(AVIF_LIBRARY avif ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) --find_path(AVIF_INCLUDE_DIRS avif/avif.h ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) -+find_package(libavif ${SAIL_CODEC_AVIF_REQUIRED_OPTION}) - --if (NOT AVIF_LIBRARY OR NOT AVIF_INCLUDE_DIRS) -+if (NOT libavif_FOUND) - return() - endif() - -@@ -18,5 +17,5 @@ set(SAIL_CODECS_FIND_DEPENDENCIES ${SAIL_CODECS_FIND_DEPENDENCIES} "find_depende - sail_codec(NAME avif - SOURCES helpers.h helpers.c io.h io.c avif.c - ICON avif.png -- DEPENDENCY_INCLUDE_DIRS ${AVIF_INCLUDE_DIRS} -- DEPENDENCY_LIBS ${AVIF_LIBRARY}) -+ DEPENDENCY_INCLUDE_DIRS ${avif_INCLUDE_DIRS} -+ DEPENDENCY_LIBS avif) diff --git a/recipes/sail/config.yml b/recipes/sail/config.yml index 4b9680ce33efb..7dbf8a1dbf4a8 100644 --- a/recipes/sail/config.yml +++ b/recipes/sail/config.yml @@ -1,3 +1,3 @@ versions: - "0.9.0-rc2": + "0.9.0": folder: all From 09c104cfc28baa1a5b4da0f6206f1333509510c2 Mon Sep 17 00:00:00 2001 From: Carlos O'Ryan Date: Wed, 29 Nov 2023 11:05:26 -0500 Subject: [PATCH 0252/1307] (#19964) [google-cloud-cpp] update to v2.15.1 Accept newer versions of gRPC and other dependencies Avoid over pinning direct dependencies Disable -Werror, this was the default in v2.5.0 and no longer compiles Use documented requirements for libcurl Patch source to deal with DYLD_LIBRARY_PATH overwrites --- .../google-cloud-cpp/2.x/components_2_15_1.py | 441 ++++++++++++++++++ recipes/google-cloud-cpp/2.x/conandata.yml | 7 + recipes/google-cloud-cpp/2.x/conanfile.py | 69 ++- .../2.x/extract_dependencies.py | 31 +- .../2.15.1/001-use-conan-msvc-runtime.patch | 53 +++ recipes/google-cloud-cpp/config.yml | 2 + 6 files changed, 577 insertions(+), 26 deletions(-) create mode 100644 recipes/google-cloud-cpp/2.x/components_2_15_1.py create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch diff --git a/recipes/google-cloud-cpp/2.x/components_2_15_1.py b/recipes/google-cloud-cpp/2.x/components_2_15_1.py new file mode 100644 index 0000000000000..6de02bc36704b --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/components_2_15_1.py @@ -0,0 +1,441 @@ +# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT +DEPENDENCIES = { + "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "advisorynotifications_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos', 'type_money_protos'], + "alloydb_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "apikeys_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'], + "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'], + "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'], + "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'], + "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "commerce_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "confidentialcomputing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "contentwarehouse_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'documentai_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_expr_protos', 'type_interval_protos', 'type_money_protos', 'type_postal_address_protos'], + "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "datafusion_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "datastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "dialogflow_es_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "discoveryengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'], + "domains_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_money_protos', 'type_postal_address_protos'], + "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "essentialcontacts_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'], + "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "gkebackup_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "iam_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "logging_type_protos": ['grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "metastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos'], + "migrationcenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_money_protos'], + "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'], + "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networksecurity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'], + "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'], + "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "policysimulator_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_expr_protos'], + "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'iam_v2_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "rapidmigrationassessment_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'], + "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'], + "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'], + "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'], + "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'], + "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_policy_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'], + "storageinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos'], + "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'], + "support_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'], + "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'], + "texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "timeseriesinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'], + "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_datetime_protos'], + "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'], + "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'], + "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'], + "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "workstations_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'], + "api_annotations_protos": ['api_http_protos'], + "api_auth_protos": ['api_annotations_protos'], + "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'], + "api_client_protos": ['api_launch_stage_protos'], + "api_distribution_protos": ['api_annotations_protos'], + "api_endpoint_protos": ['api_annotations_protos'], + "api_log_protos": ['api_label_protos'], + "api_logging_protos": ['api_annotations_protos', 'api_label_protos'], + "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'], + "api_monitoring_protos": ['api_annotations_protos'], + "api_quota_protos": ['api_annotations_protos'], + "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'], + "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'], + "iam_credentials_v1_common_protos": ['api_field_behavior_protos', 'api_resource_protos'], + "iam_credentials_v1_iamcredentials_protos": ['api_annotations_protos', 'api_client_protos', 'iam_credentials_v1_common_protos'], + "iam_v1_iam_policy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_resource_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos'], + "iam_v1_options_protos": ['api_annotations_protos'], + "iam_v1_policy_protos": ['api_annotations_protos', 'type_expr_protos'], +} + +PROTO_COMPONENTS = { + "accessapproval_protos", + "accesscontextmanager_protos", + "advisorynotifications_protos", + "aiplatform_protos", + "alloydb_protos", + "api_annotations_protos", + "api_auth_protos", + "api_backend_protos", + "api_billing_protos", + "api_client_protos", + "api_config_change_protos", + "api_context_protos", + "api_control_protos", + "api_distribution_protos", + "api_documentation_protos", + "api_endpoint_protos", + "api_field_behavior_protos", + "api_http_protos", + "api_httpbody_protos", + "api_label_protos", + "api_launch_stage_protos", + "api_log_protos", + "api_logging_protos", + "api_metric_protos", + "api_monitored_resource_protos", + "api_monitoring_protos", + "api_policy_protos", + "api_quota_protos", + "api_resource_protos", + "api_routing_protos", + "api_service_protos", + "api_source_info_protos", + "api_system_parameter_protos", + "api_usage_protos", + "api_visibility_protos", + "apigateway_protos", + "apigeeconnect_protos", + "apikeys_protos", + "appengine_protos", + "artifactregistry_protos", + "asset_protos", + "assuredworkloads_protos", + "automl_protos", + "baremetalsolution_protos", + "batch_protos", + "beyondcorp_protos", + "bigquery_protos", + "bigtable_protos", + "billing_protos", + "binaryauthorization_protos", + "certificatemanager_protos", + "channel_protos", + "cloud_common_common_protos", + "cloudbuild_protos", + "commerce_protos", + "composer_protos", + "confidentialcomputing_protos", + "connectors_protos", + "contactcenterinsights_protos", + "container_protos", + "containeranalysis_protos", + "contentwarehouse_protos", + "datacatalog_protos", + "datafusion_protos", + "datamigration_protos", + "dataplex_protos", + "dataproc_protos", + "datastore_protos", + "datastream_protos", + "deploy_protos", + "devtools_source_v1_source_context_protos", + "dialogflow_cx_protos", + "dialogflow_es_protos", + "discoveryengine_protos", + "dlp_protos", + "documentai_protos", + "domains_protos", + "edgecontainer_protos", + "essentialcontacts_protos", + "eventarc_protos", + "filestore_protos", + "functions_protos", + "gkebackup_protos", + "gkehub_protos", + "gkemulticloud_protos", + "grafeas_protos", + "iam_credentials_v1_common_protos", + "iam_credentials_v1_iamcredentials_protos", + "iam_protos", + "iam_v1_iam_policy_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + "iam_v2_protos", + "iap_protos", + "ids_protos", + "kms_protos", + "language_protos", + "logging_protos", + "logging_type_protos", + "logging_type_type_protos", + "longrunning_operations_protos", + "managedidentities_protos", + "memcache_protos", + "metastore_protos", + "migrationcenter_protos", + "monitoring_protos", + "networkconnectivity_protos", + "networkmanagement_protos", + "networksecurity_protos", + "networkservices_protos", + "notebooks_protos", + "optimization_protos", + "orgpolicy_protos", + "osconfig_protos", + "oslogin_protos", + "policysimulator_protos", + "policytroubleshooter_protos", + "privateca_protos", + "profiler_protos", + "pubsub_protos", + "rapidmigrationassessment_protos", + "recaptchaenterprise_protos", + "recommender_protos", + "redis_protos", + "resourcemanager_protos", + "resourcesettings_protos", + "retail_protos", + "rpc_code_protos", + "rpc_context_attribute_context_protos", + "rpc_error_details_protos", + "rpc_status_protos", + "run_protos", + "scheduler_protos", + "secretmanager_protos", + "securitycenter_protos", + "servicecontrol_protos", + "servicedirectory_protos", + "servicemanagement_protos", + "serviceusage_protos", + "shell_protos", + "spanner_protos", + "speech_protos", + "storage_protos", + "storageinsights_protos", + "storagetransfer_protos", + "support_protos", + "talent_protos", + "tasks_protos", + "texttospeech_protos", + "timeseriesinsights_protos", + "tpu_protos", + "trace_protos", + "translate_protos", + "type_calendar_period_protos", + "type_color_protos", + "type_date_protos", + "type_datetime_protos", + "type_dayofweek_protos", + "type_decimal_protos", + "type_expr_protos", + "type_interval_protos", + "type_latlng_protos", + "type_money_protos", + "type_postal_address_protos", + "type_timeofday_protos", + "video_protos", + "videointelligence_protos", + "vision_protos", + "vmmigration_protos", + "vmwareengine_protos", + "vpcaccess_protos", + "webrisk_protos", + "websecurityscanner_protos", + "workflows_protos", + "workstations_protos" +} + +COMPONENTS = { + "accessapproval", + "accesscontextmanager", + "advisorynotifications", + "aiplatform", + "alloydb", + "apigateway", + "apigeeconnect", + "apikeys", + "appengine", + "artifactregistry", + "asset", + "assuredworkloads", + "automl", + "baremetalsolution", + "batch", + "beyondcorp", + "bigquery", + "bigtable", + "billing", + "binaryauthorization", + "certificatemanager", + "channel", + "cloudbuild", + "commerce", + "composer", + "confidentialcomputing", + "connectors", + "contactcenterinsights", + "container", + "containeranalysis", + "contentwarehouse", + "datacatalog", + "datafusion", + "datamigration", + "dataplex", + "dataproc", + "datastore", + "datastream", + "deploy", + "dialogflow_cx", + "dialogflow_es", + "discoveryengine", + "dlp", + "documentai", + "domains", + "edgecontainer", + "essentialcontacts", + "eventarc", + "filestore", + "functions", + "gkebackup", + "gkehub", + "gkemulticloud", + "iam", + "iap", + "ids", + "kms", + "language", + "logging", + "managedidentities", + "memcache", + "metastore", + "migrationcenter", + "monitoring", + "networkconnectivity", + "networkmanagement", + "networksecurity", + "networkservices", + "notebooks", + "optimization", + "orgpolicy", + "osconfig", + "oslogin", + "policysimulator", + "policytroubleshooter", + "privateca", + "profiler", + "pubsub", + "rapidmigrationassessment", + "recaptchaenterprise", + "recommender", + "redis", + "resourcemanager", + "resourcesettings", + "retail", + "run", + "scheduler", + "secretmanager", + "securitycenter", + "servicecontrol", + "servicedirectory", + "servicemanagement", + "serviceusage", + "shell", + "spanner", + "speech", + "storage", + "storageinsights", + "storagetransfer", + "support", + "talent", + "tasks", + "texttospeech", + "timeseriesinsights", + "tpu", + "trace", + "translate", + "video", + "videointelligence", + "vision", + "vmmigration", + "vmwareengine", + "vpcaccess", + "webrisk", + "websecurityscanner", + "workflows", + "workstations" +} diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml index f9eb9c4dbc523..dfb3c94da034e 100644 --- a/recipes/google-cloud-cpp/2.x/conandata.yml +++ b/recipes/google-cloud-cpp/2.x/conandata.yml @@ -5,6 +5,9 @@ sources: "2.12.0": url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.12.0.tar.gz" sha256: "8cda870803925c62de8716a765e03eb9d34249977e5cdb7d0d20367e997a55e2" + "2.15.1": + url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.15.1.tar.gz" + sha256: "47a5c6beff48625fa1b65b1ddc575247def80c88d29062c66d463172280d3959" patches: "2.5.0": - patch_file: "patches/2.5.0/002-interface-library-properties.patch" @@ -30,3 +33,7 @@ patches: - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch" patch_description: "Let Conan select the MSVC runtime" patch_type: conan + "2.15.1": + - patch_file: "patches/2.15.1/001-use-conan-msvc-runtime.patch" + patch_description: "Let Conan select the MSVC runtime" + patch_type: conan diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py index a3283204d6ead..e3b497dfc81db 100644 --- a/recipes/google-cloud-cpp/2.x/conanfile.py +++ b/recipes/google-cloud-cpp/2.x/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd, cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.env import VirtualRunEnv, VirtualBuildEnv +from conan.tools.env import VirtualRunEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.scm import Version @@ -21,6 +21,7 @@ # than writing long lists of dependencies by hand. import components_2_5_0 import components_2_12_0 +import components_2_15_1 required_conan_version = ">=1.56.0" @@ -46,6 +47,7 @@ class GoogleCloudCppConan(ConanFile): default_options = {"shared": False, "fPIC": True} exports = ["components_2_5_0.py", "components_2_12_0.py", + "components_2_15_1.py", ] short_paths = True @@ -53,14 +55,17 @@ class GoogleCloudCppConan(ConanFile): _GA_COMPONENTS = { '2.5.0': components_2_5_0.COMPONENTS, '2.12.0': components_2_12_0.COMPONENTS, + '2.15.1': components_2_15_1.COMPONENTS, } _PROTO_COMPONENTS = { '2.5.0': components_2_5_0.PROTO_COMPONENTS, '2.12.0': components_2_12_0.PROTO_COMPONENTS, + '2.15.1': components_2_15_1.PROTO_COMPONENTS, } _PROTO_COMPONENT_DEPENDENCIES = { "2.5.0": components_2_5_0.DEPENDENCIES, "2.12.0": components_2_12_0.DEPENDENCIES, + "2.15.1": components_2_15_1.DEPENDENCIES, } # Some components require custom dependency definitions. _REQUIRES_CUSTOM_DEPENDENCIES = { @@ -180,7 +185,7 @@ def _patch_sources(self): else: replace_in_file(self, os.path.join(self.source_folder, "cmake/CompileProtos.cmake"), "${Protobuf_PROTOC_EXECUTABLE} ARGS", - '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE}') + '${CMAKE_COMMAND} -E env "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH}" ${Protobuf_PROTOC_EXECUTABLE} ARGS') def build(self): self._patch_sources() @@ -226,6 +231,11 @@ def _proto_components(self): if self.settings.os == "Android": result.remove('accesscontextmanager_protos') result.remove('talent_protos') + if Version(self.version) >= '2.15.1': + # This was converted to an interface library starting on 2.15.1 + result.remove('logging_type_type_protos') + # These were removed (as they are not used) starting on 2.15.1 + result.remove('devtools_source_v1_source_context_protos') return result def package(self): @@ -257,7 +267,21 @@ def package_info(self): # A small number of gRPC-generated stubs are used directly in the common components # shared by all gRPC-based libraries. These must be defined without reference to `grpc_utils`. - GRPC_UTILS_REQUIRED_PROTOS={"iam_protos", "longrunning_operations_protos", "rpc_error_details_protos", "rpc_status_protos"} + if Version(self.version) >= '2.15.1': + GRPC_UTILS_REQUIRED_PROTOS = { + "iam_credentials_v1_iamcredentials_protos", + "iam_v1_policy_protos", + "longrunning_operations_protos", + "rpc_error_details_protos", + "rpc_status_protos", + } + else: + GRPC_UTILS_REQUIRED_PROTOS = { + "iam_protos", + "longrunning_operations_protos", + "rpc_error_details_protos", + "rpc_status_protos", + } for component in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) @@ -266,36 +290,51 @@ def package_info(self): self.cpp_info.components["grpc_utils"].names["pkg_config"] = "google_cloud_cpp_grpc_utils" for component in self._proto_components(): + if Version(self.version) >= '2.15.1' and component == 'storage_protos': + # Starting with v2.15.1 the `storage_protos` are compiled only + # when needed. They are not used in Conan because they are only + # needed for an experimental library, supporting an allow-listed + # service. + continue if component not in GRPC_UTILS_REQUIRED_PROTOS: self._add_proto_component(component) # Interface libraries for backwards compatibility - self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] - self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] - self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] - self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] - self.cpp_info.components["trace_protos"].requires = [ - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_tracing_protos", - ] + if Version(self.version) < '2.15.1': + self.cpp_info.components["dialogflow_es_protos"].requires = ["cloud_dialogflow_v2_protos"] + self.cpp_info.components["logging_type_protos"].requires = ["logging_type_type_protos"] + self.cpp_info.components["speech_protos"].requires = ["cloud_speech_protos"] + self.cpp_info.components["texttospeech_protos"].requires = ["cloud_texttospeech_protos"] + self.cpp_info.components["trace_protos"].requires = [ + "devtools_cloudtrace_v2_trace_protos", + "devtools_cloudtrace_v2_tracing_protos", + ] + self._add_grpc_component("bigquery", "cloud_bigquery_protos") + else: + self.cpp_info.components["cloud_bigquery_protos"].requires = ["bigquery_protos"] + self.cpp_info.components["cloud_dialogflow_v2_protos"].requires = ["dialogflow_es_protos"] + self.cpp_info.components["cloud_speech_protos"].requires = ["speech_protos"] + self.cpp_info.components["cloud_texttospeech_protos"].requires = ["texttospeech_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_trace_protos"].requires = ["trace_protos"] + self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].requires = ["trace_protos"] + self.cpp_info.components["logging_type_type_protos"].requires = ["logging_type_protos"] for component in self._components(): + protos=f"{component}_protos" # bigquery proto library predates the adoption of more consistent naming - if component == 'bigquery': + if component == 'bigquery' and Version(self.version) < '2.15.1': self._add_proto_component("cloud_bigquery_protos") self._add_grpc_component(component, "cloud_bigquery_protos") continue - if component == 'dialogflow_es': + if component == 'dialogflow_es' and Version(self.version) < '2.15.1': self._add_proto_component("cloud_dialogflow_v2_protos") self._add_grpc_component(component, "cloud_dialogflow_v2_protos") continue # `storage` is the only component that does not depend on a matching `*_protos` library - protos=f"{component}_protos" if component in self._REQUIRES_CUSTOM_DEPENDENCIES: continue self._add_grpc_component(component, protos) - self._add_grpc_component("bigquery", "cloud_bigquery_protos") self._add_grpc_component("bigtable", "bigtable_protos") self._add_grpc_component("iam", "iam_protos") self._add_grpc_component("pubsub", "pubsub_protos", ["abseil::absl_flat_hash_map"]) diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py index 1a7607684544a..a957a6eca412b 100755 --- a/recipes/google-cloud-cpp/2.x/extract_dependencies.py +++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py @@ -41,17 +41,12 @@ "cloud_osconfig_v1_osconfig_protos": "osconfig_protos", "devtools_source_v1_source_protos": "devtools_source_v1_source_context_protos", "cloud_documentai_v1_documentai_protos": "documentai_protos", + "iam_v2_policy_protos": "iam_v2_protos", } # A few *.deps files use ad-hoc naming. _PROTO_DEPS_REPLACED_NAMES = { "common": "cloud_common_common", - "bigquery": "cloud_bigquery", - "dialogflow": "cloud_dialogflow_v2", - "logging_type": "logging_type_type", - "texttospeech": "cloud_texttospeech", - "speech": "cloud_speech", - "trace": "devtools_cloudtrace_v2_trace", } # A few *.deps files are not used. @@ -90,7 +85,6 @@ "type_expr_protos", "api_routing_protos", "api_usage_protos", - "logging_type_type_protos", "type_calendar_period_protos", "rpc_code_protos", "api_system_parameter_protos", @@ -109,6 +103,9 @@ "api_field_behavior_protos", "api_context_protos", "api_logging_protos", + + "iam_credentials_v1_common_protos", + "iam_credentials_v1_iamcredentials_protos", } # A list of experimental components used when `google-cloud-cpp` does not @@ -256,12 +253,24 @@ "api_system_parameter_protos", "api_usage_protos", ], - "devtools_cloudtrace_v2_tracing_protos": [ - "devtools_cloudtrace_v2_trace_protos", - "devtools_cloudtrace_v2_trace_protos", + "iam_v1_options_protos": ["api_annotations_protos"], + "iam_v1_policy_protos": ["api_annotations_protos", "type_expr_protos"], + "iam_v1_iam_policy_protos": [ + "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", - "rpc_status_protos", + "api_resource_protos", + "iam_v1_options_protos", + "iam_v1_policy_protos", + ], + "iam_credentials_v1_common_protos": [ + "api_field_behavior_protos", + "api_resource_protos", + ], + "iam_credentials_v1_iamcredentials_protos": [ + "api_annotations_protos", + "api_client_protos", + "iam_credentials_v1_common_protos", ], } diff --git a/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch new file mode 100644 index 0000000000000..f1d07df826202 --- /dev/null +++ b/recipes/google-cloud-cpp/2.x/patches/2.15.1/001-use-conan-msvc-runtime.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 66e3e7c3..32e64b5d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,7 +53,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + endif () + + list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +-include(SelectMSVCRuntime) + + option(GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK + "If enabled, check that the user has defined OPENSSL_ROOT_DIR on macOS" +diff --git a/cmake/GoogleCloudCppCommon.cmake b/cmake/GoogleCloudCppCommon.cmake +index b487a1bc..880c98fe 100644 +--- a/cmake/GoogleCloudCppCommon.cmake ++++ b/cmake/GoogleCloudCppCommon.cmake +@@ -17,9 +17,6 @@ + # Get the destination directories based on the GNU recommendations. + include(GNUInstallDirs) + +-# Pick the right MSVC runtime libraries. +-include(SelectMSVCRuntime) +- + # Enable Werror + include(EnableWerror) + +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index ec8b7395..91a7b32d 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -20,9 +20,6 @@ if (NOT GOOGLE_CLOUD_CPP_ENABLE_EXAMPLES) + return() + endif () + +-# Pick the right MSVC runtime libraries. +-include(SelectMSVCRuntime) +- + if (bigtable IN_LIST GOOGLE_CLOUD_CPP_ENABLE AND storage IN_LIST + GOOGLE_CLOUD_CPP_ENABLE) + add_executable(gcs2cbt gcs2cbt.cc) +diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt +index 15dcc92f..b6146bfe 100644 +--- a/external/googleapis/CMakeLists.txt ++++ b/external/googleapis/CMakeLists.txt +@@ -163,8 +163,6 @@ externalproject_add( + + google_cloud_cpp_find_proto_include_dir(PROTO_INCLUDE_DIR) + +-include(SelectMSVCRuntime) +- + google_cloud_cpp_add_protos_property() + + function (external_googleapis_short_name var proto) diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml index d5603efb5114a..ad2df7e79e43a 100644 --- a/recipes/google-cloud-cpp/config.yml +++ b/recipes/google-cloud-cpp/config.yml @@ -13,3 +13,5 @@ versions: folder: "2.x" "2.12.0": folder: "2.x" + "2.15.1": + folder: "2.x" From 8211fbce5ecdc308f23605ddefb1db69683c9736 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 01:28:08 +0900 Subject: [PATCH 0253/1307] (#21344) aws-c-mqtt: add version 0.8.12, 0.9.10 * aws-c-mqtt: add version 0.8.12 * add version 0.9.10 --- recipes/aws-c-mqtt/all/conandata.yml | 6 ++++++ recipes/aws-c-mqtt/all/conanfile.py | 12 +++++++----- recipes/aws-c-mqtt/config.yml | 4 ++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/recipes/aws-c-mqtt/all/conandata.yml b/recipes/aws-c-mqtt/all/conandata.yml index 6240cf10ee0f5..275052c56df7c 100644 --- a/recipes/aws-c-mqtt/all/conandata.yml +++ b/recipes/aws-c-mqtt/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.9.10": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.9.10.tar.gz" + sha256: "a8f92cb045e2c1e0b7e87e5c43ca373eb020014b5d3ebd75ed67ffff430d9ab6" + "0.8.12": + url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.8.12.tar.gz" + sha256: "df02de478ab1806bb57bcb78e5faa21b567716dcb64f8a52ae90a2b84f43cba1" "0.7.12": url: "https://github.com/awslabs/aws-c-mqtt/archive/v0.7.12.tar.gz" sha256: "cf80f1b4f37aa8a6b8698315fae32cbf2bd944b67784f07b5762f392f18e64df" diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index bb0adaf793c0c..d97246f605d3f 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -41,14 +41,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - if Version(self.version) < "0.7.12": + if Version(self.version) <= "0.7.12": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") self.requires("aws-c-io/0.10.20", transitive_headers=True) self.requires("aws-c-http/0.6.13") else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-http/0.6.22") + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") + self.requires("aws-c-io/0.13.32", transitive_headers=True) + self.requires("aws-c-http/0.7.14") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/aws-c-mqtt/config.yml b/recipes/aws-c-mqtt/config.yml index edbab7e67d700..788eeccfb0963 100644 --- a/recipes/aws-c-mqtt/config.yml +++ b/recipes/aws-c-mqtt/config.yml @@ -1,4 +1,8 @@ versions: + "0.9.10": + folder: all + "0.8.12": + folder: all "0.7.12": folder: all "0.7.10": From 762606a3c7af2bd8f02eb5109304e6631e10ed54 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 29 Nov 2023 18:55:06 +0200 Subject: [PATCH 0254/1307] (#18861) pdcurses: migrate to Conan v2 * pdcurses: migrate to Conan v2 * pdcurses: bump deps * pdcurses: add support for sdl2, add with_x11 option * pdcurses: get rid of MakeDeps * pdcurses: disable cross-building * pdcurses: with_sdl does not support shared libs * pdcurses: bump deps * pdcurses: make cross-building check more specific --- recipes/pdcurses/all/CMakeLists.txt | 7 - recipes/pdcurses/all/conanfile.py | 239 +++++++++++------- .../pdcurses/all/test_package/CMakeLists.txt | 7 +- .../pdcurses/all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../pdcurses/all/test_v1_package/conanfile.py | 18 ++ 6 files changed, 188 insertions(+), 113 deletions(-) delete mode 100644 recipes/pdcurses/all/CMakeLists.txt create mode 100644 recipes/pdcurses/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pdcurses/all/test_v1_package/conanfile.py diff --git a/recipes/pdcurses/all/CMakeLists.txt b/recipes/pdcurses/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/pdcurses/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/pdcurses/all/conanfile.py b/recipes/pdcurses/all/conanfile.py index c9fb1fa9f32f7..3a01de34987fe 100644 --- a/recipes/pdcurses/all/conanfile.py +++ b/recipes/pdcurses/all/conanfile.py @@ -1,149 +1,198 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanException, ConanInvalidConfiguration import os import re +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration, ConanException +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, load, replace_in_file, rmdir, save, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path, NMakeToolchain, NMakeDeps + +required_conan_version = ">=1.53.0" + class PDCursesConan(ConanFile): name = "pdcurses" description = "PDCurses - a curses library for environments that don't fit the termcap/terminfo model" - topics = ("conan", "pdcurses", "curses", "ncurses") + license = "LicenseRef-LICENSE" url = "https://github.com/conan-io/conan-center-index" homepage = "https://pdcurses.org/" - license = "Unlicense", "MITX", "CC-BY-4.0", "GPL", "FSFUL" + topics = ("curses", "ncurses") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "enable_widec": [True, False], - "with_sdl": [None, "1", "2"], + "with_sdl": [True, False], + "with_x11": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_widec": False, - "with_sdl": None, + "with_sdl": False, + "with_x11": True, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os not in ("FreeBSD", "Linux"): - del self.options.enable_widec + if self.settings.os not in ["FreeBSD", "Linux"]: + del self.options.with_x11 + if is_apple_os(self): + # Only the sdl2 subsystem is supported on macOS + self.options.with_sdl = True def configure(self): - if tools.is_apple_os(self.settings.os): - raise ConanInvalidConfiguration("pdcurses does not support Apple") - if self.options.with_sdl: - raise ConanInvalidConfiguration("conan-center-index has no packages for sdl (yet)") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - if self.settings.os in ("FreeBSD", "Linux"): + if self.options.with_sdl: + self.requires("sdl/2.28.3", transitive_libs=True) + if self.options.get_safe("with_x11"): self.requires("xorg/system") + def validate(self): + if self.options.with_sdl and self.settings.os == "Windows": + raise ConanInvalidConfiguration("with_sdl option is not yet supported on Windows") + if self.settings.os != "Windows" and not self.options.get_safe("with_x11") and not self.options.with_sdl: + raise ConanInvalidConfiguration("At least one of with_x11 or with_sdl options must be enabled") + if self.options.with_sdl: + if self.options.shared: + raise ConanInvalidConfiguration("Shared library output is not available for with_sdl option") + if cross_building(self): + raise ConanInvalidConfiguration("Cross-building is not supported for with_sdl option") + def build_requirements(self): - if self.settings.compiler != "Visual Studio": - self.build_requires("make/4.2.1") + if not is_msvc(self): + if not self.conf.get("tools.gnu:make_program", check_type=str): + self.tool_requires("make/4.4") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("PDCurses-{}".format(self.version), self._source_subfolder) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - conf_args = [ - "--enable-shared" if self.options.shared else "--disable-shared", - "--enable-widec" if self.options.enable_widec else "--disable-widec", - ] - self._autotools.configure(args=conf_args) - return self._autotools - - def _build_windows(self): - with tools.chdir(os.path.join(self._source_subfolder, "wincon")): - args = [] + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + deps = NMakeDeps(self) + deps.generate() + else: + tc = AutotoolsToolchain(self) + tc.configure_args.append("--prefix={}".format(unix_path(self, self.package_folder))) + tc.configure_args.append("--enable-widec" if self.options.enable_widec else "--disable-widec") if self.options.shared: - args.append("DLL=Y") - args = " ".join(args) - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - self.run("nmake -f Makefile.vc {}".format(args)) - else: - self.run("{} libs {}".format(os.environ["CONAN_MAKE_PROGRAM"], args)) + tc.make_args.append("DLL=Y") + if self.options.with_sdl: + self.dependencies["sdl"].cpp_info.includedirs.append(os.path.join("include", "SDL2")) + sdl_info = self.dependencies["sdl"].cpp_info.aggregated_components() + def_flags = " ".join(f"-D{x}" for x in sdl_info.defines) + includedir_flags = " ".join(f"-I{x}" for x in sdl_info.includedirs) + libdir_flags = " ".join(f"-L{x}" for x in sdl_info.libdirs) + lib_flags = " ".join(f"-l{x}" for x in (sdl_info.libs + sdl_info.system_libs)) + tc.make_args += [ + f"CFLAGS={includedir_flags} {def_flags}", + f"LDFLAGS={libdir_flags} {lib_flags}", + ] + if self.options.enable_widec: + tc.make_args.append("WIDE=Y") + tc.generate() def _patch_sources(self): - if self.settings.compiler == "Visual Studio": - tools.replace_in_file(os.path.join(self._source_subfolder, "wincon", "Makefile.vc"), - "$(CFLAGS)", - "$(CFLAGS) -{}".format(self.settings.compiler.runtime)) - tools.replace_in_file(os.path.join(self._source_subfolder, "x11", "Makefile.in"), - "$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a", - "-$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a") - tools.replace_in_file(os.path.join(self._source_subfolder, "x11", "Makefile.in"), - "\nall:\t", - "\nall:\t{}\t#".format("@SHL_TARGETS@" if self.options.shared else "$(LIBCURSES)")) + if is_msvc(self): + replace_in_file(self, os.path.join(self.source_folder, "wincon", "Makefile.vc"), + "$(CFLAGS)", + "$(CFLAGS) -{}".format(msvc_runtime_flag(self))) + replace_in_file(self, os.path.join(self.source_folder, "x11", "Makefile.in"), + "$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a", + "-$(INSTALL) -c -m 644 $(osdir)/libXCurses.a $(libdir)/libXCurses.a") + replace_in_file(self, os.path.join(self.source_folder, "x11", "Makefile.in"), + "\nall:\t", + "\nall:\t{}\t#".format("@SHL_TARGETS@" if self.options.shared else "$(LIBCURSES)")) def build(self): self._patch_sources() - if self.settings.os == "Windows": - self._build_windows() + if is_msvc(self): + self._build_msvc() else: - with tools.chdir(os.path.join(self._source_subfolder, "x11")): - autotools = self._configure_autotools() + self._build_autotools() + + def _build_autotools(self): + if self.options.get_safe("with_x11"): + with chdir(self, os.path.join(self.source_folder, "x11")): + autotools = Autotools(self) + autotools.configure(build_script_folder=os.path.join(self.source_folder, "x11")) + autotools.make() + if self.options.with_sdl: + with chdir(self, os.path.join(self.source_folder, "sdl2")): + autotools = Autotools(self) autotools.make() - @property - def _subsystem_folder(self): - return { - "Windows": "wincon", - }.get(str(self.settings.os), "x11") + + def _build_msvc(self): + with chdir(self, os.path.join(self.source_folder, "wincon")): + args = [] + if self.options.shared: + args.append("DLL=Y") + if self.options.enable_widec: + args.append("WIDE=Y") + args = " ".join(args) + if is_msvc(self): + self.run(f"nmake -f Makefile.vc {args}") + else: + self.run(f"make libs {args}") @property def _license_text(self): - readme = tools.load(os.path.join(self._source_subfolder, self._subsystem_folder, "README.md")) - match = re.search(r"Distribution Status\n[\-]+(?:[\r\n])+((?:[0-9a-z .,;*]+[\r\n])+)", readme, - re.IGNORECASE | re.MULTILINE) - if not match: - raise ConanException("Cannot extract distribution status") - return match.group(1).strip() + "\n" + readme = load(self, os.path.join(self.source_folder, "README.md")) + match = re.search(r"Legal Stuff\n[\-]+[\r\n]+((?:.*\n)+)\n\nMaintainer", readme, re.IGNORECASE | re.MULTILINE) + license = match.group(1).strip() + "\n" + if self.options.get_safe("with_x11"): + readme = load(self, os.path.join(self.source_folder, "x11", "README.md")) + match = re.search(r"Distribution Status\n[\-]+[\r\n]+((?:[0-9a-z .,;*]+[\r\n])+)", readme, re.IGNORECASE | re.MULTILINE) + if not match: + raise ConanException("Cannot extract distribution status") + license += "\n" + match.group(1).strip() + "\n" + return license - def package(self): - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - if self.settings.os == "Windows": - self.copy(pattern="curses.h", src=self._source_subfolder, dst="include") - self.copy(pattern="*.dll", dst="bin", keep_path=False) - self.copy(pattern="*.lib", dst="lib", keep_path=False) - self.copy(pattern="*.a", dst="lib", keep_path=False) - - if self.settings.compiler != "Visual Studio": - os.rename(os.path.join(self.package_folder, "lib", "pdcurses.a"), - os.path.join(self.package_folder, "lib", "libpdcurses.a")) - else: - with tools.chdir(os.path.join(self._source_subfolder, "x11")): - autotools = self._configure_autotools() + def package(self): + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) + if self.options.get_safe("with_x11"): + with chdir(self, os.path.join(self.source_folder, "x11")): + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "bin")) + copy(self, "curses.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) + build_folders = [] + if self.settings.os == "Windows": + build_folders += [self.source_folder] + if self.options.with_sdl: + build_folders += [os.path.join(self.source_folder, "sdl2")] + for build_folder in build_folders: + copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=build_folder, keep_path=False) + for pattern in ["*.lib", "*.a", "*.so*", "*.dylib*"]: + copy(self, pattern, dst=os.path.join(self.package_folder, "lib"), src=build_folder, keep_path=False) + if (self.settings.os == "Windows" or self.options.with_sdl) and not is_msvc(self): + rename(self, os.path.join(self.package_folder, "lib", "pdcurses.a"), + os.path.join(self.package_folder, "lib", "libpdcurses.a")) def package_info(self): - if self.settings.os == "Windows": + if self.settings.os == "Windows" or self.options.with_sdl: self.cpp_info.libs = ["pdcurses"] - elif self.settings.os in ("FreeBSD", "Linux"): + if self.options.get_safe("with_x11"): self.cpp_info.includedirs.append(os.path.join("include", "xcurses")) - self.cpp_info.libs = ["XCurses"] + self.cpp_info.libs += ["XCurses"] diff --git a/recipes/pdcurses/all/test_package/CMakeLists.txt b/recipes/pdcurses/all/test_package/CMakeLists.txt index 7b9b613cbb24a..06f34416c70f6 100644 --- a/recipes/pdcurses/all/test_package/CMakeLists.txt +++ b/recipes/pdcurses/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(pdcurses REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE pdcurses::pdcurses) diff --git a/recipes/pdcurses/all/test_package/conanfile.py b/recipes/pdcurses/all/test_package/conanfile.py index 4aebe114eeb59..ef5d7042163ec 100644 --- a/recipes/pdcurses/all/test_package/conanfile.py +++ b/recipes/pdcurses/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pdcurses/all/test_v1_package/CMakeLists.txt b/recipes/pdcurses/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pdcurses/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pdcurses/all/test_v1_package/conanfile.py b/recipes/pdcurses/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..3f4a9f50f389e --- /dev/null +++ b/recipes/pdcurses/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From e70ab4a9e72b69a53e3269e154e5c0d15a5a0462 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 29 Nov 2023 12:17:37 -0500 Subject: [PATCH 0255/1307] (#21064) tinyalsa: conan2 * tinyalsa: conan2 * Remove 1.1.1, use CMake to build * Set src_folder * Remove tinyalsa 1.1.1 * Add v1 test package * Revert "Remove tinyalsa 1.1.1" This reverts commit c0034d1f07d532cbffdffdff90cb2af0bd71266e. * Revert "Set src_folder" This reverts commit 686a6489d9cc9c78e4c836b8b4801cbe922fcd31. * Revert "Remove 1.1.1, use CMake to build" This reverts commit 244b84b9795101dd3fa795efaa5c055d37ba8a2a. * Add patches for fixing clang build * Simplify removing extra packaged files * Patch source should just be a URL Co-authored-by: Uilian Ries * Readd + deprecate with_utils option * Restore with_utils option --------- Co-authored-by: Uilian Ries --- recipes/tinyalsa/all/conandata.yml | 12 ++- recipes/tinyalsa/all/conanfile.py | 78 +++++++++++-------- .../tinyalsa-1.1.1-fix-hardcoded-gcc.patch | 46 +++++++++++ .../tinyalsa-1.1.1-fix-make-clang-build.patch | 40 ++++++++++ .../tinyalsa-2.0.0-fix-hardcoded-gcc.patch | 46 +++++++++++ .../tinyalsa/all/test_package/CMakeLists.txt | 5 +- .../tinyalsa/all/test_package/conanfile.py | 30 +++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../tinyalsa/all/test_v1_package/conanfile.py | 17 ++++ 9 files changed, 236 insertions(+), 46 deletions(-) create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch create mode 100644 recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch create mode 100644 recipes/tinyalsa/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/tinyalsa/all/test_v1_package/conanfile.py diff --git a/recipes/tinyalsa/all/conandata.yml b/recipes/tinyalsa/all/conandata.yml index e736cb9ab9606..2fbff13d26bb3 100644 --- a/recipes/tinyalsa/all/conandata.yml +++ b/recipes/tinyalsa/all/conandata.yml @@ -8,4 +8,14 @@ sources: patches: "2.0.0": - patch_file: "patches/tinyalsa-2.0.0-strncpy-warning.patch" - base_path: "source_subfolder" + - patch_file: "patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch" + patch_description: "Fix hardcoded references to GCC" + patch_type: "portability" + "1.1.1": + - patch_file: "patches/tinyalsa-1.1.1-fix-make-clang-build.patch" + patch_description: "fix clang build using make" + patch_type: "backport" + patch_source: "https://github.com/tinyalsa/tinyalsa/commit/1c13f7cbe1ebee24c2b62d5ba16f2702882da49a" + - patch_file: "patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch" + patch_description: "Fix hardcoded references to GCC" + patch_type: "portability" diff --git a/recipes/tinyalsa/all/conanfile.py b/recipes/tinyalsa/all/conanfile.py index 3475e6c4f17af..e88da3d9b79db 100644 --- a/recipes/tinyalsa/all/conanfile.py +++ b/recipes/tinyalsa/all/conanfile.py @@ -1,68 +1,78 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.files import get, export_conandata_patches, apply_conandata_patches, chdir, copy, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class TinyAlsaConan(ConanFile): name = "tinyalsa" + description = "A small library to interface with ALSA in the Linux kernel" license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/tinyalsa/tinyalsa" topics = ("tiny", "alsa", "sound", "audio", "tinyalsa") - description = "A small library to interface with ALSA in the Linux kernel" - exports_sources = ["patches/*",] - options = {"shared": [True, False], "with_utils": [True, False]} - default_options = {'shared': False, 'with_utils': False} + package_type = "library" settings = "os", "compiler", "build_type", "arch" + options = {"shared": [True, False], "with_utils": [True, False]} + default_options = {"shared": False, "with_utils": False} - @property - def _source_subfolder(self): - return "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration("{} only works for Linux.".format(self.name)) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def export_sources(self): + export_conandata_patches(self) def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.generate() def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - env_build = AutoToolsBuildEnvironment(self) - env_build.make() + apply_conandata_patches(self) + with chdir(self, self.source_folder): + at = Autotools(self) + at.make() def package(self): - self.copy("NOTICE", dst="licenses", src=self._source_subfolder) + copy(self, "NOTICE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - with tools.chdir(self._source_subfolder): - env_build = AutoToolsBuildEnvironment(self) - env_build_vars = env_build.vars - env_build_vars['PREFIX'] = self.package_folder - env_build.install(vars=env_build_vars) + with chdir(self, self.source_folder): + at = Autotools(self) + at.install(args=[f"DESTDIR={self.package_folder}", "PREFIX="]) - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) - if not self.options.with_utils: - tools.rmdir(os.path.join(self.package_folder, "bin")) + pattern_to_remove = "*.a" if self.options.shared else "*.so" + rm(self, pattern_to_remove, os.path.join(self.package_folder, "lib")) - with tools.chdir(os.path.join(self.package_folder, "lib")): - files = os.listdir() - for f in files: - if (self.options.shared and f.endswith(".a")) or (not self.options.shared and not f.endswith(".a")): - os.unlink(f) + if not self.options.with_utils: + rmdir(self, os.path.join(self.package_folder, "bin")) def package_info(self): self.cpp_info.libs = ["tinyalsa"] - if tools.Version(self.version) >= "2.0.0": + if Version(self.version) >= "2.0.0": self.cpp_info.system_libs.append("dl") + if self.options.with_utils: bin_path = os.path.join(self.package_folder, "bin") - self.output.info('Appending PATH environment variable: %s' % bin_path) + self.output.info(f"Appending PATH environment variable: {bin_path}") self.env_info.path.append(bin_path) + + # Needed for compatibility with v1.x - Remove when 2.0 becomes the default + bin_path = os.path.join(self.package_folder, "bin") + self.output.info(f'Appending PATH environment variable: {bin_path}') + self.env_info.PATH.append(bin_path) diff --git a/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch new file mode 100644 index 0000000000000..06261e0620b0d --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-hardcoded-gcc.patch @@ -0,0 +1,46 @@ +diff --git a/examples/Makefile b/examples/Makefile +index 807d4c8..32a8a9b 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -1,6 +1,5 @@ + CROSS_COMPILE ?= + +-CC = $(CROSS_COMPILE)gcc + CFLAGS = -Wall -Wextra -Werror -Wfatal-errors -I ../include + + VPATH = ../src +diff --git a/src/Makefile b/src/Makefile +index d33c9f1..0e5c054 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -7,9 +7,6 @@ LIBDIR := $(LIBDIR)/$(DEB_HOST_MULTIARCH) + endif + + CROSS_COMPILE = +-CC = $(CROSS_COMPILE)gcc +-AR = $(CROSS_COMPILE)ar +-LD = $(CROSS_COMPILE)gcc + + WARNINGS = -Wall -Wextra -Werror -Wfatal-errors + INCLUDE_DIRS = -I ../include +@@ -37,7 +34,7 @@ libtinyalsa.so.1: libtinyalsa.so.1.1.1 + ln -sf $< $@ + + libtinyalsa.so.1.1.1: $(OBJECTS) +- $(LD) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.1 $^ -o $@ ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.1 $^ -o $@ + + .PHONY: clean + clean: +diff --git a/utils/Makefile b/utils/Makefile +index ad4bc5c..ab90c79 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -4,7 +4,6 @@ BINDIR ?= $(PREFIX)/bin + MANDIR ?= $(PREFIX)/man + + CROSS_COMPILE ?= +-CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include diff --git a/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch new file mode 100644 index 0000000000000..c0749bfad8d12 --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-1.1.1-fix-make-clang-build.patch @@ -0,0 +1,40 @@ +diff --git a/utils/Makefile b/utils/Makefile +index ad4bc5c..fb52cd3 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -8,21 +8,30 @@ CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include +-CFLAGS += -L ../src + CFLAGS += -O2 + ++LDFLAGS += -L ../src ++ + VPATH = ../src:../include/tinyalsa + + .PHONY: all + all: -ltinyalsa tinyplay tinycap tinymix tinypcminfo + +-tinyplay: tinyplay.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinyplay: tinyplay.o libtinyalsa.a ++ ++tinyplay.o: tinyplay.c pcm.h mixer.h asoundlib.h ++ ++tinycap: tinycap.o libtinyalsa.a ++ ++tinycap.o: tinycap.c pcm.h mixer.h asoundlib.h ++ ++tinymix: tinymix.o libtinyalsa.a + +-tinycap: tinycap.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinymix.o: tinymix.c pcm.h mixer.h asoundlib.h + +-tinymix: tinymix.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinypcminfo: tinypcminfo.o libtinyalsa.a + +-tinypcminfo: tinypcminfo.c pcm.h mixer.h asoundlib.h libtinyalsa.a ++tinypcminfo.o: tinypcminfo.c pcm.h mixer.h asoundlib.h + + .PHONY: clean + clean: diff --git a/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch b/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch new file mode 100644 index 0000000000000..db679cccf2ab7 --- /dev/null +++ b/recipes/tinyalsa/all/patches/tinyalsa-2.0.0-fix-hardcoded-gcc.patch @@ -0,0 +1,46 @@ +diff --git a/examples/Makefile b/examples/Makefile +index 650966d..1f68ff6 100644 +--- a/examples/Makefile ++++ b/examples/Makefile +@@ -1,6 +1,5 @@ + CROSS_COMPILE ?= + +-CC = $(CROSS_COMPILE)gcc + CFLAGS = -Wall -Wextra -Werror -Wfatal-errors -I ../include + + VPATH = ../src +diff --git a/src/Makefile b/src/Makefile +index aaa84b8..ac86400 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -6,9 +6,6 @@ ifdef DEB_HOST_MULTIARCH + LIBDIR := $(LIBDIR)/$(DEB_HOST_MULTIARCH) + endif + +-CC = $(CROSS_COMPILE)gcc +-AR = $(CROSS_COMPILE)ar +-LD = $(CROSS_COMPILE)gcc + + WARNINGS = -Wall -Wextra -Werror -Wfatal-errors + INCLUDE_DIRS = -I ../include +@@ -49,7 +46,7 @@ libtinyalsa.so.$(LIBVERSION_MAJOR): libtinyalsa.so.$(LIBVERSION) + ln -sf $< $@ + + libtinyalsa.so.$(LIBVERSION): $(OBJECTS) +- $(LD) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.$(LIBVERSION_MAJOR) $^ -o $@ ++ $(CC) $(LDFLAGS) -shared -Wl,-soname,libtinyalsa.so.$(LIBVERSION_MAJOR) $^ -o $@ + + .PHONY: clean + clean: +diff --git a/utils/Makefile b/utils/Makefile +index f733c39..38a9cb5 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -4,7 +4,6 @@ BINDIR ?= $(PREFIX)/bin + MANDIR ?= $(PREFIX)/man + + CROSS_COMPILE ?= +-CC = $(CROSS_COMPILE)gcc + + CFLAGS += -Wall -Wextra -Werror -Wfatal-errors + CFLAGS += -I ../include diff --git a/recipes/tinyalsa/all/test_package/CMakeLists.txt b/recipes/tinyalsa/all/test_package/CMakeLists.txt index 05e771029ef2c..164aea9790081 100644 --- a/recipes/tinyalsa/all/test_package/CMakeLists.txt +++ b/recipes/tinyalsa/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ cmake_minimum_required(VERSION 3.1) -project(PackageTest) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(PackageTest LANGUAGES C) find_package(tinyalsa CONFIG REQUIRED) diff --git a/recipes/tinyalsa/all/test_package/conanfile.py b/recipes/tinyalsa/all/test_package/conanfile.py index 481a3b9adeaa2..03f3d654478f9 100644 --- a/recipes/tinyalsa/all/test_package/conanfile.py +++ b/recipes/tinyalsa/all/test_package/conanfile.py @@ -1,9 +1,23 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.files import load, save import os -from conans import ConanFile, CMake, tools -class LibalsaTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str, run=True) + + def layout(self): + cmake_layout(self) + + def generate(self): + save(self, os.path.join(self.build_folder, "with_utils"), + str(self.dependencies["tinyalsa"].options.with_utils)) def build(self): cmake = CMake(self) @@ -11,6 +25,8 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "example") + self.run(bin_path, env="conanrun") + if load(self, os.path.join(self.build_folder, "with_utils")) == "True": + self.run("tinymix --help", env="conanrun") diff --git a/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt b/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/tinyalsa/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/tinyalsa/all/test_v1_package/conanfile.py b/recipes/tinyalsa/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bb566468b9731 --- /dev/null +++ b/recipes/tinyalsa/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From 3d3e379b717aabd0ae62ff40a6347072debbd18a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 02:38:13 +0900 Subject: [PATCH 0256/1307] (#21331) aws-c-auth: add version 0.7.7, update dependencies * aws-c-auth: add version 0.7.7, update dependencies * create patch for 0.6.17 * make aws-c-io transitive_libs * downgrade dependencies versions Co-authored-by: Gregor Jasny --------- Co-authored-by: Gregor Jasny --- recipes/aws-c-auth/all/conandata.yml | 9 ++ recipes/aws-c-auth/all/conanfile.py | 33 +++-- .../patches/0.6.17-0001-fix-macro-usage.patch | 132 ++++++++++++++++++ recipes/aws-c-auth/config.yml | 2 + 4 files changed, 165 insertions(+), 11 deletions(-) create mode 100644 recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index 3f6bee7b4b086..47648a4e54a57 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.7": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.7.tar.gz" + sha256: "ea3c9e75b59b36aaf9147deec655d1669f197745bbe914cd3b8e234740be29ba" "0.6.17": url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.17.tar.gz" sha256: "b43678ad3a779c9c7fccf8f931c162eaaf4d5d64d2955ac1fcfd32e538545c0f" @@ -14,3 +17,9 @@ sources: "0.6.0": url: "https://github.com/awslabs/aws-c-auth/archive/v0.6.0.tar.gz" sha256: "5f5fff63110c3e8f619385ca563f77886bc101d3e054987eecbb87586e27b651" +patches: + "0.6.17": + - patch_file: "patches/0.6.17-0001-fix-macro-usage.patch" + patch_description: "Fix inconsistent usage of macros" + patch_type: "backport" + patch_source: "https://github.com/awslabs/aws-c-auth/pull/181" diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 93acb4732d6f3..0181ea2ac5e2c 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, copy, rmdir, save +from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches from conan.tools.scm import Version import os @@ -30,6 +30,9 @@ class AwsCAuth(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -44,19 +47,26 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") - if Version(self.version) < "0.6.17": - self.requires("aws-c-io/0.10.20", transitive_headers=True) - self.requires("aws-c-http/0.6.13", transitive_headers=True) + if Version(self.version) <= "0.6.17": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") + if Version(self.version) < "0.6.17": + self.requires("aws-c-io/0.10.20", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.6.13", transitive_headers=True) + else: + self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.6.22", transitive_headers=True) + if Version(self.version) >= "0.6.5": + self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) else: - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-http/0.6.22", transitive_headers=True) - if Version(self.version) >= "0.6.5": - self.requires("aws-c-sdkutils/0.1.3", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") + self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-http/0.7.14", transitive_headers=True) + self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -67,6 +77,7 @@ def generate(self): deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch b/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch new file mode 100644 index 0000000000000..bed12b1bd563b --- /dev/null +++ b/recipes/aws-c-auth/all/patches/0.6.17-0001-fix-macro-usage.patch @@ -0,0 +1,132 @@ +diff --git a/source/aws_signing.c b/source/aws_signing.c +index 940d7be..ecc1144 100644 +--- a/source/aws_signing.c ++++ b/source/aws_signing.c +@@ -2500,7 +2500,7 @@ int aws_verify_sigv4a_signing( + aws_credentials_release(signing_state->config.credentials); + signing_state->config.credentials = ecc_credentials; + if (signing_state->config.credentials == NULL) { +- AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials") ++ AWS_LOGF_ERROR(AWS_LS_AUTH_SIGNING, "Unable to create ECC from provided credentials"); + goto done; + } + } +diff --git a/source/credentials_provider_process.c b/source/credentials_provider_process.c +index 655df86..29f99d0 100644 +--- a/source/credentials_provider_process.c ++++ b/source/credentials_provider_process.c +@@ -187,7 +187,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct + if (!command_buf.len) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve credentials_process command during process credentials provider initialization.") ++ "Failed to resolve credentials_process command during process credentials provider initialization."); + goto on_finish; + } + +@@ -202,7 +202,7 @@ static struct aws_string *s_get_command(struct aws_allocator *allocator, struct + + AWS_LOGF_DEBUG( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Successfully loaded credentials_process command for process credentials provider.") ++ "Successfully loaded credentials_process command for process credentials provider."); + + on_finish: + aws_string_destroy(profile_name); +diff --git a/source/credentials_provider_sts_web_identity.c b/source/credentials_provider_sts_web_identity.c +index cb03cb5..c3e4697 100644 +--- a/source/credentials_provider_sts_web_identity.c ++++ b/source/credentials_provider_sts_web_identity.c +@@ -231,7 +231,7 @@ static bool s_parse_retryable_error_from_response(struct aws_allocator *allocato + if (xml_parser == NULL) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to init xml parser for sts web identity credentials provider to parse error information.") ++ "Failed to init xml parser for sts web identity credentials provider to parse error information."); + return false; + } + bool get_retryable_error = false; +@@ -330,14 +330,14 @@ static struct aws_credentials *s_parse_credentials_from_response( + if (xml_parser == NULL) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to init xml parser for sts web identity credentials provider to parse error information.") ++ "Failed to init xml parser for sts web identity credentials provider to parse error information."); + return NULL; + } + uint64_t now = UINT64_MAX; + if (aws_sys_clock_get_ticks(&now) != AWS_OP_SUCCESS) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to get sys clock for sts web identity credentials provider to parse error information.") ++ "Failed to get sys clock for sts web identity credentials provider to parse error information."); + goto on_finish; + } + uint64_t now_seconds = aws_timestamp_convert(now, AWS_TIMESTAMP_NANOS, AWS_TIMESTAMP_SECS, NULL); +@@ -998,7 +998,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, + "Failed to resolve either region, role arn or token file path during sts web identity provider " +- "initialization.") ++ "initialization."); + goto on_finish; + + } else { +@@ -1021,7 +1021,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + aws_byte_buf_init_copy_from_cursor(¶meters->role_arn, allocator, aws_byte_cursor_from_string(role_arn))) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve role arn during sts web identity provider initialization.") ++ "Failed to resolve role arn during sts web identity provider initialization."); + goto on_finish; + } + +@@ -1031,7 +1031,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + ¶meters->token_file_path, allocator, aws_byte_cursor_from_string(token_file_path))) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Failed to resolve token file path during sts web identity provider initialization.") ++ "Failed to resolve token file path during sts web identity provider initialization."); + goto on_finish; + } + +@@ -1047,7 +1047,7 @@ static struct sts_web_identity_parameters *s_parameters_new(struct aws_allocator + + AWS_LOGF_DEBUG( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Successfully loaded all required parameters for sts web identity credentials provider.") ++ "Successfully loaded all required parameters for sts web identity credentials provider."); + success = true; + + on_finish: +diff --git a/source/credentials_utils.c b/source/credentials_utils.c +index 061e26b..2cb61d6 100644 +--- a/source/credentials_utils.c ++++ b/source/credentials_utils.c +@@ -98,7 +98,7 @@ static bool s_parse_expiration_value_from_json_object( + + if (expiration_cursor.len == 0) { + AWS_LOGF_INFO( +- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration.") ++ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed a credentials json document with empty expiration."); + return false; + } + +@@ -211,7 +211,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( + if (access_key_id_cursor.len == 0 || secrete_access_key_cursor.len == 0) { + AWS_LOGF_ERROR( + AWS_LS_AUTH_CREDENTIALS_PROVIDER, +- "Parsed an unexpected credentials json document, either access key, secret key is empty.") ++ "Parsed an unexpected credentials json document, either access key, secret key is empty."); + goto done; + } + +@@ -222,7 +222,7 @@ struct aws_credentials *aws_parse_credentials_from_aws_json_object( + aws_json_value_get_string(token, &session_token_cursor); + if (options->token_required && session_token_cursor.len == 0) { + AWS_LOGF_ERROR( +- AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token.") ++ AWS_LS_AUTH_CREDENTIALS_PROVIDER, "Parsed an unexpected credentials json document with empty token."); + goto done; + } + } diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index 503ab418198f1..244301baade46 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.7": + folder: all "0.6.17": folder: all "0.6.11": From 0760063a6faa03edb63dacfde67ef1e950aa35bd Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 29 Nov 2023 19:03:26 +0100 Subject: [PATCH 0257/1307] (#21158) [pulseaudio] Update fftw options * Update fftw dependency Signed-off-by: Uilian Ries * Fix comment Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/pulseaudio/all/conanfile.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py index e50cb73ff538a..1a469fa5694df 100644 --- a/recipes/pulseaudio/all/conanfile.py +++ b/recipes/pulseaudio/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_alsa: self.requires("libalsa/1.2.10") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.1") if self.options.get_safe("with_fftw"): self.requires("fftw/3.3.10") if self.options.with_x11: @@ -79,11 +79,10 @@ def validate(self): raise ConanInvalidConfiguration("pulseaudio supports only linux currently") if self.options.get_safe("with_fftw"): - fftw_precision = self.dependencies["fftw"].options.precision - if fftw_precision != "single": + if not self.dependencies["fftw"].options.precision_single: raise ConanInvalidConfiguration( - f"Pulse audio cannot use fftw {fftw_precision} precision. " - "Either set option fftw:precision=single or pulseaudio:with_fftw=False" + f"Pulse audio uses fftw single precision. " + "Either set option -o fftw/*:precision_single=True or -o pulseaudio/*:with_fftw=False" ) def build_requirements(self): From 57c9deab7313f6193aad505598aa55b03dcd4b28 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 03:29:08 +0900 Subject: [PATCH 0258/1307] (#21370) stx: add version 1.0.5 --- recipes/stx/all/conandata.yml | 10 ++++++++++ .../patches/1.0.5-0002-add-installer.patch | 20 +++++++++++++++++++ recipes/stx/config.yml | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 recipes/stx/all/patches/1.0.5-0002-add-installer.patch diff --git a/recipes/stx/all/conandata.yml b/recipes/stx/all/conandata.yml index 581d965091806..d0f1a667ea097 100644 --- a/recipes/stx/all/conandata.yml +++ b/recipes/stx/all/conandata.yml @@ -1,8 +1,18 @@ sources: + "1.0.5": + url: "https://github.com/lamarrr/STX/archive/v1.0.5.tar.gz" + sha256: "d21a1895bc7057c8c6118a042ec39f364b2ad768394d4facb2fd64b73b07d97f" "1.0.4": url: "https://github.com/lamarrr/STX/archive/v1.0.4.tar.gz" sha256: "89c61efb84828e42ddd6765e323e12b7b8de7ff68116f93227a87c56159c34ab" patches: + "1.0.5": + - patch_file: "patches/1.0.4-0001-cmake_module_path.patch" + patch_description: "append CMAKE_MODULE_PATH instead of setting CMAKE_MODULE_PATH" + patch_type: "conan" + - patch_file: "patches/1.0.5-0002-add-installer.patch" + patch_description: "use GNUInstallDirs for target path" + patch_type: "portability" "1.0.4": - patch_file: "patches/1.0.4-0001-cmake_module_path.patch" patch_description: "append CMAKE_MODULE_PATH instead of setting CMAKE_MODULE_PATH" diff --git a/recipes/stx/all/patches/1.0.5-0002-add-installer.patch b/recipes/stx/all/patches/1.0.5-0002-add-installer.patch new file mode 100644 index 0000000000000..76dc480783923 --- /dev/null +++ b/recipes/stx/all/patches/1.0.5-0002-add-installer.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ee82585..bea77c7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -113,10 +113,14 @@ target_include_directories(stx PRIVATE src) + # === Install + # + # =============================================== ++include(GNUInstallDirs) + install( + TARGETS stx + EXPORT stx +- LIBRARY DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++) + install(DIRECTORY include/stx DESTINATION include) + + # =============================================== diff --git a/recipes/stx/config.yml b/recipes/stx/config.yml index c20e44b006f1a..267193202c4e1 100644 --- a/recipes/stx/config.yml +++ b/recipes/stx/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.5": + folder: all "1.0.4": folder: all From e2c405b7a7bc0b97c9014db16ada29a18f2cae2a Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 03:47:57 +0900 Subject: [PATCH 0259/1307] (#21383) jasper: add version 4.1.0 --- recipes/jasper/all/conandata.yml | 14 ++++++++++ .../all/patches/4.1.0-0001-skip-rpath.patch | 28 +++++++++++++++++++ .../all/patches/4.1.0-0002-find-libjpeg.patch | 25 +++++++++++++++++ .../4.1.0-0003-deterministic-libname.patch | 13 +++++++++ recipes/jasper/config.yml | 2 ++ 5 files changed, 82 insertions(+) create mode 100644 recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch create mode 100644 recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch create mode 100644 recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 249c9d8054efc..6e9ac4e8ea75b 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.0": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.0/jasper-4.1.0.tar.gz" + sha256: "ffe1543d87f7ffc5039d2415afd48c314a7cc0b0c750b4982cd881d6ed4b5743" "4.0.0": url: "https://github.com/jasper-software/jasper/releases/download/version-4.0.0/jasper-4.0.0.tar.gz" sha256: "39514e1b53a5333fcff817e19565371f016ea536c36fd2d13a9c4d8da8f0be0c" @@ -9,6 +12,17 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.1.0": + - patch_file: "patches/4.1.0-0001-skip-rpath.patch" + patch_description: "Do not enforce rpath configuration" + patch_source: "https://github.com/jasper-software/jasper/pull/347" + patch_type: "conan" + - patch_file: "patches/4.1.0-0002-find-libjpeg.patch" + patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" + patch_type: "conan" + - patch_file: "patches/4.1.0-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.0.0": - patch_file: "patches/4.0.0-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" diff --git a/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch b/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch new file mode 100644 index 0000000000000..9ebb0ac66b98c --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0001-skip-rpath.patch @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba6f117..6b79a94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -804,19 +804,19 @@ if(JAS_ENABLE_SHARED) + # (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) ++# set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + + # The RPATH to be used when installing, but only if it's not a + # system directory + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if(isSystemDir EQUAL -1) +- set(CMAKE_INSTALL_RPATH +- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++# set(CMAKE_INSTALL_RPATH ++# "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + endif() + diff --git a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch new file mode 100644 index 0000000000000..05dd6ce68abe8 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b79a94..86eb065 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -742,13 +742,13 @@ if(JAS_ENABLE_LIBJPEG) + # (e.g., stdio.h and stdint.h). So, we cannot reliably use + # check_include_file here. + jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) +- check_c_source_compiles(" +- #include +- #include +- #include +- int main() {} +- " JAS_HAVE_JPEGLIB_H) +- if(JAS_HAVE_JPEGLIB_H) ++ # check_c_source_compiles(" ++ # #include ++ # #include ++ # #include ++ # int main() {} ++ # " JAS_HAVE_JPEGLIB_H) ++ if(1) + set(JAS_HAVE_LIBJPEG 1) + set(JAS_LIBJPEG_TARGET JPEG::JPEG) + list(APPEND JAS_PKGCONFIG_REQUIRES libjpeg) diff --git a/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..0603e4f665033 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.0-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86eb065..9c2da51 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ endif() + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index 4a60a36eef3ae..70e516cc72ceb 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.0": + folder: all "4.0.0": folder: all "3.0.6": From a9161945c30953fce08e3c496eeef14bfc5e2b31 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 29 Nov 2023 20:08:21 +0100 Subject: [PATCH 0260/1307] (#21439) openssl: backport openssl/openssl#22811 fix * openssl: backport openssl/openssl#22811 fix * fixup line endings --- recipes/openssl/3.x.x/conandata.yml | 6 ++++ recipes/openssl/3.x.x/conanfile.py | 6 +++- .../3.x.x/patches/3.2.0-fix-winsock2.patch | 36 +++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml index c4de0d1d32358..ca3f66a360ac3 100644 --- a/recipes/openssl/3.x.x/conandata.yml +++ b/recipes/openssl/3.x.x/conandata.yml @@ -34,3 +34,9 @@ sources: - "https://www.openssl.org/source/openssl-3.0.11.tar.gz" - "https://github.com/openssl/openssl/releases/download/openssl-3.0.11/openssl-3.0.11.tar.gz" sha256: b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55 +patches: + 3.2.0: + - patch_file: "patches/3.2.0-fix-winsock2.patch" + patch_description: "Only include winsock2.h for struct timeval if needed" + patch_type: "bugfix" + patch_source: "https://github.com/openssl/openssl/commit/ba58e9f1e22dd9ee2e37078640dcbe9f520a555d" diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py index 82d58e0af07f6..0aebce72e25fa 100644 --- a/recipes/openssl/3.x.x/conanfile.py +++ b/recipes/openssl/3.x.x/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun from conan.tools.build import build_jobs -from conan.tools.files import chdir, copy, get, rename, replace_in_file, rmdir, save +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, rename, replace_in_file, rmdir, save from conan.tools.gnu import AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path @@ -126,6 +126,9 @@ def configure(self): self.settings.rm_safe("compiler.libcxx") self.settings.rm_safe("compiler.cppstd") + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -516,6 +519,7 @@ def _make_install(self): self._run_make(targets=["install_sw"], parallel=False, install=True) def build(self): + apply_conandata_patches(self) self._make() configdata_pm = self._adjust_path(os.path.join(self.source_folder, "configdata.pm")) self.run(f"{self._perl} {configdata_pm} --dump") diff --git a/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch b/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch new file mode 100644 index 0000000000000..6e91678b02dd7 --- /dev/null +++ b/recipes/openssl/3.x.x/patches/3.2.0-fix-winsock2.patch @@ -0,0 +1,36 @@ +From ba58e9f1e22dd9ee2e37078640dcbe9f520a555d Mon Sep 17 00:00:00 2001 +From: Hugo Landau +Date: Fri, 24 Nov 2023 10:03:30 +0000 +Subject: [PATCH] Only include winsock2.h for struct timeval if needed + +Fixes #22811 + +Reviewed-by: Tomas Mraz +Reviewed-by: Matt Caswell +Reviewed-by: Matthias St. Pierre +(Merged from https://github.com/openssl/openssl/pull/22813) +--- + include/openssl/e_ostime.h | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/include/openssl/e_ostime.h b/include/openssl/e_ostime.h +index 8a7cc9880fa79..0e17487504992 100644 +--- a/include/openssl/e_ostime.h ++++ b/include/openssl/e_ostime.h +@@ -22,7 +22,15 @@ + */ + + # if defined(OPENSSL_SYS_WINDOWS) +-# include ++# if !defined(_WINSOCKAPI_) ++ /* ++ * winsock2.h defines _WINSOCK2API_ and both winsock2.h and winsock.h define ++ * _WINSOCKAPI_. Both of these provide struct timeval. Don't include ++ * winsock2.h if either header has been included to avoid breakage with ++ * applications that prefer to use over . ++ */ ++# include ++# endif + # else + # include + # endif From d880fcd7c7d6894b6e1bbb98140435ebadd8e6e3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:37:44 +0100 Subject: [PATCH 0261/1307] (#21454) egl-headers: add package_type --- recipes/egl-headers/all/conanfile.py | 7 ++++--- recipes/egl-headers/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/egl-headers/all/conanfile.py b/recipes/egl-headers/all/conanfile.py index 5f6e1786a60cb..d9fb3976353e3 100644 --- a/recipes/egl-headers/all/conanfile.py +++ b/recipes/egl-headers/all/conanfile.py @@ -13,6 +13,7 @@ class EglHeadersConan(ConanFile): topics = ("egl-headers", "egl") homepage = "https://github.com/KhronosGroup/EGL-Registry" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -43,4 +43,5 @@ def package(self): copy(self, "*", src=os.path.join(self.source_folder, "api", "EGL"), dst=os.path.join(self.package_folder, "include", "EGL")) def package_info(self): - pass + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/egl-headers/all/test_package/CMakeLists.txt b/recipes/egl-headers/all/test_package/CMakeLists.txt index 8c6a625d847ec..26e09ca1aa867 100644 --- a/recipes/egl-headers/all/test_package/CMakeLists.txt +++ b/recipes/egl-headers/all/test_package/CMakeLists.txt @@ -4,4 +4,4 @@ project(test_package LANGUAGES C) find_package(egl-headers REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} egl-headers::egl-headers) +target_link_libraries(${PROJECT_NAME} PRIVATE egl-headers::egl-headers) From 44c4af38fa38be391b75f8f375f39b95011fc32c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:59:34 +0100 Subject: [PATCH 0262/1307] (#21475) hlslpp: add package_type --- recipes/hlslpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/hlslpp/all/conanfile.py b/recipes/hlslpp/all/conanfile.py index d8ccb3fef6db2..5e20f46efc9b0 100644 --- a/recipes/hlslpp/all/conanfile.py +++ b/recipes/hlslpp/all/conanfile.py @@ -14,6 +14,7 @@ class HlslppConan(ConanFile): license = "MIT" homepage = "https://github.com/redorav/hlslpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 2e7d17cd29c9d9f227b54664a255f68ea5a19a9e Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Wed, 29 Nov 2023 23:08:23 +0300 Subject: [PATCH 0263/1307] (#21483) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 8b39ba21d27ff..794fbb3011f17 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.1.tar.gz" + sha256: "7126ecc34f9808943b76b05106ebd42ef01b7b812416efc2382de68a13804d01" "2.3.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.0.tar.gz" sha256: "e8a37c80f1823bbac9cbfd6bbd662ee14e8ff0ac9e97966aa34cb2d0eed18e72" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index ea0e83069f215..1875f7359c680 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.1": + folder: all "2.3.0": folder: all "2.2.3": From 9d704b21c5320777869c96489950f39664d59336 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 29 Nov 2023 21:47:29 +0100 Subject: [PATCH 0264/1307] (#21440) libvips/all: bump deps * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libvips/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * workaround conan-io/conan#14213 --- recipes/libvips/all/conanfile.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/recipes/libvips/all/conanfile.py b/recipes/libvips/all/conanfile.py index 41fc3c25f6348..4e9baa365d40f 100644 --- a/recipes/libvips/all/conanfile.py +++ b/recipes/libvips/all/conanfile.py @@ -116,9 +116,9 @@ def layout(self): def requirements(self): self.requires("expat/2.5.0") - self.requires("glib/2.78.0", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.with_cfitsio: - self.requires("cfitsio/4.2.0") + self.requires("cfitsio/4.3.0") if self.options.with_cgif: self.requires("cgif/0.3.2") if self.options.with_exif: @@ -132,9 +132,9 @@ 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.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") if self.options.with_jpeg_xl: self.requires("libjxl/0.6.1") if self.options.with_lcms: @@ -142,15 +142,15 @@ def requirements(self): if self.options.with_magick: self.requires("imagemagick/7.0.11-14") if self.options.with_matio: - self.requires("matio/1.5.23") + self.requires("matio/1.5.24") if self.options.with_openexr: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_pangocairo: self.requires("pango/1.50.10") if self.options.with_pdfium: - self.requires("pdfium/cci.20210730") + self.requires("pdfium/95.0.4629") if self.options.with_png == "libpng": self.requires("libpng/1.6.40") elif self.options.with_png == "libspng": @@ -199,7 +199,7 @@ def validate(self): raise ConanInvalidConfiguration("librsvg recipe not available in conancenter yet") def build_requirements(self): - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.0.3") if self.options.introspection: @@ -281,6 +281,12 @@ def _patch_sources(self): replace_in_file(self, meson_build, "subdir('test')", "") replace_in_file(self, meson_build, "subdir('fuzz')", "") + # workaround https://github.com/conan-io/conan/issues/14213 + replace_in_file(self, meson_build, + "cfg_var.set_quoted('VIPS_PREFIX', prefix_dir)", + "cfg_var.set_quoted('VIPS_PREFIX', prefix_dir.replace('\\\\', '/'))" + ) + def build(self): self._patch_sources() meson = Meson(self) From 00b4a6463e6e29c013230fde8c6eff50d96b4097 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:08:31 +0100 Subject: [PATCH 0265/1307] (#21442) cs_libguarded: add package_type --- recipes/cs_libguarded/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/cs_libguarded/all/conanfile.py b/recipes/cs_libguarded/all/conanfile.py index 39578ddadb423..7a321e4ffe729 100644 --- a/recipes/cs_libguarded/all/conanfile.py +++ b/recipes/cs_libguarded/all/conanfile.py @@ -15,6 +15,7 @@ class CsLibguardedConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/copperspice/libguarded" topics = ("multithreading", "templates", "cpp14", "mutexes", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -66,7 +67,7 @@ def loose_lt_semver(v1, v2): f"{self.ref} requires C++{self._min_cppstd}, which your compiler ({compiler}-{version}) does not support") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) From 485c82cd0c3ce7e1d19f77201c39d8bed5ebb5e2 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:28:26 +0100 Subject: [PATCH 0266/1307] (#21443) cxxopts: add package_type + bump icu * add package_type * bump icu --- recipes/cxxopts/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cxxopts/all/conanfile.py b/recipes/cxxopts/all/conanfile.py index 03ec452dcf0b8..face2572c75dd 100644 --- a/recipes/cxxopts/all/conanfile.py +++ b/recipes/cxxopts/all/conanfile.py @@ -15,7 +15,7 @@ class CxxOptsConan(ConanFile): description = "Lightweight C++ option parser library, supporting the standard GNU style syntax for options." license = "MIT" topics = ("option-parser", "positional-arguments ", "header-only") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "unicode": [True, False], @@ -44,7 +44,7 @@ def layout(self): def requirements(self): if self.options.unicode: - self.requires("icu/72.1") + self.requires("icu/74.1") def package_id(self): self.info.clear() From b0c90ba70c7ba6b4540a33518284e66019e1f69f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:48:05 +0100 Subject: [PATCH 0267/1307] (#21445) decimal_for_cpp: add package_type --- recipes/decimal_for_cpp/all/conanfile.py | 14 ++++++-------- .../decimal_for_cpp/all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 9 +++------ 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/recipes/decimal_for_cpp/all/conanfile.py b/recipes/decimal_for_cpp/all/conanfile.py index 3e6a2b2a8d7a3..52caed052e558 100644 --- a/recipes/decimal_for_cpp/all/conanfile.py +++ b/recipes/decimal_for_cpp/all/conanfile.py @@ -10,21 +10,21 @@ class DecimalforcppConan(ConanFile): name = "decimal_for_cpp" description = "Decimal data type support, for COBOL-like fixed-point operations on currency values." license = "BSD-3-Clause" - topics = ("decimal_for_cpp", "currency", "money-library", "decimal-numbers") + topics = ("currency", "money-library", "decimal-numbers") homepage = "https://github.com/vpiotr/decimal_for_cpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,6 +35,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/decimal_for_cpp/all/test_package/conanfile.py b/recipes/decimal_for_cpp/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/decimal_for_cpp/all/test_package/conanfile.py +++ b/recipes/decimal_for_cpp/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt b/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt index 99324bd86f533..be00a8c7f57c7 100644 --- a/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt +++ b/recipes/decimal_for_cpp/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(decimal_for_cpp REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} decimal_for_cpp::decimal_for_cpp) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 5cc8200a89be00f1c041f57a3c3ceff9fed9f7e1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 30 Nov 2023 00:05:22 +0200 Subject: [PATCH 0268/1307] (#20025) hlslpp: add version 3.3.1 * hlslpp: add version 3.3.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * hlslpp: add version 3.2.3 * hlslpp: require GCC 6 * hlslpp: tidy * hlslpp: fix config.yml * Update recipes/hlslpp/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Quentin Chateau via Conan Center Bot Co-authored-by: Uilian Ries --- recipes/hlslpp/all/conandata.yml | 12 ++++++------ recipes/hlslpp/all/conanfile.py | 17 ++++++++++++++++- recipes/hlslpp/config.yml | 4 ++-- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/recipes/hlslpp/all/conandata.yml b/recipes/hlslpp/all/conandata.yml index 41a6668e87c71..213b230fcc1d6 100644 --- a/recipes/hlslpp/all/conandata.yml +++ b/recipes/hlslpp/all/conandata.yml @@ -1,10 +1,10 @@ sources: - "3.2.2": - url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.2.2.tar.gz" - sha256: "f8fae38e6f02920f24344a86397f03b2a7a1fe18bbcb77f4c39bc33978c4a058" - "3.2": - url: "https://github.com/redorav/hlslpp/archive/3.2.tar.gz" - sha256: "23ab0b7f392c518185157e9b1e099eac0a560f4932cebbdf8ccb4a533a0d0336" + "3.3.1": + url: "https://github.com/redorav/hlslpp/archive/3.3.1.tar.gz" + sha256: "0756161beb8dd9eae377dc11e933d045618fea7ac93674f60eb8cffc04080499" + "3.2.3": + url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.2.3.tar.gz" + sha256: "132149d25306cdc56a87c1d6a4a93d3200de4864b5d27d758d235ce4ace64498" "3.1": url: "https://github.com/redorav/hlslpp/archive/refs/tags/3.1.tar.gz" sha256: "6f933e43bf8150a41d76a188377e59007897dc87e96be30608e7f2007605d5c4" diff --git a/recipes/hlslpp/all/conanfile.py b/recipes/hlslpp/all/conanfile.py index 5e20f46efc9b0..89394902b2939 100644 --- a/recipes/hlslpp/all/conanfile.py +++ b/recipes/hlslpp/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -18,6 +20,14 @@ class HlslppConan(ConanFile): settings = "os", "arch", "compiler", "build_type" no_copy_source = True + @property + def _min_cppstd(self): + return 11 + + @property + def _compilers_minimum_version(self): + return {"gcc": "6"} if Version(self.version) >= "3.3" else {} + def layout(self): basic_layout(self, src_folder="src") @@ -26,7 +36,12 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/hlslpp/config.yml b/recipes/hlslpp/config.yml index 199b902f23539..6f4aad719df58 100644 --- a/recipes/hlslpp/config.yml +++ b/recipes/hlslpp/config.yml @@ -1,7 +1,7 @@ versions: - "3.2.2": + "3.3.1": folder: all - "3.2": + "3.2.3": folder: all "3.1": folder: all From 9c4d063e93f10a7d1478bab4c99f4f2a58a41ef3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:27:49 +0100 Subject: [PATCH 0269/1307] (#21453) earcut: modernize more for conan v2 - add package_type - empty bindirs & libdirs in package_info() - no warning messages for "unknown compilers" --- recipes/earcut/all/conanfile.py | 51 ++++++++++--------- .../earcut/all/test_package/CMakeLists.txt | 4 +- recipes/earcut/all/test_package/conanfile.py | 12 ++--- .../{example.cpp => test_package.cpp} | 0 .../earcut/all/test_v1_package/conanfile.py | 2 +- 5 files changed, 35 insertions(+), 34 deletions(-) rename recipes/earcut/all/test_package/{example.cpp => test_package.cpp} (100%) diff --git a/recipes/earcut/all/conanfile.py b/recipes/earcut/all/conanfile.py index 9ff1959d206ff..c1034e73dab2e 100644 --- a/recipes/earcut/all/conanfile.py +++ b/recipes/earcut/all/conanfile.py @@ -1,9 +1,12 @@ import os + from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.errors import ConanInvalidConfiguration + +required_conan_version = ">=1.50.0" class EarcutPackage(ConanFile): @@ -13,8 +16,9 @@ class EarcutPackage(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "ISC" topics = ("algorithm", "cpp", "geometry", "rendering", "triangulation", - "polygon", "header-only", "tessellation", "earcut") - settings = "compiler" + "polygon", "header-only", "tessellation") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property @@ -29,35 +33,35 @@ def _minimum_compilers_version(self): "gcc": "4.9", "intel": "15", "sun-cc": "5.14", - "Visual Studio": "12" + "Visual Studio": "12", + "msvc": "180", } @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 11 + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) - def lazy_lt_semver(v1, v2): + def loose_lt_semver(v1, v2): lv1 = [int(v) for v in v1.split(".")] lv2 = [int(v) for v in v2.split(".")] min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - min_version = self._minimum_compilers_version.get( - str(self.settings.compiler)) - if not min_version: - self.output.warning( - f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") - else: - if lazy_lt_semver(str(self.settings.compiler.version), min_version): - raise ConanInvalidConfiguration( - f"{self.name} requires C++{self._minimum_cpp_standard} support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") - - def layout(self): - basic_layout(self, src_folder="src") + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if min_version and loose_lt_semver(str(self.settings.compiler.version), min_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -71,12 +75,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "earcut_hpp") self.cpp_info.set_property("cmake_target_name", "earcut_hpp::earcut_hpp") - + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.filenames["cmake_find_package"] = "earcut_hpp" - self.cpp_info.filenames["cmake_find_package_multi"] = "earcut_hpp" self.cpp_info.names["cmake_find_package"] = "earcut_hpp" self.cpp_info.names["cmake_find_package_multi"] = "earcut_hpp" - - def package_id(self): - self.info.clear() diff --git a/recipes/earcut/all/test_package/CMakeLists.txt b/recipes/earcut/all/test_package/CMakeLists.txt index a6d943d926668..c341471bb32de 100644 --- a/recipes/earcut/all/test_package/CMakeLists.txt +++ b/recipes/earcut/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(earcut_hpp REQUIRED CONFIG) -add_executable(${PROJECT_NAME} example.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE earcut_hpp::earcut_hpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/earcut/all/test_package/conanfile.py b/recipes/earcut/all/test_package/conanfile.py index 0246d899d7bc9..12503ced11f45 100644 --- a/recipes/earcut/all/test_package/conanfile.py +++ b/recipes/earcut/all/test_package/conanfile.py @@ -4,22 +4,22 @@ from conan.tools.cmake import CMake, cmake_layout -class EarcutTestPackage(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - def layout(self): cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") diff --git a/recipes/earcut/all/test_package/example.cpp b/recipes/earcut/all/test_package/test_package.cpp similarity index 100% rename from recipes/earcut/all/test_package/example.cpp rename to recipes/earcut/all/test_package/test_package.cpp diff --git a/recipes/earcut/all/test_v1_package/conanfile.py b/recipes/earcut/all/test_v1_package/conanfile.py index 0357a45cbaadf..a8c92dea63335 100644 --- a/recipes/earcut/all/test_v1_package/conanfile.py +++ b/recipes/earcut/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ from conans import ConanFile, CMake, tools -class EarcutTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" From 63cee51e42b9134d13419c31cfea6fdf4f04444c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 29 Nov 2023 23:47:34 +0100 Subject: [PATCH 0270/1307] (#21455) enum-flags: add package_type --- recipes/enum-flags/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/enum-flags/all/conanfile.py b/recipes/enum-flags/all/conanfile.py index 81ac78601093a..5d86c60a02e47 100644 --- a/recipes/enum-flags/all/conanfile.py +++ b/recipes/enum-flags/all/conanfile.py @@ -14,7 +14,7 @@ class EnumFlagsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("bitmask", "enum") license = "MIT" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "forbid_implicit_conversions": [True, False], @@ -36,8 +36,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From d37f9461e40ad7a2fa0869493af67c3545e9d2b6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:07:37 +0100 Subject: [PATCH 0271/1307] (#21457) eternal: add package_type & cleanup recipe --- recipes/eternal/all/conanfile.py | 12 +++--------- recipes/eternal/all/test_package/CMakeLists.txt | 3 +-- recipes/eternal/all/test_v1_package/CMakeLists.txt | 10 +++------- 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/recipes/eternal/all/conanfile.py b/recipes/eternal/all/conanfile.py index fd3a53c2138bb..e5e54e89f5ce3 100644 --- a/recipes/eternal/all/conanfile.py +++ b/recipes/eternal/all/conanfile.py @@ -7,7 +7,7 @@ import os -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.50.0" class EternalConan(ConanFile): @@ -17,6 +17,7 @@ class EternalConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mapbox/eternal" topics = ("hashing", "map", "constexpr", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -34,10 +35,6 @@ def _compilers_minimum_version(self): "apple-clang": "10", } - def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) - def layout(self): basic_layout(self, src_folder="src") @@ -52,8 +49,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -64,6 +60,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/eternal/all/test_package/CMakeLists.txt b/recipes/eternal/all/test_package/CMakeLists.txt index 8d5920de9d2e0..332722f9d1b68 100644 --- a/recipes/eternal/all/test_package/CMakeLists.txt +++ b/recipes/eternal/all/test_package/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(eternal REQUIRED CONFIG) diff --git a/recipes/eternal/all/test_v1_package/CMakeLists.txt b/recipes/eternal/all/test_v1_package/CMakeLists.txt index e900db203f73f..be00a8c7f57c7 100644 --- a/recipes/eternal/all/test_v1_package/CMakeLists.txt +++ b/recipes/eternal/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(eternal REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE eternal::eternal) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 56a4a58693611cb3d38c60b5f881001f43aef02b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:27:30 +0100 Subject: [PATCH 0272/1307] (#21458) fast-cpp-csv-parser: add package_type --- recipes/fast-cpp-csv-parser/all/conanfile.py | 13 +++++-------- .../all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 9 +++------ 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/recipes/fast-cpp-csv-parser/all/conanfile.py b/recipes/fast-cpp-csv-parser/all/conanfile.py index f20fc50349a4e..8073da0d1b137 100644 --- a/recipes/fast-cpp-csv-parser/all/conanfile.py +++ b/recipes/fast-cpp-csv-parser/all/conanfile.py @@ -14,7 +14,7 @@ class FastcppcsvparserConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/ben-strasser/fast-cpp-csv-parser" topics = ("csv", "parser", "header-only") - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_thread": [True, False], @@ -25,6 +25,9 @@ class FastcppcsvparserConan(ConanFile): no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -32,12 +35,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -48,9 +47,7 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.includedirs.append(os.path.join("include", "fast-cpp-csv-parser")) if not self.options.with_thread: self.cpp_info.defines.append("CSV_IO_NO_THREAD") diff --git a/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py b/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py index ca068b831644c..ef08a7439d5d1 100644 --- a/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py +++ b/recipes/fast-cpp-csv-parser/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt b/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt index c53b3fb245385..be00a8c7f57c7 100644 --- a/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt +++ b/recipes/fast-cpp-csv-parser/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(fast-cpp-csv-parser REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE fast-cpp-csv-parser::fast-cpp-csv-parser) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 37772115e0136667d4b637168ba70fa0ab68ed7f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 00:47:39 +0100 Subject: [PATCH 0273/1307] (#21462) fast_double_parser: add package_type * add package_type * layout cci convention --- recipes/fast_double_parser/all/conanfile.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/recipes/fast_double_parser/all/conanfile.py b/recipes/fast_double_parser/all/conanfile.py index a704c8e783d7f..872d82f578707 100644 --- a/recipes/fast_double_parser/all/conanfile.py +++ b/recipes/fast_double_parser/all/conanfile.py @@ -14,12 +14,12 @@ class FastDoubleParserConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/lemire/fast_double_parser" license = ("Apache-2.0", "BSL-1.0") - + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -29,10 +29,13 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): include_folder = os.path.join(self.source_folder, "include") copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include"), src=include_folder) copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From 74e6a01be5b452a0eded2334c5d56489b431d2ec Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:24:33 +0100 Subject: [PATCH 0274/1307] (#21463) fastprng: add package_type --- recipes/fastprng/all/conanfile.py | 19 +++++++++++-------- .../fastprng/all/test_package/conanfile.py | 1 - 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/recipes/fastprng/all/conanfile.py b/recipes/fastprng/all/conanfile.py index c83ba01f89440..5c6a15b03e066 100644 --- a/recipes/fastprng/all/conanfile.py +++ b/recipes/fastprng/all/conanfile.py @@ -9,16 +9,20 @@ class FastPRNGConan(ConanFile): name = "fastprng" - description = "FAST 32/64 bit PRNG (pseudo-random generator), highly optimized, based on xoshiro* / xoroshiro*, xorshift and other Marsaglia algorithms." + description = ( + "FAST 32/64 bit PRNG (pseudo-random generator), highly optimized, based " + "on xoshiro* / xoroshiro*, xorshift and other Marsaglia algorithms." + ) topics = ("random", "prng", "xorshift", "xoshiro", ) license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/BrutPitt/fastPRNG" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -28,13 +32,12 @@ def validate(self): check_min_cppstd(self, "11") def source(self): - get( - self, - **self.conan_data["sources"][self.version], - destination=self.source_folder, - strip_root=True - ) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "*.h", self.source_folder, os.path.join(self.package_folder, "include")) copy(self, "license.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fastprng/all/test_package/conanfile.py b/recipes/fastprng/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/fastprng/all/test_package/conanfile.py +++ b/recipes/fastprng/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From a58140aff047500022b36bcf77a1fef000498436 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:32:48 +0100 Subject: [PATCH 0275/1307] (#21464) gcem: add package_type --- recipes/gcem/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/gcem/all/conanfile.py b/recipes/gcem/all/conanfile.py index 90bc15dd9edc5..a5ff425216138 100644 --- a/recipes/gcem/all/conanfile.py +++ b/recipes/gcem/all/conanfile.py @@ -13,11 +13,12 @@ class GcemConan(ConanFile): description = "A C++ compile-time math library using generalized " \ "constant expressions." license = "Apache-2.0" - topics = ("gcem", "math", "header-only") + topics = ("math", "header-only") homepage = "https://github.com/kthohr/gcem" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - settings = "os", "arch", "compiler", "build_type", def layout(self): basic_layout(self, src_folder="src") @@ -30,8 +31,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 42df5cea4e0fd7e2fc2e014a426cc3bbea8290c6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:40:55 +0100 Subject: [PATCH 0276/1307] (#21465) ghc-filesystem: add package_type --- recipes/ghc-filesystem/all/conanfile.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/recipes/ghc-filesystem/all/conanfile.py b/recipes/ghc-filesystem/all/conanfile.py index e7b402102ac33..0f9f45315ad03 100644 --- a/recipes/ghc-filesystem/all/conanfile.py +++ b/recipes/ghc-filesystem/all/conanfile.py @@ -9,47 +9,46 @@ class GhcFilesystemRecipe(ConanFile): name = "ghc-filesystem" description = "A header-only single-file std::filesystem compatible helper library" - topics = ("ghc-filesystem", "header-only", "filesystem") + topics = ("header-only", "filesystem") homepage = "https://github.com/gulrak/filesystem" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - cmake_layout(self) + cmake_layout(self, src_folder="src") def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["GHC_FILESYSTEM_BUILD_TESTING"] = False tc.variables["GHC_FILESYSTEM_BUILD_EXAMPLES"] = False tc.variables["GHC_FILESYSTEM_WITH_INSTALL"] = True - tc.generate() + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) cmake = CMake(self) - cmake.configure() cmake.install() rmdir(self, os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ghc_filesystem") self.cpp_info.set_property("cmake_target_name", "ghcFilesystem::ghc_filesystem") - # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["ghc_filesystem"].bindirs = [] - self.cpp_info.components["ghc_filesystem"].frameworkdirs = [] - self.cpp_info.components["ghc_filesystem"].libdirs = [] - self.cpp_info.components["ghc_filesystem"].resdirs = [] + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "ghc_filesystem" @@ -59,3 +58,5 @@ def package_info(self): self.cpp_info.components["ghc_filesystem"].names["cmake_find_package"] = "ghc_filesystem" self.cpp_info.components["ghc_filesystem"].names["cmake_find_package_multi"] = "ghc_filesystem" self.cpp_info.components["ghc_filesystem"].set_property("cmake_target_name", "ghcFilesystem::ghc_filesystem") + self.cpp_info.components["ghc_filesystem"].bindirs = [] + self.cpp_info.components["ghc_filesystem"].libdirs = [] From c8bb43c517f913426f07ea1056ddeadb63838845 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 01:48:40 +0100 Subject: [PATCH 0277/1307] (#21466) gli: add package_type & fix target name --- recipes/gli/all/conanfile.py | 23 ++++++++++--------- recipes/gli/all/test_package/CMakeLists.txt | 2 +- .../gli/all/test_v1_package/CMakeLists.txt | 8 ------- recipes/gli/all/test_v1_package/conanfile.py | 17 -------------- 4 files changed, 13 insertions(+), 37 deletions(-) delete mode 100644 recipes/gli/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/gli/all/test_v1_package/conanfile.py diff --git a/recipes/gli/all/conanfile.py b/recipes/gli/all/conanfile.py index 7eb260e9e7202..0cb3644185589 100644 --- a/recipes/gli/all/conanfile.py +++ b/recipes/gli/all/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import check_min_vs, is_msvc from conan.tools.files import copy, get, load, save from conan.tools.layout import basic_layout from conan.tools.build import check_min_cppstd from conan.tools.scm import Version import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.52.0" class GliConan(ConanFile): @@ -17,6 +16,7 @@ class GliConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/g-truc/gli" license = "LicenseRef-copying.txt" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -30,13 +30,15 @@ def _compilers_minimum_version(self): "gcc": "4.7", "clang": "3.4", "apple-clang": "6", + "Visual Studio": "12", + "msvc": "180", } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glm/cci.20230113", transitive_headers=True) + self.requires("glm/cci.20230113") def package_id(self): self.info.clear() @@ -44,13 +46,12 @@ def package_id(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 180) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -72,6 +73,6 @@ def _get_license(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "gli") - self.cpp_info.set_property("cmake_target_name", "gli::gli") + self.cpp_info.set_property("cmake_target_name", "gli") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] diff --git a/recipes/gli/all/test_package/CMakeLists.txt b/recipes/gli/all/test_package/CMakeLists.txt index f7789e29322d3..928ba41028f6b 100644 --- a/recipes/gli/all/test_package/CMakeLists.txt +++ b/recipes/gli/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(gli REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE gli::gli) +target_link_libraries(${PROJECT_NAME} PRIVATE gli) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/gli/all/test_v1_package/CMakeLists.txt b/recipes/gli/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/gli/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gli/all/test_v1_package/conanfile.py b/recipes/gli/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/gli/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 6c3b55f6a5efb97bb5db7678bb4e64669734b945 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:07:43 +0100 Subject: [PATCH 0278/1307] (#21467) gnu-config: add package_type --- recipes/gnu-config/all/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/gnu-config/all/conanfile.py b/recipes/gnu-config/all/conanfile.py index 21b5d5bd14970..ad0c56aabe7bd 100644 --- a/recipes/gnu-config/all/conanfile.py +++ b/recipes/gnu-config/all/conanfile.py @@ -14,8 +14,8 @@ class GnuConfigConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("gnu", "config", "autotools", "canonical", "host", "build", "target", "triplet") license = "GPL-3.0-or-later", "autoconf-special-exception" + package_type = "build-scripts" os = "arch", "compiler", "build_type", "arch" - no_copy_source = True def export_sources(self): export_conandata_patches(self) @@ -27,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) From 5e1084c1aa0c52f3932f98f76a9873f21be8ea08 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:28:22 +0100 Subject: [PATCH 0279/1307] (#21468) godot_headers: add package_type --- recipes/godot_headers/all/conanfile.py | 4 ++-- recipes/godot_headers/all/test_v1_package/CMakeLists.txt | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/godot_headers/all/conanfile.py b/recipes/godot_headers/all/conanfile.py index 0a0d46219f9db..ed0b3120bd04c 100644 --- a/recipes/godot_headers/all/conanfile.py +++ b/recipes/godot_headers/all/conanfile.py @@ -13,6 +13,7 @@ class GodotHeadersConan(ConanFile): homepage = "https://github.com/godotengine/godot_headers" description = "Godot Native interface headers" topics = ("game-engine", "game-development") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt b/recipes/godot_headers/all/test_v1_package/CMakeLists.txt index 643dedc50d02a..de3b75d9538de 100644 --- a/recipes/godot_headers/all/test_v1_package/CMakeLists.txt +++ b/recipes/godot_headers/all/test_v1_package/CMakeLists.txt @@ -4,7 +4,5 @@ project(test_package LANGUAGES C) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(godot_headers REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE godot_headers::godot_headers) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) From 9cc88551948cc60f1b46898c5d499bfe5e7dd00b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 02:47:25 +0100 Subject: [PATCH 0280/1307] (#21470) gzip-hpp: add package_type --- recipes/gzip-hpp/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/gzip-hpp/all/conanfile.py b/recipes/gzip-hpp/all/conanfile.py index 54790b6d2c564..8e576978736f7 100644 --- a/recipes/gzip-hpp/all/conanfile.py +++ b/recipes/gzip-hpp/all/conanfile.py @@ -16,6 +16,7 @@ class GzipHppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/mapbox/gzip-hpp" topics = ("gzip", "zlib", "compression", "decompression", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -27,7 +28,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) + self.requires("zlib/[>=1.2.11 <2]") def package_id(self): self.info.clear() @@ -37,7 +38,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 4864f767d5bf6faa3633155ca1cc434c9d85da8d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:07:31 +0100 Subject: [PATCH 0281/1307] (#21471) half: add package_type --- recipes/half/all/conanfile.py | 13 ++++++------- recipes/half/all/test_package/conanfile.py | 7 ++++--- recipes/half/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/recipes/half/all/conanfile.py b/recipes/half/all/conanfile.py index 64b104957470d..07e6b8fcf90e0 100644 --- a/recipes/half/all/conanfile.py +++ b/recipes/half/all/conanfile.py @@ -15,20 +15,21 @@ class HalfConan(ConanFile): "functions." ) license = "MIT" - topics = ("half", "half-precision", "float", "arithmetic") + topics = ("half-precision", "float", "arithmetic") homepage = "https://sourceforge.net/projects/half" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version]) def build(self): pass @@ -39,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/half/all/test_package/conanfile.py b/recipes/half/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/half/all/test_package/conanfile.py +++ b/recipes/half/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/half/all/test_v1_package/CMakeLists.txt b/recipes/half/all/test_v1_package/CMakeLists.txt index c8aa9412f7287..b21cc49efde95 100644 --- a/recipes/half/all/test_v1_package/CMakeLists.txt +++ b/recipes/half/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(half REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE half::half) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 170d7442379b3a3de2aada503d2a4aab2248f098 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:27:37 +0100 Subject: [PATCH 0282/1307] (#21472) hedley: add package_type --- recipes/hedley/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/hedley/all/conanfile.py b/recipes/hedley/all/conanfile.py index 835a13a80a59b..b59e08a89ffbb 100644 --- a/recipes/hedley/all/conanfile.py +++ b/recipes/hedley/all/conanfile.py @@ -13,6 +13,7 @@ class HedleyConan(ConanFile): homepage = "https://nemequ.github.io/hedley/" description = "A C/C++ header to help move #ifdefs out of your code" topics = ("header", "header-only", "preprocessor", "#ifdef", "cross-platform") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,8 +24,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 9c3b049a30a8615e05a983491514fd0622bcf2ee Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 03:47:28 +0100 Subject: [PATCH 0283/1307] (#21473) hffix: add package_type --- recipes/hffix/all/conanfile.py | 14 +++++--------- recipes/hffix/all/test_package/CMakeLists.txt | 2 +- recipes/hffix/all/test_package/conanfile.py | 7 ++++--- recipes/hffix/all/test_v1_package/CMakeLists.txt | 10 ++++------ 4 files changed, 14 insertions(+), 19 deletions(-) diff --git a/recipes/hffix/all/conanfile.py b/recipes/hffix/all/conanfile.py index b8be09b23ee81..daed63ba031a6 100644 --- a/recipes/hffix/all/conanfile.py +++ b/recipes/hffix/all/conanfile.py @@ -13,20 +13,18 @@ class HffixConan(ConanFile): topics = ("fixprotocol", "financial") homepage = "https://github.com/jamesdbrock/hffix" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,5 +36,3 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/hffix/all/test_package/CMakeLists.txt b/recipes/hffix/all/test_package/CMakeLists.txt index bea843560a088..c27ed0c7d9302 100644 --- a/recipes/hffix/all/test_package/CMakeLists.txt +++ b/recipes/hffix/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) find_package(hffix REQUIRED CONFIG) diff --git a/recipes/hffix/all/test_package/conanfile.py b/recipes/hffix/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/hffix/all/test_package/conanfile.py +++ b/recipes/hffix/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/hffix/all/test_v1_package/CMakeLists.txt b/recipes/hffix/all/test_v1_package/CMakeLists.txt index 31a17e5e32684..b21cc49efde95 100644 --- a/recipes/hffix/all/test_v1_package/CMakeLists.txt +++ b/recipes/hffix/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(hffix REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE hffix::hffix) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 02a4dcab6341431cbf55baa36d3e3de739fab0b0 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:08:01 +0100 Subject: [PATCH 0284/1307] (#21474) highfive: add package_type + bump opencv * add package_type * bump opencv --- recipes/highfive/all/conanfile.py | 8 +++----- recipes/highfive/all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index c3667bcf95e14..d86d1301d6ab8 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -16,7 +16,7 @@ class HighFiveConan(ConanFile): topics = ("hdf5", "hdf", "data") homepage = "https://github.com/BlueBrain/HighFive" url = "https://github.com/conan-io/conan-center-index" - + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" options = { "with_boost": [True, False], @@ -48,7 +48,7 @@ def requirements(self): if self.options.with_xtensor: self.requires("xtensor/0.24.7") if self.options.with_opencv: - self.requires("opencv/4.5.5") + self.requires("opencv/4.8.1") def package_id(self): self.info.clear() @@ -58,8 +58,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -128,7 +127,6 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "HighFive") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.requires = ["hdf5::hdf5"] if self.options.with_boost: self.cpp_info.requires.append("boost::headers") diff --git a/recipes/highfive/all/test_v1_package/CMakeLists.txt b/recipes/highfive/all/test_v1_package/CMakeLists.txt index 671f071b8ed9f..b21cc49efde95 100644 --- a/recipes/highfive/all/test_v1_package/CMakeLists.txt +++ b/recipes/highfive/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(HighFive REQUIRED CONFIG) - -add_executable(test_package ../test_package/test_package.cpp) -target_link_libraries(test_package PRIVATE HighFive) -target_compile_features(test_package PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 19bc3f238858ff249e3f8f8d42181e91a4dc49a4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:27:36 +0100 Subject: [PATCH 0285/1307] (#21477) ginkgo: cmake >= 3.16 required for ginkgo >= 1.7.0 only --- recipes/ginkgo/all/conanfile.py | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/recipes/ginkgo/all/conanfile.py b/recipes/ginkgo/all/conanfile.py index 6c4dd324e58d0..89bbd2a608d1e 100644 --- a/recipes/ginkgo/all/conanfile.py +++ b/recipes/ginkgo/all/conanfile.py @@ -57,9 +57,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def build_requirements(self): - self.tool_requires("cmake/[>=3.16 <4]") - def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -87,20 +84,19 @@ def loose_lt_semver(v1, v2): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - is_windows_shared = self.options.shared and is_msvc(self) + if is_msvc(self) and self.options.shared: + if self.settings.build_type == "Debug" and Version(self.version) >= "1.7.0": + raise ConanInvalidConfiguration( + "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" + ) + if is_msvc_static_runtime(self): + raise ConanInvalidConfiguration( + "Ginkgo does not support mixing static CRT and shared library" + ) - if ( - is_windows_shared - and self.settings.build_type == "Debug" - and Version(self.version) >= "1.7.0" - ): - raise ConanInvalidConfiguration( - "Ginkgo >= 1.7.0 cannot be built in shared debug mode on Windows" - ) - if is_windows_shared and is_msvc_static_runtime(self): - raise ConanInvalidConfiguration( - "Ginkgo does not support mixing static CRT and shared library" - ) + def build_requirements(self): + if Version(self.version) >= "1.7.0": + self.tool_requires("cmake/[>=3.16 <4]") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c228453498060a80e87bcc40d819117d0e198504 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 04:47:28 +0100 Subject: [PATCH 0286/1307] (#21478) im95able-rea: add package_type --- recipes/im95able-rea/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/im95able-rea/all/conanfile.py b/recipes/im95able-rea/all/conanfile.py index 74423119b2602..66b814aa4851f 100644 --- a/recipes/im95able-rea/all/conanfile.py +++ b/recipes/im95able-rea/all/conanfile.py @@ -18,6 +18,7 @@ class Im95ableReaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/im95able/Rea/" topics = ("slot_map", "slot_list", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From 8e48a2b77597ff6eafe5f727d5496e5cb0e0d10d Mon Sep 17 00:00:00 2001 From: temap Date: Thu, 30 Nov 2023 06:07:40 +0200 Subject: [PATCH 0287/1307] (#21484) libxslt/all: bump libxml2 --- recipes/libxslt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index b8980d5d2465d..6e5032ab98195 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): def requirements(self): # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.11.4", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From accd225418f0135e3efe042dc87c5cdb78760962 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 15:27:32 +0900 Subject: [PATCH 0288/1307] (#21486) glaze: add version 1.8.2 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 0f33621d3e035..ad3008a3795df 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://github.com/stephenberry/glaze/archive/v1.8.2.tar.gz" + sha256: "dddc7b9c87739e0266a6a868316e692975651e9e77684cfb7d3a6a4be32c95fc" "1.8.1": url: "https://github.com/stephenberry/glaze/archive/v1.8.1.tar.gz" sha256: "ea804976d55a27e6df49390c3ec8600daea0c72780ea7094d79d1edcbe525fcd" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c83a25c985852..c312a071c43c9 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.2": + folder: all "1.8.1": folder: all "1.7.0": From 5fd0bc87f6f9c93cdfdef882eab6009936d8c373 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:20:15 +0100 Subject: [PATCH 0289/1307] (#21479) incbin: set empty bindirs & libdirs since it's header-only --- recipes/incbin/all/conanfile.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/incbin/all/conanfile.py b/recipes/incbin/all/conanfile.py index 2e27608fee20f..446fadbc04892 100644 --- a/recipes/incbin/all/conanfile.py +++ b/recipes/incbin/all/conanfile.py @@ -16,12 +16,15 @@ class IncbinConan(ConanFile): homepage = "https://github.com/graphitemaster/incbin/" topics = ("include", "binary", "preprocess", "header-only") package_type = "header-library" - settings = "compiler" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def validate(self): if is_msvc(self): raise ConanInvalidConfiguration("Currently incbin recipe is not supported for Visual Studio because it requires external command 'incbin'.") @@ -33,5 +36,6 @@ def package(self): copy(self, "UNLICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy(self, "incbin.h", dst=os.path.join(self.package_folder, "include"), src=self.source_folder) - def package_id(self): - self.info.clear() + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] From eefcc70337fb431252cb30f0533140252565d5fa Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:29:55 +0100 Subject: [PATCH 0290/1307] (#21476) homog2d: add package_type --- recipes/homog2d/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/homog2d/all/conanfile.py b/recipes/homog2d/all/conanfile.py index 126a1b155e8d7..ba7c79a56f0f0 100644 --- a/recipes/homog2d/all/conanfile.py +++ b/recipes/homog2d/all/conanfile.py @@ -15,6 +15,7 @@ class Homog2dConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/skramm/homog2d" topics = ("computational-geometry", "homography", "2d-geometric", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From e589d90a96d22318a1a6d7b004d66b207fc02fc4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 30 Nov 2023 08:39:43 +0100 Subject: [PATCH 0291/1307] (#21481) indicators: add package_type + explicit cmake names * add package_type * explicit cmake names since there is a config file upstream * fix required_conan_version 1.50.0 is sufficient --- recipes/indicators/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/indicators/all/conanfile.py b/recipes/indicators/all/conanfile.py index e0917bf5ba07b..fa47f76cede99 100644 --- a/recipes/indicators/all/conanfile.py +++ b/recipes/indicators/all/conanfile.py @@ -7,7 +7,8 @@ from conan.tools.microsoft import is_msvc from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.50.0" + class IndicatorsConan(ConanFile): name = "indicators" @@ -16,6 +17,7 @@ class IndicatorsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/p-ranav/indicators" topics = ("activity", "indicator", "loading", "spinner", "animation", "progress", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -47,6 +49,8 @@ def package(self): copy(self, pattern="*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "indicators") + self.cpp_info.set_property("cmake_target_name", "indicators::indicators") self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] From 590955cdaabfe730afcc6c7b4d5bc1e8f8967dea Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 16:48:02 +0900 Subject: [PATCH 0292/1307] (#21482) itlib: add version 1.10.3 --- recipes/itlib/all/conandata.yml | 3 +++ recipes/itlib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/itlib/all/conandata.yml b/recipes/itlib/all/conandata.yml index 3f5420a88ffc2..4f1d604b9b789 100644 --- a/recipes/itlib/all/conandata.yml +++ b/recipes/itlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.3": + url: "https://github.com/iboB/itlib/archive/v1.10.3.tar.gz" + sha256: "e533c44354d48b2251ca57f1502778033b38170d9d6aba6bb2bbad90f2bf9d27" "1.10.0": url: "https://github.com/iboB/itlib/archive/v1.10.0.tar.gz" sha256: "a97b98514aa7194241383b537c368a01d4a56e05316a94551cd183a986caa9c7" diff --git a/recipes/itlib/config.yml b/recipes/itlib/config.yml index b9ca7db67bf08..09616d2e081cf 100644 --- a/recipes/itlib/config.yml +++ b/recipes/itlib/config.yml @@ -1,4 +1,6 @@ versions: + "1.10.3": + folder: all "1.10.0": folder: all "1.9.2": From 0e5515a951dceac98a1ec96c45ed5d0facefe364 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 30 Nov 2023 13:15:49 +0100 Subject: [PATCH 0293/1307] (#21400) qt 6.6.1 * qt 6.6.1 generated with: ``` conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.6.1 ``` * disable xcode < 13.1 * fixup * remove old versions * also remove from config.yml --- recipes/qt/6.x.x/conandata.yml | 76 +--- recipes/qt/6.x.x/conanfile.py | 3 + .../patches/qt6.5.0-pri-helpers-fix.diff | 15 - recipes/qt/6.x.x/qtmodules6.2.4.conf | 299 ---------------- recipes/qt/6.x.x/qtmodules6.4.1.conf | 318 ----------------- recipes/qt/6.x.x/qtmodules6.5.0.conf | 331 ------------------ recipes/qt/6.x.x/qtmodules6.5.2.conf | 331 ------------------ ...tmodules6.5.1.conf => qtmodules6.6.1.conf} | 91 ++--- recipes/qt/config.yml | 8 +- 9 files changed, 64 insertions(+), 1408 deletions(-) delete mode 100644 recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff delete mode 100644 recipes/qt/6.x.x/qtmodules6.2.4.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.4.1.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.5.0.conf delete mode 100644 recipes/qt/6.x.x/qtmodules6.5.2.conf rename recipes/qt/6.x.x/{qtmodules6.5.1.conf => qtmodules6.6.1.conf} (88%) diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index c7703da5dc28f..cb7797f109eaf 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,10 @@ sources: + "6.6.1": + url: + - "https://download.qt.io/official_releases/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + - "https://download.qt.io/archive/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" + sha256: "dd3668f65645fe270bc615d748bd4dc048bd17b9dc297025106e6ecc419ab95d" "6.6.0": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.0/single/qt-everywhere-src-6.6.0.tar.xz" @@ -40,54 +46,6 @@ sources: - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz" sha256: "7cda4d119aad27a3887329cfc285f2aba5da85601212bcb0aea27bd6b7b544cb" - "6.5.2": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.2/single/qt-everywhere-src-6.5.2.tar.xz" - sha256: "cde57be663d0f875759797298bdc37a936d517c39f2013e4e6ece5e12edeed12" - "6.5.1": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.5/6.5.1/single/qt-everywhere-src-6.5.1.tar.xz" - sha256: "a2d88a6f8c3835dca52f3b7433149c3de606a96bbf024640c27657276cc7350a" - "6.5.0": - url: - - "https://download.qt.io/official_releases/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://download.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp1.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp2.nluug.nl/languages/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirror.netcologne.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://qt-mirror.dannhauer.de/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.fau.de/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://master.qt.io/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://qt.mirror.constant.com/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.5/6.5.0/single/qt-everywhere-src-6.5.0.tar.xz" - sha256: "dba376e110e53895c7c827eea389dc12aa9c45862cd197d2f0d37ee472baf0b0" "6.4.2": url: - "https://download.qt.io/archive/qt/6.4/6.4.2/single/qt-everywhere-src-6.4.2.tar.xz" @@ -105,32 +63,18 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: - "6.6.0": + "6.6.1": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" - "6.5.3": + "6.6.0": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" - "patch_file": "patches/c72097e.diff" - "6.5.2": + "patch_file": "patches/c72097e_6.6.0.diff" + "6.5.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e.diff" - "6.5.1": - - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - patch_file: "patches/c72097e.diff" - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" - patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" - "6.5.0": - - base_path: "qtwebengine" - patch_description: "Workaround for too long .rps file name" - patch_file: "patches/c72097e.diff" - - base_path: "qtbase/cmake" - patch_description: "Fix pri helpers, see PR #6668 and QTBUG-95569" - patch_file: "patches/qt6.5.0-pri-helpers-fix.diff" "6.4.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index e2aed1b2ad68e..6113ac9cd6f54 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -253,6 +253,9 @@ def validate(self): if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") + if Version(self.version) >= "6.6.1" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "13.1": + raise ConanInvalidConfiguration("apple-clang >= 13.1 is required by qt >= 6.6.1 cf QTBUG-119490") + if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") diff --git a/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff b/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff deleted file mode 100644 index 47eb2e5ecb95f..0000000000000 --- a/recipes/qt/6.x.x/patches/qt6.5.0-pri-helpers-fix.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- QtPriHelpers.cmake 2023-05-12 12:40:15.000000000 +0800 -+++ QtPriHelpers.cmake 2023-07-06 11:39:58.305927536 +0800 -@@ -33,7 +33,11 @@ - if(lib_target_type STREQUAL "INTERFACE_LIBRARY") - get_target_property(iface_libs ${lib_target} INTERFACE_LINK_LIBRARIES) - if(iface_libs) -- list(PREPEND lib_targets ${iface_libs}) -+ foreach (iface_lib ${iface_libs}) -+ if (NOT "${iface_lib}" STREQUAL "${lib_target}") -+ list(PREPEND lib_targets ${iface_lib}) -+ endif () -+ endforeach () - endif() - else() - list(APPEND lib_libs "$") diff --git a/recipes/qt/6.x.x/qtmodules6.2.4.conf b/recipes/qt/6.x.x/qtmodules6.2.4.conf deleted file mode 100644 index 92bee3c5b0551..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.2.4.conf +++ /dev/null @@ -1,299 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.2.4 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.2.4 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.2.4 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.2.4 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.2.4 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.2.4 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = 6.2.4 - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.2.4 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.2.4 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.2.4 - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.2.4 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.2.4 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.2.4 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.2.4 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.2.4 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.2.4 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.2.4 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.2.4 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.2.4 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.2.4 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.2.4 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = 6.2.4 - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.2.4 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.2.4 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.2.4 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.2.4 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = 6.2.4 - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.2.4 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.2.4 - status = ignore -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.2.4 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.2.4 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = 6.2.4 - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.2.4 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.2.4 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.2.4 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.2.4 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.2.4 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.2.4 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.2.4 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.2.4 - status = addon \ No newline at end of file diff --git a/recipes/qt/6.x.x/qtmodules6.4.1.conf b/recipes/qt/6.x.x/qtmodules6.4.1.conf deleted file mode 100644 index 0ab0c4ef10277..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.4.1.conf +++ /dev/null @@ -1,318 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.4.1 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.4.1 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.4.1 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.4.1 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.4.1 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.4.1 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.4.1 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.4.1 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = dev - status = ignore -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.4.1 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.4.1 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.4.1 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.4.1 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.4.1 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.4.1 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.4.1 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.4.1 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.4.1 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.4.1 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.4.1 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.4.1 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.4.1 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.4.1 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.4.1 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.4.1 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.4.1 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.4.1 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.4.1 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.4.1 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.4.1 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.4.1 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.4.1 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.4.1 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.4.1 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.4.1 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.4.1 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.4.1 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.4.1 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.4.1 - status = preview diff --git a/recipes/qt/6.x.x/qtmodules6.5.0.conf b/recipes/qt/6.x.x/qtmodules6.5.0.conf deleted file mode 100644 index 809df6bd31582..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.5.0.conf +++ /dev/null @@ -1,331 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.5.0 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.5.0 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.5.0 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.5.0 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.5.0 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.5.0 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.5.0 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia - path = qtdoc - url = ../qtdoc.git - branch = 6.5.0 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.5.0 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.5.0 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.5.0 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.5.0 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.5.0 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.5.0 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.5.0 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.5.0 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.5.0 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.5.0 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.5.0 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.5.0 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.5.0 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.5.0 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.5.0 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.5.0 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.5.0 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.5.0 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.5.0 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.5.0 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.5.0 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.5.0 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.5.0 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.5.0 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.5.0 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.5.0 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.5.0 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.5.0 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.5.0 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.5.0 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.5.0 - status = addon -[submodule "qtgrpc"] - depends = qtbase - path = qtgrpc - url = ../qtgrpc.git - branch = 6.5.0 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.5.0 - status = addon diff --git a/recipes/qt/6.x.x/qtmodules6.5.2.conf b/recipes/qt/6.x.x/qtmodules6.5.2.conf deleted file mode 100644 index b8053b7bdfcc3..0000000000000 --- a/recipes/qt/6.x.x/qtmodules6.5.2.conf +++ /dev/null @@ -1,331 +0,0 @@ -[submodule "qtbase"] - path = qtbase - url = ../qtbase.git - branch = 6.5.2 - status = essential -[submodule "qtsvg"] - depends = qtbase - path = qtsvg - url = ../qtsvg.git - branch = 6.5.2 - status = addon -[submodule "qtdeclarative"] - depends = qtbase - recommends = qtimageformats qtshadertools qtsvg qtlanguageserver - path = qtdeclarative - url = ../qtdeclarative.git - branch = 6.5.2 - status = essential -[submodule "qtactiveqt"] - depends = qtbase - path = qtactiveqt - url = ../qtactiveqt.git - branch = 6.5.2 - status = addon -[submodule "qtmultimedia"] - depends = qtbase qtshadertools - recommends = qtdeclarative qtquick3d - path = qtmultimedia - url = ../qtmultimedia.git - branch = 6.5.2 - status = addon -[submodule "qttools"] - depends = qtbase - recommends = qtdeclarative qtactiveqt - path = qttools - url = ../qttools.git - branch = 6.5.2 - status = essential -[submodule "qtxmlpatterns"] - depends = qtbase - recommends = qtdeclarative - path = qtxmlpatterns - url = ../qtxmlpatterns.git - branch = dev - status = ignore -[submodule "qttranslations"] - depends = qttools - path = qttranslations - url = ../qttranslations.git - branch = 6.5.2 - status = essential - priority = 30 -[submodule "qtdoc"] - depends = qtdeclarative qttools - recommends = qtmultimedia qtshadertools qtwebengine - path = qtdoc - url = ../qtdoc.git - branch = 6.5.2 - status = essential - priority = 40 -[submodule "qtrepotools"] - path = qtrepotools - url = ../qtrepotools.git - branch = master - status = essential - project = - -[submodule "qtqa"] - depends = qtbase - path = qtqa - url = ../qtqa.git - branch = dev - status = essential - priority = 50 -[submodule "qtlocation"] - depends = qtbase qtpositioning - recommends = qtdeclarative - path = qtlocation - url = ../qtlocation.git - branch = 6.5.2 - status = preview -[submodule "qtpositioning"] - depends = qtbase - recommends = qtdeclarative qtserialport - path = qtpositioning - url = ../qtpositioning.git - branch = 6.5.2 - status = addon -[submodule "qtsensors"] - depends = qtbase - recommends = qtdeclarative - path = qtsensors - url = ../qtsensors.git - branch = 6.5.2 - status = addon -[submodule "qtsystems"] - depends = qtbase - recommends = qtdeclarative - path = qtsystems - url = ../qtsystems.git - branch = dev - status = ignore -[submodule "qtfeedback"] - depends = qtdeclarative - recommends = qtmultimedia - path = qtfeedback - url = ../qtfeedback.git - branch = master - status = ignore -[submodule "qtpim"] - depends = qtdeclarative - path = qtpim - url = ../qtpim.git - branch = dev - status = ignore -[submodule "qtconnectivity"] - depends = qtbase - recommends = qtdeclarative - path = qtconnectivity - url = ../qtconnectivity.git - branch = 6.5.2 - status = addon -[submodule "qtwayland"] - depends = qtbase - recommends = qtdeclarative - path = qtwayland - url = ../qtwayland.git - branch = 6.5.2 - status = addon -[submodule "qt3d"] - depends = qtbase - recommends = qtdeclarative qtshadertools - path = qt3d - url = ../qt3d.git - branch = 6.5.2 - status = addon -[submodule "qtimageformats"] - depends = qtbase - path = qtimageformats - url = ../qtimageformats.git - branch = 6.5.2 - status = addon -[submodule "qtserialbus"] - depends = qtbase - recommends = qtserialport - path = qtserialbus - url = ../qtserialbus.git - branch = 6.5.2 - status = addon -[submodule "qtserialport"] - depends = qtbase - path = qtserialport - url = ../qtserialport.git - branch = 6.5.2 - status = addon -[submodule "qtwebsockets"] - depends = qtbase - recommends = qtdeclarative - path = qtwebsockets - url = ../qtwebsockets.git - branch = 6.5.2 - status = addon -[submodule "qtwebchannel"] - depends = qtbase - recommends = qtdeclarative qtwebsockets - path = qtwebchannel - url = ../qtwebchannel.git - branch = 6.5.2 - status = addon -[submodule "qtwebengine"] - depends = qtdeclarative - recommends = qtwebchannel qttools qtpositioning - path = qtwebengine - url = ../qtwebengine.git - branch = 6.5.2 - status = addon - priority = 10 -[submodule "qtcanvas3d"] - depends = qtdeclarative - path = qtcanvas3d - url = ../qtcanvas3d.git - branch = dev - status = ignore -[submodule "qtwebview"] - depends = qtdeclarative - recommends = qtwebengine - path = qtwebview - url = ../qtwebview.git - branch = 6.5.2 - status = addon -[submodule "qtcharts"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtcharts - url = ../qtcharts.git - branch = 6.5.2 - status = addon -[submodule "qtdatavis3d"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtdatavis3d - url = ../qtdatavis3d.git - branch = 6.5.2 - status = addon -[submodule "qtvirtualkeyboard"] - depends = qtbase qtdeclarative qtsvg - recommends = qtmultimedia - path = qtvirtualkeyboard - url = ../qtvirtualkeyboard.git - branch = 6.5.2 - status = addon -[submodule "qtgamepad"] - depends = qtbase - recommends = qtdeclarative - path = qtgamepad - url = ../qtgamepad.git - branch = dev - status = ignore -[submodule "qtscxml"] - depends = qtbase qtdeclarative - path = qtscxml - url = ../qtscxml.git - branch = 6.5.2 - status = addon -[submodule "qtspeech"] - depends = qtbase - recommends = qtdeclarative qtmultimedia - path = qtspeech - url = ../qtspeech.git - branch = 6.5.2 - status = addon -[submodule "qtnetworkauth"] - depends = qtbase - path = qtnetworkauth - url = ../qtnetworkauth.git - branch = 6.5.2 - status = addon -[submodule "qtremoteobjects"] - depends = qtbase - recommends = qtdeclarative - path = qtremoteobjects - url = ../qtremoteobjects.git - branch = 6.5.2 - status = addon -[submodule "qtwebglplugin"] - depends = qtbase qtwebsockets - recommends = qtdeclarative - path = qtwebglplugin - url = ../qtwebglplugin.git - branch = dev - status = ignore -[submodule "qtlottie"] - depends = qtbase qtdeclarative - path = qtlottie - url = ../qtlottie.git - branch = 6.5.2 - status = addon -[submodule "qtquicktimeline"] - depends = qtbase qtdeclarative - path = qtquicktimeline - url = ../qtquicktimeline - branch = 6.5.2 - status = addon -[submodule "qtquick3d"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquicktimeline - path = qtquick3d - url = ../qtquick3d.git - branch = 6.5.2 - status = addon -[submodule "qtshadertools"] - depends = qtbase - path = qtshadertools - url = ../qtshadertools.git - branch = 6.5.2 - status = addon -[submodule "qt5compat"] - depends = qtbase qtdeclarative - path = qt5compat - url = ../qt5compat.git - branch = 6.5.2 - status = deprecated -[submodule "qtcoap"] - depends = qtbase - path = qtcoap - url = ../qtcoap.git - branch = 6.5.2 - status = addon -[submodule "qtmqtt"] - depends = qtbase qtdeclarative - path = qtmqtt - url = ../qtmqtt.git - branch = 6.5.2 - status = addon -[submodule "qtopcua"] - depends = qtbase qtdeclarative - path = qtopcua - url = ../qtopcua.git - branch = 6.5.2 - status = addon -[submodule "qtlanguageserver"] - depends = qtbase - path = qtlanguageserver - url = ../qtlanguageserver.git - branch = 6.5.2 - status = preview -[submodule "qthttpserver"] - depends = qtbase - recommends = qtwebsockets - path = qthttpserver - url = ../qthttpserver.git - branch = 6.5.2 - status = preview -[submodule "qtquick3dphysics"] - depends = qtbase qtdeclarative qtquick3d qtshadertools - path = qtquick3dphysics - url = ../qtquick3dphysics.git - branch = 6.5.2 - status = addon -[submodule "qtgrpc"] - depends = qtbase - path = qtgrpc - url = ../qtgrpc.git - branch = 6.5.2 - status = preview -[submodule "qtquickeffectmaker"] - depends = qtbase qtdeclarative qtshadertools - recommends = qtquick3d - path = qtquickeffectmaker - url = ../qtquickeffectmaker.git - branch = 6.5.2 - status = addon diff --git a/recipes/qt/6.x.x/qtmodules6.5.1.conf b/recipes/qt/6.x.x/qtmodules6.6.1.conf similarity index 88% rename from recipes/qt/6.x.x/qtmodules6.5.1.conf rename to recipes/qt/6.x.x/qtmodules6.6.1.conf index 32adb4f64f412..3d1fa112d7390 100644 --- a/recipes/qt/6.x.x/qtmodules6.5.1.conf +++ b/recipes/qt/6.x.x/qtmodules6.6.1.conf @@ -1,40 +1,40 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtdeclarative"] depends = qtbase recommends = qtimageformats qtshadertools qtsvg qtlanguageserver path = qtdeclarative url = ../qtdeclarative.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtmultimedia"] depends = qtbase qtshadertools recommends = qtdeclarative qtquick3d path = qtmultimedia url = ../qtmultimedia.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt path = qttools url = ../qttools.git - branch = 6.5.1 + branch = 6.6.1 status = essential [submodule "qtxmlpatterns"] depends = qtbase @@ -47,7 +47,7 @@ depends = qttools path = qttranslations url = ../qttranslations.git - branch = 6.5.1 + branch = 6.6.1 status = essential priority = 30 [submodule "qtdoc"] @@ -55,7 +55,7 @@ recommends = qtmultimedia qtshadertools qtwebengine path = qtdoc url = ../qtdoc.git - branch = 6.5.1 + branch = 6.6.1 status = essential priority = 40 [submodule "qtrepotools"] @@ -76,21 +76,21 @@ recommends = qtdeclarative path = qtlocation url = ../qtlocation.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtpositioning"] depends = qtbase recommends = qtdeclarative qtserialport path = qtpositioning url = ../qtpositioning.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtsystems"] depends = qtbase @@ -117,61 +117,61 @@ recommends = qtdeclarative path = qtconnectivity url = ../qtconnectivity.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qt3d"] depends = qtbase - recommends = qtdeclarative qtshadertools + recommends = qtdeclarative qtshadertools qtmultimedia path = qt3d url = ../qt3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtserialbus"] depends = qtbase recommends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebsockets"] depends = qtbase recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebengine"] depends = qtdeclarative recommends = qtwebchannel qttools qtpositioning path = qtwebengine url = ../qtwebengine.git - branch = 6.5.1 + branch = 6.6.1 status = addon priority = 10 [submodule "qtcanvas3d"] @@ -185,28 +185,28 @@ recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtcharts"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtcharts url = ../qtcharts.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtdatavis3d"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtdatavis3d url = ../qtdatavis3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtvirtualkeyboard"] depends = qtbase qtdeclarative qtsvg recommends = qtmultimedia path = qtvirtualkeyboard url = ../qtvirtualkeyboard.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtgamepad"] depends = qtbase @@ -219,27 +219,27 @@ depends = qtbase qtdeclarative path = qtscxml url = ../qtscxml.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtspeech"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtspeech url = ../qtspeech.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtnetworkauth"] depends = qtbase path = qtnetworkauth url = ../qtnetworkauth.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtremoteobjects"] depends = qtbase recommends = qtdeclarative path = qtremoteobjects url = ../qtremoteobjects.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtwebglplugin"] depends = qtbase qtwebsockets @@ -252,80 +252,87 @@ depends = qtbase qtdeclarative path = qtlottie url = ../qtlottie.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtquicktimeline"] depends = qtbase qtdeclarative path = qtquicktimeline url = ../qtquicktimeline - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtquick3d"] depends = qtbase qtdeclarative qtshadertools recommends = qtquicktimeline path = qtquick3d url = ../qtquick3d.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtshadertools"] depends = qtbase path = qtshadertools url = ../qtshadertools.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qt5compat"] depends = qtbase qtdeclarative path = qt5compat url = ../qt5compat.git - branch = 6.5.1 + branch = 6.6.1 status = deprecated [submodule "qtcoap"] depends = qtbase path = qtcoap url = ../qtcoap.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtmqtt"] depends = qtbase qtdeclarative path = qtmqtt url = ../qtmqtt.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtopcua"] depends = qtbase qtdeclarative path = qtopcua url = ../qtopcua.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtlanguageserver"] depends = qtbase path = qtlanguageserver url = ../qtlanguageserver.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qthttpserver"] depends = qtbase recommends = qtwebsockets path = qthttpserver url = ../qthttpserver.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtquick3dphysics"] depends = qtbase qtdeclarative qtquick3d qtshadertools path = qtquick3dphysics url = ../qtquick3dphysics.git - branch = 6.5.1 + branch = 6.6.1 status = addon [submodule "qtgrpc"] depends = qtbase + recommends = qtdeclarative path = qtgrpc url = ../qtgrpc.git - branch = 6.5.1 + branch = 6.6.1 status = preview [submodule "qtquickeffectmaker"] depends = qtbase qtdeclarative qtshadertools recommends = qtquick3d path = qtquickeffectmaker url = ../qtquickeffectmaker.git - branch = 6.5.1 + branch = 6.6.1 status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.6.1 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 787fe5656bf21..a8db7bd315aab 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,14 +1,10 @@ versions: + "6.6.1": + folder: 6.x.x "6.6.0": folder: 6.x.x "6.5.3": folder: 6.x.x - "6.5.2": - folder: 6.x.x - "6.5.1": - folder: 6.x.x - "6.5.0": - folder: 6.x.x "6.4.2": folder: 6.x.x "6.3.2": From fa6b08c4da31c62ca6deeae7cd36353c9669b281 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 30 Nov 2023 23:03:19 +0900 Subject: [PATCH 0294/1307] (#20247) mosquitto: add version 2.0.18, update dependencies, add package_type --- recipes/mosquitto/2.x/conandata.yml | 3 +++ recipes/mosquitto/2.x/conanfile.py | 7 ++++--- recipes/mosquitto/config.yml | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/recipes/mosquitto/2.x/conandata.yml b/recipes/mosquitto/2.x/conandata.yml index 622f72a77af8b..8200a378ca1b5 100644 --- a/recipes/mosquitto/2.x/conandata.yml +++ b/recipes/mosquitto/2.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.18": + url: "https://github.com/eclipse/mosquitto/archive/v2.0.18.tar.gz" + sha256: "25499231664bc5338f9f05eb1815f4d5878f0c6c97e03afb3463a7b139a7e775" "2.0.15": url: "https://github.com/eclipse/mosquitto/archive/v2.0.15.tar.gz" sha256: "26dc3f1758b00c1725a0e4dd32f40c61f374375717f09b6af2bac62c5b44f1eb" diff --git a/recipes/mosquitto/2.x/conanfile.py b/recipes/mosquitto/2.x/conanfile.py index 6af30191cdf13..c221f41ff8ca8 100644 --- a/recipes/mosquitto/2.x/conanfile.py +++ b/recipes/mosquitto/2.x/conanfile.py @@ -12,11 +12,12 @@ class Mosquitto(ConanFile): name = "mosquitto" + description = """Eclipse Mosquitto MQTT library, broker and more""" license = "EPL-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://mosquitto.org" - description = """Eclipse Mosquitto MQTT library, broker and more""" topics = ("MQTT", "IoT", "eclipse") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -66,9 +67,9 @@ def requirements(self): if self.options.ssl: self.requires("openssl/[>=1.1 <4]") if self.options.get_safe("cjson"): - self.requires("cjson/1.7.14") + self.requires("cjson/1.7.16") if self.options.get_safe("websockets"): - self.requires("libwebsockets/4.2.0") + self.requires("libwebsockets/4.3.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/mosquitto/config.yml b/recipes/mosquitto/config.yml index 7627743e2625f..0e19ca6c8d04b 100644 --- a/recipes/mosquitto/config.yml +++ b/recipes/mosquitto/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.18": + folder: "2.x" "2.0.15": folder: "2.x" "2.0.14": From 3d66a5e7d536448462ca4a8ef4c32acd7a1a1624 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Fri, 1 Dec 2023 10:57:03 +0100 Subject: [PATCH 0295/1307] (#20870) harfbuzz: add with_coretext option --- recipes/harfbuzz/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index d4c8b382c09ed..ea4c431577332 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -34,6 +34,7 @@ class HarfbuzzConan(ConanFile): "with_uniscribe": [True, False], "with_directwrite": [True, False], "with_subset": [True, False], + "with_coretext": [True, False], } default_options = { "shared": False, @@ -45,6 +46,7 @@ class HarfbuzzConan(ConanFile): "with_uniscribe": True, "with_directwrite": False, "with_subset": False, + "with_coretext": True, } short_paths = True @@ -63,6 +65,8 @@ def config_options(self): del self.options.with_gdi del self.options.with_uniscribe del self.options.with_directwrite + if not is_apple_os(self): + del self.options.with_coretext def configure(self): if self.options.shared: @@ -142,6 +146,7 @@ def is_vs_2017(): "icu": is_enabled(self.options.with_icu), "freetype": is_enabled(self.options.with_freetype), "gdi": is_enabled(self.options.get_safe("with_gdi")), + "coretext": is_enabled(self.options.get_safe("with_coretext")), "directwrite": is_enabled(self.options.get_safe("with_directwrite")), "gobject": is_enabled(can_run(self) and self.options.with_glib), "introspection": is_enabled(False), From d783b0d0229a291a1018d9ccea1c1c7a95071dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 14:47:37 +0100 Subject: [PATCH 0296/1307] (#21546) Add Juan as team member --- .c3i/authorized_users.yml | 1 + .c3i/reviewers.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 0cbf772510706..a11ae5706964d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1245,3 +1245,4 @@ authorized_users: - har-bw - abedra - bennettgoble +- juansblanco diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index 8f6463b4a33c6..3578b7dccdc68 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -84,3 +84,6 @@ reviewers: - user: "davidsanfal" type: "team" request_reviews: false + - user: "juansblanco" + type: "team" + request_reviews: false From 3148417879da905b64b4ab230b8476417b1d9661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 14:52:46 +0100 Subject: [PATCH 0297/1307] (#21538) glog: Bump deps to fix conflicts --- recipes/glog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/glog/all/conanfile.py b/recipes/glog/all/conanfile.py index f0db480178e58..7e06e74b5074e 100644 --- a/recipes/glog/all/conanfile.py +++ b/recipes/glog/all/conanfile.py @@ -56,7 +56,7 @@ def requirements(self): self.requires("gflags/2.2.2", transitive_headers=True, transitive_libs=True) # 0.4.0 requires libunwind unconditionally if self.options.get_safe("with_unwind") or (Version(self.version) < "0.5.0" and self.settings.os in ["Linux", "FreeBSD"]): - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def build_requirements(self): if Version(self.version) >= "0.6.0": From 0bfd6da773f1cd22c687f293025850e215e770ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:12:31 +0100 Subject: [PATCH 0298/1307] (#21540) libtiff: Bump deps to fix conflicts --- recipes/libtiff/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py index efce29ff02503..6904690444761 100644 --- a/recipes/libtiff/all/conanfile.py +++ b/recipes/libtiff/all/conanfile.py @@ -67,13 +67,13 @@ def requirements(self): if self.options.libdeflate: self.requires("libdeflate/1.19") if self.options.lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.3") + self.requires("mozjpeg/4.1.5") if self.options.jbig: self.requires("jbig/20160605") if self.options.zstd: From d66018d81e48e2fcdf3d3e82ed1c846fe654b0c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:32:35 +0100 Subject: [PATCH 0299/1307] (#21541) libunwind: Bump deps to fix conflicts --- recipes/libunwind/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libunwind/all/conanfile.py b/recipes/libunwind/all/conanfile.py index 4739138df383b..002c9bf613f23 100644 --- a/recipes/libunwind/all/conanfile.py +++ b/recipes/libunwind/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): def requirements(self): if self.options.minidebuginfo: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.zlibdebuginfo: self.requires("zlib/[>=1.2.11 <2]") From d8020fdb6317e31ed040e361ed12412660ea7ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 15:52:41 +0100 Subject: [PATCH 0300/1307] (#21542) libwebsockets: Bump deps to fix conflicts --- recipes/libwebsockets/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libwebsockets/all/conanfile.py b/recipes/libwebsockets/all/conanfile.py index 4bd1dccf1a09f..0fd0cf66a67ea 100644 --- a/recipes/libwebsockets/all/conanfile.py +++ b/recipes/libwebsockets/all/conanfile.py @@ -215,10 +215,10 @@ def requirements(self): if self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") elif self.options.with_zlib == "miniz": - self.requires("miniz/2.2.0") + self.requires("miniz/3.0.2") if self.options.with_libmount: - self.requires("libmount/2.39") + self.requires("libmount/2.39.2") if self.options.with_sqlite3: self.requires("sqlite3/3.44.2") @@ -227,9 +227,9 @@ def requirements(self): # Cannot add the [>=1.1 <4] range, as it seems openssl3 makes it fail self.requires("openssl/1.1.1w", transitive_headers=True) elif self.options.with_ssl == "mbedtls": - self.requires("mbedtls/2.25.0") + self.requires("mbedtls/3.5.0") elif self.options.with_ssl == "wolfssl": - self.requires("wolfssl/4.8.1") + self.requires("wolfssl/5.6.3") def validate(self): if self.options.shared and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": From 2c0e6a2efc898eab8052218ede54cc2ef184d594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sat, 2 Dec 2023 16:12:54 +0100 Subject: [PATCH 0301/1307] (#21543) libzip: Bump deps to fix conflicts --- recipes/libzip/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libzip/all/conanfile.py b/recipes/libzip/all/conanfile.py index f1b7abe19d90c..ef4f7c2c57579 100644 --- a/recipes/libzip/all/conanfile.py +++ b/recipes/libzip/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.get_safe("with_zstd"): self.requires("zstd/1.5.5") From e149e5799e85ab72a3e2442481ca272a7f3be9a8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 2 Dec 2023 17:41:06 +0200 Subject: [PATCH 0302/1307] (#20355) ncurses: migrate to Conan v2 * ncurses: migrate to Conan v2 * ncurses: fix Conan v1 compatibility * ncurses: fix linter error * ncurses: add "util" from libc as a system dependency * ncurses: update MSVC version check * ncurses: add libcxx to system_libs To fix the 'undefined symbol: _ZNSt3__14cerrE' error when using the shared lib with libc++. * ncurses: add automake dependency * ncurses: remove -nologo * ncurses: revert to not using ar-lib * ncurses: remove -nologo * ncurses: disable MSVC 193, fix -FS * ncurses: link against naive-tsearch on MSVC * ncurses: add AutotoolsDeps for MSVC dependencies * ncurses: add AutotoolsDeps workaround * ncurses: add -nologo * ncurses: do not override the include dir path * ncurses: drop test_v1_package * ncurses: more reliable -FS * ncurses: add /DEBUG:NONE * ncurses: force -DEBUG:NONE * ncurses: make sure CURSES_LIBRARIES contains absolute paths to match CMake * ncurses: fix_apple_shared_install_name() * ncurses: tidy * ncurses: Revert "drop test_v1_package" * ncurses: fix test_v1_package * ncurses: fix exported CMake vars in Conan v1 * ncurses: drop test_v1_package The legacy generators work ok on non-Windows single-config CMake setups, but not on MSVC. * ncurses: set env var in generator * ncurses: fix options handling * ncurses: restore "auto" option values for clarity and backwards-compatibility * ncurses: fix -FS not being applied on Conan v1 --- .../conan-official-ncurses-targets.cmake | 36 ++ recipes/ncurses/all/conanfile.py | 375 +++++++++--------- .../ncurses/all/test_package/CMakeLists.txt | 9 +- recipes/ncurses/all/test_package/conanfile.py | 28 +- 4 files changed, 255 insertions(+), 193 deletions(-) create mode 100644 recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake diff --git a/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake b/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake new file mode 100644 index 0000000000000..c890b5d0ddfab --- /dev/null +++ b/recipes/ncurses/all/cmake/conan-official-ncurses-targets.cmake @@ -0,0 +1,36 @@ +# Reproduces the variables set by https://cmake.org/cmake/help/latest/module/FindCurses.html +set(CURSES_FOUND ON) +set(CURSES_INCLUDE_DIRS ${Curses_INCLUDE_DIRS}) +set(CURSES_CFLAGS ${Curses_DEFINITIONS} ${Curses_COMPILE_OPTIONS_C}) +set(CURSES_HAVE_CURSES_H OFF) +set(CURSES_HAVE_NCURSES_H OFF) +if(CURSES_NEED_NCURSES) + set(CURSES_HAVE_NCURSES_CURSES_H ON) + set(CURSES_HAVE_NCURSES_NCURSES_H ON) +endif() + +# For backward compatibility with Conan v1 +string(TOUPPER "${CMAKE_BUILD_TYPE}" _CONFIG) +set(CURSES_INCLUDE_DIRS ${CURSES_INCLUDE_DIRS} + ${ncurses_INCLUDE_DIRS_${_CONFIG}} + ${Curses_INCLUDE_DIRS_${_CONFIG}} +) +set(CURSES_CFLAGS ${CURSES_CFLAGS} + ${ncurses_DEFINITIONS_${_CONFIG}} ${ncurses_COMPILE_OPTIONS_C_${_CONFIG}} + ${Curses_DEFINITIONS_${_CONFIG}} ${Curses_COMPILE_OPTIONS_C_${_CONFIG}} +) + +# CURSES_LIBRARIES output from CMake uses absolute paths for the libraries +list (GET CURSES_INCLUDE_DIRS 0 _first_include_dir) +get_filename_component(CURSES_LIB_DIRS "${_first_include_dir}/../lib" ABSOLUTE) +foreach(_LIB ${Curses_LIBRARIES} ${ncurses_LIBRARIES_${_CONFIG}} ${Curses_LIBRARIES_${_CONFIG}}) + if(TARGET ${_LIB} OR IS_ABSOLUTE ${_LIB}) + list(APPEND CURSES_LIBRARIES ${_LIB}) + else() + find_library(_LIB ${_LIB} PATHS ${CURSES_LIB_DIRS}) + list(APPEND CURSES_LIBRARIES ${_LIB}) + endif() +endforeach() + +set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_DIRS}) +set(CURSES_LIBRARY ${CURSES_LIBRARIES}) diff --git a/recipes/ncurses/all/conanfile.py b/recipes/ncurses/all/conanfile.py index 3adc44c41e54c..0e692c25e7249 100644 --- a/recipes/ncurses/all/conanfile.py +++ b/recipes/ncurses/all/conanfile.py @@ -1,21 +1,29 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -import contextlib -import functools import os -import textwrap -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building, stdcpp_library +from conan.tools.env import Environment +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, unix_path +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class NCursesConan(ConanFile): name = "ncurses" description = "The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0 (SVr4), and more" - topics = ("ncurses", "terminal", "screen", "tui") + license = "X11" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.gnu.org/software/ncurses" - license = "X11" - settings = "os", "compiler", "build_type", "arch" + topics = ("terminal", "screen", "tui") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -41,90 +49,85 @@ class NCursesConan(ConanFile): "with_pcre2": False, } - generators = "pkg_config" - exports_sources = "patches/*" - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _settings_build(self): return getattr(self, "settings_build", self.settings) @property - def _with_ticlib(self): - if self.options.with_ticlib == "auto": - return self.settings.os != "Windows" - else: - return self.options.with_ticlib + def _is_mingw(self): + return self.settings.os == "Windows" and self.settings.compiler == "gcc" - @property - def _with_tinfo(self): - if self.options.with_tinfo == "auto": - return self.settings.os != "Windows" - else: - return self.options.with_tinfo + def export_sources(self): + export_conandata_patches(self) + copy(self, "*.cmake", src=self.recipe_folder, dst=self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + # Set the default value based on OS + self.options.with_ticlib = self.settings.os != "Windows" + self.options.with_tinfo = self.settings.os != "Windows" def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.with_cxx: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if not self.options.with_widec: - del self.options.with_extended_colors + self.options.rm_safe("with_extended_colors") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): if self.options.with_pcre2: - self.requires("pcre2/10.37") - if self.settings.compiler == "Visual Studio": + self.requires("pcre2/10.42") + if is_msvc(self): self.requires("getopt-for-visual-studio/20200201") - self.requires("dirent/1.23.2") - if self.options.get_safe("with_extended_colors", False): + self.requires("dirent/1.24") + if self.options.get_safe("with_extended_colors"): self.requires("naive-tsearch/0.1.1") - def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - def validate(self): - if any("arm" in arch for arch in (self.settings.arch, self._settings_build.arch)) and tools.cross_building(self): + if cross_building(self) and ("arm" in str(self.settings.arch) or "arm" in str(self._settings_build.arch)): # FIXME: Cannot build ncurses from x86_64 to armv8 (Apple M1). Cross building from Linux/x86_64 to Mingw/x86_64 works flawless. # FIXME: Need access to environment of build profile to set build compiler (BUILD_CC/CC_FOR_BUILD) raise ConanInvalidConfiguration("Cross building to/from arm is (currently) not supported") - if self.options.shared and self.settings.compiler == "Visual Studio" and "MT" in self.settings.compiler.runtime: + if self.options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Cannot build shared libraries with static (MT) runtime") if self.settings.os == "Windows": - if self._with_tinfo: + if self.options.with_tinfo: raise ConanInvalidConfiguration("terminfo cannot be built on Windows because it requires a term driver") - if self.options.shared and self._with_ticlib: + if self.options.shared and self.options.with_ticlib: raise ConanInvalidConfiguration("ticlib cannot be built separately as a shared library on Windows") + def build_requirements(self): + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_autotools(self): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + def generate(self): + tc = AutotoolsToolchain(self) yes_no = lambda v: "yes" if v else "no" - conf_args = [ + tc.configure_args += [ "--with-shared={}".format(yes_no(self.options.shared)), "--with-cxx-shared={}".format(yes_no(self.options.shared)), "--with-normal={}".format(yes_no(not self.options.shared)), "--enable-widec={}".format(yes_no(self.options.with_widec)), - "--enable-ext-colors={}".format(yes_no(self.options.get_safe("with_extended_colors", False))), + "--enable-ext-colors={}".format(yes_no(self.options.get_safe("with_extended_colors"))), "--enable-reentrant={}".format(yes_no(self.options.with_reentrant)), "--with-pcre2={}".format(yes_no(self.options.with_pcre2)), "--with-cxx-binding={}".format(yes_no(self.options.with_cxx)), "--with-progs={}".format(yes_no(self.options.with_progs)), - "--with-termlib={}".format(yes_no(self._with_tinfo)), - "--with-ticlib={}".format(yes_no(self._with_ticlib)), + "--with-termlib={}".format(yes_no(self.options.with_tinfo)), + "--with-ticlib={}".format(yes_no(self.options.with_ticlib)), "--without-libtool", "--without-ada", "--without-manpages", @@ -134,108 +137,118 @@ def _configure_autotools(self): "--without-profile", "--with-sp-funcs", "--disable-rpath", - "--datarootdir={}".format(tools.unix_path(os.path.join(self.package_folder, "res"))), "--disable-pc-files", + "--datarootdir=${prefix}/res", ] build = None host = None if self.settings.os == "Windows": - conf_args.extend([ + tc.configure_args += [ "--disable-macros", "--disable-termcap", "--enable-database", "--enable-sp-funcs", "--enable-term-driver", "--enable-interop", - ]) - if self.settings.compiler == "Visual Studio": - build = host = "{}-w64-mingw32-msvc".format(self.settings.arch) - conf_args.extend([ + ] + if is_msvc(self): + build = host = f"{self.settings.arch}-w64-mingw32-msvc" + tc.configure_args += [ "ac_cv_func_getopt=yes", "ac_cv_func_setvbuf_reversed=no", - ]) - autotools.cxx_flags.append("-EHsc") - if tools.Version(self.settings.compiler.version) >= 12: - autotools.flags.append("-FS") - if (self.settings.os, self.settings.compiler) == ("Windows", "gcc"): + ] + # The env vars below are used by ./configure, but not during make + tc.make_args += [ + "CC=cl -nologo", + "CPP=cl -nologo -E", + ] + tc.extra_cflags.append("-FS") + tc.extra_cxxflags.append("-FS") + tc.extra_cxxflags.append("-EHsc") + if self.options.get_safe("with_extended_colors"): + tc.extra_cflags.append(" ".join(f"-I{dir}" for dir in self.dependencies["naive-tsearch"].cpp_info.includedirs)) + tc.extra_ldflags.append(" ".join(f"-l{lib}" for lib in self.dependencies["naive-tsearch"].cpp_info.libs)) + if self._is_mingw: # add libssp (gcc support library) for some missing symbols (e.g. __strcpy_chk) - autotools.libs.extend(["mingwex", "ssp"]) + tc.extra_ldflags.extend(["-lmingwex", "-lssp"]) if build: - conf_args.append(f"ac_cv_build={build}") + tc.configure_args.append(f"ac_cv_build={build}") if host: - conf_args.append(f"ac_cv_host={host}") - conf_args.append(f"ac_cv_target={host}") - autotools.configure(args=conf_args, configure_dir=self._source_subfolder, host=host, build=build) - return autotools - - def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "LDFLAGS": "", - "NM": "dumpbin -symbols", - "STRIP": ":", - "AR": "lib -nologo", - "RANLIB": ":", - } - with tools.environment_append(env): - yield - else: - yield + tc.configure_args.append(f"ac_cv_host={host}") + tc.configure_args.append(f"ac_cv_target={host}") + # Allow ncurses to set the include dir with an appropriate subdir + tc.configure_args.remove("--includedir=${prefix}/include") + tc.generate() + + if is_msvc(self): + env = Environment() + env.define("CC", "cl -nologo -FS") + env.define("CXX", "cl -nologo -FS") + env.define("LD", "link") + env.define("AR", "lib") + env.define("NM", "dumpbin -symbols") + env.define("OBJDUMP", ":") + env.define("RANLIB", ":") + env.define("STRIP", ":") + env.vars(self).save_script("conanbuild_msvc") + + if is_msvc(self): + # Custom AutotoolsDeps for cl like compilers + # workaround for https://github.com/conan-io/conan/issues/12784 + includedirs = [] + defines = [] + libs = [] + libdirs = [] + linkflags = [] + cxxflags = [] + cflags = [] + for dependency in self.dependencies.values(): + deps_cpp_info = dependency.cpp_info.aggregated_components() + includedirs.extend(deps_cpp_info.includedirs) + defines.extend(deps_cpp_info.defines) + libs.extend(deps_cpp_info.libs + deps_cpp_info.system_libs) + libdirs.extend(deps_cpp_info.libdirs) + linkflags.extend(deps_cpp_info.sharedlinkflags + deps_cpp_info.exelinkflags) + cxxflags.extend(deps_cpp_info.cxxflags) + cflags.extend(deps_cpp_info.cflags) + env = Environment() + env.append("CPPFLAGS", [f"-I{unix_path(self, p)}" for p in includedirs] + [f"-D{d}" for d in defines]) + env.append("_LINK_", [lib if lib.endswith(".lib") else f"{lib}.lib" for lib in libs]) + env.append("LDFLAGS", [f"-L{unix_path(self, p)}" for p in libdirs] + linkflags) + env.append("CXXFLAGS", cxxflags) + env.append("CFLAGS", cflags) + env.vars(self).save_script("conanautotoolsdeps_cl_workaround") + + deps = PkgConfigDeps(self) + deps.generate() def build(self): - self._patch_sources() - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + autotools.make() @property def _major_version(self): - return tools.Version(self.version).major - - @staticmethod - def _create_cmake_module_alias_targets(module_file): - tools.save(module_file, textwrap.dedent("""\ - set(CURSES_FOUND ON) - set(CURSES_INCLUDE_DIRS ${ncurses_libcurses_INCLUDE_DIRS}) - set(CURSES_LIBRARIES ${ncurses_libcurses_LINK_LIBS}) - set(CURSES_CFLAGS ${ncurses_DEFINITIONS} ${ncurses_COMPILE_OPTIONS_C}) - set(CURSES_HAVE_CURSES_H OFF) - set(CURSES_HAVE_NCURSES_H OFF) - if(CURSES_NEED_NCURSES) - set(CURSES_HAVE_NCURSES_CURSES_H ON) - set(CURSES_HAVE_NCURSES_NCURSES_H ON) - endif() - - # Backward Compatibility - set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_DIRS}) - set(CURSES_LIBRARY ${CURSES_LIBRARIES}) - """)) + return Version(self.version).major def package(self): - # return - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.install() - - os.unlink(os.path.join(self.package_folder, "bin", "ncurses{}{}-config".format(self._suffix, self._major_version))) - - self._create_cmake_module_alias_targets(os.path.join(self.package_folder, self._module_subfolder, self._module_file)) + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + os.unlink(os.path.join(self.package_folder, "bin", f"ncurses{self._suffix}{self._major_version}-config")) + copy(self, "*.cmake", + src=os.path.join(self.export_sources_folder, "cmake"), + dst=os.path.join(self.package_folder, self._module_subfolder)) + fix_apple_shared_install_name(self) @property def _suffix(self): res = "" + # https://github.com/mirror/ncurses/blob/v6.4/configure.in#L1393 if self.options.with_reentrant: res += "t" + # https://github.com/mirror/ncurses/blob/v6.4/configure.in#L959 if self.options.with_widec: res += "w" return res @@ -248,80 +261,80 @@ def _lib_suffix(self): res += ".dll" return res - def package_id(self): - self.info.options.with_ticlib = self._with_ticlib - self.info.options.with_tinfo = self._with_tinfo - @property def _module_subfolder(self): return os.path.join("lib", "cmake") @property def _module_file(self): - return "conan-official-{}-targets.cmake".format(self.name) + return f"conan-official-{self.name}-targets.cmake" def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "Curses" - self.cpp_info.filenames["cmake_find_package_multi"] = "Curses" - if self._with_tinfo: - self.cpp_info.components["tinfo"].libs = ["tinfo" + self._lib_suffix] - self.cpp_info.components["tinfo"].names["pkg_config"] = "tinfo" + self._lib_suffix - self.cpp_info.components["tinfo"].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) - - self.cpp_info.components["libcurses"].libs = ["ncurses" + self._lib_suffix] - self.cpp_info.components["libcurses"].names["pkg_config"] = "ncurses" + self._lib_suffix - self.cpp_info.components["libcurses"].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) - if not self.options.shared: - self.cpp_info.components["libcurses"].defines = ["NCURSES_STATIC"] - if self.settings.os == "Linux": - self.cpp_info.components["libcurses"].system_libs = ["dl", "m"] - if self._with_tinfo: - self.cpp_info.components["libcurses"].requires.append("tinfo") + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "Curses") - if self.settings.compiler == "Visual Studio": - self.cpp_info.components["libcurses"].requires.extend([ - "getopt-for-visual-studio::getopt-for-visual-studio", - "dirent::dirent", - ]) - if self.options.get_safe("with_extended_colors", False): - self.cpp_info.components["libcurses"].requires.append("naive-tsearch::naive-tsearch") + # CMake's standard FindCurses module does not define a target. + # Adding one nevertheless for consistency with other packages. + # https://gitlab.kitware.com/cmake/cmake/-/issues/23051 + self.cpp_info.set_property("cmake_target_name", "Curses::Curses") - module_rel_path = os.path.join(self._module_subfolder, self._module_file) - self.cpp_info.components["libcurses"].builddirs.append(self._module_subfolder) - self.cpp_info.components["libcurses"].build_modules["cmake_find_package"] = [module_rel_path] - self.cpp_info.components["libcurses"].build_modules["cmake_find_package_multi"] = [module_rel_path] + def _add_component(name, lib_name=None, requires=None): + lib_name = lib_name or name + self.cpp_info.components[name].libs = [lib_name + self._lib_suffix] + self.cpp_info.components[name].set_property("pkg_config_name", lib_name + self._lib_suffix) + self.cpp_info.components[name].includedirs.append(os.path.join("include", "ncurses" + self._suffix)) + self.cpp_info.components[name].requires = requires if requires else [] - self.cpp_info.components["panel"].libs = ["panel" + self._lib_suffix] - self.cpp_info.components["panel"].names["pkg_config"] = "panel" + self._lib_suffix - self.cpp_info.components["panel"].requires = ["libcurses"] + _add_component("libcurses", lib_name="ncurses") + _add_component("panel", requires=["libcurses"]) + _add_component("menu", requires=["libcurses"]) + _add_component("form", requires=["libcurses"]) - self.cpp_info.components["menu"].libs = ["menu" + self._lib_suffix] - self.cpp_info.components["menu"].names["pkg_config"] = "menu" + self._lib_suffix - self.cpp_info.components["menu"].requires = ["libcurses"] + if self.options.with_tinfo: + _add_component("tinfo") + self.cpp_info.components["libcurses"].requires += ["tinfo"] - self.cpp_info.components["form"].libs = ["form" + self._lib_suffix] - self.cpp_info.components["form"].names["pkg_config"] = "form" + self._lib_suffix - self.cpp_info.components["form"].requires = ["libcurses"] - if self.options.with_pcre2: - self.cpp_info.components["form"].requires.append("pcre2::pcre2") + if self.options.with_ticlib: + _add_component("ticlib", lib_name="tic", requires=["libcurses"]) if self.options.with_cxx: - self.cpp_info.components["curses++"].libs = ["ncurses++" + self._lib_suffix] - self.cpp_info.components["curses++"].names["pkg_config"] = "ncurses++" + self._lib_suffix - self.cpp_info.components["curses++"].requires = ["libcurses"] + _add_component("curses++", lib_name="ncurses++", requires=["libcurses"]) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libcurses++"].system_libs.append("util") + libcxx = stdcpp_library(self) + if libcxx: + self.cpp_info.components["libcurses++"].system_libs.append(libcxx) + + if is_msvc(self): + self.cpp_info.components["libcurses"].requires += [ + "getopt-for-visual-studio::getopt-for-visual-studio", + "dirent::dirent", + ] + if self.options.get_safe("with_extended_colors"): + self.cpp_info.components["libcurses"].requires += [ + "naive-tsearch::naive-tsearch" + ] + if self.options.with_pcre2: + self.cpp_info.components["form"].requires.append("pcre2::pcre2") - if self._with_ticlib: - self.cpp_info.components["ticlib"].libs = ["tic" + self._lib_suffix] - self.cpp_info.components["ticlib"].names["pkg_config"] = "tic" + self._lib_suffix - self.cpp_info.components["ticlib"].requires = ["libcurses"] + if not self.options.shared: + self.cpp_info.components["libcurses"].defines = ["NCURSES_STATIC"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libcurses"].system_libs = ["dl", "m"] - if self.options.with_progs: - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + module_rel_path = os.path.join(self._module_subfolder, self._module_file) + self.cpp_info.components["libcurses"].builddirs.append(self._module_subfolder) + self.cpp_info.set_property("cmake_build_modules", [module_rel_path]) terminfo = os.path.join(self.package_folder, "res", "terminfo") - self.output.info("Setting TERMINFO environment variable: {}".format(terminfo)) - self.env_info.TERMINFO = terminfo + self.buildenv_info.define_path("TERMINFO", terminfo) + self.runenv_info.define_path("TERMINFO", terminfo) + self.conf_info.define("user.ncurses:lib_suffix", self._lib_suffix) + # TODO: Legacy, to be removed on Conan 2.0 + self.cpp_info.names["cmake_find_package"] = "Curses" + self.cpp_info.names["cmake_find_package_multi"] = "Curses" + self.cpp_info.components["libcurses"].build_modules["cmake_find_package"] = [module_rel_path] + self.cpp_info.components["libcurses"].build_modules["cmake_find_package_multi"] = [module_rel_path] + self.env_info.TERMINFO = terminfo self.user_info.lib_suffix = self._lib_suffix diff --git a/recipes/ncurses/all/test_package/CMakeLists.txt b/recipes/ncurses/all/test_package/CMakeLists.txt index 6742c96b11c21..98c789fb359ec 100644 --- a/recipes/ncurses/all/test_package/CMakeLists.txt +++ b/recipes/ncurses/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.0) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) set(CURSES_NEED_NCURSES TRUE) -find_package(Curses REQUIRED) +find_package(Curses CONFIG REQUIRED) if(NOT CURSES_HAVE_NCURSES_NCURSES_H) message(FATAL_ERROR "ncurses/ncurses.h is not available (CURSES_HAVE_NCURSES_NCURSES_H)") diff --git a/recipes/ncurses/all/test_package/conanfile.py b/recipes/ncurses/all/test_package/conanfile.py index 430a3b6ec8e18..d78cda6c6388d 100644 --- a/recipes/ncurses/all/test_package/conanfile.py +++ b/recipes/ncurses/all/test_package/conanfile.py @@ -1,10 +1,26 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import Environment + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + env = Environment() + env.define("TERM", "dumb") + env.vars(self, scope="run").save_script("conanrun_term") def build(self): cmake = CMake(self) @@ -12,6 +28,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - with tools.environment_append({"TERM": "dumb"}): - self.run(os.path.join("bin", "test_package"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From eea45a16d2795aa739673ee51d2706103daf097b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 00:49:29 +0900 Subject: [PATCH 0303/1307] (#21241) libxml2: add version 2.12.1 * libxml2: add version 2.12.0 * update libxml2 * include stdlib.h --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/all/test_package/test_package.c | 1 + recipes/libxml2/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index e2e7415898919..68fe5669e65f4 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.1": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" + sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" "2.11.5": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" diff --git a/recipes/libxml2/all/test_package/test_package.c b/recipes/libxml2/all/test_package/test_package.c index b4b977f00d342..01dc455ced597 100644 --- a/recipes/libxml2/all/test_package/test_package.c +++ b/recipes/libxml2/all/test_package/test_package.c @@ -1,4 +1,5 @@ #include +#include #include #include #include diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 7a7b2cea0b90c..aece5e69bedd8 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.1": + folder: all "2.11.5": folder: all "2.11.4": From df3fbfc1dbe0908ad8c40a90fbdad05032b23153 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 17:08:04 +0100 Subject: [PATCH 0304/1307] (#21489) inja: add package_type + bump nlohmann_json * add package_type * bump nlohmann_json --- recipes/inja/all/conanfile.py | 16 ++++++---------- recipes/inja/all/test_package/conanfile.py | 7 ++++--- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/recipes/inja/all/conanfile.py b/recipes/inja/all/conanfile.py index e211c74ba199b..e6c08750f5681 100644 --- a/recipes/inja/all/conanfile.py +++ b/recipes/inja/all/conanfile.py @@ -16,6 +16,7 @@ class InjaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" description = "Inja is a template engine for modern C++, loosely inspired by jinja for python" topics = ("jinja2", "string templates", "templates engine") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -35,8 +36,11 @@ def _compilers_minimum_version(self): "apple-clang": "10", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") def package_id(self): self.info.clear() @@ -50,12 +54,8 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -68,9 +68,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "inja") self.cpp_info.set_property("cmake_target_name", "pantor::inja") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once legacy generators removed self.cpp_info.filenames["cmake_find_package"] = "inja" @@ -82,6 +80,4 @@ def package_info(self): self.cpp_info.components["libinja"].set_property("cmake_target_name", "pantor::inja") self.cpp_info.components["libinja"].requires = ["nlohmann_json::nlohmann_json"] self.cpp_info.components["libinja"].bindirs = [] - self.cpp_info.components["libinja"].frameworkdirs = [] self.cpp_info.components["libinja"].libdirs = [] - self.cpp_info.components["libinja"].resdirs = [] diff --git a/recipes/inja/all/test_package/conanfile.py b/recipes/inja/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/inja/all/test_package/conanfile.py +++ b/recipes/inja/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() From 8a6d9852ed4dadac2bf35bc998c745396b2bf979 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 17:49:39 +0100 Subject: [PATCH 0305/1307] (#21490) intel-neon2sse: add package_type --- recipes/intel-neon2sse/all/conanfile.py | 22 +++++++++++-------- .../all/test_v1_package/CMakeLists.txt | 10 ++++----- .../all/test_v1_package/conanfile.py | 2 +- 3 files changed, 18 insertions(+), 16 deletions(-) diff --git a/recipes/intel-neon2sse/all/conanfile.py b/recipes/intel-neon2sse/all/conanfile.py index a50107175e466..9d152bb546968 100644 --- a/recipes/intel-neon2sse/all/conanfile.py +++ b/recipes/intel-neon2sse/all/conanfile.py @@ -4,6 +4,9 @@ from conan.tools.files import copy, get, rmdir from os import path +required_conan_version = ">=1.50.0" + + class IntelNeon2sseConan(ConanFile): name = "intel-neon2sse" url = "https://github.com/conan-io/conan-center-index" @@ -11,6 +14,7 @@ class IntelNeon2sseConan(ConanFile): description = "Header only library intended to simplify ARM->IA32 porting" license = "BSD-2-Clause" topics = "neon", "sse", "port", "translation", "intrinsics" + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" options = { "SSE4": [True, False], @@ -21,16 +25,18 @@ class IntelNeon2sseConan(ConanFile): "disable_performance_warnings": False, } + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + def validate(self): if self.settings.arch not in ("x86", "x86_64"): raise ConanInvalidConfiguration("neon2sse only supports arch={x86,x86_64}") - def layout(self): - cmake_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -47,13 +53,11 @@ def package(self): copy(self, "LICENSE", dst=path.join(self.package_folder, "licenses"), src=self.source_folder) rmdir(self, path.join(self.package_folder, "lib")) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] self.cpp_info.set_property("cmake_file_name", "NEON_2_SSE") - self.cpp_info.set_property("cmake_target_name", "NEON_2_SSE::NEON_2_SSE") + self.cpp_info.set_property("cmake_target_name", "NEON_2_SSE::NEON_2_SSE") if self.options.SSE4: self.cpp_info.defines.append("USE_SSE4") if self.options.disable_performance_warnings: diff --git a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt b/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt index 0f78273600853..b21cc49efde95 100644 --- a/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt +++ b/recipes/intel-neon2sse/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package C) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(NEON_2_SSE REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} NEON_2_SSE::NEON_2_SSE) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py b/recipes/intel-neon2sse/all/test_v1_package/conanfile.py index 5493d58611803..1bf1c7e26255d 100644 --- a/recipes/intel-neon2sse/all/test_v1_package/conanfile.py +++ b/recipes/intel-neon2sse/all/test_v1_package/conanfile.py @@ -3,7 +3,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + generators = "cmake", "cmake_find_package_multi" def build(self): cmake = CMake(self) From 4814d60e5da7ba4f8681d47dd645d586517a4d8e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:07:53 +0100 Subject: [PATCH 0306/1307] (#21491) jeaiii-itoa: add package_type --- recipes/jeaiii-itoa/all/conanfile.py | 14 ++++---------- .../jeaiii-itoa/all/test_package/CMakeLists.txt | 3 +-- .../jeaiii-itoa/all/test_v1_package/CMakeLists.txt | 12 ++++-------- 3 files changed, 9 insertions(+), 20 deletions(-) diff --git a/recipes/jeaiii-itoa/all/conanfile.py b/recipes/jeaiii-itoa/all/conanfile.py index e7cabf3b1a327..43dfc55725a27 100644 --- a/recipes/jeaiii-itoa/all/conanfile.py +++ b/recipes/jeaiii-itoa/all/conanfile.py @@ -15,30 +15,26 @@ class ItoaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/jeaiii/itoa/" topics = ("string-conversion", "itona", "integer-conversion",) + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 - def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) - def layout(self): basic_layout(self, src_folder="src") def validate(self): if self.settings.compiler.cppstd: - check_min_cppstd(self, self._minimum_cpp_standard) + check_min_cppstd(self, self._min_cppstd) def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -49,6 +45,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt b/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt index d27bc00b65615..09813e133a472 100644 --- a/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt +++ b/recipes/jeaiii-itoa/all/test_package/CMakeLists.txt @@ -1,6 +1,5 @@ cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(jeaiii-itoa REQUIRED CONFIG) diff --git a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt b/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt index f35b931b51133..b21cc49efde95 100644 --- a/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt +++ b/recipes/jeaiii-itoa/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) - -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(jeaiii-itoa REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE jeaiii-itoa::jeaiii-itoa) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 240a6edf66221db4adababc7825c2455a21a6559 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:27:55 +0100 Subject: [PATCH 0307/1307] (#21494) jfalcou-eve: add package_type --- recipes/jfalcou-eve/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/jfalcou-eve/all/conanfile.py b/recipes/jfalcou-eve/all/conanfile.py index dbd0bf0ff0d12..51aa78ce2dd31 100644 --- a/recipes/jfalcou-eve/all/conanfile.py +++ b/recipes/jfalcou-eve/all/conanfile.py @@ -20,6 +20,7 @@ class JfalcouEveConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://jfalcou.github.io/eve/" topics = ("cpp", "simd", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From c46b1ce3239e39c5b8f39fbd93c42121dcdfd48f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 18:48:19 +0100 Subject: [PATCH 0308/1307] (#21496) jsmn: add package_type --- recipes/jsmn/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/jsmn/all/conanfile.py b/recipes/jsmn/all/conanfile.py index 80c11f45949cb..eff4b5d9d9571 100644 --- a/recipes/jsmn/all/conanfile.py +++ b/recipes/jsmn/all/conanfile.py @@ -16,6 +16,7 @@ class JsmnConan(ConanFile): topics = ("json", "parser") homepage = "https://github.com/zserge/jsmn" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 66e5eb6efc7b5ca07462bfb0fe84dd66d977d416 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:07:30 +0100 Subject: [PATCH 0309/1307] (#21499) jthread-lite: add package_type --- recipes/jthread-lite/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/jthread-lite/all/conanfile.py b/recipes/jthread-lite/all/conanfile.py index efd2ef2fde6ab..b1f862a6ab31f 100644 --- a/recipes/jthread-lite/all/conanfile.py +++ b/recipes/jthread-lite/all/conanfile.py @@ -12,8 +12,9 @@ class JthreadLiteConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinmoene/jthread-lite" description = "jthread lite - C++20's jthread for C++11 and later in a single-file header-only library " - topics = ("jthread-lite", "jthread", "cpp11") + topics = ("jthread", "cpp11") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,8 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From c23ef9a369a21a893d33ee65395934850754d919 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:27:38 +0100 Subject: [PATCH 0310/1307] (#21503) khrplatform: add package_type --- recipes/khrplatform/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/khrplatform/all/conanfile.py b/recipes/khrplatform/all/conanfile.py index 4125f97c39bdb..8a3e15b829a64 100644 --- a/recipes/khrplatform/all/conanfile.py +++ b/recipes/khrplatform/all/conanfile.py @@ -13,6 +13,7 @@ class KhrplatformConan(ConanFile): homepage = "https://www.khronos.org/registry/EGL/" description = "Khronos EGL platform interfaces" topics = ("opengl", "gl", "egl", "khr", "khronos") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9a70aa461bc7e496b3c1ce2b91bac435608d5955 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 19:48:45 +0100 Subject: [PATCH 0311/1307] (#21504) linmath.h: add package_type --- recipes/linmath.h/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/linmath.h/all/conanfile.py b/recipes/linmath.h/all/conanfile.py index 72dbc48e507a8..aeda5df97ec0f 100644 --- a/recipes/linmath.h/all/conanfile.py +++ b/recipes/linmath.h/all/conanfile.py @@ -16,18 +16,18 @@ class LinmathConan(ConanFile): topics = ("math", "graphics", "linear-algebra", "vector", "matrix", "quaternion") homepage = "https://github.com/datenwolf/linmath.h" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 80b7870c5e0a78c663d91b72a4b8a7b50ed6cab1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 2 Dec 2023 20:08:57 +0100 Subject: [PATCH 0312/1307] (#21516) pcl/all: bump deps * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * pcl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/pcl/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/pcl/all/conanfile.py b/recipes/pcl/all/conanfile.py index 481bfcadd49be..3d3a9f2fd7b3e 100644 --- a/recipes/pcl/all/conanfile.py +++ b/recipes/pcl/all/conanfile.py @@ -361,7 +361,7 @@ def _is_enabled(self, dep): return is_available and is_used def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) self.requires("eigen/3.4.0", transitive_headers=True) if self._is_enabled("flann"): self.requires("flann/1.9.2", transitive_headers=True) @@ -370,7 +370,7 @@ def requirements(self): if self._is_enabled("qhull"): self.requires("qhull/8.0.1", transitive_headers=True) if self._is_enabled("qt"): - self.requires("qt/6.5.1") + self.requires("qt/6.6.1") if self._is_enabled("libusb"): self.requires("libusb/1.0.26", transitive_headers=True) if self._is_enabled("pcap"): @@ -382,7 +382,7 @@ def requirements(self): self.requires("glew/2.2.0", transitive_headers=True) self.requires("glu/system", transitive_headers=True) if self._is_enabled("opencv"): - self.requires("opencv/4.5.5", transitive_headers=True) + self.requires("opencv/4.8.1", transitive_headers=True) if self._is_enabled("zlib"): self.requires("zlib/[>=1.2.11 <2]") # TODO: From 7d51f74b3c514b7e61d3c37e22b37a71203b49e7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:29:56 +0100 Subject: [PATCH 0313/1307] (#21517) mikelankamp-fpm: add package_type --- recipes/mikelankamp-fpm/all/conanfile.py | 4 +++- recipes/mikelankamp-fpm/all/test_package/conanfile.py | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/mikelankamp-fpm/all/conanfile.py b/recipes/mikelankamp-fpm/all/conanfile.py index 4f1037ea6348f..d62613b715193 100644 --- a/recipes/mikelankamp-fpm/all/conanfile.py +++ b/recipes/mikelankamp-fpm/all/conanfile.py @@ -4,7 +4,8 @@ from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.50.0" + class MikeLankampFpmConan(ConanFile): name = "mikelankamp-fpm" @@ -13,6 +14,7 @@ class MikeLankampFpmConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/MikeLankamp/fpm" topics = ("fixed-point", "math", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True diff --git a/recipes/mikelankamp-fpm/all/test_package/conanfile.py b/recipes/mikelankamp-fpm/all/test_package/conanfile.py index 48499fa0989d9..e845ae751a301 100644 --- a/recipes/mikelankamp-fpm/all/test_package/conanfile.py +++ b/recipes/mikelankamp-fpm/all/test_package/conanfile.py @@ -4,7 +4,6 @@ import os -# It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" From 3b910749408350d70377496022182dccad134da4 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 20:38:33 +0100 Subject: [PATCH 0314/1307] (#21520) modern-cpp-kafka: add package_type + reset cmake names to default value - add package_type - do not invent unofficial target name (there is no config file upstream) - empty cpp_info.bindirs & libdirs - bump librdkafka --- recipes/modern-cpp-kafka/all/conanfile.py | 32 ++++++++----------- .../all/test_package/CMakeLists.txt | 4 +-- .../all/test_v1_package/CMakeLists.txt | 2 +- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/recipes/modern-cpp-kafka/all/conanfile.py b/recipes/modern-cpp-kafka/all/conanfile.py index a89b6dfd7b4a5..404038dfda2d5 100644 --- a/recipes/modern-cpp-kafka/all/conanfile.py +++ b/recipes/modern-cpp-kafka/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.files import get, copy from conan.tools.layout import basic_layout from conan.tools.scm import Version -from conan.tools.microsoft import check_min_vs, is_msvc import os required_conan_version = ">=1.52.0" @@ -16,6 +15,7 @@ class ModernCppKafkaConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/morganstanley/modern-cpp-kafka" topics = ("kafka", "librdkafka", "kafkaproducer", "kafkaconsumer", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -29,13 +29,15 @@ def _compilers_minimum_version(self): "gcc": "8", "clang": "7", "apple-clang": "12", + "msvc": "192", + "Visual Studio": "16", } def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("librdkafka/2.0.2") + self.requires("librdkafka/2.3.0") def package_id(self): self.info.clear() @@ -43,17 +45,15 @@ def package_id(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - check_min_vs(self, 192) - if not is_msvc(self): - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version and Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration( - f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." - ) - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) @@ -65,11 +65,7 @@ def package(self): ) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "ModernCppKafka") - self.cpp_info.set_property("cmake_target_name", "ModernCppKafka::ModernCppKafka") - - self.cpp_info.names["cmake_find_package"] = "ModernCppKafka" - self.cpp_info.names["cmake_find_package_multi"] = "ModernCppKafka" - - if self.settings.os in ["Linux", "Macos"]: + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") diff --git a/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt b/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt index e00b58eaa4743..2b86f2fbd7132 100644 --- a/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt +++ b/recipes/modern-cpp-kafka/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.8) project(test_package LANGUAGES CXX) -find_package(ModernCppKafka REQUIRED CONFIG) +find_package(modern-cpp-kafka REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ModernCppKafka::ModernCppKafka) +target_link_libraries(${PROJECT_NAME} PRIVATE modern-cpp-kafka::modern-cpp-kafka) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt b/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt index 925ecbe19e448..91630d79f4abb 100644 --- a/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt +++ b/recipes/modern-cpp-kafka/all/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) From 25103427069f2021d487fd32dd3132275761ec8a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 05:01:57 +0900 Subject: [PATCH 0315/1307] (#21548) glaze: add version 1.8.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ad3008a3795df..413146e306cd6 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.3": + url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" + sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" "1.8.2": url: "https://github.com/stephenberry/glaze/archive/v1.8.2.tar.gz" sha256: "dddc7b9c87739e0266a6a868316e692975651e9e77684cfb7d3a6a4be32c95fc" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index c312a071c43c9..807437035ff2a 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.3": + folder: all "1.8.2": folder: all "1.8.1": From 0b2c9c4ab90d32f3fe2f4d8af3a84870891a9f9f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:10:21 +0100 Subject: [PATCH 0316/1307] (#21508) md4qt: add package_type + bump icu * add package_type * bump icu --- recipes/md4qt/all/conanfile.py | 18 ++++++++---------- recipes/md4qt/all/test_package/conanfile.py | 9 +++++---- .../md4qt/all/test_v1_package/CMakeLists.txt | 11 ++++------- recipes/md4qt/all/test_v1_package/conanfile.py | 2 +- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/recipes/md4qt/all/conanfile.py b/recipes/md4qt/all/conanfile.py index ce75e30212e5e..90fcedd907a99 100644 --- a/recipes/md4qt/all/conanfile.py +++ b/recipes/md4qt/all/conanfile.py @@ -16,6 +16,7 @@ class Md4QtConan(ConanFile): license = "MIT" description = "Header-only C++ library for parsing Markdown." topics = ("markdown", "gfm", "parser", "icu", "ast", "commonmark", "md", "qt6", "stl", "cpp17") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -33,13 +34,16 @@ def _compilers_minimum_version(self): "apple-clang": "14", } - def package_id(self): - self.info.clear() + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("icu/72.1") + self.requires("icu/74.1") self.requires("uriparser/0.9.7") + def package_id(self): + self.info.clear() + def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -49,12 +53,8 @@ def validate(self): f"{self.name} {self.version} requires C++{self._min_cppstd}, which your compiler does not support.", ) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -67,6 +67,4 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "md4qt") self.cpp_info.set_property("cmake_target_name", "md4qt::md4qt") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/md4qt/all/test_package/conanfile.py b/recipes/md4qt/all/test_package/conanfile.py index c78095722f7aa..b5553413c7eed 100644 --- a/recipes/md4qt/all/test_package/conanfile.py +++ b/recipes/md4qt/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() @@ -23,4 +24,4 @@ def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") md_path = os.path.join(self.source_folder, "test.md") - self.run("{} \"{}\"".format(bin_path, md_path), env="conanrun") + self.run(f"{bin_path} \"{md_path}\"", env="conanrun") diff --git a/recipes/md4qt/all/test_v1_package/CMakeLists.txt b/recipes/md4qt/all/test_v1_package/CMakeLists.txt index b24e1b03fbf83..b21cc49efde95 100644 --- a/recipes/md4qt/all/test_v1_package/CMakeLists.txt +++ b/recipes/md4qt/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(md4qt REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE md4qt::md4qt) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/md4qt/all/test_v1_package/conanfile.py b/recipes/md4qt/all/test_v1_package/conanfile.py index df702b6f48d7c..e62a3cb2d7440 100644 --- a/recipes/md4qt/all/test_v1_package/conanfile.py +++ b/recipes/md4qt/all/test_v1_package/conanfile.py @@ -15,4 +15,4 @@ def test(self): if not tools.cross_building(self): bin_path = os.path.join("bin", "test_package") md_path = os.path.join(self.source_folder, os.pardir, "test_package", "test.md") - self.run("{} \"{}\"".format(bin_path, md_path), run_environment=True) + self.run(f"{bin_path} \"{md_path}\"", run_environment=True) From 1168f39211f2d05e5b5b48056ab487363fd4496a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:18:46 +0100 Subject: [PATCH 0317/1307] (#21515) metall: add package_type --- recipes/metall/all/conandata.yml | 30 +++++++++---------- recipes/metall/all/conanfile.py | 12 ++++---- recipes/metall/all/test_package/conanfile.py | 11 +++---- .../metall/all/test_v1_package/CMakeLists.txt | 11 +++---- recipes/metall/config.yml | 12 ++++---- 5 files changed, 36 insertions(+), 40 deletions(-) diff --git a/recipes/metall/all/conandata.yml b/recipes/metall/all/conandata.yml index 107baf765b6af..023411b883cb5 100644 --- a/recipes/metall/all/conandata.yml +++ b/recipes/metall/all/conandata.yml @@ -1,22 +1,22 @@ sources: + "0.27": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" + sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" + "0.26": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" + sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" + "0.25": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.25.tar.gz" + sha256: "223cb54543b62a62fdbbe6274b02ddcc14b29806e344ee7e2fd3f055c2374295" + "0.24": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.24.tar.gz" + sha256: "872de2a1b76d44e6876c0b672c0cc518c6f334959e4a229f2f18cc7e01edf477" + "0.23.1": + url: "https://github.com/LLNL/metall/archive/refs/tags/v0.23.1.tar.gz" + sha256: "25e8fbc424e66d09e0faf60029288e4612685675bfd947cc142bd9d6d0645ac4" "0.21": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.21.tar.gz" sha256: "feaff7a935f98d3cc1e2b21f6eae40edc674a5bd0133306afd3851148aaed026" "0.20": url: "https://github.com/LLNL/metall/archive/refs/tags/v0.20.tar.gz" sha256: "cafe54c682004a66a059f54e2d7128ea7622e9941ea492297d04c260675e9af4" - "0.23.1": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.23.1.tar.gz" - sha256: "25e8fbc424e66d09e0faf60029288e4612685675bfd947cc142bd9d6d0645ac4" - "0.24": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.24.tar.gz" - sha256: "872de2a1b76d44e6876c0b672c0cc518c6f334959e4a229f2f18cc7e01edf477" - "0.25": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.25.tar.gz" - sha256: "223cb54543b62a62fdbbe6274b02ddcc14b29806e344ee7e2fd3f055c2374295" - "0.26": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.26.tar.gz" - sha256: "7453c87d99708be8542e354e582cbeefac1e5ba65e609cd85d7126c5b25a6d7b" - "0.27": - url: "https://github.com/LLNL/metall/archive/refs/tags/v0.27.tar.gz" - sha256: "6e6f17a760778f9162def939701f9381a75e5275fd1eb1b2af4b2e89e86e1c58" diff --git a/recipes/metall/all/conanfile.py b/recipes/metall/all/conanfile.py index c629633bf0094..b13166986c15d 100644 --- a/recipes/metall/all/conanfile.py +++ b/recipes/metall/all/conanfile.py @@ -16,6 +16,7 @@ class MetallConan(ConanFile): description = "Meta allocator for persistent memory" license = "MIT", "Apache-2.0" topics = "cpp", "allocator", "memory-allocator", "persistent-memory", "ecp", "exascale-computing" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,6 +27,9 @@ def _compilers_minimum_version(self): "clang": "9", } + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("boost/1.81.0") @@ -52,12 +56,8 @@ def lazy_lt_semver(v1, v2): raise ConanInvalidConfiguration( "{} {} requires C++17, which your compiler does not support.".format(self.name, self.version)) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -75,9 +75,7 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "Metall" self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") diff --git a/recipes/metall/all/test_package/conanfile.py b/recipes/metall/all/test_package/conanfile.py index 3a8c6c5442b33..0a6bc68712d90 100644 --- a/recipes/metall/all/test_package/conanfile.py +++ b/recipes/metall/all/test_package/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.build import cross_building +from conan.tools.build import can_run from conan.tools.cmake import CMake, cmake_layout import os @@ -7,19 +7,20 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if not cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/metall/all/test_v1_package/CMakeLists.txt b/recipes/metall/all/test_v1_package/CMakeLists.txt index 90ab90a88d549..b21cc49efde95 100644 --- a/recipes/metall/all/test_v1_package/CMakeLists.txt +++ b/recipes/metall/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(Metall REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE Metall::Metall) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/metall/config.yml b/recipes/metall/config.yml index 8abab3ff86ffd..1d869b27d6481 100644 --- a/recipes/metall/config.yml +++ b/recipes/metall/config.yml @@ -1,15 +1,15 @@ versions: - "0.21": + "0.27": folder: all - "0.20": + "0.26": folder: all - "0.23.1": + "0.25": folder: all "0.24": folder: all - "0.25": + "0.23.1": folder: all - "0.26": + "0.21": folder: all - "0.27": + "0.20": folder: all From d56c4017fbe2ce63ffb11c291747fa0fb9a2593e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 2 Dec 2023 22:38:03 +0100 Subject: [PATCH 0318/1307] (#21518) mio: add package_type & modernize more * add package_type & modernize more * add description to patch --- recipes/mio/all/conandata.yml | 8 +++--- recipes/mio/all/conanfile.py | 27 +++++++------------ recipes/mio/all/test_package/conanfile.py | 7 ++--- .../mio/all/test_v1_package/CMakeLists.txt | 11 +++----- recipes/mio/config.yml | 4 +-- 5 files changed, 24 insertions(+), 33 deletions(-) diff --git a/recipes/mio/all/conandata.yml b/recipes/mio/all/conandata.yml index fdad8f55da413..6e7bb1d711691 100644 --- a/recipes/mio/all/conandata.yml +++ b/recipes/mio/all/conandata.yml @@ -1,11 +1,13 @@ sources: + "cci.20230303": + url: "https://github.com/mandreyel/mio/archive/8b6b7d878c89e81614d05edca7936de41ccdd2da.tar.gz" + sha256: "86248113bb2f1484f9cd44a260fe09beaa911307073c6f21fa9e765588d54b4b" "cci.20201220": url: "https://github.com/mandreyel/mio/archive/3f86a95c0784d73ce6815237ec33ed25f233b643.tar.gz" sha256: "056ae59d63c5d7f34dd90510adf2996ef1c4c17ec2b26ba9c9cb9974025b2c2c" - "cci.20230303": - url: "https://github.com/mandreyel/mio/archive/8b6b7d878c89e81614d05edca7936de41ccdd2da.tar.gz" - sha256: "86248113BB2F1484F9CD44A260FE09BEAA911307073C6F21FA9E765588D54B4B" patches: "cci.20201220": - patch_file: "patches/0001-fix-include-windows.patch" + patch_description: "Add missing includes for Windows" + patch_type: "portability" patch_source: "https://github.com/mandreyel/mio/pull/73" diff --git a/recipes/mio/all/conanfile.py b/recipes/mio/all/conanfile.py index 469a34156ae79..a91c01d248f09 100644 --- a/recipes/mio/all/conanfile.py +++ b/recipes/mio/all/conanfile.py @@ -1,24 +1,27 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd -from conan.tools.files import apply_conandata_patches, copy, get +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get from conan.tools.layout import basic_layout import os -required_conan_version = ">=1.50.0" +required_conan_version = ">=1.52.0" class MioConan(ConanFile): name = "mio" description = "Cross-platform C++11 header-only library for memory mapped file IO." license = "MIT" - topics = ("mio", "mmap", "memory-mapping", "fileviewer") + topics = ("mmap", "memory-mapping", "fileviewer") homepage = "https://github.com/mandreyel/mio" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" def export_sources(self): - for p in self.conan_data.get("patches", {}).get(self.version, []): - copy(self, p["patch_file"], self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() @@ -27,12 +30,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) @@ -45,26 +44,18 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "mio") self.cpp_info.set_property("cmake_target_name", "mio::mio") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] self.cpp_info.components["mio-headers"].set_property("cmake_target_name", "mio::mio-headers") self.cpp_info.components["mio-headers"].bindirs = [] - self.cpp_info.components["mio-headers"].frameworkdirs = [] self.cpp_info.components["mio-headers"].libdirs = [] - self.cpp_info.components["mio-headers"].resdirs = [] if self.settings.os == "Windows": self.cpp_info.components["mio_full_winapi"].set_property("cmake_target_name", "mio::mio_full_winapi") self.cpp_info.components["mio_full_winapi"].bindirs = [] - self.cpp_info.components["mio_full_winapi"].frameworkdirs = [] self.cpp_info.components["mio_full_winapi"].libdirs = [] - self.cpp_info.components["mio_full_winapi"].resdirs = [] self.cpp_info.components["mio_min_winapi"].set_property("cmake_target_name", "mio::mio_min_winapi") self.cpp_info.components["mio_min_winapi"].defines = ["WIN32_LEAN_AND_MEAN", "NOMINMAX"] self.cpp_info.components["mio_min_winapi"].bindirs = [] - self.cpp_info.components["mio_min_winapi"].frameworkdirs = [] self.cpp_info.components["mio_min_winapi"].libdirs = [] - self.cpp_info.components["mio_min_winapi"].resdirs = [] diff --git a/recipes/mio/all/test_package/conanfile.py b/recipes/mio/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mio/all/test_package/conanfile.py +++ b/recipes/mio/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mio/all/test_v1_package/CMakeLists.txt b/recipes/mio/all/test_v1_package/CMakeLists.txt index 84deeaa812c31..b21cc49efde95 100644 --- a/recipes/mio/all/test_v1_package/CMakeLists.txt +++ b/recipes/mio/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mio REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mio::mio) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/mio/config.yml b/recipes/mio/config.yml index ce9e92b9275c8..023d02b706f66 100644 --- a/recipes/mio/config.yml +++ b/recipes/mio/config.yml @@ -1,5 +1,5 @@ versions: - "cci.20201220": - folder: all "cci.20230303": folder: all + "cci.20201220": + folder: all From 589a045982995c3c408927e0a03823d1782930d8 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 06:57:40 +0900 Subject: [PATCH 0319/1307] (#21527) xsimd: add version 12.0.0 --- recipes/xsimd/all/conandata.yml | 3 +++ recipes/xsimd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index 08fff036a5b79..b536c5e9c148f 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.0.0": + url: "https://github.com/xtensor-stack/xsimd/archive/12.0.0.tar.gz" + sha256: "6f156ec9bcc602d2581ef023ef0e927e3759c30cf1405028210e8c103a4f846d" "11.2.0": url: "https://github.com/xtensor-stack/xsimd/archive/11.2.0.tar.gz" sha256: "509bbfe12e78ee1a0e81711019e7c7a372dabcff566dbf15b95cc94339443242" diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index 7fbfea9297599..77e2aa7fb0ba8 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "12.0.0": + folder: all "11.2.0": folder: all "11.1.0": From 569ff70f8bace05a0970aee1d7925f5656842db8 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 07:17:42 +0900 Subject: [PATCH 0320/1307] (#21528) simdjson: add version 3.6.1 --- recipes/simdjson/all/conandata.yml | 3 +++ recipes/simdjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index 8afd1c08b02ab..3f7b97847e169 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.1": + url: "https://github.com/simdjson/simdjson/archive/v3.6.1.tar.gz" + sha256: "76601d1701232a212b62d25d3a6518219b2504ff84e8073c6df7393b2ead3176" "3.6.0": url: "https://github.com/simdjson/simdjson/archive/v3.6.0.tar.gz" sha256: "9eab3197231382b8b99d14d8ca647d6ab6bea1b40008df086d25e6f687309bf6" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index 7c6ab96d71b1b..c4ccbb7735a04 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.1": + folder: all "3.6.0": folder: all "3.5.0": From 2ca9a8e1d1f4b5409418b077377d00f442a8cfd1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 3 Dec 2023 12:30:41 +0100 Subject: [PATCH 0321/1307] (#21498) json_dto: add package_type + add test package for conan v2 * add package_type * add test package for conan v2 * sort versions by desc order * change class name * remove transitive_headers of requirements since it's implicit for header-only recipes --- recipes/json_dto/all/conandata.yml | 38 +++++++++---------- recipes/json_dto/all/conanfile.py | 7 ++-- .../json_dto/all/test_package/CMakeLists.txt | 13 +++---- .../json_dto/all/test_package/conanfile.py | 23 +++++++---- .../{example.cpp => test_package.cpp} | 0 .../all/test_v1_package/CMakeLists.txt | 8 ++++ .../json_dto/all/test_v1_package/conanfile.py | 17 +++++++++ recipes/json_dto/config.yml | 12 +++--- 8 files changed, 75 insertions(+), 43 deletions(-) rename recipes/json_dto/all/test_package/{example.cpp => test_package.cpp} (100%) create mode 100644 recipes/json_dto/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/json_dto/all/test_v1_package/conanfile.py diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml index 3d6e5b35876d7..48460b81acb17 100644 --- a/recipes/json_dto/all/conandata.yml +++ b/recipes/json_dto/all/conandata.yml @@ -1,22 +1,22 @@ sources: - "0.2.11": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.11.tar.gz" - sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" - "0.2.12": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.12.tar.gz" - sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" - "0.2.13": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.13.tar.gz" - sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" - "0.2.14": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.14.tar.gz" - sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" - "0.2.15": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.2.15.tar.gz" - sha256: "d7631d21785ddddc81b2fe04a7998d0d49323c2224168568cb80cc32093da3ac" - "0.3.0": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.3.0.tar.gz" - sha256: "cd497c9ee5556c45aaa3402a23ab935e6a90c1e62076562efd0708d1ec8f4c30" "0.3.1": - url: "https://github.com/Stiffstream/json_dto/archive/v.0.3.1.tar.gz" + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.1.tar.gz" sha256: "515a2d1510d3d8f8b240eb2149f44aeb47a70d26a7071609cca45c0ee198d1d1" + "0.3.0": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.0.tar.gz" + sha256: "cd497c9ee5556c45aaa3402a23ab935e6a90c1e62076562efd0708d1ec8f4c30" + "0.2.15": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.15.tar.gz" + sha256: "d7631d21785ddddc81b2fe04a7998d0d49323c2224168568cb80cc32093da3ac" + "0.2.14": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.14.tar.gz" + sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" + "0.2.13": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.13.tar.gz" + sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" + "0.2.12": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.12.tar.gz" + sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" + "0.2.11": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.11.tar.gz" + sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" diff --git a/recipes/json_dto/all/conanfile.py b/recipes/json_dto/all/conanfile.py index 44aa1adf3256a..59d836f777070 100644 --- a/recipes/json_dto/all/conanfile.py +++ b/recipes/json_dto/all/conanfile.py @@ -10,13 +10,14 @@ required_conan_version = ">=1.52.0" -class PackageConan(ConanFile): +class JsonDtoConan(ConanFile): name = "json_dto" license = "BSD-3-Clause" homepage = "https://github.com/Stiffstream/json_dto" url = "https://github.com/conan-io/conan-center-index" description = "A small header-only helper for converting data between json representation and c++ structs" topics = ("json", "dto", "serialization") + package_type = "header-library" settings = "os", "compiler", "build_type", "arch" no_copy_source = True @@ -38,7 +39,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rapidjson/1.1.0", transitive_headers=True) + self.requires("rapidjson/1.1.0") def package_id(self): self.info.clear() @@ -53,7 +54,7 @@ def validate(self): ) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/json_dto/all/test_package/CMakeLists.txt b/recipes/json_dto/all/test_package/CMakeLists.txt index 45401a5b844ae..b20143685a5e9 100644 --- a/recipes/json_dto/all/test_package/CMakeLists.txt +++ b/recipes/json_dto/all/test_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest CXX) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(json-dto REQUIRED CONFIG) -add_executable(example example.cpp) -target_link_libraries(example json-dto::json-dto) -set_property(TARGET example PROPERTY CXX_STANDARD 14) +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE json-dto::json-dto) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/json_dto/all/test_package/conanfile.py b/recipes/json_dto/all/test_package/conanfile.py index 21d7adcc4bb1c..81d4d29e64c73 100644 --- a/recipes/json_dto/all/test_package/conanfile.py +++ b/recipes/json_dto/all/test_package/conanfile.py @@ -1,11 +1,20 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout -class JsondtoTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -13,6 +22,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/json_dto/all/test_package/example.cpp b/recipes/json_dto/all/test_package/test_package.cpp similarity index 100% rename from recipes/json_dto/all/test_package/example.cpp rename to recipes/json_dto/all/test_package/test_package.cpp diff --git a/recipes/json_dto/all/test_v1_package/CMakeLists.txt b/recipes/json_dto/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/json_dto/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/json_dto/all/test_v1_package/conanfile.py b/recipes/json_dto/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/json_dto/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml index 464caddcd4136..87de86e844c69 100644 --- a/recipes/json_dto/config.yml +++ b/recipes/json_dto/config.yml @@ -1,15 +1,15 @@ versions: - "0.2.11": + "0.3.1": folder: all - "0.2.12": + "0.3.0": folder: all - "0.2.13": + "0.2.15": folder: all "0.2.14": folder: all - "0.2.15": + "0.2.13": folder: all - "0.3.0": + "0.2.12": folder: all - "0.3.1": + "0.2.11": folder: all From 61f59735f719ac75f32807811a58bdfd1109033c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 3 Dec 2023 12:47:54 +0100 Subject: [PATCH 0322/1307] (#21524) raylib: fix build with mingw * fix build with mingw * try to define GLFW_NATIVE_INCLUDE_NONE * backport upstream patch for win32 with external glfw --- recipes/raylib/all/conandata.yml | 8 ++++++++ .../3.5.0-0001-enable-cmake-build-android.patch | 9 --------- .../all/patches/3.5.0-0003-win32-glfw3native.patch | 14 ++++++++++++++ .../4.0.0-0001-enable-cmake-build-android.patch | 13 ------------- .../all/patches/4.0.0-0002-win32-glfw3native.patch | 14 ++++++++++++++ 5 files changed, 36 insertions(+), 22 deletions(-) create mode 100644 recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch create mode 100644 recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 8757de8ae9e8a..03de4ecb0f5c2 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -8,6 +8,14 @@ sources: patches: "4.0.0": - patch_file: "patches/4.0.0-0001-enable-cmake-build-android.patch" + - patch_file: "patches/4.0.0-0002-win32-glfw3native.patch" + patch_description: "Win32: resolve some symbols re-definition of windows.h in glfw3native.h" + patch_type: "portability" + patch_source: "https://github.com/raysan5/raylib/pull/2643" "3.5.0": - patch_file: "patches/3.5.0-0001-enable-cmake-build-android.patch" - patch_file: "patches/3.5.0-0002-cmake-project.patch" + - patch_file: "patches/3.5.0-0003-win32-glfw3native.patch" + patch_description: "Win32: resolve some symbols re-definition of windows.h in glfw3native.h" + patch_type: "portability" + patch_source: "https://github.com/raysan5/raylib/pull/2643" diff --git a/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch index 41d8a0a51669a..18b6559a6f285 100644 --- a/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch +++ b/recipes/raylib/all/patches/3.5.0-0001-enable-cmake-build-android.patch @@ -15,15 +15,6 @@ diff --git a/src/core.c b/src/core.c index e6d27e5f..fb7014b0 100644 --- a/src/core.c +++ b/src/core.c -@@ -186,7 +186,7 @@ - - // Support retrieving native window handlers - #if defined(_WIN32) -- #define GLFW_EXPOSE_NATIVE_WIN32 -+ - #include // WARNING: It requires customization to avoid windows.h inclusion! - - #if !defined(SUPPORT_BUSY_WAIT_LOOP) @@ -3346,10 +3346,12 @@ static bool InitGraphicsDevice(int width, int height) glfwSwapInterval(0); // No V-Sync by default #endif diff --git a/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch b/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch new file mode 100644 index 0000000000000..d302d880e5990 --- /dev/null +++ b/recipes/raylib/all/patches/3.5.0-0003-win32-glfw3native.patch @@ -0,0 +1,14 @@ +--- a/src/core.c ++++ b/src/core.c +@@ -186,7 +186,11 @@ + + // Support retrieving native window handlers + #if defined(_WIN32) ++ typedef void *PVOID; ++ typedef PVOID HANDLE; ++ typedef HANDLE HWND; + #define GLFW_EXPOSE_NATIVE_WIN32 ++ #define GLFW_NATIVE_INCLUDE_NONE // To avoid some symbols re-definition in windows.h + #include // WARNING: It requires customization to avoid windows.h inclusion! + + #if !defined(SUPPORT_BUSY_WAIT_LOOP) diff --git a/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch index 6b4ff9b463c46..4ff586ccfe20d 100644 --- a/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch +++ b/recipes/raylib/all/patches/4.0.0-0001-enable-cmake-build-android.patch @@ -11,16 +11,3 @@ index c156d6b3..608fe531 100644 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate") find_library(OPENGL_LIBRARY OpenGL) -diff --git a/src/rcore.c b/src/rcore.c -index 3b451552..d7e58c1c 100644 ---- a/src/rcore.c -+++ b/src/rcore.c -@@ -196,7 +196,7 @@ - - // Support retrieving native window handlers - #if defined(_WIN32) -- #define GLFW_EXPOSE_NATIVE_WIN32 -+ - #include "GLFW/glfw3native.h" // WARNING: It requires customization to avoid windows.h inclusion! - - #if defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) diff --git a/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch b/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch new file mode 100644 index 0000000000000..292c7cf7b3f37 --- /dev/null +++ b/recipes/raylib/all/patches/4.0.0-0002-win32-glfw3native.patch @@ -0,0 +1,14 @@ +--- a/src/rcore.c ++++ b/src/rcore.c +@@ -196,7 +196,11 @@ + + // Support retrieving native window handlers + #if defined(_WIN32) ++ typedef void *PVOID; ++ typedef PVOID HANDLE; ++ typedef HANDLE HWND; + #define GLFW_EXPOSE_NATIVE_WIN32 ++ #define GLFW_NATIVE_INCLUDE_NONE // To avoid some symbols re-definition in windows.h + #include "GLFW/glfw3native.h" // WARNING: It requires customization to avoid windows.h inclusion! + + #if defined(SUPPORT_WINMM_HIGHRES_TIMER) && !defined(SUPPORT_BUSY_WAIT_LOOP) From 9fa27af55ab28b73f7a00ee8f4e9b0a93004258f Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:07:57 +0900 Subject: [PATCH 0323/1307] (#21529) strong_type: add version v13 --- recipes/strong_type/all/conandata.yml | 3 +++ recipes/strong_type/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/strong_type/all/conandata.yml b/recipes/strong_type/all/conandata.yml index 1b5da1a4d1c20..6f362b86eb346 100644 --- a/recipes/strong_type/all/conandata.yml +++ b/recipes/strong_type/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "v13": + url: "https://github.com/rollbear/strong_type/archive/refs/tags/v13.tar.gz" + sha256: "96a799dff6ed8d83040703c6f79162fc5ddf13d1aea4e56ce456736a30e07c5a" "v12": url: "https://github.com/rollbear/strong_type/archive/refs/tags/v12.tar.gz" sha256: "8af0400c7ae76c7ec8646e929bacb37fc7fcae33e54eeaa61fa9f9df508a9248" diff --git a/recipes/strong_type/config.yml b/recipes/strong_type/config.yml index 3fcbeb72e7dd9..cf589fbd0a896 100644 --- a/recipes/strong_type/config.yml +++ b/recipes/strong_type/config.yml @@ -1,4 +1,6 @@ versions: + "v13": + folder: all "v12": folder: all "v11": From fa88d250d0c87e9a40dd130f3c318d16f7344123 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:27:40 +0900 Subject: [PATCH 0324/1307] (#21549) glaze: add version 1.8.4 --- recipes/glaze/all/conandata.yml | 4 ++++ recipes/glaze/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 413146e306cd6..b542b9d9e6886 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,8 @@ sources: + "1.8.4": + url: "https://github.com/stephenberry/glaze/archive/v1.8.4.tar.gz" + sha256: "794f68d74264ebd4d26c9e1b2a9098134622751a089a45ed5a97d90e58b7d9e6" + "1.8.3": url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 807437035ff2a..5971823a629d4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.4": + folder: all "1.8.3": folder: all "1.8.2": From 1be82b30f89ed9e01c2b3eeaa73afbe8ba7dffdf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 21:47:37 +0900 Subject: [PATCH 0325/1307] (#21550) jsoncons: add version 0.172.1 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 4ac7b31b02bf9..612bdd0c9980f 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.172.1": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.1.tar.gz" + sha256: "710ac7656373a118cee4ad10ecb2225d331ca5b4706a4add3a2b482b7fceef1f" "0.172.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.0.tar.gz" sha256: "a0b9f8c9afcfc30993bc9122a659e3790351b621c354e5dee09dd7c53665df14" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index b73a3c682c9d1..d03c26c731d88 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.172.1": + folder: "all" "0.172.0": folder: "all" "0.171.1": From 872725d1692f12090dc17a3426637244550befe1 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 22:07:41 +0900 Subject: [PATCH 0326/1307] (#21551) tinydir: add version 1.2.6 --- recipes/tinydir/all/conandata.yml | 3 +++ recipes/tinydir/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinydir/all/conandata.yml b/recipes/tinydir/all/conandata.yml index 16d1524b1696f..b8405fd5f1756 100644 --- a/recipes/tinydir/all/conandata.yml +++ b/recipes/tinydir/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.6": + url: "https://github.com/cxong/tinydir/archive/refs/tags/1.2.6.tar.gz" + sha256: "1ecbdf8d04b079f8a9404662708d2333d6b72b956effb0d5296d063db3a02b4e" "1.2.5": url: "https://github.com/cxong/tinydir/archive/refs/tags/1.2.5.tar.gz" sha256: "7ab150a16fa78ea76e9fd58ef88922c03eca2334c023b8d9bc94755fdde522c7" diff --git a/recipes/tinydir/config.yml b/recipes/tinydir/config.yml index 712ebbf8b5754..065b272032773 100644 --- a/recipes/tinydir/config.yml +++ b/recipes/tinydir/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.6": + folder: "all" "1.2.5": folder: "all" "1.2.4": From 055237bb0abef87f7eda663909e1dc82ed2d3310 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 3 Dec 2023 23:47:52 +0900 Subject: [PATCH 0327/1307] (#21552) c-blosc2: add version 2.11.3 --- recipes/c-blosc2/all/conandata.yml | 7 +++++++ recipes/c-blosc2/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 22390332df6d5..0708127cd17a6 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11.3": + url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz" + sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037" "2.11.2": url: "https://github.com/Blosc/c-blosc2/archive/v2.11.2.tar.gz" sha256: "4a508362653468d8948762886c6b24e6bafb70e02709aa31284c0ff9db62b83d" @@ -27,6 +30,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" patches: + "2.11.3": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.11.2": - patch_file: "patches/2.11.1-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 74736080601ac..217462db7de18 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.11.3": + folder: all "2.11.2": folder: all "2.11.1": From 111ea906b01f4c50ae7b523d566247b0112999b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Sun, 3 Dec 2023 17:04:05 +0100 Subject: [PATCH 0328/1307] (#21537) re2: Bump deps to fix conflicts --- recipes/re2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/re2/all/conanfile.py b/recipes/re2/all/conanfile.py index b0f960a2c6e3c..8d2e83b161ad9 100644 --- a/recipes/re2/all/conanfile.py +++ b/recipes/re2/all/conanfile.py @@ -62,7 +62,7 @@ def requirements(self): if self.options.get_safe("with_icu"): self.requires("icu/73.2") if Version(self.version) >= "20230601": - self.requires("abseil/20230125.3", transitive_headers=True) + self.requires("abseil/20230802.1", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From b60786d5105e04a27af01d75ddd9094c417ce731 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 02:33:19 +0900 Subject: [PATCH 0329/1307] (#21555) cpp-jwt: update nlohmann_json/3.11.3 * cpp-jwt: update nlohmann_json/3.11.3 * json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * revert invalid commit * add empty line --- recipes/cpp-jwt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-jwt/all/conanfile.py b/recipes/cpp-jwt/all/conanfile.py index 71a7e1defc3e4..0fc99db4a9b5a 100644 --- a/recipes/cpp-jwt/all/conanfile.py +++ b/recipes/cpp-jwt/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("openssl/[>=1.1 <4]") def package_id(self): From de919269eabec1a70c208546b5f944ff6e497817 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sun, 3 Dec 2023 20:01:17 +0100 Subject: [PATCH 0330/1307] (#21553) harfbuzz: fix frameworks used in package_info Apple frameworks are only used when `with_coretext=True`. On macOS, harfbuzz links against the ApplicationServices framework. For other OS, it links against CoreFoundation, CoreGraphics & CoreText frameworks. --- recipes/harfbuzz/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/harfbuzz/all/conanfile.py b/recipes/harfbuzz/all/conanfile.py index ea4c431577332..7904abea985f6 100644 --- a/recipes/harfbuzz/all/conanfile.py +++ b/recipes/harfbuzz/all/conanfile.py @@ -197,8 +197,11 @@ def package_info(self): self.cpp_info.system_libs.append("usp10") if self.options.with_directwrite: self.cpp_info.system_libs.append("dwrite") - if is_apple_os(self): - self.cpp_info.frameworks.extend(["CoreFoundation", "CoreGraphics", "CoreText", "ApplicationServices"]) + if is_apple_os(self) and self.options.get_safe("with_coretext", False): + if self.settings.os == "Macos": + self.cpp_info.frameworks.append("ApplicationServices") + else: + self.cpp_info.frameworks.extend(["CoreFoundation", "CoreGraphics", "CoreText"]) if not self.options.shared: libcxx = stdcpp_library(self) if libcxx: From 674da5c10a1d40f6233bbbab6abfa6f7e4a6679d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 06:03:08 +0900 Subject: [PATCH 0331/1307] (#21559) skyr-url: update nlohmann_json --- recipes/skyr-url/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/skyr-url/all/conanfile.py b/recipes/skyr-url/all/conanfile.py index 11f0da24114c2..86286a2a911c0 100644 --- a/recipes/skyr-url/all/conanfile.py +++ b/recipes/skyr-url/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("tl-expected/1.1.0", transitive_headers=True) self.requires("range-v3/0.12.0", transitive_headers=True) if self.options.with_json: - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 579e20f6427858ecdee27c7fb4492a0310910485 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Dec 2023 06:12:23 +0900 Subject: [PATCH 0332/1307] (#21560) xtensor: update dependencies --- recipes/xtensor/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/xtensor/all/conanfile.py b/recipes/xtensor/all/conanfile.py index 91b15e6e0415a..892b72ea17486 100644 --- a/recipes/xtensor/all/conanfile.py +++ b/recipes/xtensor/all/conanfile.py @@ -52,12 +52,12 @@ def layout(self): def requirements(self): self.requires("xtl/0.7.5") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") if self.options.xsimd: if Version(self.version) < "0.24.0": self.requires("xsimd/7.5.0") else: - self.requires("xsimd/11.1.0") + self.requires("xsimd/12.0.0") if self.options.tbb: self.requires("onetbb/2021.10.0") From 787d2a0b7545fffdb27d2f661302f2332309320b Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Dec 2023 01:19:09 +0100 Subject: [PATCH 0333/1307] (#21578) minizip-ng: Update xz_utils requirements --- recipes/minizip-ng/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/minizip-ng/all/conanfile.py b/recipes/minizip-ng/all/conanfile.py index 299908786c8dc..01cfddc75128c 100644 --- a/recipes/minizip-ng/all/conanfile.py +++ b/recipes/minizip-ng/all/conanfile.py @@ -83,7 +83,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_openssl: From b0233c574f50c2fad566084f885fcddb15dbe013 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Mon, 4 Dec 2023 10:19:01 +0300 Subject: [PATCH 0334/1307] (#21531) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 794fbb3011f17..5afd49cb17918 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.2.tar.gz" + sha256: "0a89854d639a3710ab89611333fd1a1047cd5edc87ba767fbefdc37e701ae671" "2.3.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.1.tar.gz" sha256: "7126ecc34f9808943b76b05106ebd42ef01b7b812416efc2382de68a13804d01" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 1875f7359c680..baed679ffd429 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.2": + folder: all "2.3.1": folder: all "2.3.0": From 965ce89bcb3830f4e1993e4f1dd83493d5faf19a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Mon, 4 Dec 2023 10:39:46 +0100 Subject: [PATCH 0335/1307] (#21544) onetbb: Fix hwloc shared detection after changes to that recipe --- recipes/onetbb/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 6fafa4d81ece1..1651c9800e6fd 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -94,7 +94,8 @@ def validate(self): if self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "11.0": raise ConanInvalidConfiguration(f"{self.ref} couldn't be built by apple-clang < 11.0") - if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.shared: + # Old versions used to have shared option before hwloc dependency was moved to shared only + if self._tbbbind_explicit_hwloc and not self.dependencies["hwloc"].options.get_safe("shared", True): raise ConanInvalidConfiguration(f"{self.ref} requires hwloc:shared=True to be built.") def build_requirements(self): From 162359bfa9c12d7e03488095068b89a934b5dcb7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 12:14:54 +0100 Subject: [PATCH 0336/1307] (#21506) mapbox-geometry: add package_type --- recipes/mapbox-geometry/all/conanfile.py | 8 ++++---- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/recipes/mapbox-geometry/all/conanfile.py b/recipes/mapbox-geometry/all/conanfile.py index 9edf42d2b8db1..38350b712a514 100644 --- a/recipes/mapbox-geometry/all/conanfile.py +++ b/recipes/mapbox-geometry/all/conanfile.py @@ -13,10 +13,11 @@ class MapboxGeometryConan(ConanFile): "Provides header-only, generic C++ interfaces for geometry types, " "geometry collections, and features." ) - topics = ("geometry") + topics = ("geometry",) license = "ISC" homepage = "https://github.com/mapbox/geometry.hpp" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -24,7 +25,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("mapbox-variant/1.2.0", transitive_headers=True) + self.requires("mapbox-variant/1.2.0") def package_id(self): self.info.clear() @@ -34,8 +35,7 @@ def validate(self): check_min_cppstd(self, 14) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt index e4046b86f9232..b21cc49efde95 100644 --- a/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt +++ b/recipes/mapbox-geometry/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mapbox-geometry REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mapbox-geometry::mapbox-geometry) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 4524ed66f2f324533941b9ee0c4fda1d86d890e4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 4 Dec 2023 15:37:12 +0200 Subject: [PATCH 0337/1307] (#18759) lightgbm: migrate to Conan v2, add v4.0.0 * lightgbm: migrate to Conan v2, add v4.0.0 * lightgbm: enable llvm-openmp * lightgbm: bump version * lightgbm: unvendor Eigen fully * lightgbm: bump llvm-openmp, export OpenMP flags correctly * lightgbm: restore patches for the Clang OpenMP support fix * lightgbm: simplify patching * lightgbm: add -fopenmp to linker flags * lightgbm: disable openmp on apple-clang for Conan v1 --- recipes/lightgbm/all/CMakeLists.txt | 23 +++- recipes/lightgbm/all/conandata.yml | 29 +++-- recipes/lightgbm/all/conanfile.py | 112 +++++++++++------- .../all/patches/0001-fix-includes.patch | 16 --- ...atch => 3.3.2-0001-fix-openmp-clang.patch} | 0 ...atch => 3.3.5-0001-fix-openmp-clang.patch} | 0 .../patches/4.1.0-0001-fix-openmp-clang.patch | 11 ++ .../lightgbm/all/test_package/CMakeLists.txt | 9 +- .../lightgbm/all/test_package/conanfile.py | 23 ++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../lightgbm/all/test_v1_package/conanfile.py | 17 +++ recipes/lightgbm/config.yml | 4 +- 12 files changed, 163 insertions(+), 89 deletions(-) delete mode 100644 recipes/lightgbm/all/patches/0001-fix-includes.patch rename recipes/lightgbm/all/patches/{0002-fix-openmp-clang.patch => 3.3.2-0001-fix-openmp-clang.patch} (100%) rename recipes/lightgbm/all/patches/{0003-fix-openmp-clang.patch => 3.3.5-0001-fix-openmp-clang.patch} (100%) create mode 100644 recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch create mode 100644 recipes/lightgbm/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/lightgbm/all/test_v1_package/conanfile.py diff --git a/recipes/lightgbm/all/CMakeLists.txt b/recipes/lightgbm/all/CMakeLists.txt index 61f3d3b039e2b..d250cd86d5991 100644 --- a/recipes/lightgbm/all/CMakeLists.txt +++ b/recipes/lightgbm/all/CMakeLists.txt @@ -1,7 +1,20 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper LANGUAGES CXX) -include(conanbuildinfo.cmake) -conan_basic_setup(KEEP_RPATHS) +find_package(Eigen3 REQUIRED CONFIG) +find_package(fast_double_parser REQUIRED CONFIG) +find_package(fmt REQUIRED CONFIG) -add_subdirectory("source_subfolder") +add_subdirectory(src) + +if(_MAJOR_VERSION GREATER_EQUAL 4) + set(TARGETS lightgbm_objs lightgbm_capi_objs) + set(VISIBILITY PRIVATE) +else() + set(TARGETS lightgbm _lightgbm) + set(VISIBILITY "") +endif() + +foreach(target ${TARGETS}) + target_link_libraries(${target} ${VISIBILITY} Eigen3::Eigen fast_double_parser::fast_double_parser fmt::fmt) +endforeach() diff --git a/recipes/lightgbm/all/conandata.yml b/recipes/lightgbm/all/conandata.yml index 2fac2e54523aa..5c29f9403b5ce 100644 --- a/recipes/lightgbm/all/conandata.yml +++ b/recipes/lightgbm/all/conandata.yml @@ -1,18 +1,23 @@ sources: - "3.3.2": - url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.2.tar.gz" - sha256: "d7c0f842e94165578d5a0c046ca942838d1574149f98c84400ce511239d17b9f" + "4.1.0": + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.1.0.tar.gz" + sha256: "eb896dc21c7afec95d10327777f6e77163b5bcd35f6ce5d152e6feefbe3328a5" "3.3.5": url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.5.tar.gz" sha256: "16fb9e299ced37be5ac69dd510e7323337e623019c9c578628c43b285f764be7" -patches: "3.3.2": - - patch_file: "patches/0001-fix-includes.patch" - base_path: "source_subfolder" - - patch_file: "patches/0002-fix-openmp-clang.patch" - base_path: "source_subfolder" + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v3.3.2.tar.gz" + sha256: "d7c0f842e94165578d5a0c046ca942838d1574149f98c84400ce511239d17b9f" +patches: + "4.1.0": + - patch_file: "patches/4.1.0-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" "3.3.5": - - patch_file: "patches/0001-fix-includes.patch" - base_path: "source_subfolder" - - patch_file: "patches/0003-fix-openmp-clang.patch" - base_path: "source_subfolder" + - patch_file: "patches/3.3.5-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" + "3.3.2": + - patch_file: "patches/3.3.2-0001-fix-openmp-clang.patch" + patch_type: "portability" + patch_description: "Fix OpenMP support for Clang" diff --git a/recipes/lightgbm/all/conanfile.py b/recipes/lightgbm/all/conanfile.py index d00e21c352364..cae89a9218102 100644 --- a/recipes/lightgbm/all/conanfile.py +++ b/recipes/lightgbm/all/conanfile.py @@ -1,82 +1,107 @@ -from conans import CMake, ConanFile, tools +import os + +from conan import ConanFile, conan_version +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, replace_in_file, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc -import functools +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class LightGBMConan(ConanFile): name = "lightgbm" - description = "A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks." - topics = ("machine-learning", "boosting") + description = ( + "A fast, distributed, high performance gradient boosting " + "(GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, " + "used for ranking, classification and many other machine learning tasks." + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/microsoft/LightGBM" - license = "MIT" + topics = ("machine-learning", "boosting") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake", "cmake_find_package" options = { "shared": [True, False], "fPIC": [True, False], - "with_openmp": [True, False] + "with_openmp": [True, False], } default_options = { "shared": False, "fPIC": True, - "with_openmp": True + "with_openmp": True, } - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if conan_version.major == 1 and self.settings.compiler == "apple-clang": + # https://github.com/conan-io/conan-center-index/pull/18759#issuecomment-1817470331 + del self.options.with_openmp def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): self.requires("eigen/3.4.0") - self.requires("fast_double_parser/0.6.0") - self.requires("fmt/9.0.0") - if self.options.with_openmp and self.settings.compiler in ("clang", "apple-clang"): - self.requires("llvm-openmp/11.1.0") + self.requires("fast_double_parser/0.7.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.1.1", transitive_headers=True, transitive_libs=True) + if self.options.get_safe("with_openmp") and self.settings.compiler in ["clang", "apple-clang"]: + self.requires("llvm-openmp/17.0.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_STATIC_LIB"] = not self.options.shared + tc.cache_variables["USE_DEBUG"] = self.settings.build_type in ["Debug", "RelWithDebInfo"] + tc.cache_variables["USE_OPENMP"] = self.options.get_safe("with_openmp", False) + tc.cache_variables["BUILD_CLI"] = False + if is_apple_os(self): + tc.cache_variables["APPLE_OUTPUT_DYLIB"] = True + tc.variables["_MAJOR_VERSION"] = Version(self.version).major + tc.generate() + tc = CMakeDeps(self) + tc.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["BUILD_STATIC_LIB"] = not self.options.shared - cmake.definitions["USE_DEBUG"] = self.settings.build_type == "Debug" - cmake.definitions["USE_OPENMP"] = self.options.with_openmp - if self.settings.os == "Macos": - cmake.definitions["APPLE_OUTPUT_DYLIB"] = True - cmake.configure() - return cmake + apply_conandata_patches(self) + # Fix vendored dependency includes + common_h = os.path.join(self.source_folder, "include", "LightGBM", "utils", "common.h") + for lib in ["fmt", "fast_double_parser"]: + replace_in_file(self, common_h, f"../../../external_libs/{lib}/include/", "") + # Unvendor Eigen3 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "include_directories(${EIGEN_DIR})", "") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): @@ -90,16 +115,19 @@ def package_info(self): self.cpp_info.libs = ["lib_lightgbm"] if is_msvc(self) else ["_lightgbm"] if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["ws2_32", "iphlpapi"]) - elif self.settings.os == "Linux": + elif self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("pthread") - if not self.options.shared and self.options.with_openmp: + + # OpenMP preprocessor directives are used in a number of public headers, such as: + # https://github.com/microsoft/LightGBM/blob/master/include/LightGBM/tree.h#L188 + if self.options.get_safe("with_openmp"): + openmp_flags = [] if is_msvc(self): openmp_flags = ["-openmp"] elif self.settings.compiler == "gcc": openmp_flags = ["-fopenmp"] - elif self.settings.compiler in ("clang", "apple-clang"): + elif self.settings.compiler in ["clang", "apple-clang"]: openmp_flags = ["-Xpreprocessor", "-fopenmp"] - else: - openmp_flags = [] + self.cpp_info.cxxflags.extend(openmp_flags) self.cpp_info.exelinkflags.extend(openmp_flags) self.cpp_info.sharedlinkflags.extend(openmp_flags) diff --git a/recipes/lightgbm/all/patches/0001-fix-includes.patch b/recipes/lightgbm/all/patches/0001-fix-includes.patch deleted file mode 100644 index 13fa0fe43a998..0000000000000 --- a/recipes/lightgbm/all/patches/0001-fix-includes.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/include/LightGBM/utils/common.h b/include/LightGBM/utils/common.h -index af981062..097f20d4 100644 ---- a/include/LightGBM/utils/common.h -+++ b/include/LightGBM/utils/common.h -@@ -33,9 +33,9 @@ - - #if (!((defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__)))) - #define FMT_HEADER_ONLY --#include "../../../external_libs/fmt/include/fmt/format.h" -+#include - #endif --#include "../../../external_libs/fast_double_parser/include/fast_double_parser.h" -+#include - - #ifdef _MSC_VER - #include diff --git a/recipes/lightgbm/all/patches/0002-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/3.3.2-0001-fix-openmp-clang.patch similarity index 100% rename from recipes/lightgbm/all/patches/0002-fix-openmp-clang.patch rename to recipes/lightgbm/all/patches/3.3.2-0001-fix-openmp-clang.patch diff --git a/recipes/lightgbm/all/patches/0003-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/3.3.5-0001-fix-openmp-clang.patch similarity index 100% rename from recipes/lightgbm/all/patches/0003-fix-openmp-clang.patch rename to recipes/lightgbm/all/patches/3.3.5-0001-fix-openmp-clang.patch diff --git a/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch b/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch new file mode 100644 index 0000000000000..4de5b0a2d1c8e --- /dev/null +++ b/recipes/lightgbm/all/patches/4.1.0-0001-fix-openmp-clang.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -526,7 +526,7 @@ + endif() + + if(USE_OPENMP) +- if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") ++ if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang|AppleClang") + target_link_libraries(lightgbm_objs PUBLIC OpenMP::OpenMP_CXX) + # c_api headers also includes OpenMP headers, thus compiling + # lightgbm_capi_objs needs include directory for OpenMP. diff --git a/recipes/lightgbm/all/test_package/CMakeLists.txt b/recipes/lightgbm/all/test_package/CMakeLists.txt index 12b8a397ff5d3..1fc3dbaef1eaa 100644 --- a/recipes/lightgbm/all/test_package/CMakeLists.txt +++ b/recipes/lightgbm/all/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup(TARGETS) - -find_package(LightGBM CONFIG REQUIRED) +find_package(LightGBM REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} LightGBM::LightGBM) diff --git a/recipes/lightgbm/all/test_package/conanfile.py b/recipes/lightgbm/all/test_package/conanfile.py index 746d011e4501a..ef5d7042163ec 100644 --- a/recipes/lightgbm/all/test_package/conanfile.py +++ b/recipes/lightgbm/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class LightGBMTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/lightgbm/all/test_v1_package/CMakeLists.txt b/recipes/lightgbm/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/lightgbm/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/lightgbm/all/test_v1_package/conanfile.py b/recipes/lightgbm/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..746d011e4501a --- /dev/null +++ b/recipes/lightgbm/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class LightGBMTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/lightgbm/config.yml b/recipes/lightgbm/config.yml index 185a3ba9f96e0..eba2ef0bbf4fd 100644 --- a/recipes/lightgbm/config.yml +++ b/recipes/lightgbm/config.yml @@ -1,5 +1,7 @@ versions: - "3.3.2": + "4.1.0": folder: all "3.3.5": folder: all + "3.3.2": + folder: all From 55836f6713c285f4ddfc678f8e3c9ced98b20671 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 16:12:41 +0100 Subject: [PATCH 0338/1307] (#21505) lyra: add package_type --- recipes/lyra/all/conanfile.py | 39 ++++++++++---------- recipes/lyra/all/test_package/CMakeLists.txt | 8 ++-- recipes/lyra/all/test_package/conanfile.py | 12 +++--- 3 files changed, 29 insertions(+), 30 deletions(-) diff --git a/recipes/lyra/all/conanfile.py b/recipes/lyra/all/conanfile.py index 676ec9b46357a..c094e45b8f49c 100644 --- a/recipes/lyra/all/conanfile.py +++ b/recipes/lyra/all/conanfile.py @@ -1,8 +1,9 @@ import os + from conan import ConanFile -import conan.tools.files -import conan.tools.layout -import conan.tools.build +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout required_conan_version = ">=1.50.0" @@ -13,33 +14,28 @@ class LyraConan(ConanFile): description = "A simple to use, composing, header only, command line arguments parser for C++ 11 and beyond." topics = ("cli", "cli-parser", "argparse", "commandline", "flags", "header-only", "no-dependencies", "c++11") - no_copy_source = True - settings = "compiler" url = "https://github.com/conan-io/conan-center-index" license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True - def validate(self): - if self.settings.compiler.get_safe("cppstd"): - conan.tools.build.check_min_cppstd(self, 11) + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): self.info.clear() - def layout(self): - conan.tools.layout.basic_layout(self, src_folder="root") + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) def source(self): - conan.tools.files.get( - self, - **self.conan_data["sources"][self.version], - strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - conan.tools.files.copy( - self, "LICENSE.txt", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) - conan.tools.files.copy( + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy( self, "*.h*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) @@ -47,6 +43,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "lyra") self.cpp_info.set_property("cmake_target_name", "bfg::lyra") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.components["_lyra"].set_property( "cmake_target_name", "bfg::lyra") @@ -56,5 +55,5 @@ def package_info(self): self.cpp_info.names["cmake_find_package_multi"] = "bfg" self.cpp_info.components["_lyra"].names["cmake_find_package"] = "lyra" self.cpp_info.components["_lyra"].names["cmake_find_package_multi"] = "lyra" + self.cpp_info.components["_lyra"].bindirs = [] self.cpp_info.components["_lyra"].libdirs = [] - self.cpp_info.libdirs = [] diff --git a/recipes/lyra/all/test_package/CMakeLists.txt b/recipes/lyra/all/test_package/CMakeLists.txt index 294a9afb37677..8b31e74af3444 100644 --- a/recipes/lyra/all/test_package/CMakeLists.txt +++ b/recipes/lyra/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(lyra REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} bfg::lyra) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +target_link_libraries(${PROJECT_NAME} PRIVATE bfg::lyra) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/lyra/all/test_package/conanfile.py b/recipes/lyra/all/test_package/conanfile.py index 0b275b10a2f3c..98ab55852ad56 100644 --- a/recipes/lyra/all/test_package/conanfile.py +++ b/recipes/lyra/all/test_package/conanfile.py @@ -1,26 +1,26 @@ from conan import ConanFile -import conan.tools.build -import conan.tools.cmake +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def layout(self): - conan.tools.cmake.cmake_layout(self) + cmake_layout(self) def requirements(self): self.requires(self.tested_reference_str) def build(self): - cmake = conan.tools.cmake.CMake(self) + cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if conan.tools.build.can_run(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") From 6c1960623205fd02fab31440257eceea46ff7190 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Dec 2023 17:01:55 +0100 Subject: [PATCH 0339/1307] (#21497) libcurl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libcurl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 60998d280ae09..6ad8bd967a379 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -186,7 +186,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.with_c_ares: - self.requires("c-ares/1.22.0") + self.requires("c-ares/1.22.1") if self.options.get_safe("with_libpsl"): self.requires("libpsl/0.21.1") From 815df01a404cba122850028422fb6bb724b3c332 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Dec 2023 18:36:50 +0100 Subject: [PATCH 0340/1307] (#21493) cpr: drop dead code * cpr: drop dead code identfied by https://github.com/conan-io/conan-center-index/issues/21163 * let's go further --- recipes/cpr/all/conanfile.py | 129 ++++++----------------------------- 1 file changed, 20 insertions(+), 109 deletions(-) diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index b285ccfc9ac18..60560152c702a 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -55,43 +55,11 @@ def _compilers_minimum_version(self): }, }.get(self._min_cppstd, {}) - @property - def _supports_openssl(self): - # https://github.com/libcpr/cpr/commit/b036a3279ba62720d1e43362d32202bf412ea152 - # https://github.com/libcpr/cpr/releases/tag/1.5.0 - return Version(self.version) >= "1.5.0" and not is_apple_os(self) - - @property - def _supports_winssl(self): - # https://github.com/libcpr/cpr/commit/18e1fc5c3fc0ffc07695f1d78897fb69e7474ea9 - # https://github.com/libcpr/cpr/releases/tag/1.5.1 - return Version(self.version) >= "1.5.1" and self.settings.os == "Windows" - - @property - def _supports_darwinssl(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.1 - return Version(self.version) >= "1.6.1" and is_apple_os(self) - - @property - def _can_auto_ssl(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.0 - return not self._uses_old_cmake_options and not ( - # https://github.com/libcpr/cpr/issues/546 - Version(self.version) in ["1.6.0", "1.6.1"] - and is_apple_os(self) - ) - - @property - def _uses_old_cmake_options(self): - # https://github.com/libcpr/cpr/releases/tag/1.6.0 - return Version(self.version) < "1.6.0" - @property def _uses_valid_abi_and_compiler(self): # https://github.com/conan-io/conan-center-index/pull/5194#issuecomment-821908385 return not ( - Version(self.version) >= "1.6.0" - and self.settings.compiler == "clang" + self.settings.compiler == "clang" and self.settings.compiler.libcxx == "libstdc++" and Version(self.settings.compiler.version) < "9" ) @@ -103,15 +71,6 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - ssl_library = str(self.options.get_safe("with_ssl")) - if not self._can_auto_ssl and ssl_library == CprConan._AUTO_SSL: - if self._supports_openssl: - self.output.info("Auto SSL is not available below version 1.6.0. Falling back to openssl") - self.options.with_ssl = "openssl" - else: - self.output.info("Auto SSL is not available below version 1.6.0 (or below 1.6.2 on macOS), and openssl not supported. Disabling SSL") - self.options.with_ssl = CprConan._NO_SSL - if Version(self.version) < "1.10.0": del self.options.verbose_logging @@ -130,23 +89,6 @@ def requirements(self): if self.settings.os in ["Linux", "FreeBSD"] and self.options.with_ssl in ["openssl", CprConan._AUTO_SSL]: self.requires("openssl/[>=1.1 <4]") - # Check if the system supports the given ssl library - def _supports_ssl_library(self, library): - if library == CprConan._NO_SSL: - return True - elif library == CprConan._AUTO_SSL: - return self._can_auto_ssl - - validators = { - "openssl": self._supports_openssl, - "darwinssl": self._supports_darwinssl, - "winssl": self._supports_winssl, - CprConan._AUTO_SSL: self._can_auto_ssl - } - - # A KeyError should never happen, as the options are validated by conan. - return validators[library] - def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -156,23 +98,17 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - SSL_FAILURE_MESSAGES = { - "openssl": "OpenSSL is not supported on macOS or on CPR versions < 1.5.0", - "darwinssl": "DarwinSSL is only supported on macOS and on CPR versions >= 1.6.1", - "winssl": "WinSSL is only on Windows and on CPR versions >= 1.5.1", - CprConan._AUTO_SSL: "Automatic SSL selection is only available on CPR versions >= 1.6.0 (and only >= 1.6.2 on macOS)" - } - if not self._uses_valid_abi_and_compiler: raise ConanInvalidConfiguration(f"Cannot compile {self.ref} with libstdc++ on clang < 9") ssl_library = str(self.options.with_ssl) - if not self._supports_ssl_library(ssl_library): - raise ConanInvalidConfiguration( - f"Invalid SSL selection for the given configuration: {SSL_FAILURE_MESSAGES[ssl_library]}" - if ssl_library in SSL_FAILURE_MESSAGES - else f"Invalid value of ssl option, {ssl_library}" - ) + + if ssl_library == "openssl" and is_apple_os(self): + raise ConanInvalidConfiguration("OpenSSL is not supported on macOS") + if ssl_library == "darwinssl" and not is_apple_os(self): + raise ConanInvalidConfiguration("DarwinSSL is only supported on macOS") + if ssl_library == "winssl" and self.settings.os != "Windows": + raise ConanInvalidConfiguration("WinSSL is only on Windows") if ssl_library not in (CprConan._AUTO_SSL, CprConan._NO_SSL, "winssl") and ssl_library != self.dependencies["libcurl"].options.with_ssl: raise ConanInvalidConfiguration( @@ -193,47 +129,22 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _get_cmake_option(self, option): - CPR_1_6_CMAKE_OPTIONS_TO_OLD = { - "CPR_FORCE_USE_SYSTEM_CURL": "USE_SYSTEM_CURL", - "CPR_BUILD_TESTS": "BUILD_CPR_TESTS", - "CPR_BUILD_TESTS_SSL": "BUILD_CPR_TESTS_SSL", - "CPR_GENERATE_COVERAGE": "GENERATE_COVERAGE", - "CPR_USE_SYSTEM_GTEST": "USE_SYSTEM_GTEST", - "CPR_FORCE_OPENSSL_BACKEND": "USE_OPENSSL", - "CPR_FORCE_WINSSL_BACKEND": "USE_WINSSL", - } - - if self._uses_old_cmake_options: - # Get the translated option if we can, or the original if one isn't defined. - return CPR_1_6_CMAKE_OPTIONS_TO_OLD.get(option, option) - - CPR_1_6_CMAKE_OPTIONS_TO_1_10 = { - "CPR_FORCE_USE_SYSTEM_CURL": "CPR_USE_SYSTEM_CURL" - } - - if Version(self.version) >= "1.10.0": - return CPR_1_6_CMAKE_OPTIONS_TO_1_10.get(option, option) - return option - def generate(self): tc = CMakeToolchain(self) - tc.variables[self._get_cmake_option("CPR_FORCE_USE_SYSTEM_CURL")] = True - tc.variables[self._get_cmake_option("CPR_BUILD_TESTS")] = False - tc.variables[self._get_cmake_option("CPR_GENERATE_COVERAGE")] = False - tc.variables[self._get_cmake_option("CPR_USE_SYSTEM_GTEST")] = False + if Version(self.version) >= "1.10.0": + tc.variables["CPR_USE_SYSTEM_CURL"] = True + else: + tc.variables["CPR_FORCE_USE_SYSTEM_CURL"] = True + tc.variables["CPR_BUILD_TESTS"] = False + tc.variables["CPR_GENERATE_COVERAGE"] = False + tc.variables["CPR_USE_SYSTEM_GTEST"] = False tc.variables["CPR_CURL_NOSIGNAL"] = not self.options.signal - ssl_value = str(self.options.get_safe("with_ssl")) - SSL_OPTIONS = { - "CPR_FORCE_DARWINSSL_BACKEND": ssl_value == "darwinssl", - "CPR_FORCE_OPENSSL_BACKEND": ssl_value == "openssl", - "CPR_FORCE_WINSSL_BACKEND": ssl_value == "winssl", - "CMAKE_USE_OPENSSL": ssl_value == "openssl" - } - for cmake_option, value in SSL_OPTIONS.items(): - tc.variables[self._get_cmake_option(cmake_option)] = value + tc.variables["CPR_FORCE_DARWINSSL_BACKEND"] = (self.options.with_ssl == "darwinssl") + tc.variables["CPR_FORCE_OPENSSL_BACKEND"] = (self.options.with_ssl == "openssl") + tc.variables["CPR_FORCE_WINSSL_BACKEND"] = (self.options.with_ssl == "winssl") + tc.variables["CMAKE_USE_OPENSSL"] = (self.options.with_ssl == "openssl") # If we are on a version where disabling SSL requires a cmake option, disable it - if not self._uses_old_cmake_options and str(self.options.get_safe("with_ssl")) == CprConan._NO_SSL: + if self.options.with_ssl == CprConan._NO_SSL: tc.variables["CPR_ENABLE_SSL"] = False if self.options.get_safe("verbose_logging", False): From e6590534067869efe0afe523929000ff7fa28df1 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Dec 2023 19:10:43 +0100 Subject: [PATCH 0341/1307] (#21579) ffmpeg: Update xz_utils requirements --- recipes/ffmpeg/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py index 2547d9542895b..b62169338c0de 100644 --- a/recipes/ffmpeg/all/conanfile.py +++ b/recipes/ffmpeg/all/conanfile.py @@ -261,7 +261,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_libiconv: self.requires("libiconv/1.17") if self.options.with_freetype: From 3add1c1df06805d3f6594dfb5ffc55caf473bd17 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:19:46 +0100 Subject: [PATCH 0342/1307] (#21507) mapbox-variant: add package_type --- recipes/mapbox-variant/all/conanfile.py | 14 ++++++-------- .../mapbox-variant/all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 11 ++++------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/recipes/mapbox-variant/all/conanfile.py b/recipes/mapbox-variant/all/conanfile.py index dd51a969a8f23..e84afc0329042 100644 --- a/recipes/mapbox-variant/all/conanfile.py +++ b/recipes/mapbox-variant/all/conanfile.py @@ -10,13 +10,17 @@ class MapboxVariantConan(ConanFile): name = "mapbox-variant" description = "An header-only alternative to boost::variant for C++11 and C++14" - topics = ("variant") + topics = ("variant",) license = "BSD-3-Clause" homepage = "https://github.com/mapbox/variant" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -24,12 +28,8 @@ def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, 11) - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -40,6 +40,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/mapbox-variant/all/test_package/conanfile.py b/recipes/mapbox-variant/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mapbox-variant/all/test_package/conanfile.py +++ b/recipes/mapbox-variant/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt b/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt index 5f12dfeb0954a..b21cc49efde95 100644 --- a/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt +++ b/recipes/mapbox-variant/all/test_v1_package/CMakeLists.txt @@ -1,11 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(mapbox-variant REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE mapbox-variant::mapbox-variant) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 5c0817efc2dc0c2774c08bd1de6600bc36ce0a34 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 4 Dec 2023 13:32:52 -0500 Subject: [PATCH 0343/1307] (#21574) cpptrace: Add 0.3.1 * Add cpptrace 0.3.1 and patch 0.3.0 * Bump hash --- recipes/cpptrace/all/conandata.yml | 9 +++++++++ .../all/patches/0.3.0/0001-cpptrace_export.patch | 13 +++++++++++++ recipes/cpptrace/config.yml | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index 3cac71ee486fa..d032d0a5a873d 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.3.1": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" + sha256: "3c4c5b3406c2b598e5cd2a8cb97f9e8e1f54d6df087a0e62564e6fb68fed852d" "0.3.0": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.0.tar.gz" @@ -9,6 +13,11 @@ sources: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" patches: + "0.3.0": + - patch_file: "patches/0.3.0/0001-cpptrace_export.patch" + patch_type: "bugfix" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b3b9d5fda6c7f53b069848e7e79454f3618ca356" + patch_description: "Fix an incorrect CPPTRACE_EXPORT annotation" "0.2.1": - patch_file: "patches/0.2.1/0001-to_uintptr.patch" patch_type: "bugfix" diff --git a/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch b/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch new file mode 100644 index 0000000000000..d75b21cd35c7f --- /dev/null +++ b/recipes/cpptrace/all/patches/0.3.0/0001-cpptrace_export.patch @@ -0,0 +1,13 @@ +diff --git a/include/cpptrace/cpptrace.hpp b/include/cpptrace/cpptrace.hpp +index b35bed1..27b626b 100644 +--- a/include/cpptrace/cpptrace.hpp ++++ b/include/cpptrace/cpptrace.hpp +@@ -90,7 +90,7 @@ namespace cpptrace { + // This is used over std::optional because the library is C++11 and also std::optional is a bit heavy-duty for this + // use. + template::value, int>::type = 0> +- struct CPPTRACE_EXPORT nullable { ++ struct nullable { + T raw_value; + nullable& operator=(T value) { + raw_value = value; diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index 182eea5248ab1..c4a25b816da1e 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.3.1": + folder: all "0.3.0": folder: all "0.2.1": From f89a07b9898baca5d84ca1a096966be4446b655c Mon Sep 17 00:00:00 2001 From: Kilian <12865310+KingKili@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:58:01 +0100 Subject: [PATCH 0344/1307] (#21000) hdf5: add version 1.14.3 * hdf5: add version 1.14.3 * Do not use conf.get to check if conf item exits * Rename tools.qemu:path to user.qemu:path * Remove exception for crossbuilding environments --- recipes/hdf5/all/conandata.yml | 3 +++ recipes/hdf5/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hdf5/all/conandata.yml b/recipes/hdf5/all/conandata.yml index 3a6f50129df1b..c5d710eb6a95b 100644 --- a/recipes/hdf5/all/conandata.yml +++ b/recipes/hdf5/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.14.3": + url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_3/hdf5-1_14_3.tar.gz" + sha256: "df5ee33c74d5efb59738075ef96f4201588e1f1eeb233f047ac7fd1072dee1f6" "1.14.2": url: "https://github.com/HDFGroup/hdf5/archive/hdf5-1_14_2.tar.gz" sha256: "83eaee3f9d1790bb4b29368bf1a648ece763097a4122c80a81076e8fb1e890e6" diff --git a/recipes/hdf5/config.yml b/recipes/hdf5/config.yml index 19837ccfc8822..78000beb7c226 100644 --- a/recipes/hdf5/config.yml +++ b/recipes/hdf5/config.yml @@ -1,4 +1,6 @@ versions: + "1.14.3": + folder: all "1.14.2": folder: all "1.14.1": From e150dc6cb5f9c17d66df70330f1f6624a456cd70 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 04:17:58 +0900 Subject: [PATCH 0345/1307] (#21460) libbigwig: update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libbigwig/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index 92c3a5f4a85af..d8ac63458a127 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,9 +45,9 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.2.1", transitive_headers=True) + self.requires("libcurl/8.4.0", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.1.3") + self.requires("zlib-ng/2.1.5") else: self.requires("zlib/[>=1.2.11 <2]") From 96f4d9200bb6dc342984de236839ff206dd6eca6 Mon Sep 17 00:00:00 2001 From: Charles Brunet Date: Mon, 4 Dec 2023 14:38:42 -0500 Subject: [PATCH 0346/1307] (#21533) pkgconf: add version 2.1.0 --- recipes/pkgconf/all/conandata.yml | 5 +++++ ...KG_CONF_PATH-allow-colon+semicolon-separator.patch | 11 +++++++++++ recipes/pkgconf/config.yml | 2 ++ 3 files changed, 18 insertions(+) create mode 100644 recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch diff --git a/recipes/pkgconf/all/conandata.yml b/recipes/pkgconf/all/conandata.yml index 30195c0bf1274..413c62bff29ba 100644 --- a/recipes/pkgconf/all/conandata.yml +++ b/recipes/pkgconf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.1.0.tar.xz" + sha256: "266d5861ee51c52bc710293a1d36622ae16d048d71ec56034a02eb9cf9677761" "2.0.3": url: "https://distfiles.ariadne.space/pkgconf/pkgconf-2.0.3.tar.xz" sha256: "cabdf3c474529854f7ccce8573c5ac68ad34a7e621037535cbc3981f6b23836c" @@ -18,6 +21,8 @@ sources: url: "https://distfiles.ariadne.space/pkgconf/pkgconf-1.7.3.tar.xz" sha256: "b846aea51cf696c3392a0ae58bef93e2e72f8e7073ca6ad1ed8b01c85871f9c0" patches: + "2.1.0": + - patch_file: "patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "2.0.3": - patch_file: "patches/1.9.3-0003-PKG_CONF_PATH-allow-colon+semicolon-separator.patch" "2.0.2": diff --git a/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch b/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch new file mode 100644 index 0000000000000..ad4d094366b00 --- /dev/null +++ b/recipes/pkgconf/all/patches/2.1.0-0001-PKG_CONF_PATH-allow-colon+semicolon-separator.patch @@ -0,0 +1,11 @@ +--- libpkgconf/path.c ++++ libpkgconf/path.c +@@ -170,7 +170,7 @@ + return 0; + + iter = workbuf = strdup(text); +- while ((p = strtok(iter, PKG_CONFIG_PATH_SEP_S)) != NULL) ++ while ((p = strtok(iter, ":;")) != NULL) + { + pkgconf_path_add(p, dirlist, filter); + diff --git a/recipes/pkgconf/config.yml b/recipes/pkgconf/config.yml index 0ccc580d4eb3c..f64bc13961492 100644 --- a/recipes/pkgconf/config.yml +++ b/recipes/pkgconf/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: "all" "2.0.3": folder: "all" "2.0.2": From 38045d497723243062a4b41c743e8a849cb6e059 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 20:58:01 +0100 Subject: [PATCH 0347/1307] (#21554) cmake: add versions 3.26.6 & 3.27.9 --- recipes/cmake/binary/conandata.yml | 38 ++++++++++++++++++++++++++++++ recipes/cmake/config.yml | 4 ++++ 2 files changed, 42 insertions(+) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 9c2494ef70ebb..6eae0c6e97427 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.27.9": + Linux: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-linux-aarch64.tar.gz" + sha256: "11bf3d30697df465cdf43664a9473a586f010c528376a966fd310a3a22082461" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-linux-x86_64.tar.gz" + sha256: "72b01478eeb312bf1a0136208957784fe55a7b587f8d9f9142a7fc9b0b9e9a28" + Macos: + universal: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-macos10.10-universal.tar.gz" + sha256: "2ced09b99b265d18c5e215984e5898b7e3a0cc7a1293c3f3b45e4bec87a46814" + Windows: + armv8: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-windows-arm64.zip" + sha256: "bca795134956264ede142f79aa513476985f4f410f6501a727d602760e9212dd" + x86_64: + url: "https://cmake.org/files/v3.27/cmake-3.27.9-windows-x86_64.zip" + sha256: "c14e8b5d1c7be0baf0e7936ce8b5a39c5ee3450b14d7e3b32435083eddd9aff7" "3.27.7": Linux: armv8: @@ -75,6 +94,25 @@ sources: x86_64: url: "https://cmake.org/files/v3.27/cmake-3.27.4-windows-x86_64.zip" sha256: "e5e060756444d0b2070328a8821c1ceb62bd6d267aae61bfff06f96c7ec943a6" + "3.26.6": + Linux: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-linux-aarch64.tar.gz" + sha256: "7b91a212b9e8ca38c1482ae40ff2d3e33e9d1c7b337b39f74bd4f34fd070bb1d" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-linux-x86_64.tar.gz" + sha256: "2dd48ccd3e3d872ee4cc916f3f4e24812612421007e895f82bf9fc7e49831d62" + Macos: + universal: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-macos10.10-universal.tar.gz" + sha256: "7a4500989351e1319bb86802ead09a13d2394636efeb5da6d78212e12f2cb961" + Windows: + armv8: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-windows-arm64.zip" + sha256: "16cf13c42d3f4d63ad1d61d0333b6101c0e88f893ac39f435ef472b46f50e9b2" + x86_64: + url: "https://cmake.org/files/v3.26/cmake-3.26.6-windows-x86_64.zip" + sha256: "07b1c4cae3182ca1782a4d9775b5e5d164b475eb010e1dd98ce0c206c38fa73d" "3.26.5": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index 7c56e333cf666..cdf491b2833f0 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.27.9": + folder: "binary" "3.27.7": folder: "binary" "3.27.6": @@ -7,6 +9,8 @@ versions: folder: "binary" "3.27.4": folder: "binary" + "3.26.6": + folder: "binary" "3.26.5": folder: "binary" "3.25.3": From ad9b452540e07fcf8a178d5258ec5860e42279a6 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:22:09 +0100 Subject: [PATCH 0348/1307] (#21556) very-simple-smtps: use version range for libcurl --- recipes/very-simple-smtps/all/conanfile.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/recipes/very-simple-smtps/all/conanfile.py b/recipes/very-simple-smtps/all/conanfile.py index cd85fab595e54..d2c2b6bd073a1 100644 --- a/recipes/very-simple-smtps/all/conanfile.py +++ b/recipes/very-simple-smtps/all/conanfile.py @@ -55,13 +55,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - required_packages = [ - "libcurl/8.0.1", - "doctest/2.4.11", - ] - - for package in required_packages: - self.requires(package) + self.requires("doctest/2.4.11") + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.os != "Linux": @@ -108,7 +103,7 @@ def package(self): copy(self, pattern="include/*.hpp", dst=os.path.join(self.package_folder, ""), src=self.source_folder) meson = Meson(self) meson.install() - + rmdir(self, os.path.join(self.package_folder, "share")) rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) From fc03f53ca214135e692846905d16ec70a9f8983d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:32:45 +0100 Subject: [PATCH 0349/1307] (#21561) exiv2: bump deps, use version range for libcurl --- recipes/exiv2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 94d55cc8a9289..0df5814a8917e 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -78,9 +78,9 @@ def requirements(self): if self.options.with_xmp == "bundled": self.requires("expat/2.5.0") if self.options.with_curl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_brotli"): - self.requires("brotli/1.0.9") + self.requires("brotli/1.1.0") if self.options.get_safe("with_inih"): self.requires("inih/57") From 0456a76852bd80ea1545d847fbfe8b609fcebd77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 21:45:28 +0100 Subject: [PATCH 0350/1307] (#21563) ulfius: use version range for libcurl --- recipes/ulfius/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ulfius/all/conanfile.py b/recipes/ulfius/all/conanfile.py index ef99e9603e550..cfafd90c8a600 100644 --- a/recipes/ulfius/all/conanfile.py +++ b/recipes/ulfius/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.with_jansson: self.requires("jansson/2.14", transitive_headers=True) if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def source(self): get(self, **self.conan_data["sources"][self.version], From f750d8723f4881427bde2ab179de00721cd7e621 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:31:06 +0100 Subject: [PATCH 0351/1307] (#21568) coost: use version range for libcurl --- recipes/coost/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/coost/all/conanfile.py b/recipes/coost/all/conanfile.py index 6bdf895367ac5..8c56318918c27 100644 --- a/recipes/coost/all/conanfile.py +++ b/recipes/coost/all/conanfile.py @@ -44,7 +44,7 @@ def configure(self): def requirements(self): if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libcurl or self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.settings.os == "Linux": From 903f007ae6b22a865de82460063dd307d4d9b90b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:40:31 +0100 Subject: [PATCH 0352/1307] (#21569) tixi3: use version range for libcurl --- recipes/tixi3/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index f552a4f54ec24..945f16516ecaa 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -33,9 +33,9 @@ def generate(self): deps.generate() def requirements(self): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.5") self.requires("libxslt/1.1.34") - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def layout(self): cmake_layout(self, src_folder="src") From 779429ebadd2c02fea52e6aaae4e4d14214c9e1c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 22:50:36 +0100 Subject: [PATCH 0353/1307] (#21572) sentry-crashpad: use version range for libcurl --- recipes/sentry-crashpad/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-crashpad/all/conanfile.py b/recipes/sentry-crashpad/all/conanfile.py index 097dc9f7336e9..b18eacff4f64c 100644 --- a/recipes/sentry-crashpad/all/conanfile.py +++ b/recipes/sentry-crashpad/all/conanfile.py @@ -62,7 +62,7 @@ def build_requirements(self): def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("with_tls"): self.requires("openssl/[>=1.1 <4]") From 745611050e1f0678c421b3f22b3d6f8a1d8122eb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 4 Dec 2023 22:59:17 +0100 Subject: [PATCH 0354/1307] (#21576) mpark-variant: add package_type --- recipes/mpark-variant/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/mpark-variant/all/conanfile.py b/recipes/mpark-variant/all/conanfile.py index e015db951bf2d..1796ef9e9cc74 100644 --- a/recipes/mpark-variant/all/conanfile.py +++ b/recipes/mpark-variant/all/conanfile.py @@ -15,6 +15,7 @@ class MparkVariantConan(ConanFile): description = "C++17 std::variant for C++11/14/17" license = "BSL-1.0" topics = ("variant", "mpark-variant") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -29,8 +30,7 @@ def validate(self): check_min_cppstd(self, "11") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 66bd02213b619a2d80268cd8e29fd6e6e4c82106 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 4 Dec 2023 23:25:15 +0100 Subject: [PATCH 0355/1307] (#21366) sqlpp11-connector-sqlite3: bump sqlite3 --- recipes/sqlpp11-connector-sqlite3/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py index 323830b296d9a..ceff1e9e63969 100644 --- a/recipes/sqlpp11-connector-sqlite3/all/conanfile.py +++ b/recipes/sqlpp11-connector-sqlite3/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): if self.options.with_sqlcipher: self.requires("sqlcipher/4.5.1", transitive_headers=True, transitive_libs=True) else: - self.requires("sqlite3/3.43.2", transitive_headers=True, transitive_libs=True) + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 421ee23231656807c963eba01d7e794f84f0274b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 01:07:56 +0100 Subject: [PATCH 0356/1307] (#21562) cpr: use version range for libcurl --- recipes/cpr/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpr/all/conanfile.py b/recipes/cpr/all/conanfile.py index 60560152c702a..b2e254935a1fd 100644 --- a/recipes/cpr/all/conanfile.py +++ b/recipes/cpr/all/conanfile.py @@ -82,7 +82,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/8.4.0", transitive_headers=True, transitive_libs=True) + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True, transitive_libs=True) # FIXME: This is a very dirty hack. # with_ssl == _AUTO_SSL, cpr needs the openssl header to compile. But Conan recipe does not know which SSL library to use. # because cpr's CMakeLists.txt automatically detects SSL libraries with CPR_ENABLE_SSL == ON. From d7f6378ff3b0137a86ab231f328479dbed3924a2 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 5 Dec 2023 01:15:41 +0000 Subject: [PATCH 0357/1307] (#21594) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 3f4ed4cf0b99e..296aece8ce97e 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -172,6 +172,7 @@ required_for_references: - cli11 - clickhouse-cpp - clipboard_lite +- clipp - clipper - clipper2 - clove-unit @@ -276,6 +277,7 @@ required_for_references: - dirent - discount - djinni-generator +- djinni-support-lib - dlib - dlpack - docopt.cpp @@ -493,6 +495,7 @@ required_for_references: - iconfontcppheaders - icu - id3v2lib +- ignition-cmake - iir1 - im95able-rea - imagl @@ -534,6 +537,7 @@ required_for_references: - jsmn - json-c - json-schema-validator +- json_dto - jsoncons - jsoncpp - jsonnet @@ -621,6 +625,7 @@ required_for_references: - libfdk_aac - libffi - libfreenect +- libftdi - libfuse - libgcrypt - libgd @@ -878,6 +883,7 @@ required_for_references: - nanosvg - nas - nasm +- ncurses - neargye-semver - netcdf - nettle @@ -986,6 +992,7 @@ required_for_references: - pcl - pcre - pcre2 +- pdcurses - pdf-writer - pdfgen - pdfium @@ -1216,6 +1223,7 @@ required_for_references: - stx - subunit - sundials +- suyash-ulid - svector - svgpp - svgwrite @@ -1258,6 +1266,7 @@ required_for_references: - tiny-dnn - tiny-regex-c - tiny-utf8 +- tinyalsa - tinycbor - tinycthread - tinycthreadpool From 22a72cadcbe81b785e9739adf93fbe796b887ab2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 02:50:33 +0100 Subject: [PATCH 0358/1307] (#21570) libucl: use version range for libcurl --- recipes/libucl/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libucl/all/conanfile.py b/recipes/libucl/all/conanfile.py index 5962211b5f08a..f81b0da544841 100644 --- a/recipes/libucl/all/conanfile.py +++ b/recipes/libucl/all/conanfile.py @@ -46,7 +46,7 @@ def layout(self): def requirements(self): if self.options.enable_url_include: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.enable_url_sign: self.requires("openssl/[>=1.1 <4]") if self.options.with_lua == "lua": From d370c29a57cff7eb8524df75f1faeb492f85f49e Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 5 Dec 2023 03:01:41 +0100 Subject: [PATCH 0359/1307] (#21577) mpmcqueue: add package_type --- recipes/mpmcqueue/all/conanfile.py | 14 ++++++-------- recipes/mpmcqueue/all/test_package/conanfile.py | 7 ++++--- .../mpmcqueue/all/test_v1_package/CMakeLists.txt | 12 ++++-------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/recipes/mpmcqueue/all/conanfile.py b/recipes/mpmcqueue/all/conanfile.py index f31d795bc0cc2..956244df07486 100644 --- a/recipes/mpmcqueue/all/conanfile.py +++ b/recipes/mpmcqueue/all/conanfile.py @@ -13,12 +13,16 @@ class MpmcqueueConan(ConanFile): name = "mpmcqueue" description = "A bounded multi-producer multi-consumer concurrent queue written in C++11." license = "MIT" - topics = ("mpmcqueue", "queue", "concurrency") + topics = ("queue", "concurrency") homepage = "https://github.com/rigtorp/MPMCQueue" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True + def layout(self): + basic_layout(self, src_folder="src") + def package_id(self): self.info.clear() @@ -28,12 +32,8 @@ def validate(self): if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5": raise ConanInvalidConfiguration("gcc < 5 not supported") - def layout(self): - basic_layout(self, src_folder="src") - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -46,9 +46,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "MPMCQueue") self.cpp_info.set_property("cmake_target_name", "MPMCQueue::MPMCQueue") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "MPMCQueue" diff --git a/recipes/mpmcqueue/all/test_package/conanfile.py b/recipes/mpmcqueue/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/mpmcqueue/all/test_package/conanfile.py +++ b/recipes/mpmcqueue/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt b/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt index e299736630b60..b21cc49efde95 100644 --- a/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt +++ b/recipes/mpmcqueue/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(MPMCQueue REQUIRED CONFIG) -find_package(Threads REQUIRED) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE MPMCQueue::MPMCQueue Threads::Threads) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From e1e932ea05c6e039969110cf5d26c750015b7c02 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 04:12:17 +0200 Subject: [PATCH 0360/1307] (#21580) opencolorio: bump deps --- recipes/opencolorio/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 3a0853bf1de74..13719aad33361 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if Version(self.version) < "2.2.0": self.requires("openexr/2.5.7") else: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") self.requires("imath/3.1.9") if Version(self.version) < "2.0.0": @@ -61,7 +61,7 @@ def requirements(self): self.requires("yaml-cpp/0.8.0") if Version(self.version) >= "2.3.0": - self.requires("minizip-ng/4.0.1") + self.requires("minizip-ng/4.0.3") elif Version(self.version) >= "2.2.0": self.requires("minizip-ng/3.0.9") From 8284c645009e26bbb035af7a1c43809f1de2e70c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 04:21:12 +0200 Subject: [PATCH 0361/1307] (#21583) xerces-c: bump icu --- recipes/xerces-c/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index f1c41e9279b85..ea827bcd4bbeb 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -70,7 +70,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.network_accessor == "curl": self.requires("libcurl/[>=7.78.0 <9]") From f9421168bccc65317e470a145be14f1946e57c77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 03:48:59 +0100 Subject: [PATCH 0362/1307] (#21573) sentry-native: use version range for libcurl --- recipes/sentry-native/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 64c0a526c8730..35bd2e66caa37 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -103,7 +103,7 @@ def layout(self): def requirements(self): if self.options.transport == "curl": - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.backend == "crashpad": if self.options.with_crashpad == "sentry": self.requires(f"sentry-crashpad/{self.version}") From 198873b10142d6d3589417b995f17980353c3adc Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 05:18:51 +0200 Subject: [PATCH 0363/1307] (#21582) libmysqlclient: bump libunwind --- recipes/libmysqlclient/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 37c00e1110d01..10ca9c1297853 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -70,7 +70,7 @@ def requirements(self): self.requires("zstd/1.5.5") self.requires("lz4/1.9.4") if self.settings.os == "FreeBSD": - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def validate_build(self): if self.settings.compiler.get_safe("cppstd"): From 6f09c2400ecf6ea109e9ee9fb2a58d63df11fa2e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 04:48:42 +0100 Subject: [PATCH 0364/1307] (#21584) libsigcpp: bump pkgconf --- recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py b/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py index e6b0fdb8110e8..b3607270e232e 100644 --- a/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py +++ b/recipes/libsigcpp/2.x.x/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.0.3") def build(self): cmake = CMake(self) From 420cf4527b7bc5ad47bebce72bcf796036b8cd8f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 05:08:44 +0100 Subject: [PATCH 0365/1307] (#21586) proj/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/proj/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/proj/all/conanfile.py b/recipes/proj/all/conanfile.py index ee6edd6244053..cc5091962196d 100644 --- a/recipes/proj/all/conanfile.py +++ b/recipes/proj/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("sqlite3/3.44.2") if self.options.get_safe("with_tiff"): self.requires("libtiff/4.6.0") From a95332913b9c193d0fdf3c8d8a63adc691f9e4e2 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Tue, 5 Dec 2023 07:47:51 +0300 Subject: [PATCH 0366/1307] (#21587) md4qt: bump version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 5afd49cb17918..d96eda05407e0 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.3.tar.gz" + sha256: "89584d77d7e338d858e2198b20cd091cc713aef74880ef1fccc6c1e9d8b74acd" "2.3.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.2.tar.gz" sha256: "0a89854d639a3710ab89611333fd1a1047cd5edc87ba767fbefdc37e701ae671" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index baed679ffd429..deba7afb70efc 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.3": + folder: all "2.3.2": folder: all "2.3.1": From e069c27f626886b42ec99a19648d4a28e2cec073 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:08:01 +0900 Subject: [PATCH 0367/1307] (#21589) libserial: add version cci.20230909 --- recipes/libserial/all/conandata.yml | 3 +++ recipes/libserial/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libserial/all/conandata.yml b/recipes/libserial/all/conandata.yml index f2d6529173319..3c560a2bb697e 100644 --- a/recipes/libserial/all/conandata.yml +++ b/recipes/libserial/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230909": + url: "https://github.com/crayzeewulf/libserial/archive/ee1992dc3c5dc41a0e18e2d1dad18c103eb405ec.tar.gz" + sha256: "2b83141630c76e119b19d85958c8685efab6eff3e2af3435933b8f2ac147f62a" "cci.20200930": url: "https://github.com/crayzeewulf/libserial/archive/1d1e47a2faae0470f93eb291263b0ce7ea119a81.tar.gz" sha256: "a433b04bd42e8b4504e5e1fbe7ec22b648f2872d3d125e58c17b9c6c1b171bba" diff --git a/recipes/libserial/config.yml b/recipes/libserial/config.yml index 27812caf46f4d..3318e67617d62 100644 --- a/recipes/libserial/config.yml +++ b/recipes/libserial/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20230909": + folder: all "cci.20200930": folder: all From 2e5aa01189dfd04207ed77b2e3fbecfe70ac3d2c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 14:27:51 +0900 Subject: [PATCH 0368/1307] (#21590) etl: add version 20.38.7 --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index b8a091482c8ef..279507cf9ffbe 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.38.7": + url: "https://github.com/ETLCPP/etl/archive/20.38.7.tar.gz" + sha256: "65cfc033bacab452af05a36bd53b8cdc2bdfd1492b2adc5bb51d2f00e451491f" "20.38.6": url: "https://github.com/ETLCPP/etl/archive/20.38.6.tar.gz" sha256: "95515f2229fe75393d18ee95548998a06e65a02acd5eedae5808dd34f8201462" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 31df60b3dd01f..6e14699582a88 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.7": + folder: all "20.38.6": folder: all "20.38.4": From f207db06250beb6fd762bcb5e89a7c4c1f2c6e71 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 17:09:00 +0900 Subject: [PATCH 0369/1307] (#21598) cpp-httplib: add version 0.14.2 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 89e0040b5d9cb..7e54c58b1975d 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.2": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.2.tar.gz" + sha256: "dbcf5590e8ed35c6745c2ad659a5ebec92f05187d1506eec24449d6db95e5084" "0.14.1": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.1.tar.gz" sha256: "2d4fb5544da643e5d0a82585555d8b7502b4137eb321a4abbb075e21d2f00e96" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 44182a765684d..190ca8b340419 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.2": + folder: all "0.14.1": folder: all "0.14.0": From 1bb8f6e57006e429c5f0ec2659843330ba7780c2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 5 Dec 2023 11:02:23 +0200 Subject: [PATCH 0370/1307] (#21603) [docs] Add changelog 05-December-2023 --- docs/changelog.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index c81677698b9e5..10cbbd6810dde 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,14 @@ # Changelog +### 05-December-2023 - 16:23 CET + +- [fix] Use the correct profile to test a tool_require. +- [feature] Add armv8 extra flag in profile arch when building in Macos M1. +- [fix] Prioritization of non-shared builds. +- [fix] Do not raise an exception in case slack fails. +- [fix] Remove epochs. +- [fix] Remove some dead code. + ### 26-Oct-2023 - 12:13 CEST - [feature] Allow X.Y semver for version bumps From 36487cb11d3cd6a6ea84e33009c3b945941ca6ba Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 5 Dec 2023 11:17:34 +0200 Subject: [PATCH 0371/1307] (#21227) Add version libbpf v1.1.0, replace libelf dependency, bump linux-headers-generic, and add UAPI headers installation option * libbpf: Add version 1.1.0 * libbpf: Add UAPI headers installation option * libbpf: Bump linux-headers-generic to v5.15.128 * libbpf: Replace libelf requirement with elfutils v0.180 --- recipes/libbpf/all/conandata.yml | 3 +++ recipes/libbpf/all/conanfile.py | 12 ++++++++---- recipes/libbpf/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libbpf/all/conandata.yml b/recipes/libbpf/all/conandata.yml index dced81ebf510c..911aa968231c9 100644 --- a/recipes/libbpf/all/conandata.yml +++ b/recipes/libbpf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/libbpf/libbpf/archive/refs/tags/v1.1.0.tar.gz" + sha256: "5da826c968fdb8a2f714701cfef7a4b7078be030cf58b56143b245816301cbb8" "0.7.0": url: "https://github.com/libbpf/libbpf/archive/refs/tags/v0.7.0.tar.gz" sha256: "5083588ce5a3a620e395ee1e596af77b4ec5771ffc71cff2af49dfee38c06361" diff --git a/recipes/libbpf/all/conanfile.py b/recipes/libbpf/all/conanfile.py index 6ed8f1c59f1d0..cff329c2d8d07 100644 --- a/recipes/libbpf/all/conanfile.py +++ b/recipes/libbpf/all/conanfile.py @@ -19,11 +19,13 @@ class LibbpfConan(ConanFile): settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - "fPIC": [True, False] + "fPIC": [True, False], + "with_uapi_headers": [True, False] } default_options = { "shared": False, - "fPIC": True + "fPIC": True, + "with_uapi_headers": False } def config_options(self): @@ -40,8 +42,8 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("linux-headers-generic/5.14.9", transitive_headers=True) - self.requires("libelf/0.8.13") + self.requires("linux-headers-generic/5.15.128", transitive_headers=True) + self.requires("elfutils/0.180", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]") def validate(self): @@ -75,6 +77,8 @@ def build(self): with chdir(self, os.path.join(self.source_folder, "src")): autotools = Autotools(self) autotools.make() + if self.options.with_uapi_headers: + autotools.make('install_uapi_headers') def package(self): copy(self, pattern="LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) diff --git a/recipes/libbpf/config.yml b/recipes/libbpf/config.yml index 4383f9baf5229..da5d208551b71 100644 --- a/recipes/libbpf/config.yml +++ b/recipes/libbpf/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "0.7.0": folder: all "0.5.0": From 5afb6aac7a1d3ece981f730f428739cdac3531c8 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 5 Dec 2023 10:15:12 +0000 Subject: [PATCH 0372/1307] (#21608) [bot] Update authorized users list (2023-12-05) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index a11ae5706964d..5681376346c2d 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1246,3 +1246,6 @@ authorized_users: - abedra - bennettgoble - juansblanco +- jmalopoy +- mlutken +- hoyhoy From ec23def443236505a01b9dd0e0a0457965bc0373 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 12:46:41 +0200 Subject: [PATCH 0373/1307] (#18902) jerryscript: migrate to Conan v2 * jerryscript: migrate to Conan v2 * jerryscript: fix_apple_shared_install_name() * jerryscript: fix incorrect option name --- recipes/jerryscript/all/CMakeLists.txt | 7 - recipes/jerryscript/all/conandata.yml | 12 +- recipes/jerryscript/all/conanfile.py | 195 +++++++++--------- .../all/test_package/CMakeLists.txt | 7 +- .../jerryscript/all/test_package/conanfile.py | 23 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 7 files changed, 151 insertions(+), 118 deletions(-) delete mode 100644 recipes/jerryscript/all/CMakeLists.txt create mode 100644 recipes/jerryscript/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jerryscript/all/test_v1_package/conanfile.py diff --git a/recipes/jerryscript/all/CMakeLists.txt b/recipes/jerryscript/all/CMakeLists.txt deleted file mode 100644 index 361b35d4c17d9..0000000000000 --- a/recipes/jerryscript/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/jerryscript/all/conandata.yml b/recipes/jerryscript/all/conandata.yml index f587b0a08830d..466f9de6c36b3 100644 --- a/recipes/jerryscript/all/conandata.yml +++ b/recipes/jerryscript/all/conandata.yml @@ -10,13 +10,9 @@ sources: url: https://github.com/jerryscript-project/jerryscript/archive/v2.4.0.zip patches: "2.2.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-2.3.0-remove-werror.patch" + - patch_file: "patches/0001-2.3.0-remove-werror.patch" "2.3.0": - - base_path: "source_subfolder" - patch_file: "patches/0001-2.3.0-remove-werror.patch" + - patch_file: "patches/0001-2.3.0-remove-werror.patch" "2.4.0": - - base_path: "source_subfolder" - patch_file: "patches/0002-2.4.0-remove-werror.patch" - - base_path: "source_subfolder" - patch_file: "patches/0003-2.4.0-no-CMAKE_SOURCE_DIR.patch" + - patch_file: "patches/0002-2.4.0-remove-werror.patch" + - patch_file: "patches/0003-2.4.0-no-CMAKE_SOURCE_DIR.patch" diff --git a/recipes/jerryscript/all/conanfile.py b/recipes/jerryscript/all/conanfile.py index d7fc6037445eb..b262445d3a489 100644 --- a/recipes/jerryscript/all/conanfile.py +++ b/recipes/jerryscript/all/conanfile.py @@ -1,18 +1,26 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, load, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class JerryScriptStackConan(ConanFile): name = "jerryscript" + description = "Ultra-lightweight JavaScript engine for the Internet of Things" license = "Apache-2.0" - homepage = "https://github.com/jerryscript-project/jerryscript" url = "https://github.com/conan-io/conan-center-index" - description = "Ultra-lightweight JavaScript engine for the Internet of Things" - topics = ["javascript", "iot", "jerryscript", "javascript-engine"] - exports_sources = "CMakeLists.txt", "patches/**" - settings = "os", "compiler", "build_type", "arch" + homepage = "https://github.com/jerryscript-project/jerryscript" + topics = ("javascript", "iot", "javascript-engine") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -27,7 +35,7 @@ class JerryScriptStackConan(ConanFile): "amalgamated": [True, False], "debugger": [True, False], "keep_line_info": [True, False], - "profile": "ANY", + "profile": ["ANY"], "promise_callback": [True, False], "external_context": [True, False], "snapshot_execution": [True, False], @@ -39,10 +47,10 @@ class JerryScriptStackConan(ConanFile): "error_messages": [True, False], "logging": [True, False], "memory_statistics": [True, False], - "heap_size": "ANY", - "gc_limit": "ANY", - "gc_mark_limit": "ANY", - "stack_limit": "ANY", + "heap_size": ["ANY"], + "gc_limit": ["ANY"], + "gc_mark_limit": ["ANY"], + "stack_limit": ["ANY"], "cpointer_32_bit": [True, False], "system_allocator": [True, False], "valgrind": [True, False], @@ -85,47 +93,41 @@ class JerryScriptStackConan(ConanFile): "gc_before_each_alloc": False, "vm_exec_stop": False, } - generators = "cmake" - short_paths = True - - _cmake = None - _predefined_profiles = ["es.next", "es5.1", "minimal"] - - @property - def _source_subfolder(self): - return "source_subfolder" @property - def _build_subfolder(self): - return "build_subfolder" + def _predefined_profiles(self): + return ["es.next", "es5.1", "minimal"] @property def _jerry_math(self): return self.options.get_safe("jerry_math", False) + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC # profile and jerry_match default option value depend on version - if tools.Version(self.version) < "2.4.0": + if Version(self.version) < "2.4.0": self.options.profile = "es5.1" self.options.jerry_math = True - if self.settings.compiler == "Visual Studio": + if is_msvc(self): del self.options.jerry_math # forced to False else: self.options.profile = "es.next" self.options.jerry_math = False - if self.settings.os == "Macos": + if is_apple_os(self): del self.options.jerry_math # forced to False del self.options.link_time_optimization # forced to False - del self.options.strip # forced to False + del self.options.strip_symbols # forced to False def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.debugger: del self.options.keep_line_info @@ -133,6 +135,13 @@ def configure(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("jerryscript shared lib is not yet supported under windows") + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + if self.info.options.profile not in self._predefined_profiles: + self.info.options.profile = load(self, str(self.info.options.profile)) + def validate(self): # validate integers try: @@ -146,105 +155,107 @@ def validate(self): if not check_res: raise ConanInvalidConfiguration(txt) except ValueError as e: - raise ConanInvalidConfiguration("jerryscript heap size, gc mark limit, stack limit, gc limit should be a positive integer") + raise ConanInvalidConfiguration( + "jerryscript heap size, gc mark limit, stack limit, " + "gc limit should be a positive integer" + ) # validate profile file if self.options.profile not in self._predefined_profiles and not os.path.isfile(str(self.options.profile)): - raise ConanInvalidConfiguration("Invalid profile option. Feature profile must either be a valid file or one of these: es.next, es5.1, minimal") + raise ConanInvalidConfiguration( + "Invalid profile option. " + "Feature profile must either be a valid file or one of these: es.next, es5.1, minimal" + ) # validate the use of the system allocator option if self.settings.arch == "x86_64" and self.options.system_allocator: raise ConanInvalidConfiguration("jerryscript system allocator not available on 64bit systems") if self.options.system_allocator and not self.options.cpointer_32_bit: raise ConanInvalidConfiguration("jerryscript system allocator must be used with 32 bit pointers") - def package_id(self): - if self.options.profile not in self._predefined_profiles: - self.info.options.profile = tools.load(str(self.options.profile)) - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) amalgamation_definition = "ENABLE_AMALGAM" libmath_definition = "JERRY_MATH" - if tools.Version(self.version) < tools.Version("2.4.0"): + if Version(self.version) < "2.4.0": amalgamation_definition = "ENABLE_ALL_IN_ONE" libmath_definition = "JERRY_LIBM" - self._cmake.definitions["JERRY_CMDLINE"] = self.options.tool_cmdline - self._cmake.definitions["JERRY_CMDLINE_TEST"] = self.options.tool_cmdline_test - self._cmake.definitions["JERRY_CMDLINE_SNAPSHOT"] = self.options.tool_cmdline_snapshot - self._cmake.definitions["JERRY_PORT_DEFAULT"] = self.options.default_port_implementation - self._cmake.definitions["JERRY_EXT"] = self.options.jerry_ext - self._cmake.definitions[libmath_definition] = self._jerry_math - self._cmake.definitions["ENABLE_STRIP"] = self.options.get_safe("jerry_strip", False) - self._cmake.definitions["ENABLE_LTO"] = self.options.get_safe("link_time_optimization", False) - self._cmake.definitions[amalgamation_definition] = self.options.amalgamated - self._cmake.definitions["JERRY_DEBUGGER"] = self.options.debugger - self._cmake.definitions["JERRY_LINE_INFO"] = self.options.get_safe("keep_line_info", False) - self._cmake.definitions["JERRY_PROFILE"] = self.options.profile - self._cmake.definitions["JERRY_EXTERNAL_CONTEXT"] = self.options.external_context - self._cmake.definitions["JERRY_SNAPSHOT_EXEC"] = self.options.snapshot_execution - self._cmake.definitions["JERRY_SNAPSHOT_SAVE"] = self.options.snapshot_saving - self._cmake.definitions["JERRY_PARSER"] = self.options.parser - self._cmake.definitions["JERRY_PARSER_DUMP_BYTE_CODE"] = self.options.enable_dump_bytecode - self._cmake.definitions["JERRY_REGEXP_DUMP_BYTE_CODE"] = self.options.enable_dump_regexp_bytecode - self._cmake.definitions["JERRY_REGEXP_STRICT_MODE"] = self.options.strict_regexp - self._cmake.definitions["JERRY_ERROR_MESSAGES"] = self.options.error_messages - self._cmake.definitions["JERRY_LOGGING"] = self.options.logging - self._cmake.definitions["JERRY_MEM_STATS"] = self.options.memory_statistics - self._cmake.definitions["JERRY_GLOBAL_HEAP_SIZE"] = "(%s)" % self.options.heap_size - self._cmake.definitions["JERRY_GC_LIMIT"] = "(%s)" % self.options.gc_limit - self._cmake.definitions["JERRY_GC_MARK_LIMIT"] = "(%s)" % self.options.gc_mark_limit - self._cmake.definitions["JERRY_STACK_LIMIT"] = "(%s)" % self.options.stack_limit - self._cmake.definitions["JERRY_CPOINTER_32_BIT"] = self.options.cpointer_32_bit - self._cmake.definitions["JERRY_SYSTEM_ALLOCATOR"] = self.options.system_allocator - self._cmake.definitions["JERRY_VALGRIND"] = self.options.valgrind - self._cmake.definitions["JERRY_MEM_GC_BEFORE_EACH_ALLOC"] = self.options.gc_before_each_alloc - self._cmake.definitions["JERRY_VM_EXEC_STOP"] = self.options.vm_exec_stop - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + tc.variables["JERRY_CMDLINE"] = self.options.tool_cmdline + tc.variables["JERRY_CMDLINE_TEST"] = self.options.tool_cmdline_test + tc.variables["JERRY_CMDLINE_SNAPSHOT"] = self.options.tool_cmdline_snapshot + tc.variables["JERRY_PORT_DEFAULT"] = self.options.default_port_implementation + tc.variables["JERRY_EXT"] = self.options.jerry_ext + tc.variables[libmath_definition] = self._jerry_math + tc.variables["ENABLE_STRIP"] = self.options.get_safe("jerry_strip", False) + tc.variables["ENABLE_LTO"] = self.options.get_safe("link_time_optimization", False) + tc.variables[amalgamation_definition] = self.options.amalgamated + tc.variables["JERRY_DEBUGGER"] = self.options.debugger + tc.variables["JERRY_LINE_INFO"] = self.options.get_safe("keep_line_info", False) + tc.variables["JERRY_PROFILE"] = self.options.profile + tc.variables["JERRY_EXTERNAL_CONTEXT"] = self.options.external_context + tc.variables["JERRY_SNAPSHOT_EXEC"] = self.options.snapshot_execution + tc.variables["JERRY_SNAPSHOT_SAVE"] = self.options.snapshot_saving + tc.variables["JERRY_PARSER"] = self.options.parser + tc.variables["JERRY_PARSER_DUMP_BYTE_CODE"] = self.options.enable_dump_bytecode + tc.variables["JERRY_REGEXP_DUMP_BYTE_CODE"] = self.options.enable_dump_regexp_bytecode + tc.variables["JERRY_REGEXP_STRICT_MODE"] = self.options.strict_regexp + tc.variables["JERRY_ERROR_MESSAGES"] = self.options.error_messages + tc.variables["JERRY_LOGGING"] = self.options.logging + tc.variables["JERRY_MEM_STATS"] = self.options.memory_statistics + tc.variables["JERRY_GLOBAL_HEAP_SIZE"] = "(%s)" % self.options.heap_size + tc.variables["JERRY_GC_LIMIT"] = "(%s)" % self.options.gc_limit + tc.variables["JERRY_GC_MARK_LIMIT"] = "(%s)" % self.options.gc_mark_limit + tc.variables["JERRY_STACK_LIMIT"] = "(%s)" % self.options.stack_limit + tc.variables["JERRY_CPOINTER_32_BIT"] = self.options.cpointer_32_bit + tc.variables["JERRY_SYSTEM_ALLOCATOR"] = self.options.system_allocator + tc.variables["JERRY_VALGRIND"] = self.options.valgrind + tc.variables["JERRY_MEM_GC_BEFORE_EACH_ALLOC"] = self.options.gc_before_each_alloc + tc.variables["JERRY_VM_EXEC_STOP"] = self.options.vm_exec_stop + tc.generate() + + tc = CMakeDeps(self) + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.components["libjerry-port-default"].names["pkg_config"] = ["libjerry-port-default"] + self.cpp_info.components["libjerry-port-default"].set_property("pkg_config_name", "libjerry-port-default") self.cpp_info.components["libjerry-port-default"].libs = ["jerry-port-default"] if self._jerry_math: - mathlibname = "jerry-libm" if tools.Version(self.version) < "2.4.0" else "jerry-math" - self.cpp_info.components["libjerry-math"].names["pkg_config"] = "lib{}".format(mathlibname) + mathlibname = "jerry-libm" if Version(self.version) < "2.4.0" else "jerry-math" + self.cpp_info.components["libjerry-math"].set_property("pkg_config_name", f"lib{mathlibname}") self.cpp_info.components["libjerry-math"].libs = [mathlibname] self.cpp_info.components["libjerry-math"].requires = ["libjerry-port-default"] self.cpp_info.components["libjerry-core"].requires.append("libjerry-math") - if tools.Version(self.version) < "2.4.0": - self.cpp_info.components["libjerry-port-default-minimal"].names["pkg_config"] = ["libjerry-port-default-minimal"] + if Version(self.version) < "2.4.0": + self.cpp_info.components["libjerry-port-default-minimal"].set_property("pkg_config_name", "libjerry-port-default-minimal") self.cpp_info.components["libjerry-port-default-minimal"].libs = ["jerry-port-default-minimal"] self.cpp_info.components["libjerry-port-default"].requires.append("libjerry-port-default-minimal") - self.cpp_info.components["libjerry-core"].names["pkg_config"] = "libjerry-core" + self.cpp_info.components["libjerry-core"].set_property("pkg_config_name", "libjerry-core") self.cpp_info.components["libjerry-core"].libs = ["jerry-core"] # The pc file does not explicitly add the port. But it's needed for the test self.cpp_info.components["libjerry-core"].requires = ["libjerry-port-default"] if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.components["libjerry-core"].system_libs.append("m") - self.cpp_info.components["libjerry-ext"].names["pkg_config"] = "libjerry-ext" + self.cpp_info.components["libjerry-ext"].set_property("pkg_config_name", "libjerry-ext") self.cpp_info.components["libjerry-ext"].libs = ["jerry-ext"] self.cpp_info.components["libjerry-ext"].requires = ["libjerry-core"] diff --git a/recipes/jerryscript/all/test_package/CMakeLists.txt b/recipes/jerryscript/all/test_package/CMakeLists.txt index 7b9b613cbb24a..d0cab5c74bc2f 100644 --- a/recipes/jerryscript/all/test_package/CMakeLists.txt +++ b/recipes/jerryscript/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(jerryscript REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE jerryscript::jerryscript) diff --git a/recipes/jerryscript/all/test_package/conanfile.py b/recipes/jerryscript/all/test_package/conanfile.py index bbf2351737349..ef5d7042163ec 100644 --- a/recipes/jerryscript/all/test_package/conanfile.py +++ b/recipes/jerryscript/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class TestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/jerryscript/all/test_v1_package/CMakeLists.txt b/recipes/jerryscript/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/jerryscript/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jerryscript/all/test_v1_package/conanfile.py b/recipes/jerryscript/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f575dfc3e9c8a --- /dev/null +++ b/recipes/jerryscript/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 2512a5face08cba16c68f981190c7e2d206c48ef Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 19:55:31 +0900 Subject: [PATCH 0374/1307] (#20526) cpp-validator: add recipe * cpp-validator: add recipe * remove unused functions * drop support gcc 5,6 * support msvc --- recipes/cpp-validator/all/conandata.yml | 4 + recipes/cpp-validator/all/conanfile.py | 89 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 12 +++ .../all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 25 ++++++ recipes/cpp-validator/config.yml | 3 + 6 files changed, 159 insertions(+) create mode 100644 recipes/cpp-validator/all/conandata.yml create mode 100644 recipes/cpp-validator/all/conanfile.py create mode 100644 recipes/cpp-validator/all/test_package/CMakeLists.txt create mode 100644 recipes/cpp-validator/all/test_package/conanfile.py create mode 100644 recipes/cpp-validator/all/test_package/test_package.cpp create mode 100644 recipes/cpp-validator/config.yml diff --git a/recipes/cpp-validator/all/conandata.yml b/recipes/cpp-validator/all/conandata.yml new file mode 100644 index 0000000000000..77d92b9be932b --- /dev/null +++ b/recipes/cpp-validator/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.0.3": + url: "https://github.com/evgeniums/cpp-validator/archive/refs/tags/v2.0.3.tar.gz" + sha256: "0afc607377518edd6adc1612962ed5d5808d96e5b40944d9ce7e91a1aa9ab1d8" diff --git a/recipes/cpp-validator/all/conanfile.py b/recipes/cpp-validator/all/conanfile.py new file mode 100644 index 0000000000000..3da277d18f9a6 --- /dev/null +++ b/recipes/cpp-validator/all/conanfile.py @@ -0,0 +1,89 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +from conan.tools.microsoft import is_msvc +import os + + +required_conan_version = ">=1.52.0" + + +class CPPValidatorConan(ConanFile): + name = "cpp-validator" + description = "C++ header-only library for generic data validation" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/evgeniums/cpp-validator" + topics = ("validator", "validation", "boost", "hana", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + # cpp-validator rquires C++17 on MSVC + # https://github.com/evgeniums/cpp-validator/blob/v2.0.3/CMakeLists.txt#L241 + return "17" if is_msvc(self) else "14" + + @property + def _compilers_minimum_version(self): + return { + "14": { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + }, + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + } + }.get(self._min_cppstd, {}) + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def requirements(self): + self.requires("boost/1.83.0") + self.requires("fmt/10.1.1") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE.md", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + copy( + self, + pattern="*.ipp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/cpp-validator/all/test_package/CMakeLists.txt b/recipes/cpp-validator/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..aaf79983c7d60 --- /dev/null +++ b/recipes/cpp-validator/all/test_package/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(cpp-validator REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} cpp-validator::cpp-validator) +if(MSVC) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/cpp-validator/all/test_package/conanfile.py b/recipes/cpp-validator/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/cpp-validator/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/cpp-validator/all/test_package/test_package.cpp b/recipes/cpp-validator/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9b71de3f6c7ab --- /dev/null +++ b/recipes/cpp-validator/all/test_package/test_package.cpp @@ -0,0 +1,25 @@ +#include + +#include "dracosha/validator/validator.hpp" +#include "dracosha/validator/validate.hpp" +using namespace DRACOSHA_VALIDATOR_NAMESPACE; + +int main() +{ + + // define validator + auto v=validator(gt,100); // value must be greater than 100 + + // validate variables + error err; + + validate(90,v,err); + assert(err); // validation failed, 90 is less than 100 + + validate(200,v,err); + assert(!err); // validation succeeded, 200 is greater than 100 + + std::cout << "Example 1 done" << std::endl; + + return 0; +} diff --git a/recipes/cpp-validator/config.yml b/recipes/cpp-validator/config.yml new file mode 100644 index 0000000000000..7f57148a20478 --- /dev/null +++ b/recipes/cpp-validator/config.yml @@ -0,0 +1,3 @@ +versions: + "2.0.3": + folder: all From 1fe836a5da4a1fb5f02316ddf94857f532124e8d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Dec 2023 20:45:54 +0900 Subject: [PATCH 0375/1307] (#20537) teemo: make deprecate * teemo: make deprecate * update checksum * make transitive_headers * require openssl --- recipes/teemo/all/conandata.yml | 2 +- recipes/teemo/all/conanfile.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/recipes/teemo/all/conandata.yml b/recipes/teemo/all/conandata.yml index 490c174ebfda5..0b1e02d58ccdc 100644 --- a/recipes/teemo/all/conandata.yml +++ b/recipes/teemo/all/conandata.yml @@ -1,7 +1,7 @@ sources: "2.7": url: "https://github.com/winsoft666/teemo/archive/refs/tags/v2.7.tar.gz" - sha256: "97be8ae62cd3e2e92ed0ff405dfaf5e6cb6e323b21c53e798adfa5872a2f7084" + sha256: "0cf4f90d22b1c19845db08ff1addc5872327b33f020e8d5409f3819391afaf79" patches: "2.7": diff --git a/recipes/teemo/all/conanfile.py b/recipes/teemo/all/conanfile.py index c34c6cc5a1060..a35d4e5eeaf64 100644 --- a/recipes/teemo/all/conanfile.py +++ b/recipes/teemo/all/conanfile.py @@ -27,6 +27,7 @@ class TeemoConan(ConanFile): "shared": False, "fPIC": True, } + deprecated = "zoe" @property def _min_cppstd(self): @@ -48,12 +49,13 @@ def layout(self): def requirements(self): self.requires("libcurl/7.86.0") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): if self.info.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) if self.info.settings.compiler == "apple-clang" and Version(self.info.settings.compiler.version) < "12.0": - raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") + raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) @@ -96,6 +98,6 @@ def package_info(self): self.cpp_info.defines.append("TEEMO_EXPORTS") else: self.cpp_info.defines.append("TEEMO_STATIC") - + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") From 1519ba0f024ba27100e20b28c27d14afa79e3003 Mon Sep 17 00:00:00 2001 From: xyz1001 Date: Tue, 5 Dec 2023 19:53:23 +0800 Subject: [PATCH 0376/1307] (#20988) libx264: fix build error with visual studio when specific different build and host profile --- recipes/libx264/all/conanfile.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/libx264/all/conanfile.py b/recipes/libx264/all/conanfile.py index 8463ca0ac6637..3312e7972a7a4 100644 --- a/recipes/libx264/all/conanfile.py +++ b/recipes/libx264/all/conanfile.py @@ -142,6 +142,11 @@ def generate(self): extra_cflags.append("-FS") env.vars(self).save_script("conanbuild_msvc") + if is_msvc(self) or self.settings.os in ["iOS", "watchOS", "tvOS"]: + # autotools does not know about the msvc and Apple embedded OS canonical name(s) + args["--build"] = None + args["--host"] = None + # The finite-math-only optimization has no effect and can cause linking errors # when linked against glibc >= 2.31 extra_cflags += ["-fno-finite-math-only"] From 0289b114b3e17e4340433e1fea0132aea2674939 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 13:05:17 +0100 Subject: [PATCH 0377/1307] (#21545) libjpeg-turbo: add missing IJG license * libjpeg-turbo: add missing IJG license * Use a tuple of licenses Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/libjpeg-turbo/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libjpeg-turbo/all/conanfile.py b/recipes/libjpeg-turbo/all/conanfile.py index 9405b0c63aaf6..ebe4c40f12545 100644 --- a/recipes/libjpeg-turbo/all/conanfile.py +++ b/recipes/libjpeg-turbo/all/conanfile.py @@ -13,7 +13,7 @@ class LibjpegTurboConan(ConanFile): name = "libjpeg-turbo" description = "SIMD-accelerated libjpeg-compatible JPEG codec library" - license = "BSD-3-Clause, Zlib" + license = ("IJG", "BSD-3-Clause", "Zlib") url = "https://github.com/conan-io/conan-center-index" homepage = "https://libjpeg-turbo.org" topics = ("jpeg", "libjpeg", "image", "multimedia", "format", "graphics") @@ -139,6 +139,7 @@ def build(self): def package(self): copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "README.ijg", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() # remove unneeded directories From 4b177db1288b58ccd7ea4c0b09f06e3c85571733 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 14:00:56 +0100 Subject: [PATCH 0378/1307] (#21565) libbigwig: use version range for libcurl --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index d8ac63458a127..e242d7f2f554c 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -45,7 +45,7 @@ def requirements(self): if self.options.with_curl: # transitive_headers=True is required due to includes in bigWigIO.h # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 - self.requires("libcurl/8.4.0", transitive_headers=True) + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.with_zlibng: self.requires("zlib-ng/2.1.5") else: From 93fb1ef11127c4051cdadb607262fe5ac62d5cb2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 14:57:25 +0100 Subject: [PATCH 0379/1307] (#21566) cocoyaxi: use version range for libcurl --- recipes/cocoyaxi/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cocoyaxi/all/conanfile.py b/recipes/cocoyaxi/all/conanfile.py index adafa0cb6a0df..1209ab9f83764 100644 --- a/recipes/cocoyaxi/all/conanfile.py +++ b/recipes/cocoyaxi/all/conanfile.py @@ -42,7 +42,7 @@ def configure(self): def requirements(self): if self.options.with_libcurl: - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libcurl or self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") From e1d2375e6fd5c2318838d9779709c9aa9fe035b6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 17:33:13 +0200 Subject: [PATCH 0380/1307] (#18745) waf: migrate to Conan v2 * waf: migrate to Conan v2 * waf: make it work on macOS * Restore v2.0.19 Should not remove the most recent current version from an existing recipe to not break deps for consumers. * waf: fix tests * waf: fix DYLD_LIBRARY_PATH in tests * waf: waf fails with cmake_layout() * waf: bump version --------- Co-authored-by: Piotr Gaczkowski --- recipes/waf/all/conandata.yml | 6 ++ recipes/waf/all/conanfile.py | 57 +++++++++-------- recipes/waf/all/test_package/conanfile.py | 67 ++++++++++---------- recipes/waf/all/test_v1_package/conanfile.py | 43 +++++++++++++ recipes/waf/config.yml | 4 ++ 5 files changed, 120 insertions(+), 57 deletions(-) create mode 100644 recipes/waf/all/test_v1_package/conanfile.py diff --git a/recipes/waf/all/conandata.yml b/recipes/waf/all/conandata.yml index 4d28ed8ee8074..07871b61a4101 100644 --- a/recipes/waf/all/conandata.yml +++ b/recipes/waf/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "2.0.26": + url: "https://waf.io/waf-2.0.26.tar.bz2" + sha256: "c33d19c1bdfae1b078edaef2fab19b1bc734294edd4cc005d4881e9d53ed219c" + "2.0.25": + url: "https://waf.io/waf-2.0.25.tar.bz2" + sha256: "66cff7beed0e77db874e9232cc08874abb3e866c7f0f1f34ba2f959fde44fdd4" "2.0.19": url: "https://waf.io/waf-2.0.19.tar.bz2" sha256: "d8402689b72fe75f759a83b5f6bdf9b4f34ca7fd6007d80680ecfcbef5c2bba5" diff --git a/recipes/waf/all/conanfile.py b/recipes/waf/all/conanfile.py index cc8d7cdece540..6d2f8a76078a0 100644 --- a/recipes/waf/all/conanfile.py +++ b/recipes/waf/all/conanfile.py @@ -1,28 +1,37 @@ -from conans import ConanFile, tools import os +from conan import ConanFile +from conan.tools.files import copy, get, save +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.47.0" + class WafConan(ConanFile): name = "waf" description = "The Waf build system" - topics = ("conan", "waf", "builsystem") + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://waf.io" - license = "BSD-3-Clause" - settings = "os", "arch" + topics = ("buildsystem", "pre-built") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename("waf-{}".format(self.version), self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _license_text(self): - [_, license, _] = open(os.path.join(self.source_folder, self._source_subfolder, "waf"), "rb").read().split(b"\"\"\"", 3) - return license.decode().lstrip() + license_text = self.source_path.joinpath("waf").read_bytes().split(b'"""', 3)[1] + return license_text.decode().lstrip() def build(self): pass @@ -31,30 +40,28 @@ def package(self): binpath = os.path.join(self.package_folder, "bin") libpath = os.path.join(self.package_folder, "lib") - os.mkdir(binpath) - os.mkdir(libpath) + save(self, os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - tools.save(os.path.join(self.package_folder, "licenses", "LICENSE"), self._license_text) - - self.copy("waf", src=self._source_subfolder, dst=binpath) - self.copy("waf-light", src=self._source_subfolder, dst=binpath) - self.copy("waflib/*", src=self._source_subfolder, dst=libpath) + copy(self, "waf", src=self.source_folder, dst=binpath) + copy(self, "waf-light", src=self.source_folder, dst=binpath) + copy(self, "waflib/*", src=self.source_folder, dst=libpath) if self.settings.os == "Windows": - self.copy("waf.bat", src=os.path.join(self._source_subfolder, "utils"), dst=binpath) + copy(self, "waf.bat", src=os.path.join(self.source_folder, "utils"), dst=binpath) os.chmod(os.path.join(binpath, "waf"), 0o755) os.chmod(os.path.join(binpath, "waf-light"), 0o755) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] + wafdir = os.path.join(self.package_folder, "lib") + self.buildenv_info.define_path("WAFDIR", wafdir) + + # TODO: Legacy, remove in 2.0 binpath = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var: {}".format(binpath)) self.env_info.PATH.append(binpath) - - wafdir = os.path.join(self.package_folder, "lib") - self.output.info("Setting WAFDIR env var: {}".format(wafdir)) self.env_info.WAFDIR = wafdir - - diff --git a/recipes/waf/all/test_package/conanfile.py b/recipes/waf/all/test_package/conanfile.py index 9d956eec26829..f47744ecfec84 100644 --- a/recipes/waf/all/test_package/conanfile.py +++ b/recipes/waf/all/test_package/conanfile.py @@ -1,42 +1,45 @@ -from conans import ConanFile, tools -from contextlib import contextmanager import os import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import chdir +from conan.tools.layout import basic_layout + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" exports_sources = "a.cpp", "b.cpp", "main.c", "main.cpp", "wscript" + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + basic_layout(self) + + def generate(self): + buildenv = VirtualBuildEnv(self) + buildenv.generate() + + env = Environment() + for var in ["DYLD_LIBRARY_PATH", "LD_LIBRARY_PATH"]: + env.append_path(var, self.build_folder) + env.vars(self, scope="run").save_script("conanrun_macos_dyld_path") + def build(self): - if tools.cross_building(self.settings): - return - - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), self.build_folder) - - waf_path = tools.which("waf") - if waf_path: - waf_path = waf_path.replace("\\", "/") - assert waf_path.startswith(str(self.deps_cpp_info["waf"].rootpath)) - - with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): - self.run("waf -h") - self.run("waf configure") - self.run("waf") - - @contextmanager - def _add_ld_search_path(self): - env = {} - if self.settings.os == "Linux": - env["LD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - elif self.settings.os == "Macos": - env["DYLD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] - with tools.environment_append(env): - yield + if can_run(self): + for src in self.exports_sources: + shutil.copy(os.path.join(self.source_folder, src), self.build_folder) + + with chdir(self, self.build_folder): + self.run(f"waf configure -o {self.cpp.build.bindir}") + self.run("waf") def test(self): - if not tools.cross_building(self.settings): - with self._add_ld_search_path(): - self.run(os.path.join("build", "app"), run_environment=True) - self.run(os.path.join("build", "app2"), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "app") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "app2") + self.run(bin_path, env="conanrun") diff --git a/recipes/waf/all/test_v1_package/conanfile.py b/recipes/waf/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..252c1f1ae1d96 --- /dev/null +++ b/recipes/waf/all/test_v1_package/conanfile.py @@ -0,0 +1,43 @@ +from conan.tools.apple import is_apple_os +from conans import ConanFile, tools +from contextlib import contextmanager +import os +import shutil + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + exports_sources = "a.cpp", "b.cpp", "main.c", "main.cpp", "wscript" + + def build(self): + if tools.cross_building(self.settings): + return + + for src in self.exports_sources: + shutil.copy(os.path.join(self.source_folder, os.pardir, "test_package", src), self.build_folder) + + waf_path = tools.which("waf") + if waf_path: + waf_path = waf_path.replace("\\", "/") + assert waf_path.startswith(str(self.deps_cpp_info["waf"].rootpath)) + + with tools.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools.no_op(): + self.run("waf -h") + self.run("waf configure") + self.run("waf") + + @contextmanager + def _add_ld_search_path(self): + env = {} + if self.settings.os in ["Linux", "FreeBSD"]: + env["LD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] + elif is_apple_os(self): + env["DYLD_LIBRARY_PATH"] = [os.path.join(os.getcwd(), "build")] + with tools.environment_append(env): + yield + + def test(self): + if not tools.cross_building(self.settings): + with self._add_ld_search_path(): + self.run(os.path.join("build", "app"), run_environment=True) + self.run(os.path.join("build", "app2"), run_environment=True) diff --git a/recipes/waf/config.yml b/recipes/waf/config.yml index e3883114dd1bb..9df1d7fdf59a0 100644 --- a/recipes/waf/config.yml +++ b/recipes/waf/config.yml @@ -1,3 +1,7 @@ versions: + "2.0.26": + folder: all + "2.0.25": + folder: all "2.0.19": folder: all From b68bfcf503348fc3c7316cbfebd5910f1fe4c1dd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 17:47:12 +0200 Subject: [PATCH 0381/1307] (#21165) elfutils: bump version and deps, add zstd support * elfutils: bump version and deps, add zstd support * elfutils: fix with_zstd option use --- recipes/elfutils/all/conandata.yml | 10 +++-- recipes/elfutils/all/conanfile.py | 37 ++++++++++++++----- ...-0001-remove-werror-configure-option.patch | 18 --------- ...-0001-remove-werror-configure-option.patch | 18 --------- ...-0001-remove-werror-configure-option.patch | 22 ----------- recipes/elfutils/config.yml | 2 + 6 files changed, 37 insertions(+), 70 deletions(-) delete mode 100644 recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch diff --git a/recipes/elfutils/all/conandata.yml b/recipes/elfutils/all/conandata.yml index 5d70f514c9ba8..69b00d0652d9d 100644 --- a/recipes/elfutils/all/conandata.yml +++ b/recipes/elfutils/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.190": + url: "https://sourceware.org/elfutils/ftp/0.190/elfutils-0.190.tar.bz2" + sha256: "8e00a3a9b5f04bc1dc273ae86281d2d26ed412020b391ffcc23198f10231d692" "0.189": url: "https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2" sha256: "39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8" @@ -9,10 +12,11 @@ sources: url: "https://sourceware.org/elfutils/ftp/0.180/elfutils-0.180.tar.bz2" sha256: "b827b6e35c59d188ba97d7cf148fa8dc6f5c68eb6c5981888dfdbb758c0b569d" patches: - "0.189": - - patch_file: "patches/0.189-0001-remove-werror-configure-option.patch" - patch_description: "Disable -Werror flag." + "0.190": + - patch_file: "patches/0.189-0002-add-enable-static-option-to-configure.patch" + patch_description: "Enable static library building." patch_type: "conan" + "0.189": - patch_file: "patches/0.189-0002-add-enable-static-option-to-configure.patch" patch_description: "Enable static library building." patch_type: "conan" diff --git a/recipes/elfutils/all/conanfile.py b/recipes/elfutils/all/conanfile.py index b8aafd509dd45..7d15bdd2937ed 100644 --- a/recipes/elfutils/all/conanfile.py +++ b/recipes/elfutils/all/conanfile.py @@ -3,7 +3,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir +from conan.tools.files import export_conandata_patches, apply_conandata_patches, copy, get, rm, rmdir, replace_in_file from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps, PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.microsoft import unix_path, is_msvc @@ -19,6 +19,7 @@ class ElfutilsConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" topics = ("libelf", "libdw", "libasm") license = ["GPL-1.0-or-later", "LGPL-3.0-or-later", "GPL-2.0-or-later"] + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -28,6 +29,7 @@ class ElfutilsConan(ConanFile): "libdebuginfod": [True, False], "with_bzlib": [True, False], "with_lzma": [True, False], + "with_zstd": [True, False], "with_sqlite3": [True, False], } default_options = { @@ -37,6 +39,7 @@ class ElfutilsConan(ConanFile): "libdebuginfod": False, "with_bzlib": True, "with_lzma": True, + "with_zstd": True, "with_sqlite3": False, } @@ -52,6 +55,7 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "0.186": del self.options.libdebuginfod + del self.options.with_zstd def configure(self): if self.options.shared: @@ -70,8 +74,10 @@ def requirements(self): self.requires("bzip2/1.0.8") if self.options.with_lzma: self.requires("xz_utils/5.4.5") + if self.options.get_safe("with_zstd"): + self.requires("zstd/1.5.5") if self.options.get_safe("libdebuginfod"): - self.requires("libcurl/8.4.0") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.debuginfod: self.requires("libmicrohttpd/0.9.75") @@ -121,19 +127,28 @@ def generate(self): "--with-zlib", "--with-bzlib" if self.options.with_bzlib else "--without-bzlib", "--with-lzma" if self.options.with_lzma else "--without-lzma", + "--with-zstd" if self.options.get_safe("with_zstd") else "--without-zstd", "--enable-debuginfod" if self.options.debuginfod else "--disable-debuginfod", ]) if Version(self.version) >= "0.186": tc.configure_args.append("--enable-libdebuginfod" if self.options.libdebuginfod else "--disable-libdebuginfod") tc.configure_args.append(f"BUILD_STATIC={'0' if self.options.shared else '1'}") + if self.options.get_safe("with_zstd"): + # ./configure ignores system_libs + tc.extra_ldflags.append("-pthread") tc.generate() deps = AutotoolsDeps(self) deps.generate() deps = PkgConfigDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "config", "eu.am"), + "-Werror", "", strict=False) + + def build(self): + self._patch_sources() autotools = Autotools(self) autotools.autoreconf(args=["-fiv"]) autotools.configure() @@ -156,14 +171,18 @@ def package_info(self): # library components self.cpp_info.components["libelf"].libs = ["elf"] self.cpp_info.components["libelf"].requires = ["zlib::zlib"] - - self.cpp_info.components["libdw"].libs = ["dw"] - self.cpp_info.components["libdw"].requires = ["libelf", "zlib::zlib"] if self.options.with_bzlib: - self.cpp_info.components["libdw"].requires.append("bzip2::bzip2") + self.cpp_info.components["libelf"].requires.append("bzip2::bzip2") if self.options.with_lzma: - self.cpp_info.components["libdw"].requires.append("xz_utils::xz_utils") - if self.settings.os == "Linux": + self.cpp_info.components["libelf"].requires.append("xz_utils::xz_utils") + if self.options.get_safe("with_zstd"): + self.cpp_info.components["libelf"].requires.append("zstd::zstd") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libelf"].system_libs.append("pthread") + + self.cpp_info.components["libdw"].libs = ["dw"] + self.cpp_info.components["libdw"].requires = ["libelf"] + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["libdw"].system_libs.extend(["dl"]) self.cpp_info.components["libasm"].includedirs = ["include/elfutils"] diff --git a/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch index 332c215103f1f..a5b39f30d22c8 100644 --- a/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch +++ b/recipes/elfutils/all/patches/0.180-0001-remove-werror-configure-option.patch @@ -1,21 +1,3 @@ ---- config/eu.am -+++ config/eu.am -@@ -73,7 +73,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes -Wtrampolines \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ -@@ -83,7 +82,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - -Wtrampolines \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),-Wno-packed-not-aligned,) \ diff --git a/source/source_subfolder/configure.ac b/source/source_subfolder/configure.ac index 74cc749..634858d 100644 --- configure.ac diff --git a/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch index 789694c1fe951..0cf39dab8bc5b 100644 --- a/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch +++ b/recipes/elfutils/all/patches/0.186-0001-remove-werror-configure-option.patch @@ -1,21 +1,3 @@ ---- config/eu.am -+++ config/eu.am -@@ -91,7 +91,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - -Wold-style-definition -Wstrict-prototypes $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -@@ -101,7 +101,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/source/source_subfolder/configure.ac b/source/source_subfolder/configure.ac index 74cc749..634858d 100644 --- configure.ac diff --git a/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch b/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch deleted file mode 100644 index 2c7be1ea5314e..0000000000000 --- a/recipes/elfutils/all/patches/0.189-0001-remove-werror-configure-option.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/config/eu.am b/config/eu.am -index e6c241f..fb92465 100644 ---- a/config/eu.am -+++ b/config/eu.am -@@ -99,7 +99,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ - $(USE_AFTER_FREE3_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ -+ $(if $($(*F)_no_Werror),,) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ -@@ -109,7 +109,7 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ - $(TRAMPOLINES_WARNING) \ - $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ - $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ -- $(if $($(*F)_no_Werror),,-Werror) \ -+ $(if $($(*F)_no_Werror),,) \ - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ - $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ - $(if $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ diff --git a/recipes/elfutils/config.yml b/recipes/elfutils/config.yml index afca319dbca9e..2b63e87901919 100644 --- a/recipes/elfutils/config.yml +++ b/recipes/elfutils/config.yml @@ -1,4 +1,6 @@ versions: + "0.190": + folder: all "0.189": folder: all "0.186": From 36db4d88d1182926579bdc95c68bcbcf6d404762 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 01:08:38 +0900 Subject: [PATCH 0382/1307] (#21333) duckdb: add version 0.9.2 * duckdb: add version 0.9.2 * drop support msvc shared debug build in 0.9.2 --- recipes/duckdb/all/conandata.yml | 7 ++ recipes/duckdb/all/conanfile.py | 5 + .../all/patches/0.9.2-0001-fix-cmake.patch | 117 ++++++++++++++++++ recipes/duckdb/config.yml | 2 + 4 files changed, 131 insertions(+) create mode 100644 recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch diff --git a/recipes/duckdb/all/conandata.yml b/recipes/duckdb/all/conandata.yml index 619c9622f6e4c..82ad639285d87 100644 --- a/recipes/duckdb/all/conandata.yml +++ b/recipes/duckdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.2": + url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.2.tar.gz" + sha256: "afff7bd925a98dc2af4039b8ab2159b0705cbf5e0ee05d97f7bb8dce5f880dc2" "0.9.0": url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.9.0.tar.gz" sha256: "3dbf3326a831bf0797591572440e81a3d6d668f8e33a25ce04efae19afc3a23d" @@ -21,6 +24,10 @@ sources: url: "https://github.com/duckdb/duckdb/archive/refs/tags/v0.5.1.tar.gz" sha256: "3dab7ba0d0f8d024d3c73fd3d4fb8834203c31d7b0ddb1e8539ee266e11b0e9b" patches: + "0.9.2": + - patch_file: "patches/0.9.2-0001-fix-cmake.patch" + patch_description: "install static of shared library, add installation for odbc extention" + patch_type: "portability" "0.9.0": - patch_file: "patches/0.9.0-0001-fix-cmake.patch" patch_description: "install static of shared library, add installation for odbc extention" diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py index cac6731cc1f7d..2010b8b18210e 100644 --- a/recipes/duckdb/all/conanfile.py +++ b/recipes/duckdb/all/conanfile.py @@ -1,4 +1,5 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file from conan.tools.build import check_min_cppstd from conan.tools.scm import Version @@ -89,6 +90,10 @@ def requirements(self): def validate(self): if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) + # FIXME: drop support MSVC debug shared build + if Version(self.version) >= "0.9.2" and \ + is_msvc(self) and self.options.shared and self.settings.build_type == "Debug": + raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC debug shared build") def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) diff --git a/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch b/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c7d4c07c092db --- /dev/null +++ b/recipes/duckdb/all/patches/0.9.2-0001-fix-cmake.patch @@ -0,0 +1,117 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 67444db..c34c3ce 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -721,7 +721,7 @@ function(build_static_extension NAME PARAMETERS) + set(FILES ${ARGV}) + list(REMOVE_AT FILES 0) + add_library(${NAME}_extension STATIC ${FILES}) +- target_link_libraries(${NAME}_extension duckdb_static) ++# target_link_libraries(${NAME}_extension duckdb_static) + endfunction() + + # Internal extension register function +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index cda2d86..011ecb5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -76,21 +76,21 @@ else() + duckdb_hyperloglog + duckdb_fastpforlib + duckdb_mbedtls) +- ++ if(BUILD_SHARED_LIBS) + add_library(duckdb SHARED ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb ${DUCKDB_LINK_LIBS}) + link_threads(duckdb) + link_extension_libraries(duckdb) +- ++ endif() + add_library(duckdb_static STATIC ${ALL_OBJECT_FILES}) + target_link_libraries(duckdb_static ${DUCKDB_LINK_LIBS}) + link_threads(duckdb_static) + link_extension_libraries(duckdb_static) +- ++ if(BUILD_SHARED_LIBS) + target_include_directories( + duckdb PUBLIC $ + $) +- ++ endif() + target_include_directories( + duckdb_static PUBLIC $ + $) +@@ -105,10 +105,18 @@ else() + DESTINATION "${INSTALL_INCLUDE_DIR}") + + endif() +- ++if(BUILD_SHARED_LIBS) + install( +- TARGETS duckdb duckdb_static ++ TARGETS duckdb + EXPORT "${DUCKDB_EXPORT_SET}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++else() ++install( ++ TARGETS duckdb_static ++ EXPORT "${DUCKDB_EXPORT_SET}" ++ LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ++ ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" ++ RUNTIME DESTINATION "${INSTALL_BIN_DIR}") ++endif() +diff --git a/tools/odbc/CMakeLists.txt b/tools/odbc/CMakeLists.txt +index 4a8e7e1..8ae9681 100644 +--- a/tools/odbc/CMakeLists.txt ++++ b/tools/odbc/CMakeLists.txt +@@ -53,6 +53,13 @@ add_library( + + set_target_properties(duckdb_odbc PROPERTIES DEFINE_SYMBOL "DUCKDB_ODBC_API") + target_link_libraries(duckdb_odbc ${LINK_LIB_LIST} duckdb_static) ++install( ++ TARGETS duckdb_odbc ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++) + + if(NOT CLANG_TIDY) + add_subdirectory(test) +diff --git a/tools/sqlite3_api_wrapper/CMakeLists.txt b/tools/sqlite3_api_wrapper/CMakeLists.txt +index 3fa4166..42af485 100644 +--- a/tools/sqlite3_api_wrapper/CMakeLists.txt ++++ b/tools/sqlite3_api_wrapper/CMakeLists.txt +@@ -25,20 +25,20 @@ if(NOT AMALGAMATION_BUILD) + endif() + link_threads(sqlite3_api_wrapper_static) + +-if(NOT WIN32 AND NOT ZOS) ++if(BUILD_SHARED_LIBS AND NOT WIN32 AND NOT ZOS) + add_library(sqlite3_api_wrapper SHARED ${SQLITE_API_WRAPPER_FILES}) + target_link_libraries(sqlite3_api_wrapper duckdb ${DUCKDB_EXTRA_LINK_FLAGS}) + link_threads(sqlite3_api_wrapper) + endif() + +-include_directories(../../third_party/catch) ++# include_directories(../../third_party/catch) + +-include_directories(test/include) +-add_subdirectory(test) ++# include_directories(test/include) ++# add_subdirectory(test) + +-add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) +-if(WIN32 OR ZOS) +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) +-else() +- target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) +-endif() ++#add_executable(test_sqlite3_api_wrapper ${SQLITE_TEST_FILES}) ++#if(WIN32 OR ZOS) ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper_static) ++#else() ++# target_link_libraries(test_sqlite3_api_wrapper sqlite3_api_wrapper) ++#endif() diff --git a/recipes/duckdb/config.yml b/recipes/duckdb/config.yml index a69b0b52d6903..77e20cf10a797 100644 --- a/recipes/duckdb/config.yml +++ b/recipes/duckdb/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.2": + folder: "all" "0.9.0": folder: "all" "0.8.1": From f8186e3b676c2c687500359cf5dbb235b5416527 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Tue, 5 Dec 2023 11:48:35 -0500 Subject: [PATCH 0383/1307] (#21403) [libassert] Add 1.2.2 * Add libassert 1.2.2 * Bump cpptrace --- recipes/libassert/all/conandata.yml | 8 ++++++++ recipes/libassert/all/conanfile.py | 8 +++++--- .../all/patches/1.2.2/0001-cpptrace-dll-copy.patch | 13 +++++++++++++ recipes/libassert/config.yml | 2 ++ 4 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch diff --git a/recipes/libassert/all/conandata.yml b/recipes/libassert/all/conandata.yml index d4b509c40e9c9..1cae5dc94ff57 100644 --- a/recipes/libassert/all/conandata.yml +++ b/recipes/libassert/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "1.2.2": + url: + - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.2.tar.gz" + sha256: "68206b43bc4803357ba7d366574b4631bd327c46ab76ddef6ff9366784fa6b3c" "1.2.1": url: - "https://github.com/jeremy-rifkin/libassert/archive/refs/tags/v1.2.1.tar.gz" @@ -14,6 +18,10 @@ sources: sha256: "e1bb3b50767994ca4d0f60b7977b279cf32b8569ff92c5830e7a1de567b82fd5" patches: + "1.2.2": + - patch_file: "patches/1.2.2/0001-cpptrace-dll-copy.patch" + patch_type: "conan" + patch_description: "Disable custom command to copy cpptrace.dll on windows" "1.2.1": - patch_file: "patches/1.2.1/0001-cpptrace-dll-copy.patch" patch_type: "conan" diff --git a/recipes/libassert/all/conanfile.py b/recipes/libassert/all/conanfile.py index 6f1972a5ee404..c596be696aeb2 100644 --- a/recipes/libassert/all/conanfile.py +++ b/recipes/libassert/all/conanfile.py @@ -52,7 +52,9 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if Version(self.version) >= Version("1.2.1"): + if Version(self.version) >= Version("1.2.2"): + self.requires("cpptrace/0.3.1") + elif Version(self.version) >= Version("1.2.1"): self.requires("cpptrace/0.2.1") def validate(self): @@ -102,7 +104,7 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() - + if self.settings.os == "Windows" and self.options.shared: copy( self, @@ -124,7 +126,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "assert") self.cpp_info.set_property("cmake_target_name", "assert::assert") - + # the first version of this library used assert/assert as include folder # appending this one but not removing the default to not break consumers self.cpp_info.includedirs.append(os.path.join("include", "assert")) diff --git a/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch b/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch new file mode 100644 index 0000000000000..27871ced2d3f0 --- /dev/null +++ b/recipes/libassert/all/patches/1.2.2/0001-cpptrace-dll-copy.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ce5dbcf..085a1aa 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -163,7 +163,7 @@ + + # Don't run tests when library is used with add_subdirectory + if(PROJECT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) +- if(WIN32) ++ if(0) + add_custom_command( + TARGET assert POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/recipes/libassert/config.yml b/recipes/libassert/config.yml index 9e967f0ed7597..8ade508384535 100644 --- a/recipes/libassert/config.yml +++ b/recipes/libassert/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "1.2.2": + folder: all "1.2.1": folder: all "1.1": From 4bf5b5d457729a2507339128f0159044c475c0dc Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Dec 2023 18:11:42 +0100 Subject: [PATCH 0384/1307] (#21595) leptonica: bump dependencies --- recipes/leptonica/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/leptonica/all/conanfile.py b/recipes/leptonica/all/conanfile.py index e749f2b2e4eb1..6bcb75d8840d6 100644 --- a/recipes/leptonica/all/conanfile.py +++ b/recipes/leptonica/all/conanfile.py @@ -72,9 +72,9 @@ 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.0") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_jpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.5") if self.options.with_png: self.requires("libpng/1.6.40") if self.options.with_tiff: @@ -87,7 +87,7 @@ def requirements(self): def build_requirements(self): if self.options.with_webp or self.options.with_openjpeg: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 90e6a053f61b78f456dec8e66a859b0b7f0edbfa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 03:24:09 +0900 Subject: [PATCH 0385/1307] (#21599) poco: add version 1.12.5p2 --- recipes/poco/all/conandata.yml | 10 ++++++++++ recipes/poco/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index fa93dac290dc4..44d50ff4a064f 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.12.5p2": + url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p2-release.tar.gz" + sha256: "08d201bb287cb59e13577901758aeb3ced7ea44627c79f5c162eb60323812685" "1.12.5p1": url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p1-release.tar.gz" sha256: "8ba10b69c815e95e1c8776af0143aa8603088b84e3f6a8447994c6b92d7522f0" @@ -21,6 +24,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.12.5p2": + - patch_file: patches/1.12.3.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.12.5-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.5p1": - patch_file: patches/1.12.3.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index 2d62c53468641..c50a32bedbc58 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.12.5p2": + folder: all "1.12.5p1": folder: all "1.12.4": From 56bbd14b946499928120210bcde21f83450ca113 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 03:49:51 +0900 Subject: [PATCH 0386/1307] (#21600) cpprestsdk: add version 2.10.19 --- recipes/cpprestsdk/all/conandata.yml | 10 ++++++++++ recipes/cpprestsdk/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/cpprestsdk/all/conandata.yml b/recipes/cpprestsdk/all/conandata.yml index 5216074c76f9d..632826ffef040 100644 --- a/recipes/cpprestsdk/all/conandata.yml +++ b/recipes/cpprestsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.10.19": + url: "https://github.com/microsoft/cpprestsdk/archive/refs/tags/v2.10.19.tar.gz" + sha256: "4b0d14e5bfe77ce419affd253366e861968ae6ef2c35ae293727c1415bd145c8" "2.10.18": url: "https://github.com/Microsoft/cpprestsdk/archive/2.10.18.tar.gz" sha256: "6bd74a637ff182144b6a4271227ea8b6b3ea92389f88b25b215e6f94fd4d41cb" @@ -12,6 +15,13 @@ sources: url: "https://github.com/Microsoft/cpprestsdk/archive/v2.10.15.tar.gz" sha256: "1c027a53457e87b0b3a475e5c8045b94400c475898c8bd51b0fbd218b99a7f7b" patches: + "2.10.19": + - patch_file: "patches/0003-find-cmake-targets.patch" + patch_type: "conan" + patch_description: "CMake: internal targets" + - patch_file: "patches/0002-remove-wconversion.patch" + patch_type: "conan" + patch_description: "fix warnings" "2.10.18": - patch_file: "patches/0003-find-cmake-targets.patch" patch_type: "conan" diff --git a/recipes/cpprestsdk/config.yml b/recipes/cpprestsdk/config.yml index d4be51c9a70c3..00ffc5b18bc36 100644 --- a/recipes/cpprestsdk/config.yml +++ b/recipes/cpprestsdk/config.yml @@ -1,4 +1,6 @@ versions: + "2.10.19": + folder: "all" "2.10.18": folder: "all" "2.10.17": From 700f205d4c8a92eecd7fcb0ecdb20859e9dad77c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 20:09:06 +0100 Subject: [PATCH 0387/1307] (#21605) coin-clp: bump pkgconf --- recipes/coin-clp/all/conanfile.py | 2 +- recipes/coin-clp/all/test_package/conanfile.py | 2 +- recipes/coin-clp/all/test_v1_package/conanfile.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/coin-clp/all/conanfile.py b/recipes/coin-clp/all/conanfile.py index 4a12a71981848..7d2a72db5923b 100644 --- a/recipes/coin-clp/all/conanfile.py +++ b/recipes/coin-clp/all/conanfile.py @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/coin-clp/all/test_package/conanfile.py b/recipes/coin-clp/all/test_package/conanfile.py index 160bdaf5610e0..f085dad93e383 100644 --- a/recipes/coin-clp/all/test_package/conanfile.py +++ b/recipes/coin-clp/all/test_package/conanfile.py @@ -17,7 +17,7 @@ def requirements(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) diff --git a/recipes/coin-clp/all/test_v1_package/conanfile.py b/recipes/coin-clp/all/test_v1_package/conanfile.py index 9b15feda1ca30..6b31eec8506a4 100644 --- a/recipes/coin-clp/all/test_v1_package/conanfile.py +++ b/recipes/coin-clp/all/test_v1_package/conanfile.py @@ -7,7 +7,7 @@ class TestPackageConan(ConanFile): generators = "cmake", "pkg_config" def build_requirements(self): - self.build_requires("pkgconf/1.9.3") + self.build_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) From 9a8767e8cb1f3cb6fcf0b8702dcb5ab960231e18 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 20:29:06 +0100 Subject: [PATCH 0388/1307] (#21607) sdl/all: bump deps * sdl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * sdl/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sdl/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py index 56e164e58a14f..03ff0430a22b1 100644 --- a/recipes/sdl/all/conanfile.py +++ b/recipes/sdl/all/conanfile.py @@ -158,10 +158,10 @@ def requirements(self): self.requires("nas/1.9.5") if self.options.wayland: self.requires("wayland/1.22.0") - self.requires("xkbcommon/1.4.1") + self.requires("xkbcommon/1.6.0") self.requires("egl/system") if self.options.libunwind: - self.requires("libunwind/1.6.2") + self.requires("libunwind/1.7.2") def validate(self): # SDL>=2.0.18 requires xcode 12 or higher because it uses CoreHaptics. @@ -189,9 +189,9 @@ def build_requirements(self): # set. This could be because you are using a Mac OS X version less than 10.5 # or because CMake's platform configuration is corrupt. # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.tool_requires("cmake/3.25.3") + self.tool_requires("cmake/3.27.9") if self.settings.os == "Linux" and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") if hasattr(self, "settings_build") and self.options.get_safe("wayland"): self.build_requires("wayland/1.22.0") # Provides wayland-scanner From 93f09eace3459d98225889121baed646674e1901 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 22:05:24 +0200 Subject: [PATCH 0389/1307] (#18643) pexports: migrate to Conan v2 * pexports: migrate to Conan v2pexports: migrate to Conan v2 * pexports: fix Windows build * pexports: fix test_package * pexports: fix MacOS armv8 build * pexports: disable armv8 cross-compilation * Update recipes/pexports/all/conanfile.py Co-authored-by: Uilian Ries * pexports: fix invalid import --------- Co-authored-by: Uilian Ries --- recipes/pexports/all/conandata.yml | 3 - recipes/pexports/all/conanfile.py | 136 ++++++++++-------- .../pexports/all/test_package/CMakeLists.txt | 5 +- .../pexports/all/test_package/conanfile.py | 32 +++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../pexports/all/test_v1_package/conanfile.py | 26 ++++ 6 files changed, 133 insertions(+), 77 deletions(-) create mode 100644 recipes/pexports/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/pexports/all/test_v1_package/conanfile.py diff --git a/recipes/pexports/all/conandata.yml b/recipes/pexports/all/conandata.yml index 5b08eb793f8dc..17b38bf1e163f 100644 --- a/recipes/pexports/all/conandata.yml +++ b/recipes/pexports/all/conandata.yml @@ -5,8 +5,5 @@ sources: patches: "0.47": - patch_file: "patches/0001-add-help.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-fix-MSVC-stack-overflow.patch" - base_path: "source_subfolder" - patch_file: "patches/0003-fix-MSVC-x86.patch" - base_path: "source_subfolder" diff --git a/recipes/pexports/all/conanfile.py b/recipes/pexports/all/conanfile.py index 44edf44c3e48f..88c3b2437f34a 100644 --- a/recipes/pexports/all/conanfile.py +++ b/recipes/pexports/all/conanfile.py @@ -1,94 +1,110 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -import contextlib import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, chdir, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import unix_path, is_msvc + +required_conan_version = ">=1.52.0" class PExportsConan(ConanFile): name = "pexports" description = "pexports is a program to extract exported symbols from a PE image (executable)." - homepage = "https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/" license = "GPL-2.0-or-later" - topics = ("windows", "dll", "PE", "symbols", "import", "library") url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - - exports_sources = "patches/*" - - _autotools = None + homepage = "https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/" + topics = ("windows", "dll", "PE", "symbols", "import", "library") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) + def export_sources(self): + export_conandata_patches(self) + def configure(self): - del self.settings.compiler.cppstd - del self.settings.compiler.libcxx + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") - def build_requirements(self): - self.build_requires("automake/1.16.3") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): del self.info.settings.compiler - def source(self): - filename = "pexports.tar.xz" - tools.get(**self.conan_data["sources"][self.version], filename=filename, - destination=self._source_subfolder, strip_root=True) + def validate(self): + # FIXME: Need to build with Mac M1 + if self.settings.arch in ["armv8", "armv8.3"] and cross_building(self): + raise ConanInvalidConfiguration(f"Conan recipe {self.ref} does not support armv8. Contributions are welcome!") - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "CC": "{} cl -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - "LD": "{} link -nologo".format(tools.unix_path(self._user_info_build["automake"].compile)), - } - with tools.environment_append(env): - yield + def build_requirements(self): + self.tool_requires("automake/1.16.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("winflexbison/2.5.25") else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - host = build = None - if self.settings.compiler == "Visual Studio": - self._autotools.defines.append("YY_NO_UNISTD_H") - host = build = False - self._autotools.configure(configure_dir=self._source_subfolder, host=host, build=build) - return self._autotools + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") + + def source(self): + filename = "pexports.tar.xz" + get(self, **self.conan_data["sources"][self.version], filename=filename, strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args.append(f"--prefix={unix_path(self, self.package_folder)}") + if is_msvc(self): + tc.extra_defines.append("YY_NO_UNISTD_H") + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + env.vars(self).save_script("conanbuild_msvc") + + def _patch_sources(self): + apply_conandata_patches(self) + # Fix for: Invalid configuration `aarch64-apple-darwin': machine `aarch64-apple' not recognized + replace_in_file(self, os.path.join(self.source_folder, "build-aux", "config.sub"), + "avr | avr32 ", "avr | avr32 | aarch64") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - with self._build_context(): - autotools = self._configure_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + suffix = ".exe" if self.settings.os == "Windows" else "" + copy(self, "pexports" + suffix, src=self.source_folder, dst=os.path.join(self.package_folder, "bin")) def package_info(self): + self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) self.env_info.PATH.append(bin_path) diff --git a/recipes/pexports/all/test_package/CMakeLists.txt b/recipes/pexports/all/test_package/CMakeLists.txt index 7345b4f993eae..c25a9626aeb52 100644 --- a/recipes/pexports/all/test_package/CMakeLists.txt +++ b/recipes/pexports/all/test_package/CMakeLists.txt @@ -1,13 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) if(NOT WIN32) message(FATAL_ERROR "pexports only supports Windows") endif() -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_program(PEXPORTS_BIN "pexports") set(EXPORTS_DEF_PATH "${CMAKE_BINARY_DIR}/exports.def") if(MSVC) diff --git a/recipes/pexports/all/test_package/conanfile.py b/recipes/pexports/all/test_package/conanfile.py index cd2e47277e1d7..8919154c6885e 100644 --- a/recipes/pexports/all/test_package/conanfile.py +++ b/recipes/pexports/all/test_package/conanfile.py @@ -1,11 +1,22 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanException import os +from conan import ConanFile +from conan.errors import ConanException +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import load + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): if self.settings.os == "Windows": @@ -14,13 +25,14 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - self.run("pexports -H", run_environment=True) + if can_run(self): + self.run("pexports -H") + if self.settings.os == "Windows": - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") exports_def_path = os.path.join(self.build_folder, "exports.def") - exports_def_contents = tools.load(exports_def_path) - self.output.info("{} contents:\n{}".format(exports_def_path, exports_def_contents)) - if not "test_package_function" in exports_def_contents: + exports_def_contents = load(self, exports_def_path) + self.output.info(f"{exports_def_path} contents:\n{exports_def_contents}") + if "test_package_function" not in exports_def_contents: raise ConanException("pexport could not detect `test_package_function` in the dll") diff --git a/recipes/pexports/all/test_v1_package/CMakeLists.txt b/recipes/pexports/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/pexports/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/pexports/all/test_v1_package/conanfile.py b/recipes/pexports/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..ecb888f16f156 --- /dev/null +++ b/recipes/pexports/all/test_v1_package/conanfile.py @@ -0,0 +1,26 @@ +from conans import ConanFile, CMake, tools +from conans.errors import ConanException +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + if self.settings.os == "Windows": + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + self.run("pexports -H", run_environment=True) + if self.settings.os == "Windows": + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + exports_def_path = os.path.join(self.build_folder, "exports.def") + exports_def_contents = tools.load(exports_def_path) + self.output.info("{} contents:\n{}".format(exports_def_path, exports_def_contents)) + if not "test_package_function" in exports_def_contents: + raise ConanException("pexport could not detect `test_package_function` in the dll") From af1d897b1e604879cf3d36437f2eba9537debf46 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 5 Dec 2023 22:24:10 +0200 Subject: [PATCH 0390/1307] (#18955) isa-l: migrate to Conan v2 * isa-l: migrate to Conan v2 * isa-l: add Windows support * isa-l: add autoreconf call * isa-l: add new cci.20230818 version for armv8 support * isa-l: armv8 is not supported https://github.com/conan-io/conan-center-index/pull/18955#issuecomment-1790028151 * isa-l: revert the addition of custom version --- recipes/isa-l/all/conanfile.py | 121 +++++++++++------- recipes/isa-l/all/test_package/CMakeLists.txt | 10 +- recipes/isa-l/all/test_package/conanfile.py | 27 ++-- .../isa-l/all/test_v1_package/CMakeLists.txt | 8 ++ .../isa-l/all/test_v1_package/conanfile.py | 23 ++++ 5 files changed, 129 insertions(+), 60 deletions(-) create mode 100644 recipes/isa-l/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/isa-l/all/test_v1_package/conanfile.py diff --git a/recipes/isa-l/all/conanfile.py b/recipes/isa-l/all/conanfile.py index 56f45edf048a4..09af37c4cc900 100644 --- a/recipes/isa-l/all/conanfile.py +++ b/recipes/isa-l/all/conanfile.py @@ -1,17 +1,24 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration - import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, collect_libs, copy, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, NMakeToolchain + +required_conan_version = ">=1.53.0" + class LibisalConan(ConanFile): name = "isa-l" description = "Intel's Intelligent Storage Acceleration Library" - license = "BSD-3" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/intel/isa-l" - topics = ("isa-l", "compression") + topics = "compression" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -19,54 +26,82 @@ class LibisalConan(ConanFile): } default_options = { "shared": False, - "fPIC" :True + "fPIC": True, } - build_requires = ( - "libtool/2.4.6", - "nasm/2.15.05", - ) - - @property - def _source_subfolder(self): - return "source_subfolder" - def validate(self): - if self.settings.arch not in [ "x86", "x86_64", "armv8" ]: - raise ConanInvalidConfiguration("CPU Architecture not supported") - if self.settings.os not in ["Linux", "FreeBSD"]: - raise ConanInvalidConfiguration("Only Linux and FreeBSD builds are supported") + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} architecture is not supported") + if self.version == "2.30.0" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration(f"Version {self.version} does not support armv8") + + def build_requirements(self): + self.tool_requires("nasm/2.15.05") + if self.settings.os != "Windows": + self.tool_requires("libtool/2.4.7") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + if is_msvc(self): + tc = NMakeToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + # ./configure bugs out if $AS executable has an absolute path + env = tc.environment() + env.define("AS", "nasm") + tc.generate(env) def build(self): - with tools.chdir(self._source_subfolder): - self.run("./autogen.sh") - env_build = AutoToolsBuildEnvironment(self) - extra_args = list() - if self.options.shared: - extra_args.extend(('--enable-static=no',)) + with chdir(self, self.source_folder): + if is_msvc(self): + replace_in_file(self, "Makefile.nmake", + " static" if self.options.shared else " dll", "") + self.run("nmake /f Makefile.nmake") else: - extra_args.extend(('--enable-shared=no',)) - env_build.configure(".", args=extra_args, build=False, host=False, target=False) - env_build.make() + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - self.copy("*/isa-l.h", dst="include/isa-l", keep_path=False) - self.copy("*.h", dst="include/isa-l", src="%s/include" % (self._source_subfolder) , keep_path=False) - if self.options.shared: - self.copy("*.dll", dst="bin", keep_path=False) - self.copy("*.so*", dst="lib", keep_path=False, symlinks=True) - self.copy("*.dylib", dst="lib", keep_path=False) - else: - self.copy("*.a", dst="lib", keep_path=False) + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*/isa-l.h", + dst=os.path.join(self.package_folder, "include/isa-l"), + src=self.source_folder, + keep_path=False) + copy(self, "*.h", + dst=os.path.join(self.package_folder, "include/isa-l"), + src=os.path.join(self.source_folder, "include"), + keep_path=False) + copy(self, "*.dll", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder, + keep_path=False) + for pattern in ["*.so*", "*.dylib", "*.lib", "*.a"]: + copy(self, pattern, + dst=os.path.join(self.package_folder, "lib"), + src=self.source_folder, + keep_path=False) def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = collect_libs(self) diff --git a/recipes/isa-l/all/test_package/CMakeLists.txt b/recipes/isa-l/all/test_package/CMakeLists.txt index 196188113685c..9e88b9de0b709 100644 --- a/recipes/isa-l/all/test_package/CMakeLists.txt +++ b/recipes/isa-l/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(isa-l REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE isa-l::isa-l) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/isa-l/all/test_package/conanfile.py b/recipes/isa-l/all/test_package/conanfile.py index e1f2192537436..ef5d7042163ec 100644 --- a/recipes/isa-l/all/test_package/conanfile.py +++ b/recipes/isa-l/all/test_package/conanfile.py @@ -1,16 +1,19 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from conans import ConanFile, CMake, tools, RunEnvironment -from conan.tools.build import cross_building +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -import subprocess -import re class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -18,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/isa-l/all/test_v1_package/CMakeLists.txt b/recipes/isa-l/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/isa-l/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/isa-l/all/test_v1_package/conanfile.py b/recipes/isa-l/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..9d2678d8486a0 --- /dev/null +++ b/recipes/isa-l/all/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from conans import ConanFile, CMake, tools, RunEnvironment +from conan.tools.build import cross_building +import os +import subprocess +import re + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From ba5db84721f8f3a18c65cedf91d0bf7c3a9032b9 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Dec 2023 21:48:41 +0100 Subject: [PATCH 0391/1307] (#21609) aravis: add version 0.8.30 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/aravis/all/conandata.yml | 49 ++++++++++++++++++-------------- recipes/aravis/config.yml | 2 ++ 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/recipes/aravis/all/conandata.yml b/recipes/aravis/all/conandata.yml index 6d7da524affcc..768365163e373 100644 --- a/recipes/aravis/all/conandata.yml +++ b/recipes/aravis/all/conandata.yml @@ -1,23 +1,30 @@ sources: - "0.8.29": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.29/aravis-0.8.29.tar.xz" - sha256: "12e5f2f0e1a966c3a6dce0a42d96b2f24497f42ae6051d6f026811124e986963" - "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) - url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" - sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" - "0.8.20": - url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" - sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" + "0.8.30": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.30/aravis-0.8.30.tar.xz" + sha256: "40380f06fa04524a7875bd456e5a5ea78b2c058fa84b5598bc6e0642fcef00b0" + "0.8.29": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.29/aravis-0.8.29.tar.xz" + sha256: "12e5f2f0e1a966c3a6dce0a42d96b2f24497f42ae6051d6f026811124e986963" + "0.8.25": # latest version that supports GenDC data format (supported by U3V 1.1) + url: "https://github.com/AravisProject/aravis/releases/download/0.8.25/aravis-0.8.25.tar.xz" + sha256: "3ba18f941ae4e2c898fed1f63c4ce67ea41a800a902ee5684eef4ffdb87f1c09" + "0.8.20": + url: "https://github.com/AravisProject/aravis/releases/download/0.8.20/aravis-0.8.20.tar.xz" + sha256: "0c0eb5a76109f29180c09c7e6a23fd403633bf22bbe8468a0ae44995c4449f46" patches: - "0.8.29": - - patch_file: "patches/0.8.29-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan - "0.8.25": - - patch_file: "patches/0.8.25-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan - "0.8.20": - - patch_file: "patches/0.8.19-gst-shared-lib.patch" - patch_description: "remove forcing of shared library built for gst-plugins" - patch_type: conan + "0.8.30": + - patch_file: "patches/0.8.29-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.29": + - patch_file: "patches/0.8.29-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.25": + - patch_file: "patches/0.8.25-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan + "0.8.20": + - patch_file: "patches/0.8.19-gst-shared-lib.patch" + patch_description: "remove forcing of shared library built for gst-plugins" + patch_type: conan diff --git a/recipes/aravis/config.yml b/recipes/aravis/config.yml index 366a3a6468f96..1aa8532edf0e6 100644 --- a/recipes/aravis/config.yml +++ b/recipes/aravis/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.30": + folder: all "0.8.29": folder: all # 0.8.25 is the last version to support GenDC data format From 853a6a62397f1caba5b6dc6efe73c53b2fd09bd3 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Tue, 5 Dec 2023 22:32:06 +0100 Subject: [PATCH 0392/1307] (#21619) perfetto: Bump version: 40.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 6d72ce39c85b1..d490b5c402d8e 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "40.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v40.0.tar.gz" + sha256: "bd78f0165e66026c31c8c39221ed2863697a8bba5cd39b12e4b43d0b7f71626f" "39.0": url: "https://github.com/google/perfetto/archive/refs/tags/v39.0.tar.gz" sha256: "241cbaddc9ff4e5d1de2d28497fef40b5510e9ca60808815bf4944d0d2f026db" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 03c6316a5eb58..52841e460eedc 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "40.0": + folder: all "39.0": folder: all "38.0": From bded910f3589a45c6603174184f58feb24e8999d Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Dec 2023 07:41:26 +0900 Subject: [PATCH 0393/1307] (#21621) glaze: add version 1.8.5 --- recipes/glaze/all/conandata.yml | 4 +++- recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index b542b9d9e6886..ad71e5b609c26 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,8 +1,10 @@ sources: + "1.8.5": + url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" + sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" "1.8.4": url: "https://github.com/stephenberry/glaze/archive/v1.8.4.tar.gz" sha256: "794f68d74264ebd4d26c9e1b2a9098134622751a089a45ed5a97d90e58b7d9e6" - "1.8.3": url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz" sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5971823a629d4..0cda01a7a8583 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.5": + folder: all "1.8.4": folder: all "1.8.3": From 04d80636b8e6de2b3f849f60b5da57a4688015b3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 02:56:01 +0200 Subject: [PATCH 0394/1307] (#21623) libtins: bump libpcap --- recipes/libtins/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libtins/all/conanfile.py b/recipes/libtins/all/conanfile.py index d5656f7267688..c84ea4afb38c0 100644 --- a/recipes/libtins/all/conanfile.py +++ b/recipes/libtins/all/conanfile.py @@ -58,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libpcap/1.10.1", transitive_headers=True, transitive_libs=True) + self.requires("libpcap/1.10.4", transitive_headers=True, transitive_libs=True) if self.options.with_ack_tracker or self.options.with_tcp_stream_custom_data: # Used in two public headers: # - https://github.com/mfontanini/libtins/blob/v4.4/include/tins/tcp_ip/ack_tracker.h#L38 From 0b5684535054a2e337f2fbba263ad18a30c4cf7f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 15:51:28 +0200 Subject: [PATCH 0395/1307] (#18834) libfreenect2: migrate to Conan v2, add CUDA support * libfreenect2: migrate to Conan v2, add CUDA support * libfreenect2: use cuda-samples package for with_cuda * libfreenect2: explicitly list requires * libfreenect2: link against freenect2::freenect2 * libfreenect2: fix libjpeg-turbo linking --- recipes/libfreenect2/all/CMakeLists.txt | 7 +- recipes/libfreenect2/all/conandata.yml | 2 - recipes/libfreenect2/all/conanfile.py | 164 ++++++++++----- .../all/patches/0.2.1-fix-cmake.patch | 189 ++++-------------- .../all/test_package/CMakeLists.txt | 14 +- .../all/test_package/conanfile.py | 26 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 8 files changed, 206 insertions(+), 221 deletions(-) create mode 100644 recipes/libfreenect2/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libfreenect2/all/test_v1_package/conanfile.py diff --git a/recipes/libfreenect2/all/CMakeLists.txt b/recipes/libfreenect2/all/CMakeLists.txt index c986d294c7547..ff20e4a7a17dd 100644 --- a/recipes/libfreenect2/all/CMakeLists.txt +++ b/recipes/libfreenect2/all/CMakeLists.txt @@ -1,7 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(cmake_wrapper) -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") +add_subdirectory(src) diff --git a/recipes/libfreenect2/all/conandata.yml b/recipes/libfreenect2/all/conandata.yml index 7fab4fd83db66..95824e496a47a 100644 --- a/recipes/libfreenect2/all/conandata.yml +++ b/recipes/libfreenect2/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "0.2.1": - patch_file: "patches/0.2.1-fix-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/0.2.1-generate-resources.patch" - base_path: "source_subfolder" diff --git a/recipes/libfreenect2/all/conanfile.py b/recipes/libfreenect2/all/conanfile.py index dbb951cc733d9..b9a827fb5ffdb 100644 --- a/recipes/libfreenect2/all/conanfile.py +++ b/recipes/libfreenect2/all/conanfile.py @@ -1,21 +1,32 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir, replace_in_file +from conan.tools.gnu import PkgConfigDeps + +required_conan_version = ">=1.53.0" + class Libfreenect2Conan(ConanFile): name = "libfreenect2" + description = "Open source drivers for the Kinect for Windows v2 device." license = ("Apache-2.0", "GPL-2.0") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/OpenKinect/libfreenect2" - description = "Open source drivers for the Kinect for Windows v2 device." topics = ("usb", "camera", "kinect") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "with_opencl": [True, False], "with_opengl": [True, False], "with_vaapi": [True, False], + "with_cuda": [True, False], } default_options = { "shared": False, @@ -23,88 +34,133 @@ class Libfreenect2Conan(ConanFile): "with_opencl": True, "with_opengl": True, "with_vaapi": True, + "with_cuda": False, } - generators = "cmake", "cmake_find_package" - exports_sources = ["CMakeLists.txt", "patches/*"] - - _cmake = None - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - if self.settings.os != "Linux": - del self.options.with_vaapi + if self.settings.os not in ["Linux", "FreeBSD"]: + self.options.rm_safe("with_vaapi") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libusb/1.0.24") - self.requires("libjpeg-turbo/2.1.1") + self.requires("libusb/1.0.26") + self.requires("libjpeg-turbo/3.0.0") if self.options.with_opencl: - self.requires("opencl-headers/2021.04.29") - self.requires("opencl-icd-loader/2021.04.29") + # 2023.02.06 is the latest compatible version + self.requires("opencl-headers/2023.02.06") + self.requires("opencl-icd-loader/2023.02.06") if self.options.with_opengl: self.requires("opengl/system") - self.requires("glfw/3.3.4") + self.requires("glfw/3.3.8") if self.options.get_safe("with_vaapi"): self.requires("vaapi/system") + if self.options.with_cuda: + self.requires("cuda-samples/12.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd(self, 11) + check_min_cppstd(self, 11) + if self.options.with_cuda: + self.output.warning("Conan package for CUDA is not available, will use system CUDA") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_FIND_ROOT_PATH_MODE_PACKAGE"] = "NONE" + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_OPENNI2_DRIVER"] = False + tc.variables["ENABLE_CXX11"] = True + tc.variables["ENABLE_OPENCL"] = self.options.with_opencl + tc.variables["ENABLE_CUDA"] = self.options.with_cuda + tc.variables["ENABLE_OPENGL"] = self.options.with_opengl + tc.variables["ENABLE_VAAPI"] = self.options.get_safe("with_vaapi", False) + tc.variables["ENABLE_TEGRAJPEG"] = False # TODO: TegraJPEG + tc.variables["ENABLE_PROFILING"] = False + if self.options.with_cuda: + tc.variables["NVCUDASAMPLES_ROOT"] = os.path.join(self.dependencies["cuda-samples"].package_folder, "include") + # Required for deprecated FindCUDA support + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0146"] = "OLD" + tc.generate() + + deps = CMakeDeps(self) + deps.set_property("libusb", "cmake_file_name", "LibUSB") + deps.set_property("glfw3", "cmake_file_name", "GLFW3") + deps.set_property("libjpeg-turbo", "cmake_file_name", "TurboJPEG") + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_EXAMPLES"] = False - self._cmake.definitions["BUILD_OPENNI2_DRIVER"] = False - self._cmake.definitions["ENABLE_CXX11"] = True - self._cmake.definitions["ENABLE_OPENCL"] = self.options.with_opencl - self._cmake.definitions["ENABLE_CUDA"] = False # TODO: CUDA - self._cmake.definitions["ENABLE_OPENGL"] = self.options.with_opengl - self._cmake.definitions["ENABLE_VAAPI"] = self.options.get_safe("with_vaapi", False) - self._cmake.definitions["ENABLE_TEGRAJPEG"] = False # TODO: TegraJPEG - self._cmake.definitions["ENABLE_PROFILING"] = False - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "FIND_PACKAGE(JPEG)", "FIND_PACKAGE(TurboJPEG REQUIRED CONFIG)") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " JPEG_FOUND", " TRUE") def build(self): self._patch_sources() - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("APACHE20", src=self._source_subfolder, dst="licenses", keep_path=False) - self.copy("GPL2", src=self._source_subfolder, dst="licenses", keep_path=False) - cmake = self._configure_cmake() + copy(self, "APACHE20", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + copy(self, "GPL2", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses"), + keep_path=False) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): - self.cpp_info.names["cmake_find_package"] = "freenect2" - self.cpp_info.names["cmake_find_package_multi"] = "freenect2" - self.cpp_info.names["pkg_config"] = "freenect2" - self.cpp_info.libs = tools.collect_libs(self) - if self.settings.os == "Linux": + self.cpp_info.set_property("cmake_file_name", "freenect2") + self.cpp_info.set_property("cmake_target_name", "freenect2::freenect2") + self.cpp_info.set_property("pkg_config_name", "freenect2") + self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.extend(["m", "pthread", "dl"]) - elif self.settings.os == "Macos": + elif is_apple_os(self): self.cpp_info.frameworks.extend(["VideoToolbox", "CoreFoundation", "CoreMedia", "CoreVideo"]) + + self.cpp_info.requires += [ + "libusb::libusb", + "libjpeg-turbo::jpeg", + "libjpeg-turbo::turbojpeg", + ] + if self.options.with_opencl: + self.cpp_info.requires += [ + "opencl-headers::opencl-headers", + "opencl-icd-loader::opencl-icd-loader", + ] + if self.options.with_opengl: + self.cpp_info.requires += [ + "opengl::opengl", + "glfw::glfw", + ] + if self.options.get_safe("with_vaapi"): + self.cpp_info.requires += ["vaapi::vaapi"] + if self.options.with_cuda: + self.cpp_info.requires += ["cuda-samples::cuda-samples"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "freenect2" + self.cpp_info.names["cmake_find_package_multi"] = "freenect2" diff --git a/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch b/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch index 93324460a3d71..fcc8f8dfa20e8 100644 --- a/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch +++ b/recipes/libfreenect2/all/patches/0.2.1-fix-cmake.patch @@ -1,27 +1,6 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d8ef047..a81aa8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -90,8 +90,7 @@ SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) - - # dependencies --FIND_PACKAGE(PkgConfig) # try find PKGConfig as it will be used if found --FIND_PACKAGE(LibUSB REQUIRED) -+find_package(libusb REQUIRED) - - # Add includes - INCLUDE_DIRECTORIES( -@@ -99,7 +98,7 @@ INCLUDE_DIRECTORIES( - "${MY_DIR}/include/internal" - ${PROJECT_BINARY_DIR} # for generated headers - ${LIBFREENECT2_THREADING_INCLUDE_DIR} -- ${LibUSB_INCLUDE_DIRS} -+ # ${LibUSB_INCLUDE_DIRS} - ) - - SET(RESOURCES_INC_FILE "${PROJECT_BINARY_DIR}/resources.inc.h") -@@ -157,12 +156,12 @@ SET(SOURCES +@@ -157,7 +157,7 @@ ) SET(LIBRARIES @@ -30,174 +9,88 @@ index d8ef047..a81aa8e 100644 ${LIBFREENECT2_THREADING_LIBRARIES} ) - SET(LIBFREENECT2_DLLS -- ${LibUSB_DLL} -+ #${LibUSB_DLL} - ) - - SET(HAVE_VideoToolbox "no (Apple only)") -@@ -193,13 +192,14 @@ ENDIF(APPLE) - - SET(HAVE_VAAPI disabled) - IF(ENABLE_VAAPI) -- IF(PKG_CONFIG_FOUND) -- PKG_CHECK_MODULES(VAAPI libva libva-drm) -- ENDIF() -- FIND_PACKAGE(JPEG) -+ # IF(PKG_CONFIG_FOUND) -+ # PKG_CHECK_MODULES(VAAPI libva libva-drm) -+ # ENDIF() -+ find_package(vaapi REQUIRED) -+ find_package(libjpeg-turbo REQUIRED) - - SET(HAVE_VAAPI no) -- IF(VAAPI_FOUND AND JPEG_FOUND) -+ # IF(VAAPI_FOUND AND JPEG_FOUND) - SET(LIBFREENECT2_WITH_VAAPI_SUPPORT 1) - SET(HAVE_VAAPI yes) - -@@ -209,10 +209,10 @@ IF(ENABLE_VAAPI) - src/vaapi_rgb_packet_processor.cpp - ) - LIST(APPEND LIBRARIES -- ${VAAPI_LIBRARIES} -- ${JPEG_LIBRARY} -+ vaapi::vaapi -+ libjpeg-turbo::libjpeg-turbo - ) -- ENDIF() -+ # ENDIF() - ENDIF(ENABLE_VAAPI) - - SET(HAVE_TegraJPEG disabled) -@@ -237,38 +237,38 @@ IF(ENABLE_TEGRAJPEG) - ENDIF() - - IF(LIBFREENECT2_WITH_VT_SUPPORT) -- FIND_PACKAGE(TurboJPEG) -+ find_package(libjpeg-turbo REQUIRED) - ELSE() - # VAAPI can fail to start at runtime. It must have a fallback. -- FIND_PACKAGE(TurboJPEG REQUIRED) -+ find_package(libjpeg-turbo REQUIRED) - ENDIF() - - SET(HAVE_TurboJPEG no) --IF(TurboJPEG_FOUND) -+IF(libjpeg-turbo_FOUND) - SET(LIBFREENECT2_WITH_TURBOJPEG_SUPPORT 1) - SET(HAVE_TurboJPEG yes) - -- INCLUDE_DIRECTORIES(${TurboJPEG_INCLUDE_DIRS}) -+ #INCLUDE_DIRECTORIES(${TurboJPEG_INCLUDE_DIRS}) - - LIST(APPEND SOURCES - src/turbo_jpeg_rgb_packet_processor.cpp - ) - - LIST(APPEND LIBRARIES -- ${TurboJPEG_LIBRARIES} -+ libjpeg-turbo::libjpeg-turbo - ) - - LIST(APPEND LIBFREENECT2_DLLS -- ${TurboJPEG_DLL} -+ #${TurboJPEG_DLL} - ) - ENDIF() - - SET(HAVE_OpenGL disabled) - IF(ENABLE_OPENGL) -- FIND_PACKAGE(GLFW3) -- FIND_PACKAGE(OpenGL) -+ find_package(glfw3 REQUIRED) -+ find_package(opengl_system REQUIRED) - SET(HAVE_OpenGL no) -- IF(GLFW3_FOUND AND OPENGL_FOUND) -+ # IF(GLFW3_FOUND AND OPENGL_FOUND) - SET(LIBFREENECT2_WITH_OPENGL_SUPPORT 1) - SET(HAVE_OpenGL yes) - -@@ -276,8 +276,8 @@ IF(ENABLE_OPENGL) +@@ -276,8 +272,8 @@ LIST(APPEND LIBFREENECT2_DLLS ${GLFW3_DLL}) LIST(APPEND LIBRARIES - ${GLFW3_LIBRARIES} - ${OPENGL_gl_LIBRARY} -+ glfw::glfw -+ opengl::opengl ++ ${GLFW3_LIBRARIES} glfw ++ ${OPENGL_gl_LIBRARY} opengl::opengl ) LIST(APPEND SOURCES src/flextGL.cpp -@@ -292,19 +292,19 @@ IF(ENABLE_OPENGL) - src/shader/stage1.fs - src/shader/stage2.fs - ) -- ENDIF() -+ # ENDIF() - ENDIF(ENABLE_OPENGL) +@@ -297,10 +293,10 @@ SET(HAVE_OpenCL disabled) IF(ENABLE_OPENCL) - FIND_PACKAGE(OpenCL) -+ find_package(opencl-icd-loader REQUIRED) ++ find_package(OpenCLICDLoader REQUIRED) ++ find_package(OpenCLHeaders REQUIRED) SET(HAVE_OpenCL no) - IF(OpenCL_FOUND) -+ #IF(OpenCL_FOUND) SET(LIBFREENECT2_WITH_OPENCL_SUPPORT 1) SET(HAVE_OpenCL yes) -- IF(UNIX AND NOT APPLE) -+ IF(0) - INCLUDE(CheckOpenCLICDLoader) - IF(OpenCL_C_WORKS AND NOT OpenCL_CXX_WORKS) - SET(LIBFREENECT2_OPENCL_ICD_LOADER_IS_OLD 1) -@@ -312,7 +312,7 @@ IF(ENABLE_OPENCL) +@@ -312,7 +308,7 @@ MESSAGE(WARNING "Your libOpenCL.so is incompatible with CL/cl.h. Install ocl-icd-opencl-dev to update libOpenCL.so?") ENDIF() ENDIF() - INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS}) -+ #INCLUDE_DIRECTORIES(${OpenCL_INCLUDE_DIRS}) ++ INCLUDE_DIRECTORIES(${OpenCLHeaders_INCLUDE_DIRS}) LIST(APPEND SOURCES src/opencl_depth_packet_processor.cpp -@@ -320,7 +320,7 @@ IF(ENABLE_OPENCL) +@@ -320,7 +316,7 @@ ) LIST(APPEND LIBRARIES - ${OpenCL_LIBRARIES} -+ opencl-icd-loader::opencl-icd-loader ++ OpenCL::Headers OpenCL::OpenCL ) LIST(APPEND RESOURCES -@@ -334,7 +334,7 @@ IF(ENABLE_OPENCL) +@@ -334,12 +330,11 @@ IF(UNIX AND NOT APPLE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions") ENDIF() - ENDIF(OpenCL_FOUND) -+ #ENDIF(OpenCL_FOUND) ENDIF(ENABLE_OPENCL) SET(HAVE_CUDA disabled) -@@ -385,7 +385,7 @@ IF(ENABLE_CUDA) - ENDIF(ENABLE_CUDA) - - # RPATH handling for CUDA 8.0 libOpenCL.so conflict. See #804. --IF(HAVE_OpenCL STREQUAL yes AND UNIX AND NOT APPLE) -+IF(0) - FILE(GLOB CUDA_ld_so_conf /etc/ld.so.conf.d/cuda*.conf) - IF(CUDA_ld_so_conf) - MESSAGE(WARNING "Your CUDA installation overrides OpenCL system library path.") -@@ -403,9 +403,9 @@ ENDIF() + IF(ENABLE_CUDA) +- FIND_PACKAGE(CUDA) ++ FIND_PACKAGE(CUDA REQUIRED) + SET(HAVE_CUDA no) + IF(CUDA_FOUND AND MSVC14 AND CUDA_VERSION VERSION_LESS 8.0) + SET(HAVE_CUDA "no (VS2015 not supported)") +@@ -347,12 +342,15 @@ + SET(LIBFREENECT2_WITH_CUDA_SUPPORT 1) + SET(HAVE_CUDA yes) + +- STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT}") ++ IF(NOT DEFINED NVCUDASAMPLES_ROOT) ++ STRING(REPLACE "\\" "/" NVCUDASAMPLES_ROOT "$ENV{NVCUDASAMPLES_ROOT}") ++ ENDIF() + STRING(REPLACE "\\" "/" NVCUDASAMPLES8_0_ROOT "$ENV{NVCUDASAMPLES8_0_ROOT}") + CUDA_INCLUDE_DIRECTORIES( + "${MY_DIR}/include/" + "${CUDA_TOOLKIT_ROOT_DIR}/samples/common/inc" + "${NVCUDASAMPLES_ROOT}/common/inc" ++ "${NVCUDASAMPLES_ROOT}/Common" + "${NVCUDASAMPLES8_0_ROOT}/common/inc" + ) + SET(CUDA_FLAGS -use_fast_math) +@@ -403,11 +401,6 @@ # Both command line -DCMAKE_INSTALL_RPATH=... and CMake GUI settings are accepted. # # Anyway if wrong versions of libusb is used, errors will be reported explicitly. -IF(NOT DEFINED CMAKE_INSTALL_RPATH AND NOT ${LibUSB_LIBDIR} MATCHES "^/usr/lib") -+IF(0 AND NOT DEFINED CMAKE_INSTALL_RPATH AND NOT ${LibUSB_LIBDIR} MATCHES "^/usr/lib") - SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR} CACHE STRING "Set RPATH for a private libusb") +- SET(CMAKE_INSTALL_RPATH ${LibUSB_LIBDIR} CACHE STRING "Set RPATH for a private libusb") -ELSEIF(DEFINED CMAKE_INSTALL_RPATH) -+ELSEIF(0 AND DEFINED CMAKE_INSTALL_RPATH) - SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} CACHE STRING "Set RPATH for a private libusb") - ENDIF() +- SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_RPATH} CACHE STRING "Set RPATH for a private libusb") +-ENDIF() IF(DEFINED CMAKE_INSTALL_RPATH) + MESSAGE(STATUS "RPATH set to ${CMAKE_INSTALL_RPATH}") + ENDIF() diff --git a/recipes/libfreenect2/all/test_package/CMakeLists.txt b/recipes/libfreenect2/all/test_package/CMakeLists.txt index 5742a7e29c0d5..9acae9b976620 100644 --- a/recipes/libfreenect2/all/test_package/CMakeLists.txt +++ b/recipes/libfreenect2/all/test_package/CMakeLists.txt @@ -1,12 +1,14 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(freenect2 REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE ${freenect2_LIBRARIES}) -target_include_directories(${PROJECT_NAME} PRIVATE ${freenect2_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} PRIVATE freenect2::freenect2) set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) + +if (WITH_CUDA) + cmake_minimum_required(VERSION 3.17) + find_package(CUDAToolkit REQUIRED) + target_link_libraries(${PROJECT_NAME} PRIVATE CUDA::cudart) +endif() diff --git a/recipes/libfreenect2/all/test_package/conanfile.py b/recipes/libfreenect2/all/test_package/conanfile.py index 3da371b660e0a..66cde37e06dd2 100644 --- a/recipes/libfreenect2/all/test_package/conanfile.py +++ b/recipes/libfreenect2/all/test_package/conanfile.py @@ -1,10 +1,24 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["WITH_CUDA"] = self.dependencies[self.tested_reference_str].options.with_cuda + tc.generate() def build(self): cmake = CMake(self) @@ -12,6 +26,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt b/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libfreenect2/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libfreenect2/all/test_v1_package/conanfile.py b/recipes/libfreenect2/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/libfreenect2/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 7ca697799c5b7d5fe20dc3b9e2708c70e925d243 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Dec 2023 20:13:25 +0200 Subject: [PATCH 0396/1307] (#21632) libxml2: add version 2.12.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 68fe5669e65f4..37ac179d3514e 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.2": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.2.tar.xz" + sha256: "3f2e6464fa15073eb8f3d18602d54fafc489b7715171064615a40490c6be9f4f" "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index aece5e69bedd8..cde8f92b31014 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.2": + folder: all "2.12.1": folder: all "2.11.5": From 2bc3490a5f18aec4ee6bef00c4f3ebb966d77c7b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 7 Dec 2023 08:16:32 +0200 Subject: [PATCH 0397/1307] (#21633) nanoflann: add version 1.5.2 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/nanoflann/all/conandata.yml | 3 +++ recipes/nanoflann/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nanoflann/all/conandata.yml b/recipes/nanoflann/all/conandata.yml index b6d2b6c2d459b..f8c576a4749fe 100644 --- a/recipes/nanoflann/all/conandata.yml +++ b/recipes/nanoflann/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.2": + url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.2.tar.gz" + sha256: "2adcea7821445119a7a4f83c27abd56dba963e1e9c05a3f58bdb2273ae1b4698" "1.5.0": url: "https://github.com/jlblancoc/nanoflann/archive/v1.5.0.tar.gz" sha256: "89aecfef1a956ccba7e40f24561846d064f309bc547cc184af7f4426e42f8e65" diff --git a/recipes/nanoflann/config.yml b/recipes/nanoflann/config.yml index 6332b5bdd9493..42431fc83ed1e 100644 --- a/recipes/nanoflann/config.yml +++ b/recipes/nanoflann/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.2": + folder: "all" "1.5.0": folder: "all" "1.4.3": From 23c84b31ab953a0ff401f53f91d51d820cd528f1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 8 Dec 2023 02:12:16 +0100 Subject: [PATCH 0398/1307] (#21157) libmysqlclient: allow shared with apple-clang * conditionally remove shared option and set package type * remove unused files in lib folder if Windows - remove libmysql.dll - remove either static or import lib depending on shared option * allow shared for macOS * remove lib/plugin folder --- recipes/libmysqlclient/all/conanfile.py | 28 +++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 10ca9c1297853..3222c3020d2f0 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -4,7 +4,7 @@ from conan.tools.build import check_min_cppstd, cross_building, stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.env import VirtualRunEnv, VirtualBuildEnv -from conan.tools.files import rename, get, apply_conandata_patches, replace_in_file, rmdir, rm, export_conandata_patches, copy, mkdir +from conan.tools.files import rename, get, apply_conandata_patches, replace_in_file, rmdir, rm, export_conandata_patches, mkdir from conan.tools.gnu import PkgConfigDeps from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version @@ -90,11 +90,6 @@ def loose_lt_semver(v1, v2): if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} {minimum_version} or newer") - # Sice 8.0.17 this doesn't support shared library on MacOS. - # https://github.com/mysql/mysql-server/blob/mysql-8.0.17/cmake/libutils.cmake#L333-L335 - if self.settings.compiler == "apple-clang" and self.options.shared: - raise ConanInvalidConfiguration(f"{self.ref} doesn't support shared library") - # mysql < 8.0.29 uses `requires` in source code. It is the reserved keyword in C++20. # https://github.com/mysql/mysql-server/blob/mysql-8.0.0/include/mysql/components/services/dynamic_loader.h#L270 if self.settings.compiler.get_safe("cppstd") == "20" and Version(self.version) < "8.0.29": @@ -255,16 +250,23 @@ def package(self): rm(self, "README", self.package_folder) rm(self, "*.pdb", self.package_folder, recursive=True) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "plugin")) rmdir(self, os.path.join(self.package_folder, "docs")) rmdir(self, os.path.join(self.package_folder, "share")) - if self.settings.os == "Windows" and self.options.shared: - copy(self, "*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False) - if self.options.shared: - rm(self, "*.a", self.package_folder, recursive=True) + if self.settings.os == "Windows": + if self.options.shared: + rename(self, os.path.join(self.package_folder, "lib", "libmysql.dll"), + os.path.join(self.package_folder, "bin", "libmysql.dll")) + rm(self, "*mysqlclient.*", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.dll", os.path.join(self.package_folder, "lib")) + rm(self, "*libmysql.*", os.path.join(self.package_folder, "lib")) else: - rm(self, "*.dll", self.package_folder, recursive=True) - rm(self, "*.dylib", self.package_folder, recursive=True) - rm(self, "*.so*", self.package_folder, recursive=True) + if self.options.shared: + rm(self, "*.a", os.path.join(self.package_folder, "lib")) + else: + rm(self, "*.dylib", os.path.join(self.package_folder, "lib")) + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) def package_info(self): self.cpp_info.set_property("pkg_config_name", "mysqlclient") From 98bd2cfc0c1223e5730144419a27407b5e4b145c Mon Sep 17 00:00:00 2001 From: wadehunk <123095244+wadehunk@users.noreply.github.com> Date: Sat, 9 Dec 2023 06:44:15 -0600 Subject: [PATCH 0399/1307] (#17344) cyclonedds-cxx: Add new recipe * Add cyclonedds-cxx recipe * Streamline * remove conan v1 vars * Tweak * Add 0.10.4 * Require cyclonedds * Add find_package * Use transitive headers * Update src folder * Set minimum conan version to >=1.61.0 * Require cxx17 for test package * Handle cross-compilation * Try to handle win32 dll scenario * Help find dll * Wrong function call * Mark message as debug * Appease the linting gods * Add m to system_libs * Remove older versions * Tweak recipe with review feedback * Document transitive_header reasoning * Refactor code generation support and use CMakeDeps to include cycloneidlcxx lib * Use default paths as well * Tweak search path * Refactor generate script * Add builddirs * Revert back to cmake 3.16+ * Removed unused export_conan_data --- .../cyclonedds-cxx/all/cmake/Generate.cmake | 64 +++++++ recipes/cyclonedds-cxx/all/conandata.yml | 4 + recipes/cyclonedds-cxx/all/conanfile.py | 162 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 15 ++ .../all/test_package/Message.idl | 6 + .../all/test_package/conanfile.py | 27 +++ .../all/test_package/test_message.cpp | 12 ++ .../all/test_package/test_package.cpp | 11 ++ recipes/cyclonedds-cxx/config.yml | 3 + 9 files changed, 304 insertions(+) create mode 100644 recipes/cyclonedds-cxx/all/cmake/Generate.cmake create mode 100644 recipes/cyclonedds-cxx/all/conandata.yml create mode 100644 recipes/cyclonedds-cxx/all/conanfile.py create mode 100644 recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt create mode 100644 recipes/cyclonedds-cxx/all/test_package/Message.idl create mode 100644 recipes/cyclonedds-cxx/all/test_package/conanfile.py create mode 100644 recipes/cyclonedds-cxx/all/test_package/test_message.cpp create mode 100644 recipes/cyclonedds-cxx/all/test_package/test_package.cpp create mode 100644 recipes/cyclonedds-cxx/config.yml diff --git a/recipes/cyclonedds-cxx/all/cmake/Generate.cmake b/recipes/cyclonedds-cxx/all/cmake/Generate.cmake new file mode 100644 index 0000000000000..a399ac1aa2efe --- /dev/null +++ b/recipes/cyclonedds-cxx/all/cmake/Generate.cmake @@ -0,0 +1,64 @@ +# +# Copyright(c) 2020 to 2022 ZettaScale Technology and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License v. 2.0 which is available at +# http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License +# v. 1.0 which is available at +# http://www.eclipse.org/org/documents/edl-v10.php. +# +# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause +# + +# NOTE: This function was leveraged from the upstream cyclonedds-cxx project +# and modified to find the direct path to the cycloneddsidlcxx library as +# opposed to leveraging the native CycloneDDS-CXX::idlcxx cmake target. +# Because Conan redeclares its own targets using INTERFACE libs, the upstream +# version of this function was incompatible. If the upstream implementation of +# this functionality changes, a modification to this file may be required. +# See: https://github.com/eclipse-cyclonedds/cyclonedds-cxx/blob/master/src/idlcxx/Generate.cmake + +find_package(CycloneDDS REQUIRED) + +# find idlcxx shared library +set(CMAKE_FIND_LIBRARY_SUFFIXES .dll ${CMAKE_FIND_LIBRARY_SUFFIXES}) +if(CMAKE_CROSSCOMPILING) + find_library(_idlcxx_shared_lib cycloneddsidlcxx NO_CMAKE_FIND_ROOT_PATH REQUIRED) +else() + find_library(_idlcxx_shared_lib + NAMES cycloneddsidlcxx + PATHS ${CMAKE_CURRENT_LIST_DIR}/../../bin/ + ${CMAKE_CURRENT_LIST_DIR}/../../lib/ + NO_DEFAULT_PATH) +endif() + +if(_idlcxx_shared_lib) + set(_idlcxx_depends "") +else() + message(FATAL_ERROR "Cannot find idlcxx shared library") +endif() + +function(IDLCXX_GENERATE) + set(one_value_keywords TARGET DEFAULT_EXTENSIBILITY BASE_DIR OUTPUT_DIR) + set(multi_value_keywords FILES FEATURES INCLUDES WARNINGS) + cmake_parse_arguments( + IDLCXX "" "${one_value_keywords}" "${multi_value_keywords}" "" ${ARGN}) + + idlc_generate_generic(TARGET ${IDLCXX_TARGET} + BACKEND ${_idlcxx_shared_lib} + BASE_DIR ${IDLCXX_BASE_DIR} + FILES ${IDLCXX_FILES} + FEATURES ${IDLCXX_FEATURES} + INCLUDES ${IDLCXX_INCLUDES} + WARNINGS ${IDLCXX_WARNINGS} + DEFAULT_EXTENSIBILITY ${IDLCXX_DEFAULT_EXTENSIBILITY} + SUFFIXES .hpp .cpp + OUTPUT_DIR ${IDLCXX_OUTPUT_DIR} + DEPENDS ${_idlcxx_depends} + ) + if(CYCLONEDDS_CXX_ENABLE_LEGACY) + target_include_directories(${IDLCXX_TARGET} + INTERFACE ${Boost_INCLUDE_DIR} + ) + endif() +endfunction() diff --git a/recipes/cyclonedds-cxx/all/conandata.yml b/recipes/cyclonedds-cxx/all/conandata.yml new file mode 100644 index 0000000000000..46c0203bb55c2 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.10.4": + url: "https://github.com/eclipse-cyclonedds/cyclonedds-cxx/archive/refs/tags/0.10.4.tar.gz" + sha256: "ca09d738b150a7dc1fa63dcb5ad211a4ba516c92710ebff7b9fe817c7c5a257e" diff --git a/recipes/cyclonedds-cxx/all/conanfile.py b/recipes/cyclonedds-cxx/all/conanfile.py new file mode 100644 index 0000000000000..723b2660aff69 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/conanfile.py @@ -0,0 +1,162 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, replace_in_file +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.61.0" + +class CycloneDDSCXXConan(ConanFile): + name = "cyclonedds-cxx" + license = "EPL-2.0" + homepage = "https://cyclonedds.io/" + url = "https://github.com/conan-io/conan-center-index" + description = "Eclipse Cyclone DDS C++ Binding- An implementation"\ + " of the OMG Data Distribution Service (DDS) specification" + topics = ("dds", "ipc", "ros", "middleware") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return "17" + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "Visual Studio": "16", + "msvc": "192", + "clang": "7", + "apple-clang": "10", + } + + def _has_idlc(self, info=False): + # don't build idllib when it makes little sense or not supported + host_os = self.info.settings.os if info else self.settings.os + return host_os not in ["Android", "iOS", "watchOS", "tvOS", "Neutrino"] + + def export_sources(self): + copy(self, os.path.join("cmake", "Generate.cmake"), self.recipe_folder, self.export_sources_folder) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + # Use the corresponding version of cyclonedds with transitive headers + #INFO: is used in several public headers including: + # :29 + # :31 + # :26 + # :34 + self.requires("cyclonedds/{}".format(self.version), transitive_headers=True) + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_DDSLIB"] = True + tc.variables["BUILD_IDLLIB"] = self._has_idlc() + tc.variables["BUILD_DOCS"] = False + tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_EXAMPLES"] = False + # variables which effects build + tc.variables["ENABLE_LEGACY"] = False + tc.variables["ENABLE_SHM"] = self.dependencies["cyclonedds"].options.with_shm + tc.variables["ENABLE_TYPE_DISCOVERY"] = self.dependencies["cyclonedds"].options.enable_discovery + tc.variables["ENABLE_TOPIC_DISCOVERY"] = self.dependencies["cyclonedds"].options.enable_discovery + tc.variables["ENABLE_COVERAGE"] = False + tc.generate() + cd = CMakeDeps(self) + cd.generate() + + def _patch_sources(self): + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_shm CycloneDDS::ddsc SHM_SUPPORT_IS_AVAILABLE)", + "set(cyclonedds_has_shm {})".format(self.dependencies["cyclonedds"].options.with_shm)) + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_type_discovery CycloneDDS::ddsc TYPE_DISCOVERY_IS_AVAILABLE)", + "set(cyclonedds_has_type_discovery {})".format(self.dependencies["cyclonedds"].options.enable_discovery)) + replace_in_file(self, cmakelists, + "get_target_property(cyclonedds_has_topic_discovery CycloneDDS::ddsc TOPIC_DISCOVERY_IS_AVAILABLE)", + "set(cyclonedds_has_topic_discovery {})".format(self.dependencies["cyclonedds"].options.enable_discovery)) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "CycloneDDS-CXX")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "Generate.cmake", + src=os.path.join(self.source_folder, os.pardir, "cmake"), + dst=os.path.join(self.package_folder, self._module_path)) + if self.settings.os == "Windows": + for p in ("*.pdb", "concrt*.dll", "msvcp*.dll", "vcruntime*.dll"): + rm(self, p, os.path.join(self.package_folder, "bin")) + + @property + def _module_path(self): + return os.path.join("lib", "cmake") + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_module_file_name", "CycloneDDS-CXX") + self.cpp_info.set_property("cmake_file_name", "CycloneDDS-CXX") + self.cpp_info.set_property("cmake_target_name", "CycloneDDS-CXX::CycloneDDS-CXX") + self.cpp_info.set_property("pkg_config_name", "CycloneDDS-CXX") + build_modules = [ + os.path.join(self._module_path, "Generate.cmake"), + ] + self.cpp_info.set_property("cmake_build_modules", build_modules) + self.cpp_info.includedirs = ["include/ddscxx"] + self.cpp_info.builddirs = [self._module_path] + self.cpp_info.components["ddscxx"].libs = ["ddscxx"] + self.cpp_info.components["ddscxx"].includedirs = ["include/ddscxx"] + self.cpp_info.components["ddscxx"].set_property("cmake_target_name", "CycloneDDS-CXX::ddscxx") + self.cpp_info.components["ddscxx"].set_property("pkg_config_name", "CycloneDDS-CXX") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["ddscxx"].system_libs = ["m"] + self.cpp_info.components["idlcxx"].libs = ["cycloneddsidlcxx"] + self.cpp_info.components["idlcxx"].set_property("cmake_target_name", "CycloneDDS-CXX::idlcxx") + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) + self.buildenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) + self.runenv_info.append_path("PATH", os.path.join(self.package_folder, "bin")) diff --git a/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt b/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4092a05fa5b94 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.8) +project(test_package CXX) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) +find_package(CycloneDDS-CXX REQUIRED) + +add_executable(test_package test_package.cpp) +target_link_libraries(test_package PRIVATE CycloneDDS-CXX::ddscxx CycloneDDS::ddsc) + +if(NOT CMAKE_CROSSCOMPILING) + IDLCXX_GENERATE(TARGET MessageLib FILES Message.idl) + add_executable(test_message test_message.cpp) + target_link_libraries(test_message PRIVATE MessageLib CycloneDDS-CXX::ddscxx CycloneDDS::ddsc) +endif() diff --git a/recipes/cyclonedds-cxx/all/test_package/Message.idl b/recipes/cyclonedds-cxx/all/test_package/Message.idl new file mode 100644 index 0000000000000..46b201f63a878 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/Message.idl @@ -0,0 +1,6 @@ +module conan { + struct Message { + sequence payload; + }; + #pragma keylist Message +}; diff --git a/recipes/cyclonedds-cxx/all/test_package/conanfile.py b/recipes/cyclonedds-cxx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..50b7ececfcd17 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/conanfile.py @@ -0,0 +1,27 @@ +import os +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + +class CycloneDDSCXXTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_message") + self.run(bin_path, env="conanrun") diff --git a/recipes/cyclonedds-cxx/all/test_package/test_message.cpp b/recipes/cyclonedds-cxx/all/test_package/test_message.cpp new file mode 100644 index 0000000000000..2bc38e32ae1ab --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/test_message.cpp @@ -0,0 +1,12 @@ +#include +#include "dds/dds.hpp" +#include "Message.hpp" + +int main() { + dds::domain::DomainParticipant domain_(0); + + conan::Message message; + std::vector payload; + message.payload(std::move(payload)); + return 0; +} diff --git a/recipes/cyclonedds-cxx/all/test_package/test_package.cpp b/recipes/cyclonedds-cxx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b4cf37cb3f9e2 --- /dev/null +++ b/recipes/cyclonedds-cxx/all/test_package/test_package.cpp @@ -0,0 +1,11 @@ +#include +#include "dds/dds.hpp" + +int main() { + + dds::domain::DomainParticipant participant(0); + dds::topic::PublicationBuiltinTopicData topic; + dds::sub::Subscriber subscriber(participant); + + return 0; +} diff --git a/recipes/cyclonedds-cxx/config.yml b/recipes/cyclonedds-cxx/config.yml new file mode 100644 index 0000000000000..87e6038632c05 --- /dev/null +++ b/recipes/cyclonedds-cxx/config.yml @@ -0,0 +1,3 @@ +versions: + "0.10.4": + folder: all From 2d7593b11ebf2bb8bc5e28ee16a983479a8cf51c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sun, 10 Dec 2023 20:38:32 +0100 Subject: [PATCH 0400/1307] (#21444) date: add package_type --- recipes/date/all/conanfile.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/recipes/date/all/conanfile.py b/recipes/date/all/conanfile.py index 94529453674c1..315ca73f8ae1f 100644 --- a/recipes/date/all/conanfile.py +++ b/recipes/date/all/conanfile.py @@ -16,7 +16,7 @@ class DateConan(ConanFile): description = "A date and time library based on the C++11/14/17 header" topics = ("datetime", "timezone", "calendar", "time", "iana-database") license = "MIT" - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -47,6 +47,7 @@ def configure(self): self.options.rm_safe("fPIC") if self.options.header_only: del self.options.shared + self.package_type = "header-library" def layout(self): cmake_layout(self, src_folder="src") @@ -106,20 +107,19 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "CMake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "date") self.cpp_info.set_property("cmake_target_name", "date::date") - # TODO: Remove legacy .names attribute when conan 2.0 is released - self.cpp_info.names["cmake_find_package"] = "date" - self.cpp_info.names["cmake_find_package_multi"] = "date" # date-tz - if not self.options.header_only: + if self.options.header_only: + self.cpp_info.bindirs = [] + self.cpp_info.defines.append("DATE_HEADER_ONLY") + self.cpp_info.libdirs = [] + else: self.cpp_info.components["date-tz"].set_property("cmake_target_name", "date::date-tz") - # TODO: Remove legacy .names attribute when conan 2.0 is released - self.cpp_info.components["date-tz"].names["cmake_find_package"] = "date-tz" - self.cpp_info.components["date-tz"].names["cmake_find_package_multi"] = "date-tz" lib_name = "{}tz".format("date-" if Version(self.version) >= "3.0.0" else "") self.cpp_info.components["date-tz"].libs = [lib_name] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["date-tz"].system_libs.append("pthread") self.cpp_info.components["date-tz"].system_libs.append("m") @@ -136,6 +136,3 @@ def package_info(self): defines.append("DATE_USE_DLL=1") self.cpp_info.components["date-tz"].defines.extend(defines) - else: - self.cpp_info.defines.append("DATE_HEADER_ONLY") - self.cpp_info.libdirs = [] From 7ba21bc7a16265bac215b6f325f933339f3085b3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 07:12:58 +0200 Subject: [PATCH 0401/1307] (#21592) protobuf: bump patch versions --- recipes/protobuf/all/conandata.yml | 30 ++++-------- ...rotobuf-3.19.4-upstream-macos-macros.patch | 46 ------------------- ...rotobuf-3.21.4-upstream-macos-macros.patch | 25 ---------- recipes/protobuf/config.yml | 6 +-- 4 files changed, 11 insertions(+), 96 deletions(-) delete mode 100644 recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch delete mode 100644 recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch diff --git a/recipes/protobuf/all/conandata.yml b/recipes/protobuf/all/conandata.yml index 76af562b2e6c0..0417c4d805f42 100644 --- a/recipes/protobuf/all/conandata.yml +++ b/recipes/protobuf/all/conandata.yml @@ -5,21 +5,18 @@ sources: "3.21.9": url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.21.9.tar.gz" sha256: "1add10f9bd92775b91f326da259f243881e904dd509367d5031d4c782ba82810" - "3.21.4": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.21.4.tar.gz" - sha256: "85d42d4485f36f8cec3e475a3b9e841d7d78523cd775de3a86dba77081f4ca25" + "3.20.3": + url: "https://github.com/protocolbuffers/protobuf/archive/v3.20.3.tar.gz" + sha256: "9c0fd39c7a08dff543c643f0f4baf081988129a411b977a07c46221793605638" "3.20.0": url: "https://github.com/protocolbuffers/protobuf/archive/v3.20.0.tar.gz" sha256: "b07772d38ab07e55eca4d50f4b53da2d998bb221575c60a4f81100242d4b4889" "3.19.6": url: "https://github.com/protocolbuffers/protobuf/archive/v3.19.6.tar.gz" sha256: "9a301cf94a8ddcb380b901e7aac852780b826595075577bb967004050c835056" - "3.19.4": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.19.4.tar.gz" - sha256: "3bd7828aa5af4b13b99c191e8b1e884ebfa9ad371b0ce264605d347f135d2568" - "3.18.1": - url: "https://github.com/protocolbuffers/protobuf/archive/v3.18.1.tar.gz" - sha256: "9111bf0b542b631165fadbd80aa60e7fb25b25311c532139ed2089d76ddf6dd7" + "3.18.3": + url: "https://github.com/protocolbuffers/protobuf/archive/v3.18.3.tar.gz" + sha256: "663b3a6d56605e6ab7888d32a1525c34f34639b25b8996337821591e60c37041" "3.17.1": url: "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.17.1.tar.gz" sha256: "036d66d6eec216160dd898cfb162e9d82c1904627642667cc32b104d407bb411" @@ -34,8 +31,8 @@ patches: patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.21.4": - - patch_file: "patches/protobuf-3.21.4-upstream-macos-macros.patch" + "3.20.3": + - patch_file: "patches/protobuf-3.20.0-upstream-macos-macros.patch" patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" @@ -53,16 +50,7 @@ patches: patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.19.4": - - patch_file: "patches/upstream-pr-9437-msvc-runtime.patch" - patch_description: "Properly handle CMAKE_MSVC_RUNTIME_LIBRARY when using CMake >= 3.15" - patch_type: "portability" - patch_source: "https://github.com/protocolbuffers/protobuf/pull/9437" - - patch_file: "patches/protobuf-3.19.4-upstream-macos-macros.patch" - patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" - patch_type: "bugfix" - patch_source: "https://github.com/protocolbuffers/protobuf/pull/10103" - "3.18.1": + "3.18.3": - patch_file: "patches/protobuf-3.18.1-upstream-macos-macros.patch" patch_description: "Handle case where macOS SDK macros may conflict with protobuf message types" patch_type: "bugfix" diff --git a/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch b/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch deleted file mode 100644 index b0f3ddc092047..0000000000000 --- a/recipes/protobuf/all/patches/protobuf-3.19.4-upstream-macos-macros.patch +++ /dev/null @@ -1,46 +0,0 @@ -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index 37632cf..561fd0f 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -763,6 +763,22 @@ - #undef timezone - #endif // _MSC_VER - -+#ifdef __APPLE__ -+// Inconvenient macro names from usr/include/math.h in some macOS SDKs. -+#pragma push_macro("DOMAIN") -+#undef DOMAIN -+// Inconvenient macro names from /usr/include/mach/boolean.h in some macOS SDKs. -+#pragma push_macro("TRUE") -+#undef TRUE -+#pragma push_macro("FALSE") -+#undef FALSE -+// Inconvenient macro names from usr/include/sys/syslimits.h in some macOS SDKs. -+#pragma push_macro("UID_MAX") -+#undef UID_MAX -+#pragma push_macro("GID_MAX") -+#undef GID_MAX -+#endif // __APPLE__ -+ - #if defined(__clang__) || PROTOBUF_GNUC_MIN(3, 0) || defined(_MSC_VER) - // Don't let Objective-C Macros interfere with proto identifiers with the same - // name. -diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index 579eb41..7a179f9 100644 ---- a/src/google/protobuf/port_undef.inc -+++ b/src/google/protobuf/port_undef.inc -@@ -129,6 +129,14 @@ - #pragma pop_macro("timezone") - #endif - -+#ifdef __APPLE__ -+#pragma pop_macro("DOMAIN") -+#pragma pop_macro("TRUE") -+#pragma pop_macro("FALSE") -+#pragma pop_macro("UID_MAX") -+#pragma pop_macro("GID_MAX") -+#endif // __APPLE__ -+ - #if defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) - #pragma pop_macro("DEBUG") - #endif // defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) diff --git a/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch b/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch deleted file mode 100644 index 6cf85b0ac3941..0000000000000 --- a/recipes/protobuf/all/patches/protobuf-3.21.4-upstream-macos-macros.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc -index b7af780..d50ac87 100644 ---- a/src/google/protobuf/port_def.inc -+++ b/src/google/protobuf/port_def.inc -@@ -870,6 +870,8 @@ - // Inconvenient macro names from usr/include/sys/syslimits.h in some macOS SDKs. - #pragma push_macro("UID_MAX") - #undef UID_MAX -+#pragma push_macro("GID_MAX") -+#undef GID_MAX - #endif // __APPLE__ - - #if defined(__clang__) || PROTOBUF_GNUC_MIN(3, 0) || defined(_MSC_VER) -diff --git a/src/google/protobuf/port_undef.inc b/src/google/protobuf/port_undef.inc -index e880fa5..f8968d9 100644 ---- a/src/google/protobuf/port_undef.inc -+++ b/src/google/protobuf/port_undef.inc -@@ -144,6 +144,7 @@ - #pragma pop_macro("TRUE") - #pragma pop_macro("FALSE") - #pragma pop_macro("UID_MAX") -+#pragma pop_macro("GID_MAX") - #endif // __APPLE__ - - #if defined(__clang__) || defined(__GNUC__) || defined(_MSC_VER) diff --git a/recipes/protobuf/config.yml b/recipes/protobuf/config.yml index 1c42531d91fe0..89750d93410cc 100644 --- a/recipes/protobuf/config.yml +++ b/recipes/protobuf/config.yml @@ -3,15 +3,13 @@ versions: folder: all "3.21.9": folder: all - "3.21.4": + "3.20.3": folder: all "3.20.0": folder: all "3.19.6": folder: all - "3.19.4": - folder: all - "3.18.1": + "3.18.3": folder: all "3.17.1": folder: all From 2282449e27510108779452d72cc564195c142eef Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 07:27:17 +0100 Subject: [PATCH 0402/1307] (#21613) nuklear: add package_type --- recipes/nuklear/all/conanfile.py | 14 ++++++-------- recipes/nuklear/all/test_package/conanfile.py | 7 ++++--- recipes/nuklear/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/recipes/nuklear/all/conanfile.py b/recipes/nuklear/all/conanfile.py index 6e91081b7e51f..b3be73bced4e2 100644 --- a/recipes/nuklear/all/conanfile.py +++ b/recipes/nuklear/all/conanfile.py @@ -10,21 +10,21 @@ class NuklearConan(ConanFile): name = "nuklear" description = "A single-header ANSI C immediate mode cross-platform GUI library." license = ["MIT", "Unlicense"] - topics = ("nuklear", "gui", "header-only") + topics = ("gui", "header-only") homepage = "https://github.com/Immediate-Mode-UI/Nuklear" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,8 +35,6 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") diff --git a/recipes/nuklear/all/test_package/conanfile.py b/recipes/nuklear/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/nuklear/all/test_package/conanfile.py +++ b/recipes/nuklear/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/nuklear/all/test_v1_package/CMakeLists.txt b/recipes/nuklear/all/test_v1_package/CMakeLists.txt index 9898e4868ff3c..b21cc49efde95 100644 --- a/recipes/nuklear/all/test_v1_package/CMakeLists.txt +++ b/recipes/nuklear/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES C) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(nuklear REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE nuklear::nuklear) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 03fa145c6fafc45a93b13b5c8d6eedeb4f627824 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:18:33 +0100 Subject: [PATCH 0403/1307] (#21614) nvtx: add package_type --- recipes/nvtx/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nvtx/all/conanfile.py b/recipes/nvtx/all/conanfile.py index fbe722ba0c892..049e362302672 100644 --- a/recipes/nvtx/all/conanfile.py +++ b/recipes/nvtx/all/conanfile.py @@ -16,6 +16,7 @@ class NVTXConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" license = "Apache-2.0" topics = ("profiler", "nvidia", "nsight") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass From 626abbd3e2f86d813b2d0133bfedb0905e3040c7 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:40:50 +0100 Subject: [PATCH 0404/1307] (#21615) observer-ptr-lite: add package_type --- recipes/observer-ptr-lite/all/conanfile.py | 14 +++++--------- .../all/test_package/conanfile.py | 7 ++++--- .../all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/recipes/observer-ptr-lite/all/conanfile.py b/recipes/observer-ptr-lite/all/conanfile.py index 3d66f15a4c9af..6e4898b3c5824 100644 --- a/recipes/observer-ptr-lite/all/conanfile.py +++ b/recipes/observer-ptr-lite/all/conanfile.py @@ -14,18 +14,18 @@ class ObserverPtrLiteConan(ConanFile): std::experimental::observer_ptr for C++98 and later.") topics = ("cpp98", "cpp11", "cpp14", "cpp17") license = "BSL-1.0" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -38,9 +38,7 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "observer-ptr-lite") self.cpp_info.set_property("cmake_target_name", "nonstd::observer-ptr-lite") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.filenames["cmake_find_package"] = "observer-ptr-lite" @@ -51,6 +49,4 @@ def package_info(self): self.cpp_info.components["observerptrlite"].names["cmake_find_package_multi"] = "observer-ptr-lite" self.cpp_info.components["observerptrlite"].set_property("cmake_target_name", "nonstd::observer-ptr-lite") self.cpp_info.components["observerptrlite"].bindirs = [] - self.cpp_info.components["observerptrlite"].frameworkdirs = [] self.cpp_info.components["observerptrlite"].libdirs = [] - self.cpp_info.components["observerptrlite"].resdirs = [] diff --git a/recipes/observer-ptr-lite/all/test_package/conanfile.py b/recipes/observer-ptr-lite/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/observer-ptr-lite/all/test_package/conanfile.py +++ b/recipes/observer-ptr-lite/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt b/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt index 20353a906da64..b21cc49efde95 100644 --- a/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt +++ b/recipes/observer-ptr-lite/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(observer-ptr-lite REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE nonstd::observer-ptr-lite) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From 8b9808d8845e146a82af0e9768787a2cc8cf5ace Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 08:51:02 +0100 Subject: [PATCH 0405/1307] (#21617) opengl-registry: add package_type and set cpp_info.resdirs --- recipes/opengl-registry/all/conanfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipes/opengl-registry/all/conanfile.py b/recipes/opengl-registry/all/conanfile.py index 46486aec2fc82..5e0a3df392096 100644 --- a/recipes/opengl-registry/all/conanfile.py +++ b/recipes/opengl-registry/all/conanfile.py @@ -13,6 +13,7 @@ class OpenGLRegistryConan(ConanFile): topics = ("opengl-registry", "opengl") homepage = "https://github.com/KhronosGroup/OpenGL-Registry" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -26,8 +27,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -46,3 +46,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] self.cpp_info.libdirs = [] + self.cpp_info.resdirs = ["res"] From 075833aa575c6eb86a083895096da238e83ec98d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 11 Dec 2023 09:05:38 +0100 Subject: [PATCH 0406/1307] (#21625) aravis: fixup version comparison --- recipes/aravis/all/conanfile.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index 15265ff0ba50f..19795c53aec2d 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -54,7 +54,8 @@ def config_options(self): del self.options.fPIC if self.settings.os not in ["Linux", "FreeBSD"]: del self.options.packet_socket - if Version(self.version) < "8.25": + # https://github.com/AravisProject/aravis/commit/b4211e5e0266d0226e936818b3faefd6d0daaa3a#diff-f28598af2e23aa5d2bc7c72e022ae2c56a33802eb970afffaeca1e40607f97fe + if Version(self.version) < "0.8.21": del self.options.gv_n_buffers @@ -66,15 +67,6 @@ def configure(self): if self.options.shared: self.options["glib"].shared = True - if self.options.get_safe("gv_n_buffers"): - try: - gv_n_buffers_val = int(str(self.options.gv_n_buffers)) - if not (1 <= gv_n_buffers_val ): - raise ConanInvalidConfiguration( - f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") - except ValueError as e: - raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e - def layout(self): basic_layout(self, src_folder="src") @@ -101,6 +93,15 @@ def validate(self): "conan-io/conan#7324 gets merged to fix macOS SIP issue #8443" ) + if self.options.get_safe("gv_n_buffers"): + try: + gv_n_buffers_val = int(str(self.options.gv_n_buffers)) + if gv_n_buffers_val < 1: + raise ConanInvalidConfiguration( + f"gv_n_buffers_val must be greater than 1 Provided: {gv_n_buffers_val}") + except ValueError as e: + raise ConanInvalidConfiguration("gv_n_buffers_val must be an integer.") from e + def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! self.tool_requires("meson/1.2.1") From 5b966349d10a5bc7020619756c82ccd84bcd4cf1 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 10:47:25 +0100 Subject: [PATCH 0407/1307] (#19501) libtool: less verbose package_info() Co-authored-by: Daniel --- recipes/libtool/all/conanfile.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/recipes/libtool/all/conanfile.py b/recipes/libtool/all/conanfile.py index 6f90b31da6ebc..d832ae4219971 100644 --- a/recipes/libtool/all/conanfile.py +++ b/recipes/libtool/all/conanfile.py @@ -54,7 +54,7 @@ def requirements(self): #TODO: consider adding m4 as direct dependency, perhaps when we start using version ranges. # https://github.com/conan-io/conan-center-index/pull/16248#discussion_r1116332095 - #self.requires("m4/1.4.19") + #self.requires("m4/1.4.19") @property def _settings_build(self): @@ -72,8 +72,7 @@ def build_requirements(self): self.tool_requires("msys2/cci.latest") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property def _datarootdir(self): @@ -230,12 +229,8 @@ def package_info(self): self.buildenv_info.append_path("AUTOMAKE_CONAN_INCLUDES", libtool_aclocal_dir) self.runenv_info.append_path("ACLOCAL_PATH", libtool_aclocal_dir) self.runenv_info.append_path("AUTOMAKE_CONAN_INCLUDES", libtool_aclocal_dir) - - # For Conan 1.x downstream consumers, can be removed once recipe is Conan 1.x only: - bin_path = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH env: bin_path{bin_path}") - self.env_info.PATH.append(bin_path) + # For Conan 1.x downstream consumers, can be removed once recipe is Conan 1.x only: + self.env_info.PATH.append(os.path.join(self.package_folder, "bin")) self.env_info.ACLOCAL_PATH.append(unix_path_package_info_legacy(self, libtool_aclocal_dir)) self.env_info.AUTOMAKE_CONAN_INCLUDES.append(unix_path_package_info_legacy(self, libtool_aclocal_dir)) - From 8f558c4074da508ab26e7e9e2ec701f652fa3ef5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 12:29:53 +0200 Subject: [PATCH 0408/1307] (#21631) libssh2: bump mbedtls --- recipes/libssh2/all/conanfile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/recipes/libssh2/all/conanfile.py b/recipes/libssh2/all/conanfile.py index 6da888df38a6f..3ccfe30d867cc 100644 --- a/recipes/libssh2/all/conanfile.py +++ b/recipes/libssh2/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -84,8 +85,10 @@ def requirements(self): if self.options.crypto_backend == "openssl": self.requires("openssl/[>=1.1 <4]") elif self.options.crypto_backend == "mbedtls": - # libssh2/<=1.10.0 doesn't support mbedtls/3.x.x - self.requires("mbedtls/2.25.0") + if Version(self.version) >= "1.11": + self.requires("mbedtls/3.5.0") + else: + self.requires("mbedtls/2.28.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 45eef3c760eadb0e7d2d9fc5511d212ee62027f4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 12:39:01 +0200 Subject: [PATCH 0409/1307] (#21634) xbyak: add version 7.00 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index a0e8dd18cf451..a117cdd9c7b95 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.00": + url: "https://github.com/herumi/xbyak/archive/v7.00.tar.gz" + sha256: "9bc479d99bb3bbd30669813ca9719126fe93ab1bae857bd799d2b16a1fcb4c32" "6.73": url: "https://github.com/herumi/xbyak/archive/v6.73.tar.gz" sha256: "41f3dc7727a48c751024c92fa4da24a4a1e0ed16b7930c79d05b76960b19562d" diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index 65c8029e207c3..e1673a246df2d 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.00": + folder: all "6.73": folder: all "6.62": From 262eec05f634fe235d75f9b22d434bbe3869a13b Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 11:59:47 +0100 Subject: [PATCH 0410/1307] (#21612) nanobench: add package_type --- recipes/nanobench/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/nanobench/all/conanfile.py b/recipes/nanobench/all/conanfile.py index 67a58bc871cff..7697075d83fd1 100644 --- a/recipes/nanobench/all/conanfile.py +++ b/recipes/nanobench/all/conanfile.py @@ -14,6 +14,7 @@ class NanobenchConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/martinus/nanobench" topics = ("benchmark", "microbenchmark", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" @property From d3dcc491add6a19a75303e48bc1776d11e845628 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 11 Dec 2023 14:37:31 +0200 Subject: [PATCH 0411/1307] (#21636) libbpf: add version 1.3.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libbpf/all/conandata.yml | 3 +++ recipes/libbpf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libbpf/all/conandata.yml b/recipes/libbpf/all/conandata.yml index 911aa968231c9..2d16ec7238800 100644 --- a/recipes/libbpf/all/conandata.yml +++ b/recipes/libbpf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/libbpf/libbpf/archive/v1.3.0.tar.gz" + sha256: "11db86acd627e468bc48b7258c1130aba41a12c4d364f78e184fd2f5a913d861" "1.1.0": url: "https://github.com/libbpf/libbpf/archive/refs/tags/v1.1.0.tar.gz" sha256: "5da826c968fdb8a2f714701cfef7a4b7078be030cf58b56143b245816301cbb8" diff --git a/recipes/libbpf/config.yml b/recipes/libbpf/config.yml index da5d208551b71..6fd5fe398b43d 100644 --- a/recipes/libbpf/config.yml +++ b/recipes/libbpf/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.1.0": folder: all "0.7.0": From ee0c6ff8c0d95e443f140ad8515a412c9c47cfb9 Mon Sep 17 00:00:00 2001 From: Fernando Pelliccioni Date: Mon, 11 Dec 2023 15:02:55 +0100 Subject: [PATCH 0412/1307] (#21618) [emsdk] bump to 3.1.50 --- recipes/emsdk/all/conandata.yml | 3 +++ recipes/emsdk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/emsdk/all/conandata.yml b/recipes/emsdk/all/conandata.yml index e702ac23683fc..09c67e41502df 100644 --- a/recipes/emsdk/all/conandata.yml +++ b/recipes/emsdk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.50": + url: "https://github.com/emscripten-core/emsdk/archive/3.1.50.tar.gz" + sha256: "7491a881eb5ee15fe81bbabcfff1fd571e45ccdb24a81890af429f9970cbd1f3" "3.1.49": url: "https://github.com/emscripten-core/emsdk/archive/3.1.49.tar.gz" sha256: "c99d98da9241c7e72784bc764a3e60a65d8f27202d45f3cd422b2ac7245380d9" diff --git a/recipes/emsdk/config.yml b/recipes/emsdk/config.yml index cc4300b7acb96..3fd73e6da5530 100644 --- a/recipes/emsdk/config.yml +++ b/recipes/emsdk/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.50": + folder: all "3.1.49": folder: all "3.1.48": From bd8cd040e287712bd674f16793142db600644ba6 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 11 Dec 2023 16:38:53 +0100 Subject: [PATCH 0413/1307] (#21222) ceres-solver: add 2.2.0 + define several extra CMake vars in CMakeDeps * add legacy ceres alias target and define several upstream CMake vars - Add ceres target as an alias target. It's the old target, defined in upstream config file for backward compatibility - Define several CMake vars which are defined upstream: CERES_LIBRARIES, CERES_VERSION and CERES_FOUND * add ceres-solver/2.2.0 --- recipes/ceres-solver/all/conandata.yml | 10 +++ recipes/ceres-solver/all/conanfile.py | 64 ++++++++++++++++--- .../2.2.0-0001-find-libraries-conan.patch | 54 ++++++++++++++++ .../patches/2.2.0-0002-fix-mingw-build.patch | 12 ++++ recipes/ceres-solver/config.yml | 2 + 5 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch create mode 100644 recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch diff --git a/recipes/ceres-solver/all/conandata.yml b/recipes/ceres-solver/all/conandata.yml index 47afe48e93634..7118801d3af54 100644 --- a/recipes/ceres-solver/all/conandata.yml +++ b/recipes/ceres-solver/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "http://ceres-solver.org/ceres-solver-2.2.0.tar.gz" + sha256: "48b2302a7986ece172898477c3bcd6deb8fb5cf19b3327bc49969aad4cede82d" "2.1.0": url: "http://ceres-solver.org/ceres-solver-2.1.0.tar.gz" sha256: "f7d74eecde0aed75bfc51ec48c91d01fe16a6bf16bce1987a7073286701e2fc6" @@ -9,6 +12,13 @@ sources: url: "http://ceres-solver.org/ceres-solver-1.14.0.tar.gz" sha256: "4744005fc3b902fed886ea418df70690caa8e2ff6b5a90f3dd88a3d291ef8e8e" patches: + "2.2.0": + - patch_file: "patches/2.2.0-0001-find-libraries-conan.patch" + patch_description: "Robust dependencies handling" + patch_type: "conan" + - patch_file: "patches/2.2.0-0002-fix-mingw-build.patch" + patch_description: "Fix MinGW build" + patch_type: "portability" "2.1.0": - patch_file: "patches/2.1.0-0001-find-libraries-conan.patch" patch_description: "Robust dependencies handling" diff --git a/recipes/ceres-solver/all/conanfile.py b/recipes/ceres-solver/all/conanfile.py index e4ca7cba349d0..10d2f4e9f0019 100644 --- a/recipes/ceres-solver/all/conanfile.py +++ b/recipes/ceres-solver/all/conanfile.py @@ -3,10 +3,11 @@ from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd, stdcpp_library from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os +import textwrap required_conan_version = ">=1.54.0" @@ -51,7 +52,11 @@ class CeressolverConan(ConanFile): @property def _min_cppstd(self): - return "98" if Version(self.version) < "2.0.0" else "14" + if Version(self.version) >= "2.2.0": + return "17" + if Version(self.version) >= "2.0.0": + return "14" + return "98" @property def _compilers_minimum_version(self): @@ -63,6 +68,13 @@ def _compilers_minimum_version(self): "msvc": "190", "Visual Studio": "14", }, + "17": { + "apple-clang": "10", + "clang": "7", + "gcc": "8", + "msvc": "191", + "Visual Studio": "15", + }, }.get(self._min_cppstd, {}) def export_sources(self): @@ -105,6 +117,10 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", ) + def build_requirements(self): + if Version(self.version) >= "2.2.0": + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -113,7 +129,6 @@ def generate(self): tc.variables["MINIGLOG"] = not self.options.use_glog tc.variables["GFLAGS"] = False # useless for the lib itself, gflags is not a direct dependency tc.variables["SUITESPARSE"] = False - tc.variables["CXSPARSE"] = False tc.variables["LAPACK"] = False tc.variables["SCHUR_SPECIALIZATIONS"] = self.options.use_schur_specializations tc.variables["CUSTOM_BLAS"] = self.options.use_custom_blas @@ -122,17 +137,25 @@ def generate(self): tc.variables["BUILD_DOCUMENTATION"] = False tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_BENCHMARKS"] = False - if is_msvc(self): - tc.variables["MSVC_USE_STATIC_CRT"] = is_msvc_static_runtime(self) - if Version(self.version) >= "2.1.0": + + ceres_version = Version(self.version) + if ceres_version >= "2.2.0": + tc.variables["USE_CUDA"] = False + elif ceres_version >= "2.1.0": tc.variables["CUDA"] = False - if Version(self.version) >= "2.0.0": + if ceres_version >= "2.2.0": + tc.variables["EIGENMETIS"] = False + if ceres_version >= "2.0.0": tc.variables["PROVIDE_UNINSTALL_TARGET"] = False if is_apple_os(self): tc.variables["ACCELERATESPARSE"] = True - if Version(self.version) < "2.1.0": + if ceres_version < "2.2.0": + tc.variables["CXSPARSE"] = False + if is_msvc(self): + tc.variables["MSVC_USE_STATIC_CRT"] = is_msvc_static_runtime(self) + if ceres_version < "2.1.0": tc.variables["LIB_SUFFIX"] = "" - if Version(self.version) < "2.0": + if ceres_version < "2.0.0": tc.variables["CXX11"] = self.options.use_CXX11 tc.variables["OPENMP"] = False tc.variables["TBB"] = self.options.use_TBB @@ -153,10 +176,31 @@ def package(self): cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "CMake")) + self._create_cmake_module_variables(os.path.join(self.package_folder, self._module_variables_file_rel_path)) + + def _create_cmake_module_variables(self, module_file): + # Define several variables of upstream CMake config file which are not + # defined out of the box by CMakeDeps. + # See https://github.com/ceres-solver/ceres-solver/blob/master/cmake/CeresConfig.cmake.in + content = textwrap.dedent(f"""\ + set(CERES_FOUND TRUE) + set(CERES_VERSION {self.version}) + if(NOT DEFINED CERES_LIBRARIES) + set(CERES_LIBRARIES Ceres::ceres) + endif() + """) + save(self, module_file, content) + + @property + def _module_variables_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") def package_info(self): self.cpp_info.set_property("cmake_file_name", "Ceres") self.cpp_info.set_property("cmake_target_name", "Ceres::ceres") + # see https://github.com/ceres-solver/ceres-solver/blob/2.2.0/cmake/CeresConfig.cmake.in#L334-L340 + self.cpp_info.set_property("cmake_target_aliases", ["ceres"]) + self.cpp_info.set_property("cmake_build_modules", [self._module_variables_file_rel_path]) libsuffix = "" if self.settings.build_type == "Debug": @@ -186,4 +230,6 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "Ceres" self.cpp_info.names["cmake_find_package_multi"] = "Ceres" + self.cpp_info.components["ceres"].build_modules["cmake_find_package"] = [self._module_variables_file_rel_path] + self.cpp_info.components["ceres"].build_modules["cmake_find_package_multi"] = [self._module_variables_file_rel_path] self.cpp_info.components["ceres"].set_property("cmake_target_name", "Ceres::ceres") diff --git a/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch b/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch new file mode 100644 index 0000000000000..aabc47a84c955 --- /dev/null +++ b/recipes/ceres-solver/all/patches/2.2.0-0001-find-libraries-conan.patch @@ -0,0 +1,54 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -433,13 +433,14 @@ else (MINIGLOG) + unset(MINIGLOG_MAX_LOG_LEVEL CACHE) + # Don't search with REQUIRED so that configuration continues if not found and + # we can output an error messages explaining MINIGLOG option. +- find_package(Glog) +- if (NOT GLOG_FOUND) ++ find_package(glog REQUIRED CONFIG) ++ if (0) + message(FATAL_ERROR "Can't find Google Log (glog). Please set either: " + "glog_DIR (newer CMake built versions of glog) or GLOG_INCLUDE_DIR & " + "GLOG_LIBRARY or enable MINIGLOG option to use minimal glog " + "implementation.") +- endif(NOT GLOG_FOUND) ++ endif() ++ if(0) + # By default, assume gflags was found, updating the message if it was not. + set(GLOG_GFLAGS_DEPENDENCY_MESSAGE + " Assuming glog was built with gflags support as gflags was found. " +@@ -452,7 +453,8 @@ else (MINIGLOG) + "Otherwise, Ceres may fail to link due to missing gflags symbols.") + endif(NOT gflags_FOUND) + message("-- Found Google Log (glog)." ${GLOG_GFLAGS_DEPENDENCY_MESSAGE}) +-endif (MINIGLOG) ++ endif() ++endif () + + if (NOT SCHUR_SPECIALIZATIONS) + list(APPEND CERES_COMPILE_OPTIONS CERES_RESTRICT_SCHUR_SPECIALIZATION) +--- a/internal/ceres/CMakeLists.txt ++++ b/internal/ceres/CMakeLists.txt +@@ -85,9 +85,9 @@ endif (SCHUR_SPECIALIZATIONS) + set_source_files_properties(${CERES_INTERNAL_SCHUR_FILES} PROPERTIES + SKIP_UNITY_BUILD_INCLUSION ON) + +-if (NOT MINIGLOG AND GLOG_FOUND) +- list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES ${GLOG_LIBRARIES}) +- if (gflags_FOUND) ++if (NOT MINIGLOG) ++ list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES glog::glog) ++ if (0) + # If glog & gflags are both found, we assume that glog was built with + # gflags, as it is awkward to perform a try_compile() to verify this + # when gflags is an imported target (as it is in newer versions). +@@ -95,7 +95,7 @@ if (NOT MINIGLOG AND GLOG_FOUND) + # gflags, it is thus a public dependency for Ceres in this case. + list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES gflags) + endif() +-endif (NOT MINIGLOG AND GLOG_FOUND) ++endif () + + if (SUITESPARSE AND SuiteSparse_FOUND) + # Define version information for use in Solver::FullReport. diff --git a/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch b/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch new file mode 100644 index 0000000000000..2978c914e5d8d --- /dev/null +++ b/recipes/ceres-solver/all/patches/2.2.0-0002-fix-mingw-build.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -514,6 +514,9 @@ if (MINGW) + "to a MinGW bug: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=556") + string(REPLACE "-O3" "-O2" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + update_cache_variable(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") ++ # Add the equivalent of /bigobj for MSVC for MinGW to fix 'too many sections' ++ # compile errors due to extensive use of templates. ++ add_compile_options(-Wa,-mbig-obj) + endif (MINGW) + + # After the tweaks for the compile settings, disable some warnings on MSVC. diff --git a/recipes/ceres-solver/config.yml b/recipes/ceres-solver/config.yml index 95ff77359ef24..c6e7e2c924085 100644 --- a/recipes/ceres-solver/config.yml +++ b/recipes/ceres-solver/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: all "2.1.0": folder: all "2.0.0": From ffc32c7ef66e52fc51482bf4abb5d8b47a5b2e2f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:19:25 +0000 Subject: [PATCH 0414/1307] (#21682) [bot] Update authorized users list (2023-12-07) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 5681376346c2d..70239a094fd32 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1249,3 +1249,4 @@ authorized_users: - jmalopoy - mlutken - hoyhoy +- stevenhartley From c9a9cf93c6c22f6304bb6e86c82d31bd045b8301 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 05:10:20 +0900 Subject: [PATCH 0415/1307] (#21630) mppp: add version 1.0.0 --- recipes/mppp/all/conandata.yml | 11 ++++++++++ .../1.0.0-0001-disable-warning-error.patch | 22 +++++++++++++++++++ .../1.0.0-0002-remove-fmt-version.patch | 13 +++++++++++ recipes/mppp/config.yml | 2 ++ 4 files changed, 48 insertions(+) create mode 100644 recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch create mode 100644 recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 9c91fb1f269aa..9dd5ca329ab04 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.0": + url: "https://github.com/bluescarni/mppp/archive/v1.0.0.tar.gz" + sha256: "e58b1a5fb8bdf095261eeb0861c3f46f96c71c4b043d19700e73ce3e4e639268" "0.27": url: "https://github.com/bluescarni/mppp/archive/v0.27.tar.gz" sha256: "a1e04f6605b3242d4361742159cf5ab273162fd7c105c2743a9bebcf44c846c3" @@ -6,6 +9,14 @@ sources: url: "https://github.com/bluescarni/mppp/archive/v0.26.tar.gz" sha256: "4dbfa68802d9a1365eda884f085418afc147d01b7a928e8333e4dcc1c3b3ce9e" patches: + "1.0.0": + - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" + patch_description: "disable the flag for treats warning as errors" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-remove-fmt-version.patch" + # https://github.com/conan-io/conan/issues/14172 + patch_description: "remove fmt version number from find_package" + patch_type: "conan" "0.27": - patch_file: "patches/0.27-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" diff --git a/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch b/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch new file mode 100644 index 0000000000000..20284714ba410 --- /dev/null +++ b/recipes/mppp/all/patches/1.0.0-0001-disable-warning-error.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/yacma/YACMACompilerLinkerSettings.cmake b/cmake/yacma/YACMACompilerLinkerSettings.cmake +index edafe6d..218dc1c 100644 +--- a/cmake/yacma/YACMACompilerLinkerSettings.cmake ++++ b/cmake/yacma/YACMACompilerLinkerSettings.cmake +@@ -95,7 +95,7 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # NOTE: enable unconditionally, as it seems like the CMake + # machinery for detecting this fails. Perhaps the source code + # used for checking the flag emits warnings? +- list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror") ++# list(APPEND _YACMA_CXX_FLAGS_DEBUG "-Werror") + # New warnings in clang 8. + # NOTE: a few issues with macros here, let's disable for now. + # _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(-Wextra-semi-stmt) +@@ -191,7 +191,7 @@ if(NOT _YACMACompilerLinkerSettingsRun) + # Enable higher warning level than usual. + _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/W4) + # Treat warnings as errors. +- _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX) ++# _YACMA_CHECK_ENABLE_DEBUG_CXX_FLAG(/WX) + endif() + + # Set the cache variables. diff --git a/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch b/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch new file mode 100644 index 0000000000000..b05a5e6c9a442 --- /dev/null +++ b/recipes/mppp/all/patches/1.0.0-0002-remove-fmt-version.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5cea04c..81337b2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -419,7 +419,7 @@ endif() + # to print 128-bit integers. + set(_MPPP_MIN_FMT_VERSION "6.2") + if(MPPP_WITH_FMT) +- find_package(fmt ${_MPPP_MIN_FMT_VERSION} REQUIRED CONFIG) ++ find_package(fmt REQUIRED CONFIG) + message(STATUS "fmt version: ${fmt_VERSION}") + target_link_libraries(mp++ PUBLIC fmt::fmt) + endif() diff --git a/recipes/mppp/config.yml b/recipes/mppp/config.yml index d4d8ae20a50d8..02775a2352146 100644 --- a/recipes/mppp/config.yml +++ b/recipes/mppp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.0": + folder: all "0.27": folder: all "0.26": From 3a7f17f59cc0f9f9bf96ea92b57be2b520555103 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 01:26:20 +0200 Subject: [PATCH 0416/1307] (#21638) evmc: add version 11.0.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/evmc/all/conandata.yml | 3 +++ recipes/evmc/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/evmc/all/conandata.yml b/recipes/evmc/all/conandata.yml index 6c98b724e418c..89f67a9cea549 100644 --- a/recipes/evmc/all/conandata.yml +++ b/recipes/evmc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "11.0.0": + url: "https://github.com/ethereum/evmc/archive/v11.0.0.tar.gz" + sha256: "a628ba9062b80540c553e92a44288c696532461ea9c08ef00b2c2a677095727e" "10.1.1": url: "https://github.com/ethereum/evmc/archive/v10.1.1.tar.gz" sha256: "314a18635b2727a5129a7da3e4e15bd2fd76ee0c5ae19f21391b7a94e79cf459" diff --git a/recipes/evmc/config.yml b/recipes/evmc/config.yml index a29f6d72c69f6..78558509f0505 100644 --- a/recipes/evmc/config.yml +++ b/recipes/evmc/config.yml @@ -1,3 +1,5 @@ versions: + "11.0.0": + folder: all "10.1.1": folder: all From 175d83a66bd88ef3ada81916a449839ee17676b1 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 02:01:00 +0100 Subject: [PATCH 0417/1307] (#21643) libsndfile: fix version comparison --- recipes/libsndfile/all/conanfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libsndfile/all/conanfile.py b/recipes/libsndfile/all/conanfile.py index 600abe6411b5e..6ce8582b64685 100644 --- a/recipes/libsndfile/all/conanfile.py +++ b/recipes/libsndfile/all/conanfile.py @@ -92,7 +92,8 @@ def generate(self): if is_msvc(self) and Version(self.version) < "1.0.30": tc.variables["ENABLE_STATIC_RUNTIME"] = is_msvc_static_runtime(self) tc.variables["BUILD_REGTEST"] = False - if Version(self.version) > "1.11.0": + # https://github.com/libsndfile/libsndfile/commit/663a59aa6ea5e24cf5159b8e1c2b0735712ea74e#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a + if Version(self.version) >= "1.1.0": tc.variables["ENABLE_MPEG"] = self.options.with_mpeg # Fix iOS/tvOS/watchOS tc.variables["CMAKE_MACOSX_BUNDLE"] = False From 53c05971d27c918d230f86ed7eb8d4f4402a583d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 03:33:44 +0100 Subject: [PATCH 0418/1307] (#21646) soxr: fix version comparison identified by https://github.com/conan-io/conan-center-index/issues/21163 --- recipes/soxr/all/conanfile.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/recipes/soxr/all/conanfile.py b/recipes/soxr/all/conanfile.py index d9c0a77657c80..452e658b2375d 100644 --- a/recipes/soxr/all/conanfile.py +++ b/recipes/soxr/all/conanfile.py @@ -52,9 +52,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - if Version(self.version) < "3.21": - # silence warning - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0115"] = "OLD" if is_msvc(self): tc.variables["BUILD_SHARED_RUNTIME"] = not is_msvc_static_runtime(self) # Disable SIMD based resample engines for Apple Silicon and iOS ARMv8 architecture From 301fbed1a0a6385f914c97e821361659dce50d39 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 03:52:55 +0100 Subject: [PATCH 0419/1307] (#21673) glib: add version 2.78.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/glib/all/conandata.yml | 3 +++ recipes/glib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glib/all/conandata.yml b/recipes/glib/all/conandata.yml index 941a0f3c6d91b..826e4f114106f 100644 --- a/recipes/glib/all/conandata.yml +++ b/recipes/glib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.78.3": + url: "https://download.gnome.org/sources/glib/2.78/glib-2.78.3.tar.xz" + sha256: "609801dd373796e515972bf95fc0b2daa44545481ee2f465c4f204d224b2bc21" "2.78.1": url: "https://download.gnome.org/sources/glib/2.78/glib-2.78.1.tar.xz" sha256: "915bc3d0f8507d650ead3832e2f8fb670fce59aac4d7754a7dab6f1e6fed78b2" diff --git a/recipes/glib/config.yml b/recipes/glib/config.yml index e77e0bdfd8b19..f0bd1289c0ca6 100644 --- a/recipes/glib/config.yml +++ b/recipes/glib/config.yml @@ -1,4 +1,6 @@ versions: + "2.78.3": + folder: all "2.78.1": folder: all "2.78.0": From 8ca8274741ce782b4e6ba057e40a9ed311d2c2fa Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 12:03:48 +0900 Subject: [PATCH 0420/1307] (#21691) r8brain-free-src: add version 6.5 --- recipes/r8brain-free-src/all/conandata.yml | 3 +++ recipes/r8brain-free-src/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/r8brain-free-src/all/conandata.yml b/recipes/r8brain-free-src/all/conandata.yml index 66f72e2a32048..1e70527306c74 100644 --- a/recipes/r8brain-free-src/all/conandata.yml +++ b/recipes/r8brain-free-src/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.5": + url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.5.tar.gz" + sha256: "09114b9e6dc6ccee3049534bbb94a7d40a8a07fdfe86e4edce03f76078cee45d" "6.4": url: "https://github.com/avaneev/r8brain-free-src/archive/refs/tags/version-6.4.tar.gz" sha256: "27e6749e140648894b79003fe16a4d416eca3bed8d067e0f00cfb2e246c556ca" diff --git a/recipes/r8brain-free-src/config.yml b/recipes/r8brain-free-src/config.yml index 2402c4c664c5f..79caa70a836d2 100644 --- a/recipes/r8brain-free-src/config.yml +++ b/recipes/r8brain-free-src/config.yml @@ -1,4 +1,6 @@ versions: + "6.5": + folder: all "6.4": folder: all "6.3": From 06831d6e8717a189a047b0a1b44af6afa3420784 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 12 Dec 2023 05:13:08 +0200 Subject: [PATCH 0421/1307] (#21696) xsimd: add version 12.1.0 --- recipes/xsimd/all/conandata.yml | 3 +++ recipes/xsimd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xsimd/all/conandata.yml b/recipes/xsimd/all/conandata.yml index b536c5e9c148f..f65775fd15ca5 100644 --- a/recipes/xsimd/all/conandata.yml +++ b/recipes/xsimd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.1.0": + url: "https://github.com/xtensor-stack/xsimd/archive/12.1.0.tar.gz" + sha256: "86b86e0aeba7a85575f6e079728f0c2b65307dddb7210487f2b7cb261ac8a4a2" "12.0.0": url: "https://github.com/xtensor-stack/xsimd/archive/12.0.0.tar.gz" sha256: "6f156ec9bcc602d2581ef023ef0e927e3759c30cf1405028210e8c103a4f846d" diff --git a/recipes/xsimd/config.yml b/recipes/xsimd/config.yml index 77e2aa7fb0ba8..65384140b0d83 100644 --- a/recipes/xsimd/config.yml +++ b/recipes/xsimd/config.yml @@ -1,4 +1,6 @@ versions: + "12.1.0": + folder: all "12.0.0": folder: all "11.2.0": From 0c374a14cb3c5c409a9b6921e4851fae523df229 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 12 Dec 2023 12:22:11 +0900 Subject: [PATCH 0422/1307] (#21702) quill: add version 3.5.1 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 665850c7b00b6..2eb1a4d7bd925 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/odygrd/quill/archive/v3.5.1.tar.gz" + sha256: "9fa4ebe594c66ce2a409630c304724fa7a2ada0d842ba9c9aaf05f0a90b461f9" "3.5.0": url: "https://github.com/odygrd/quill/archive/v3.5.0.tar.gz" sha256: "47a69465cddeb05645745bed0b3099b49cb627464782f765ce9545723ff1fe84" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index c12fd98d1c139..bca90bfdc7c02 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: "all" "3.5.0": folder: "all" "3.4.1": From 5d494ef90b0d81009c29a50cad81ed884f4fae0d Mon Sep 17 00:00:00 2001 From: axxel Date: Tue, 12 Dec 2023 04:31:36 +0100 Subject: [PATCH 0423/1307] (#21703) zxing-cpp: add version 2.2.1 --- recipes/zxing-cpp/all/conandata.yml | 3 +++ recipes/zxing-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zxing-cpp/all/conandata.yml b/recipes/zxing-cpp/all/conandata.yml index 52b8beeb98353..de7e69d1a2cb4 100644 --- a/recipes/zxing-cpp/all/conandata.yml +++ b/recipes/zxing-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.2.1.tar.gz" + sha256: "02078ae15f19f9d423a441f205b1d1bee32349ddda7467e2c84e8f08876f8635" "2.1.0": url: "https://github.com/zxing-cpp/zxing-cpp/archive/v2.1.0.tar.gz" sha256: "6d54e403592ec7a143791c6526c1baafddf4c0897bb49b1af72b70a0f0c4a3fe" diff --git a/recipes/zxing-cpp/config.yml b/recipes/zxing-cpp/config.yml index 8e200e12001c5..335926844a15f 100644 --- a/recipes/zxing-cpp/config.yml +++ b/recipes/zxing-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: all "2.1.0": folder: all "2.0.0": From 35673398f4e04c460e27ab1a2391f12d45857e15 Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 12 Dec 2023 05:42:00 +0200 Subject: [PATCH 0424/1307] (#21705) readline/all: bump ncurses to v6.4 --- recipes/readline/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/readline/all/conanfile.py b/recipes/readline/all/conanfile.py index 607d6921916f3..52881bbd4d54a 100644 --- a/recipes/readline/all/conanfile.py +++ b/recipes/readline/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.with_library == "termcap": self.requires("termcap/1.3.1") elif self.options.with_library == "curses": - self.requires("ncurses/6.2") + self.requires("ncurses/6.4") def configure(self): if self.options.shared: From 525a3eb271c296432237111389e25d80688c26de Mon Sep 17 00:00:00 2001 From: temap Date: Tue, 12 Dec 2023 06:09:51 +0200 Subject: [PATCH 0425/1307] (#21716) recipes/libbpf: bump elfutils to v0.190 --- recipes/libbpf/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbpf/all/conanfile.py b/recipes/libbpf/all/conanfile.py index cff329c2d8d07..b154fd66ef174 100644 --- a/recipes/libbpf/all/conanfile.py +++ b/recipes/libbpf/all/conanfile.py @@ -43,7 +43,7 @@ def layout(self): def requirements(self): self.requires("linux-headers-generic/5.15.128", transitive_headers=True) - self.requires("elfutils/0.180", transitive_headers=True, transitive_libs=True) + self.requires("elfutils/0.190", transitive_headers=True, transitive_libs=True) self.requires("zlib/[>=1.2.11 <2]") def validate(self): From c523810c081dd5deb7ef201e4787ef134da47533 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Tue, 12 Dec 2023 01:15:57 -0500 Subject: [PATCH 0426/1307] (#21723) rtm: add version 2.2.0 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 09d3d16ab4076..97395fe668a67 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/nfrechette/rtm/archive/v2.2.0.tar.gz" + sha256: "e627c46de1895b78eee63612ce4e5ade3af28e040edab6ec6f6521366b4e8b9b" "2.1.5": url: "https://github.com/nfrechette/rtm/archive/v2.1.5.tar.gz" sha256: "afb05cb00b59498756ca197028de291a1960e58d5f6fcad161d8240682481eae" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 891ce064b3b74..43718a82a0e63 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.1.5": folder: "all" "2.1.4": From 7ae9cb1fb4ab83763180432880420527ca280893 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 08:57:57 +0100 Subject: [PATCH 0427/1307] (#21571) tesseract: use version range for libcurl * tesseract: use version range for libcurl * revert to leptonica 1.82.0 --- recipes/tesseract/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 0970f98b4339d..06e523dc19f28 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -89,7 +89,7 @@ def requirements(self): self.requires("libarchive/3.7.1") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): - self.requires("libcurl/8.2.1") + self.requires("libcurl/[>=7.78.0 <9]") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 03d53621934882a48b99cf59b320d4b46cf8b73f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 18:08:42 +0100 Subject: [PATCH 0428/1307] (#21611) teemo: use version range for libcurl Co-authored-by: Uilian Ries --- recipes/teemo/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/teemo/all/conanfile.py b/recipes/teemo/all/conanfile.py index a35d4e5eeaf64..1935bbe91290d 100644 --- a/recipes/teemo/all/conanfile.py +++ b/recipes/teemo/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libcurl/7.86.0") + self.requires("libcurl/[>=7.78.0 <9]") self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): From bb2d6f15ea6cc72468c433fa2d6d161180f78da8 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 12 Dec 2023 18:10:40 +0100 Subject: [PATCH 0429/1307] (#21424) onnxruntime: add version 1.16.3, bump dependencies * onnxruntime: add version 1.16.3 * bump dependencies --- recipes/onnxruntime/all/conandata.yml | 10 ++++++++++ recipes/onnxruntime/all/conanfile.py | 8 ++++---- recipes/onnxruntime/config.yml | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/recipes/onnxruntime/all/conandata.yml b/recipes/onnxruntime/all/conandata.yml index bc779a1ff82c1..b051b06768621 100644 --- a/recipes/onnxruntime/all/conandata.yml +++ b/recipes/onnxruntime/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.16.3": + url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.3.tar.gz" + sha256: "d26b8a7eed1df4440aa3d8eac5049980cbe585514ccedfda809712051a4b1721" "1.16.2": url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.16.2.tar.gz" sha256: "609a9d31fd9445eb2e737cbb6420100fa7d4e1180b594c1a62505b26f730bfd5" @@ -15,6 +18,13 @@ sources: url: "https://github.com/microsoft/onnxruntime/archive/refs/tags/v1.14.1.tar.gz" sha256: "f998352b131bb89fa7dd1f1d87ddbafe647dfaddd11929b6b5168b3f4ef857de" patches: + "1.16.3": + - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" + patch_description: "CMake: ensure conan dependencies are used" + patch_type: "conan" + - patch_file: "patches/1.14.1-0004-abseil-no-string-view.patch" + patch_description: "allow to build with abseil built without c++17 support" + patch_type: "portability" "1.16.2": - patch_file: "patches/1.16.0-0001-cmake-dependencies.patch" patch_description: "CMake: ensure conan dependencies are used" diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 7fc9af001a2ac..8861b22e93f76 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -81,22 +81,22 @@ def _onnx_version(self): }[f"{version.major}.{version.minor}"] def requirements(self): - self.requires("abseil/20230125.3") + self.requires("abseil/20230802.1") self.requires("protobuf/3.21.12") self.requires("date/3.0.1") - self.requires("re2/20230801") + self.requires("re2/20230901") self.requires(f"onnx/{self._onnx_version}") self.requires("flatbuffers/1.12.0") self.requires("boost/1.83.0", headers=True, libs=False, run=False) # for mp11, header only, no need for libraries to link/run self.requires("safeint/3.0.28") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("eigen/3.4.0") self.requires("ms-gsl/4.0.0") self.requires("cpuinfo/cci.20220618") if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.230824.2") + self.requires("wil/1.0.231028.1") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") diff --git a/recipes/onnxruntime/config.yml b/recipes/onnxruntime/config.yml index 930f2c65d0ccc..7dfea6fd99cd4 100644 --- a/recipes/onnxruntime/config.yml +++ b/recipes/onnxruntime/config.yml @@ -1,4 +1,6 @@ versions: + "1.16.3": + folder: all "1.16.2": folder: all "1.16.1": From 45a719da750c5d3a9880bf710c7432ec1787c7de Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 12 Dec 2023 17:32:00 +0000 Subject: [PATCH 0430/1307] (#21720) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/conan_v2_ready_references.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 296aece8ce97e..d212e2154e11f 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -204,6 +204,7 @@ required_for_references: - cpp-optparse - cpp-peglib - cpp-sort +- cpp-validator - cpp_project_framework - cppbenchmark - cppcheck @@ -251,6 +252,7 @@ required_for_references: - cwalk - cxxopts - cyclonedds +- cyclonedds-cxx - cyrus-sasl - czmq - dacap-clip @@ -518,6 +520,7 @@ required_for_references: - iowow - iqa - irrxml +- isa-l - iso8601lib - itk - itlib @@ -527,6 +530,7 @@ required_for_references: - jasper - jbig - jeaiii-itoa +- jerryscript - jfalcou-eve - jinja2cpp - joltphysics @@ -625,6 +629,7 @@ required_for_references: - libfdk_aac - libffi - libfreenect +- libfreenect2 - libftdi - libfuse - libgcrypt @@ -763,6 +768,7 @@ required_for_references: - libzip - libzippp - lief +- lightgbm - lightpcapng - linmath.h - linux-headers-generic @@ -1000,6 +1006,7 @@ required_for_references: - perf - perfetto - perlinnoise +- pexports - pffft - pfr - pgm-index @@ -1247,6 +1254,7 @@ required_for_references: - tcp-wrappers - tcsbank-uconfig - tcsbank-uri-template +- teemo - tensorflow-lite - tensorpipe - termcap @@ -1365,6 +1373,7 @@ required_for_references: - vulkan-memory-allocator - vulkan-validationlayers - vvenc +- waf - wasm-micro-runtime - wasmedge - wasmer From 820caa09286da3bece144fa048d34becf0afc2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= Date: Tue, 12 Dec 2023 18:42:40 +0100 Subject: [PATCH 0431/1307] (#21714) [fix][ceres-solver] Added IOS_DEPLOYMENT_TARGET variable Co-authored-by: Uilian Ries --- recipes/ceres-solver/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/ceres-solver/all/conanfile.py b/recipes/ceres-solver/all/conanfile.py index 10d2f4e9f0019..b676ebea4436f 100644 --- a/recipes/ceres-solver/all/conanfile.py +++ b/recipes/ceres-solver/all/conanfile.py @@ -1,3 +1,6 @@ +import os +import textwrap + from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os @@ -6,8 +9,6 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version -import os -import textwrap required_conan_version = ">=1.54.0" @@ -160,6 +161,9 @@ def generate(self): tc.variables["OPENMP"] = False tc.variables["TBB"] = self.options.use_TBB tc.variables["CXX11_THREADS"] = self.options.use_CXX11_threads + # IOS_DEPLOYMENT_TARGET variable was added to iOS.cmake file in 1.12.0 version + if self.settings.os == "iOS": + tc.variables["IOS_DEPLOYMENT_TARGET"] = self.settings.os.version tc.generate() CMakeDeps(self).generate() From 71860e93013bd3b8f7762c6408c15f8a21ce4c13 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:06:04 +0200 Subject: [PATCH 0432/1307] (#18636) asn1c: migrate to Conan v2 * asn1c: migrate to Conan v2 * asn1c: add support for non-MSVC Windows builds * asn1c: bump deps * asn1c: fix test_package * asn1c: skip printing of PATH --- recipes/asn1c/all/conanfile.py | 111 ++++++++++-------- recipes/asn1c/all/test_package/CMakeLists.txt | 9 +- recipes/asn1c/all/test_package/conanfile.py | 23 ++-- 3 files changed, 83 insertions(+), 60 deletions(-) diff --git a/recipes/asn1c/all/conanfile.py b/recipes/asn1c/all/conanfile.py index 83429575a7f31..c7d26af9b8d79 100644 --- a/recipes/asn1c/all/conanfile.py +++ b/recipes/asn1c/all/conanfile.py @@ -1,82 +1,101 @@ -from conans import AutoToolsBuildEnvironment, tools +import os + from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, rmdir, chdir -import os +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rmdir, chdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class Asn1cConan(ConanFile): name = "asn1c" description = "The ASN.1 Compiler" license = "BSD-2-Clause" - topics = ("asn.1", "compiler") - homepage = "https://lionet.info/asn1c" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://lionet.info/asn1c" + topics = ("asn.1", "compiler") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property - def _datarootdir(self): - return os.path.join(self.package_folder, "res") + def _settings_build(self): + return getattr(self, "settings_build", self.settings) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def build_requirements(self): - self.tool_requires("bison/3.7.6") - self.tool_requires("flex/2.6.4") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if is_msvc(self): + self.tool_requires("automake/1.16.5") + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("bison/3.8.2") + self.tool_requires("flex/2.6.4") self.tool_requires("libtool/2.4.7") def validate(self): - if self.settings.compiler == "Visual Studio": + if is_msvc(self): raise ConanInvalidConfiguration("Visual Studio is not supported") - def package_id(self): - del self.info.settings.compiler - def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - conf_args = [ - "--datarootdir={}".format(tools.unix_path(self._datarootdir)), - ] - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.configure_args += ["--datarootdir=${prefix}/res"] + tc.generate() def build(self): - with chdir(self, self._source_subfolder): - self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows) - autotools = self._configure_autotools() - autotools.make() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - autotools = self._configure_autotools() - autotools.install() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() rmdir(self, os.path.join(self.package_folder, "res", "doc")) rmdir(self, os.path.join(self.package_folder, "res", "man")) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.frameworkdirs = [] + self.cpp_info.resdirs = ["res"] # asn1c cannot use environment variables to specify support files path # so `SUPPORT_PATH` should be propagated to command line invocation to `-S` argument - self.env_info.SUPPORT_PATH = os.path.join(self.package_folder, "res/asn1c") + support_path = os.path.join(self.package_folder, "res", "asn1c") + self.buildenv_info.define_path("SUPPORT_PATH", support_path) - self.cpp_info.includedirs = [] + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) + self.env_info.SUPPORT_PATH = support_path diff --git a/recipes/asn1c/all/test_package/CMakeLists.txt b/recipes/asn1c/all/test_package/CMakeLists.txt index 72f86ddd2bed5..e24e73ab351bc 100644 --- a/recipes/asn1c/all/test_package/CMakeLists.txt +++ b/recipes/asn1c/all/test_package/CMakeLists.txt @@ -1,8 +1,9 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +if (NOT DEFINED ENV{SUPPORT_PATH}) + message(FATAL_ERROR "SUPPORT_PATH environment variable not defined") +endif() set(STANDARD_ASN1_FILES BIT_STRING.c @@ -39,7 +40,7 @@ set(GENERATED_FILES add_custom_command( OUTPUT ${GENERATED_FILES} ${STANDARD_ASN1_FILES} - COMMAND asn1c -S ${SUPPORT_PATH} MyModule.asn1 + COMMAND asn1c -S "$ENV{SUPPORT_PATH}" MyModule.asn1 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DEPENDS MyModule.asn1 ) diff --git a/recipes/asn1c/all/test_package/conanfile.py b/recipes/asn1c/all/test_package/conanfile.py index 534923606ca41..ed96bb307a88d 100644 --- a/recipes/asn1c/all/test_package/conanfile.py +++ b/recipes/asn1c/all/test_package/conanfile.py @@ -1,27 +1,30 @@ -from conans import CMake +import os + from conan import ConanFile +from conan.tools.build import can_run, cross_building +from conan.tools.cmake import cmake_layout, CMake from conan.tools.files import copy -from conan.tools.build import cross_building -import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" def build_requirements(self): - self.tool_requires(str(self.requires["asn1c"])) + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): if not cross_building(self): copy(self, "MyModule.asn1", src=self.source_folder, dst=self.build_folder) cmake = CMake(self) - cmake.definitions["SUPPORT_PATH"] = self.deps_env_info["asn1c"].SUPPORT_PATH cmake.configure() cmake.build() def test(self): - if not cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") From 9e898b8d5bbf84106eed130a38ec2c96645062ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:23:42 +0200 Subject: [PATCH 0433/1307] (#18654) directshowbaseclasses: migrate to Conan v2 * directshowbaseclasses: migrate to Conan v2 * directshowbaseclasses: add short_paths = True for v1 * directshowbaseclasses: fix CMakeLists.txt * directshowbaseclasses: only static output is supported --- .../directshowbaseclasses/all/CMakeLists.txt | 7 +-- .../directshowbaseclasses/all/conanfile.py | 62 ++++++++++++------- .../all/test_package/CMakeLists.txt | 10 +-- .../all/test_package/conanfile.py | 20 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../all/test_v1_package/conanfile.py | 16 +++++ 6 files changed, 87 insertions(+), 36 deletions(-) create mode 100644 recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/directshowbaseclasses/all/test_v1_package/conanfile.py diff --git a/recipes/directshowbaseclasses/all/CMakeLists.txt b/recipes/directshowbaseclasses/all/CMakeLists.txt index bb980e8f92249..f15c0b39a2b26 100644 --- a/recipes/directshowbaseclasses/all/CMakeLists.txt +++ b/recipes/directshowbaseclasses/all/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.12) project(strmbas) -include(conanbuildinfo.cmake) -conan_basic_setup() - -set(DSROOT "${CMAKE_CURRENT_SOURCE_DIR}/source_subfolder/Samples/Win7Samples/multimedia/directshow/baseclasses") +set(DSROOT "${CMAKE_CURRENT_SOURCE_DIR}/src/Samples/Win7Samples/multimedia/directshow/baseclasses") file(GLOB SOURCES "${DSROOT}/*.cpp") file(GLOB HEADERS "${DSROOT}/*.h") diff --git a/recipes/directshowbaseclasses/all/conanfile.py b/recipes/directshowbaseclasses/all/conanfile.py index 4f42eddc66a52..e71fc156ca323 100644 --- a/recipes/directshowbaseclasses/all/conanfile.py +++ b/recipes/directshowbaseclasses/all/conanfile.py @@ -1,40 +1,60 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get + +required_conan_version = ">=1.53.0" + class DirectShowBaseClassesConan(ConanFile): name = "directshowbaseclasses" - description = "Microsoft DirectShow Base Classes are a set of C++ classes and utility functions designed for " \ - "implementing DirectShow filters" + description = ( + "Microsoft DirectShow Base Classes are a set of C++ classes and " + "utility functions designed for implementing DirectShow filters" + ) + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://docs.microsoft.com/en-us/windows/desktop/directshow/directshow-base-classes" - topics = ("conan", "directshow", "dshow") - license = "MIT" - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - settings = {"os": ["Windows"], "arch": ["x86", "x86_64"], "compiler": None, "build_type": None} - _source_subfolder = "source_subfolder" - _build_subfolder = "build_subfolder" + topics = ("directshow", "dshow") + + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" short_paths = True + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration(f"{self.ref} can only be used on Windows.") + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename('Windows-classic-samples-%s' % self.version, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.libs = ['strmbasd' if self.settings.build_type == 'Debug' else 'strmbase'] - self.cpp_info.system_libs = ['strmiids', 'winmm'] + self.cpp_info.libs = ["strmbasd" if self.settings.build_type == "Debug" else "strmbase"] + self.cpp_info.system_libs = ["strmiids", "winmm"] diff --git a/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt b/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt index 196188113685c..888739db919db 100644 --- a/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt +++ b/recipes/directshowbaseclasses/all/test_package/CMakeLists.txt @@ -1,8 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(directshowbaseclasses REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE directshowbaseclasses::directshowbaseclasses) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/directshowbaseclasses/all/test_package/conanfile.py b/recipes/directshowbaseclasses/all/test_package/conanfile.py index b88a6525524a6..ef5d7042163ec 100644 --- a/recipes/directshowbaseclasses/all/test_package/conanfile.py +++ b/recipes/directshowbaseclasses/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt b/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/directshowbaseclasses/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py b/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9a22676d134f --- /dev/null +++ b/recipes/directshowbaseclasses/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 6683eef4ac6c747b6c19d86c3f67bc4012f82ba8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 20:33:56 +0200 Subject: [PATCH 0434/1307] (#18819) tar: migrate to Conan v2 * tar: migrate to Conan v2 * tar: improve availability of compression tools * tar: disable check in Conan v1 * tar: skip visible=True on Conan v1 * tar: clear includedirs, etc * tar: fix Conan v1 support * tar: fix broken check * tar: adjust conf_info variable --- recipes/tar/all/conanfile.py | 126 ++++++++++--------- recipes/tar/all/test_package/conanfile.py | 45 +++++-- recipes/tar/all/test_v1_package/conanfile.py | 17 +++ 3 files changed, 121 insertions(+), 67 deletions(-) create mode 100644 recipes/tar/all/test_v1_package/conanfile.py diff --git a/recipes/tar/all/conanfile.py b/recipes/tar/all/conanfile.py index afe93c20c680f..96d4365b7ea60 100644 --- a/recipes/tar/all/conanfile.py +++ b/recipes/tar/all/conanfile.py @@ -1,98 +1,112 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class TarConan(ConanFile): name = "tar" description = "GNU Tar provides the ability to create tar archives, as well as various other kinds of manipulation." - topics = ("tar", "archive") license = "GPL-3-or-later" - homepage = "https://www.gnu.org/software/tar/" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "arch", "compiler", "build_type" - - _autotools = None + homepage = "https://www.gnu.org/software/tar/" + topics = "archive" - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "application" + settings = "os", "arch", "compiler", "build_type" @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler def requirements(self): - self.requires("bzip2/1.0.8") - self.requires("lzip/1.21") - self.requires("xz_utils/5.2.5") + self.requires("bzip2/1.0.8", run=True, headers=False, libs=False) + self.requires("lzip/1.23", run=True, headers=False, libs=False) + self.requires("xz_utils/5.4.4", run=True, headers=False, libs=False) + self.requires("zstd/1.5.5", run=True, headers=False, libs=False) + # self.requires("lzo/2.10", run=True, headers=False, libs=False) def validate(self): if self.settings.os == "Windows": raise ConanInvalidConfiguration("This recipe does not support Windows builds of tar") # FIXME: fails on MSVC and mingw-w64 - if not self.options["bzip2"].build_executable: + if not self.dependencies["bzip2"].options.build_executable: raise ConanInvalidConfiguration("bzip2:build_executable must be enabled") - def package_id(self): - del self.info.settings.compiler - def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - self._autotools.libs = [] - bzip2_exe = "bzip2" # FIXME: get from bzip2 recipe - lzip_exe = "lzip" # FIXME: get from lzip recipe - lzma_exe = "lzma" # FIXME: get from xz_utils recipe - xz_exe = "xz" # FIXME: get from xz_utils recipe - args = [ + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.generate() + tc.configure_args += [ "--disable-acl", "--disable-nls", "--disable-rpath", - # "--without-gzip", # FIXME: this will use system gzip "--without-posix-acls", "--without-selinux", - "--with-bzip2={}".format(bzip2_exe), - "--with-lzip={}".format(lzip_exe), - "--with-lzma={}".format(lzma_exe), - # "--without-lzop", # FIXME: this will use sytem lzop - "--with-xz={}".format(xz_exe), - # "--without-zstd", # FIXME: this will use system zstd (current zstd recipe does not build programs) + "--with-gzip=gzip", # FIXME: this will use system gzip + "--with-bzip2=bzip2", + "--with-lzip=lzip", + "--with-lzma=lzma", + "--without-lzop", # FIXME: lzo package does not build an executable + "--with-xz=xz", + "--with-zstd=zstd", ] - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + if is_msvc(self): + replace_in_file( + self, + os.path.join(self.source_folder, "gnu", "faccessat.c"), + "_GL_INCLUDING_UNISTD_H", + "_GL_INCLUDING_UNISTD_H_NOP", + ) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self.settings.compiler == "Visual Studio": - tools.replace_in_file(os.path.join(self._source_subfolder, "gnu", "faccessat.c"), - "_GL_INCLUDING_UNISTD_H", "_GL_INCLUDING_UNISTD_H_NOP") - autotools = self._configure_autotools() + self._patch_sources() + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - autotools = self._configure_autotools() + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) autotools.install() - - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "libexec")) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] tar_bin = os.path.join(self.package_folder, "bin", "tar") - self.user_info.tar = tar_bin + self.conf_info.define("user.tar:path", tar_bin) self.env_info.TAR = tar_bin + + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) + self.user_info.tar = tar_bin diff --git a/recipes/tar/all/test_package/conanfile.py b/recipes/tar/all/test_package/conanfile.py index 68b1151321a11..5e1618addc3d0 100644 --- a/recipes/tar/all/test_package/conanfile.py +++ b/recipes/tar/all/test_package/conanfile.py @@ -1,17 +1,40 @@ -from conans import ConanFile, tools import os +from conan import ConanFile +from conan.tools.cmake import cmake_layout +from conan.tools.files import chdir, load, save + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def generate(self): + tar_bin = self.dependencies.build["tar"].conf_info.get("user.tar:path") + save(self, os.path.join(self.build_folder, "tar_bin"), tar_bin) def test(self): - tar_bin = self.deps_user_info["tar"].tar - if not tools.cross_building(self): - with tools.chdir(self.source_folder): - test_tar = os.path.join(self.build_folder, "test.tar.gz") - self.run("{} -czf {} conanfile.py".format(tar_bin, test_tar), run_environment=True) - assert os.path.isfile("test.tar.gz") - self.run("{} -tf test.tar.gz".format(tar_bin), run_environment=True) - self.run("{} -xf test.tar.gz".format(tar_bin), run_environment=True) - assert tools.load(os.path.join(self.source_folder, "conanfile.py")) == tools.load(os.path.join(self.build_folder, "conanfile.py")) + # Verify that the compression tools are available + self.run("gzip --version") + self.run("bzip2 --help") + self.run("lzip --version") + self.run("lzma --version") + self.run("zstd --version") + + tar_bin = load(self, os.path.join(self.build_folder, "tar_bin")) + with chdir(self, self.source_folder): + test_tar = os.path.join(self.build_folder, "test.tar.zstd") + self.run(f"{tar_bin} --zstd -cf {test_tar} conanfile.py") + assert os.path.isfile("test.tar.zstd") + self.run(f"{tar_bin} -tf test.tar.zstd") + self.run(f"{tar_bin} -xf test.tar.zstd") + f1 = load(self, os.path.join(self.source_folder, "conanfile.py")) + f2 = load(self, os.path.join(self.build_folder, "conanfile.py")) + assert f1 == f2 diff --git a/recipes/tar/all/test_v1_package/conanfile.py b/recipes/tar/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..68b1151321a11 --- /dev/null +++ b/recipes/tar/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + + def test(self): + tar_bin = self.deps_user_info["tar"].tar + if not tools.cross_building(self): + with tools.chdir(self.source_folder): + test_tar = os.path.join(self.build_folder, "test.tar.gz") + self.run("{} -czf {} conanfile.py".format(tar_bin, test_tar), run_environment=True) + assert os.path.isfile("test.tar.gz") + self.run("{} -tf test.tar.gz".format(tar_bin), run_environment=True) + self.run("{} -xf test.tar.gz".format(tar_bin), run_environment=True) + assert tools.load(os.path.join(self.source_folder, "conanfile.py")) == tools.load(os.path.join(self.build_folder, "conanfile.py")) From c86c02c19a903caca7b5e809c7bf83f097ea9cdf Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 03:48:34 +0900 Subject: [PATCH 0435/1307] (#21342) coost: add version 3.0.2 * coost: add version 3.0.2 * drop support msvc shared * add comment for invalid configuration Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/coost/all/conandata.yml | 3 +++ recipes/coost/all/conanfile.py | 4 ++++ recipes/coost/config.yml | 2 ++ 3 files changed, 9 insertions(+) diff --git a/recipes/coost/all/conandata.yml b/recipes/coost/all/conandata.yml index 86d6db4c792ce..4e8bd45da11a5 100644 --- a/recipes/coost/all/conandata.yml +++ b/recipes/coost/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.2": + url: "https://github.com/idealvin/coost/archive/refs/tags/v3.0.2.tar.gz" + sha256: "922ba21fb9a922c84f6a4b3bd568ed3b3463ccb1ae906cd7c49d90c7f0359b24" "3.0.1": url: "https://github.com/idealvin/coost/archive/refs/tags/v3.0.1.tar.gz" sha256: "f2285d59dc8317dd2494d7628a56f10de9b814d90b86aedf93a3305f94c6ae1a" diff --git a/recipes/coost/all/conanfile.py b/recipes/coost/all/conanfile.py index 8c56318918c27..6b2e612afc5c5 100644 --- a/recipes/coost/all/conanfile.py +++ b/recipes/coost/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -53,6 +54,9 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) + if Version(self.version) >= "3.0.2" and is_msvc(self) and self.options.shared: + # INFO: src\include\co\thread.h: error C2492: 'g_tid': data with thread storage duration may not have dll interface + raise ConanInvalidConfiguration(f"{self.ref} Conan recipe does not support -o shared=True with Visual Studio. Contributions are welcome.") if self.info.options.with_libcurl: if not self.info.options.with_openssl: raise ConanInvalidConfiguration(f"{self.ref} requires with_openssl=True when using with_libcurl=True") diff --git a/recipes/coost/config.yml b/recipes/coost/config.yml index f1eca9cdf76de..a300de211104b 100644 --- a/recipes/coost/config.yml +++ b/recipes/coost/config.yml @@ -1,3 +1,5 @@ versions: + "3.0.2": + folder: all "3.0.1": folder: all From e83e7a50d6997b3c882310f907e7a3bde6aaaf5e Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 12 Dec 2023 14:10:05 -0500 Subject: [PATCH 0436/1307] (#21434) vulkan-memory-allocator: Fix GCC 13 build, add cci.20231120 * Add GCC 13 patch, add new cci version * Add patch for 2.3.0 --- .../vulkan-memory-allocator/all/conandata.yml | 20 +++++++++++++++++++ .../all/patches/0001-fix-appleclang.patch | 2 -- .../patches/2.3.0-add-missing-cstdio.patch | 15 ++++++++++++++ .../patches/3.0.0-add-missing-cstdio.patch | 15 ++++++++++++++ .../patches/3.0.1-add-missing-cstdio.patch | 15 ++++++++++++++ recipes/vulkan-memory-allocator/config.yml | 2 ++ 6 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch create mode 100644 recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch create mode 100644 recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch diff --git a/recipes/vulkan-memory-allocator/all/conandata.yml b/recipes/vulkan-memory-allocator/all/conandata.yml index d35351a8d12e7..7d88177b91710 100644 --- a/recipes/vulkan-memory-allocator/all/conandata.yml +++ b/recipes/vulkan-memory-allocator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231120": + url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/5e43c795daf43dd09398d8307212e85025215052.tar.gz" + sha256: "1ee9922fb059bc3b1dc5bbf71020e7a590b6ceb27fc3025d746e15be53fe31b7" "3.0.1": url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/refs/tags/v3.0.1.tar.gz" sha256: "2a84762b2d10bf540b9dc1802a198aca8ad1f3d795a4ae144212c595696a360c" @@ -9,5 +12,22 @@ sources: url: "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/v2.3.0.zip" sha256: "1c222c372e90f1a0d5e765420974842cf2503683ca14c30f8a0df340ba541f02" patches: + "3.0.1": + - patch_file: "patches/3.0.1-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ "3.0.0": - patch_file: "patches/0001-fix-appleclang.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/3f9f66740aa6cd8a329cc738c21aaff9020fed46 + patch_type: backport + patch_description: Needed to build with apple-clang 13.1+ + - patch_file: "patches/3.0.0-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ + "2.3.0": + - patch_file: "patches/2.3.0-add-missing-cstdio.patch" + patch_source: https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/29d492b60c84ca784ea0943efc7d2e6e0f3bdaac + patch_type: backport + patch_description: Needed to build with GCC 13+ diff --git a/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch b/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch index 85be3b03af743..0cfd3c5acf8f4 100644 --- a/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch +++ b/recipes/vulkan-memory-allocator/all/patches/0001-fix-appleclang.patch @@ -1,5 +1,3 @@ -from https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/3f9f66740aa6cd8a329cc738c21aaff9020fed46 - --- a/include/vk_mem_alloc.h +++ b/include/vk_mem_alloc.h @@ -2569,6 +2569,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( diff --git a/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch new file mode 100644 index 0000000000000..ef7fe08191476 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/2.3.0-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h +index 32258b4..8da6bba 100644 +--- a/src/vk_mem_alloc.h ++++ b/src/vk_mem_alloc.h +@@ -3470,6 +3470,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage( + #include + #include + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch new file mode 100644 index 0000000000000..2852a9bd33619 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/3.0.0-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h +index 3b395a7..542191c 100644 +--- a/include/vk_mem_alloc.h ++++ b/include/vk_mem_alloc.h +@@ -2575,6 +2575,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + #include // For functions like __popcnt, _BitScanForward etc. + #endif + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch b/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch new file mode 100644 index 0000000000000..bab772d3242d7 --- /dev/null +++ b/recipes/vulkan-memory-allocator/all/patches/3.0.1-add-missing-cstdio.patch @@ -0,0 +1,15 @@ +diff --git a/include/vk_mem_alloc.h b/include/vk_mem_alloc.h +index 60f5720..31164bc 100644 +--- a/include/vk_mem_alloc.h ++++ b/include/vk_mem_alloc.h +@@ -2578,6 +2578,10 @@ VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + #include // For std::popcount + #endif + ++#if VMA_STATS_STRING_ENABLED ++ #include // For snprintf ++#endif ++ + /******************************************************************************* + CONFIGURATION SECTION + diff --git a/recipes/vulkan-memory-allocator/config.yml b/recipes/vulkan-memory-allocator/config.yml index 6220702ac9b05..d260c9a9e2cad 100644 --- a/recipes/vulkan-memory-allocator/config.yml +++ b/recipes/vulkan-memory-allocator/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231120": + folder: all "3.0.1": folder: all "3.0.0": From 39650c788e391a127df8c35c5f7085ce90a7653b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 04:18:48 +0900 Subject: [PATCH 0437/1307] (#21450) trantor: add version 1.5.15, remove old versions * trantor: add version 1.5.15, remove old versions * use del instead of rm_safe * remove BUILD_SHARED_LIBS, update conan version --- recipes/trantor/all/conandata.yml | 23 ++++++----------- recipes/trantor/all/conanfile.py | 25 +++++++++++++------ .../patches/1.5.15-0001-disable-werror.patch | 13 ++++++++++ .../patches/1.5.5-0001-include-cstdint.patch | 12 --------- recipes/trantor/config.yml | 6 ++--- 5 files changed, 39 insertions(+), 40 deletions(-) create mode 100644 recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch delete mode 100644 recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml index efeba0b7ed4a1..5d96de887257b 100644 --- a/recipes/trantor/all/conandata.yml +++ b/recipes/trantor/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.15": + url: "https://github.com/an-tao/trantor/archive/v1.5.15.tar.gz" + sha256: "478d33bc2d48ef2511969c1024eeeee5cf0ef4eea6c65761d0a72b8b9b3004be" "1.5.14": url: "https://github.com/an-tao/trantor/archive/v1.5.14.tar.gz" sha256: "80775d65fd49dfb0eb85d70cd9c0f0cff38a7f46c90db918862c46e03ae63810" @@ -20,13 +23,11 @@ sources: "1.5.7": url: "https://github.com/an-tao/trantor/archive/v1.5.7.tar.gz" sha256: "42576563afbf1e58c7d68f758cf3fca4d193496d4e3f82c80069d8389a7839d5" - "1.5.6": - url: "https://github.com/an-tao/trantor/archive/v1.5.6.tar.gz" - sha256: "827aca30e120244a8ede9d07446481328d9a3869228f01fc4978b19301d66e65" - "1.5.5": - url: "https://github.com/an-tao/trantor/archive/refs/tags/v1.5.5.tar.gz" - sha256: "5a549c6efebe7ecba73a944cfba4a9713130704d4ccc82af534a2e108b9a0e71" patches: + "1.5.15": + - patch_file: "patches/1.5.15-0001-disable-werror.patch" + patch_description: "disable -Werror for gcc5" + patch_type: "portability" "1.5.14": - patch_file: "patches/1.5.12-0001-disable-werror.patch" patch_description: "disable -Werror for gcc5" @@ -59,13 +60,3 @@ patches: patch_description: "include cstdint for uint8_t, intmax_t" patch_type: "portability" patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.6": - - patch_file: "patches/1.5.6-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t, intmax_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" - "1.5.5": - - patch_file: "patches/1.5.5-0001-include-cstdint.patch" - patch_description: "include cstdint for uint8_t" - patch_type: "portability" - patch_source: "https://github.com/an-tao/trantor/commit/e8e3887435dcfb310263c588743be1b3746193be" diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py index 3345447fe2f12..9deee06df4b9b 100644 --- a/recipes/trantor/all/conanfile.py +++ b/recipes/trantor/all/conanfile.py @@ -5,29 +5,31 @@ from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout - import os -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class TrantorConan(ConanFile): name = "trantor" description = "a non-blocking I/O tcp network lib based on c++14/17" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/an-tao/trantor" topics = ("tcp-server", "asynchronous-programming", "non-blocking-io") - license = "BSD-3-Clause" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], "shared": [True, False], "with_c_ares": [True, False], + "with_spdlog": [True, False], } default_options = { "fPIC": True, "shared": False, "with_c_ares": True, + "with_spdlog": False, + "spdlog/*:header_only": True, } @property @@ -50,6 +52,9 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.5.15": + del self.options.with_spdlog + del self.default_options["spdlog/*:header_only"] def configure(self): if self.options.shared: @@ -62,6 +67,8 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") if self.options.with_c_ares: self.requires("c-ares/1.22.0") + if self.options.get_safe("with_spdlog"): + self.requires("spdlog/1.12.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -77,17 +84,19 @@ def validate(self): if is_msvc(self) and self.options.shared and "MDd" in msvc_runtime_flag(self): raise ConanInvalidConfiguration(f"{self.ref} does not support the MDd runtime on Visual Studio.") + if self.options.get_safe("with_spdlog") and not self.dependencies["spdlog"].options.header_only: + raise ConanInvalidConfiguration(f"{self.ref} requires header_only spdlog.") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - if Version(self.version) < "1.5.6": - tc.variables["BUILD_TRANTOR_SHARED"] = self.options.shared - else: - # Trantor's CMakeLists.txt has BUILD_SHARED_LIBS option. - tc.variables["BUILD_SHARED_LIBS"] = self.options.shared + # TODO: support other tls providers + if Version(self.version) >= "1.5.12": + tc.variables["TRANTOR_USE_TLS"] = "openssl" tc.variables["BUILD_C-ARES"] = self.options.with_c_ares + tc.variables["USE_SPDLOG"] = self.options.get_safe("with_spdlog") tc.generate() tc = CMakeDeps(self) diff --git a/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch b/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch new file mode 100644 index 0000000000000..bbeb7c91c05b7 --- /dev/null +++ b/recipes/trantor/all/patches/1.5.15-0001-disable-werror.patch @@ -0,0 +1,13 @@ +diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt +index 4ec5461..8ec652a 100755 +--- a/a/CMakeLists.txt ++++ b/b/CMakeLists.txt +@@ -55,7 +55,7 @@ if(MSVC AND MSVC_VERSION GREATER_EQUAL 1914) + endif(MSVC AND MSVC_VERSION GREATER_EQUAL 1914) + + if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND CMAKE_CXX_COMPILER_ID MATCHES Clang|GNU) +- target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror) ++ target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) + endif() + + if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku") diff --git a/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch b/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch deleted file mode 100644 index 12c881a36cc34..0000000000000 --- a/recipes/trantor/all/patches/1.5.5-0001-include-cstdint.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/trantor/utils/MsgBuffer.h b/trantor/utils/MsgBuffer.h -index 19d42e2..adeeb1b 100644 ---- a/trantor/utils/MsgBuffer.h -+++ b/trantor/utils/MsgBuffer.h -@@ -18,6 +18,7 @@ - #include - #include - #include -+#include - #include - #include - #include diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml index e6a0e702be9d0..dddf9970713ce 100644 --- a/recipes/trantor/config.yml +++ b/recipes/trantor/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.15": + folder: "all" "1.5.14": folder: "all" "1.5.13": @@ -13,7 +15,3 @@ versions: folder: "all" "1.5.7": folder: "all" - "1.5.6": - folder: "all" - "1.5.5": - folder: "all" From 79b09e1ae3825cbe90fe8d71cc50b4f7ac34c448 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 21:58:06 +0200 Subject: [PATCH 0438/1307] (#21653) backward-cpp: bump deps Co-authored-by: Uilian Ries --- recipes/backward-cpp/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/backward-cpp/all/conanfile.py b/recipes/backward-cpp/all/conanfile.py index bf3c847a28626..66cfef012cf47 100644 --- a/recipes/backward-cpp/all/conanfile.py +++ b/recipes/backward-cpp/all/conanfile.py @@ -79,14 +79,14 @@ def package_id(self): def requirements(self): if self.settings.os in ["Linux", "FreeBSD", "Android"]: if self._has_stack_walking("libunwind"): - self.requires("libunwind/1.6.2", transitive_headers=True) + self.requires("libunwind/1.7.2", transitive_headers=True) if self._has_stack_details("dwarf"): self.requires("libdwarf/20191104", transitive_headers=True, transitive_libs=True) self.requires("libelf/0.8.13") if self._has_stack_details("dw"): - self.requires("elfutils/0.186", transitive_headers=True) + self.requires("elfutils/0.190", transitive_headers=True) if self._has_stack_details("bfd"): - self.requires("binutils/2.38", transitive_headers=True) + self.requires("binutils/2.41", transitive_headers=True) def validate(self): if self.settings.os not in self._supported_os: From 5f5deaa1d999dfaa899be9e28c4aa9bb08e402e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 22:18:13 +0200 Subject: [PATCH 0439/1307] (#21655) wolfssl: add version 5.6.4 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index 45f769c905838..07a88deb272d2 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.4": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.4-stable.tar.gz" + sha256: "031691906794ff45e1e792561cf31759f5d29ac74936bc8dffb8b14f16d820b4" "5.6.3": url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.3-stable.tar.gz" sha256: "2e74a397fa797c2902d7467d500de904907666afb4ff80f6464f6efd5afb114a" diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 92091015e6a56..1d558dac0d232 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.4": + folder: all "5.6.3": folder: all "5.5.1": From 5dc0bc60184c99834267592bf116b74f5d4355b2 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 05:39:13 +0900 Subject: [PATCH 0440/1307] (#21678) g3log: add version 2.4 --- recipes/g3log/all/conandata.yml | 3 +++ recipes/g3log/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/g3log/all/conandata.yml b/recipes/g3log/all/conandata.yml index bb193ad6a160e..d0c122e1d915c 100644 --- a/recipes/g3log/all/conandata.yml +++ b/recipes/g3log/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4": + url: "https://github.com/KjellKod/g3log/archive/2.4.tar.gz" + sha256: "a240673f6dda17a8d4d5768b6741534e6863e6c4d786c3678e4fe687eb115902" "2.3": url: "https://github.com/KjellKod/g3log/archive/2.3.tar.gz" sha256: "a27dc3ff0d962cc6e0b4e60890b4904e664b0df16393d27e14c878d7de09b505" diff --git a/recipes/g3log/config.yml b/recipes/g3log/config.yml index fd39876109b97..08a72fff292b3 100644 --- a/recipes/g3log/config.yml +++ b/recipes/g3log/config.yml @@ -1,4 +1,6 @@ versions: + "2.4": + folder: all "2.3": folder: all "2.2": From 7b258139f1d4c783e3c1165ecc75ede5a6f12c1c Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Dec 2023 21:55:54 +0100 Subject: [PATCH 0441/1307] (#20089) protobuf: improve discovery of protoc executable in build context * improve discovery of protoc executable in build context * addd more comments * fix test package --- recipes/protobuf/all/conanfile.py | 19 ++++++++++++++++--- .../protobuf/all/test_package/conanfile.py | 13 +++---------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/recipes/protobuf/all/conanfile.py b/recipes/protobuf/all/conanfile.py index eb5f365e1eb56..f696a27880684 100644 --- a/recipes/protobuf/all/conanfile.py +++ b/recipes/protobuf/all/conanfile.py @@ -124,20 +124,33 @@ def _patch_sources(self): protoc_filename = "protoc" + exe_ext module_folder_depth = len(os.path.normpath(self._cmake_install_base_path).split(os.path.sep)) protoc_rel_path = "{}bin/{}".format("".join(["../"] * module_folder_depth), protoc_filename) - protoc_target = textwrap.dedent("""\ + protoc_target = textwrap.dedent(f"""\ if(NOT TARGET protobuf::protoc) + # Locate protoc executable + ## Workaround for legacy "cmake" generator in case of cross-build if(CMAKE_CROSSCOMPILING) - find_program(PROTOC_PROGRAM protoc PATHS ENV PATH NO_DEFAULT_PATH) + find_program(PROTOC_PROGRAM NAMES protoc PATHS ENV PATH NO_DEFAULT_PATH) endif() + ## And here this will work fine with "CMakeToolchain" (for native & cross-build) + ## and legacy "cmake" generator in case of native build + if(NOT PROTOC_PROGRAM) + find_program(PROTOC_PROGRAM NAMES protoc) + endif() + ## Last resort: we search in package folder directly if(NOT PROTOC_PROGRAM) set(PROTOC_PROGRAM \"${{CMAKE_CURRENT_LIST_DIR}}/{protoc_rel_path}\") endif() get_filename_component(PROTOC_PROGRAM \"${{PROTOC_PROGRAM}}\" ABSOLUTE) + + # Give opportunity to users to provide an external protoc executable + # (this is a feature of official FindProtobuf.cmake) set(Protobuf_PROTOC_EXECUTABLE ${{PROTOC_PROGRAM}} CACHE FILEPATH \"The protoc compiler\") + + # Create executable imported target protobuf::protoc add_executable(protobuf::protoc IMPORTED) set_property(TARGET protobuf::protoc PROPERTY IMPORTED_LOCATION ${{Protobuf_PROTOC_EXECUTABLE}}) endif() - """.format(protoc_rel_path=protoc_rel_path)) + """) replace_in_file(self, protobuf_config_cmake, "include(\"${CMAKE_CURRENT_LIST_DIR}/protobuf-targets.cmake\")", diff --git a/recipes/protobuf/all/test_package/conanfile.py b/recipes/protobuf/all/test_package/conanfile.py index 3823d923c4684..81404c86104a8 100644 --- a/recipes/protobuf/all/test_package/conanfile.py +++ b/recipes/protobuf/all/test_package/conanfile.py @@ -1,13 +1,12 @@ from conan import ConanFile -from conan.tools.build import can_run, cross_building +from conan.tools.build import can_run from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain -from conan.tools.env import VirtualBuildEnv, VirtualRunEnv import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps" + generators = "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -17,15 +16,9 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - if cross_building(self) and hasattr(self, "settings_build"): - self.tool_requires(self.tested_reference_str) + self.tool_requires(self.tested_reference_str) def generate(self): - VirtualRunEnv(self).generate() - if cross_building(self) and hasattr(self, "settings_build"): - VirtualBuildEnv(self).generate() - else: - VirtualRunEnv(self).generate(scope="build") tc = CMakeToolchain(self) tc.cache_variables["protobuf_LITE"] = self.dependencies[self.tested_reference_str].options.lite tc.generate() From d8cb8f4d17ea11dbb5c4ea5354530184acf0b493 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 12 Dec 2023 23:38:29 +0200 Subject: [PATCH 0442/1307] (#21684) dependencies: new recipe --- recipes/dependencies/all/conandata.yml | 11 ++++ recipes/dependencies/all/conanfile.py | 50 +++++++++++++++++++ .../all/test_package/conanfile.py | 22 ++++++++ recipes/dependencies/config.yml | 3 ++ 4 files changed, 86 insertions(+) create mode 100644 recipes/dependencies/all/conandata.yml create mode 100644 recipes/dependencies/all/conanfile.py create mode 100644 recipes/dependencies/all/test_package/conanfile.py create mode 100644 recipes/dependencies/config.yml diff --git a/recipes/dependencies/all/conandata.yml b/recipes/dependencies/all/conandata.yml new file mode 100644 index 0000000000000..b54b3a369232f --- /dev/null +++ b/recipes/dependencies/all/conandata.yml @@ -0,0 +1,11 @@ +sources: + "1.11.1": + "x86_64": + url: "https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x64_Release.zip" + sha256: "7d22dc00f1c09fd4415d48ad74d1cf801893e83b9a39944b0fce6dea7ceaea99" + "x86": + url: "https://github.com/lucasg/Dependencies/releases/download/v1.11.1/Dependencies_x86_Release.zip" + sha256: "3e6bc62b4163c4e8035e8a597515c116343fcb76fa4315317c3cafe0bdc9e257" + "license": + url: "https://raw.githubusercontent.com/lucasg/Dependencies/v1.11.1/LICENSE" + sha256: "5d7cbf9b08285c1f89e4f4f1341090c662f4078dbf7ce8a7d392d2482e550fb6" diff --git a/recipes/dependencies/all/conanfile.py b/recipes/dependencies/all/conanfile.py new file mode 100644 index 0000000000000..f0b08ddbf4d87 --- /dev/null +++ b/recipes/dependencies/all/conanfile.py @@ -0,0 +1,50 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, get, download +import os + +required_conan_version = ">=1.47.0" + + +class PackageConan(ConanFile): + name = "dependencies" + description = ("Dependencies can help Windows developers troubleshooting their DLL-loading dependency issues. " + "It is a rewrite of the legacy Dependency Walker software, which was shipped along Windows SDKs, " + "but whose development stopped around 2006.") + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/lucasg/Dependencies" + topics = ("windows", "dll", "debugging", "pre-built") + package_type = "application" + settings = "os", "arch", "compiler", "build_type" + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type + + def validate(self): + if self.settings.os != "Windows": + raise ConanInvalidConfiguration("Dependencies is only available on Windows") + if self.settings.arch not in ["x86_64", "x86"]: + raise ConanInvalidConfiguration("Dependencies is only available for x86_64 and x86 architectures") + + def build(self): + get(self, **self.conan_data["sources"][self.version][str(self.settings.arch)], strip_root=False) + download(self, **self.conan_data["sources"][self.version]["license"], filename="LICENSE") + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.exe", self.source_folder, os.path.join(self.package_folder, "bin")) + copy(self, "*.dll", self.source_folder, os.path.join(self.package_folder, "bin"), + excludes=["msvcp*.dll", "msvcr*.dll", "vcruntime*.dll"]) + copy(self, "*.config", self.source_folder, os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 + bin_folder = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_folder) diff --git a/recipes/dependencies/all/test_package/conanfile.py b/recipes/dependencies/all/test_package/conanfile.py new file mode 100644 index 0000000000000..9164a4171506f --- /dev/null +++ b/recipes/dependencies/all/test_package/conanfile.py @@ -0,0 +1,22 @@ +import sys + +from conan import ConanFile +from conan.tools.cmake import cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def test(self): + self.run(f"dependencies -chain -depth 1 {sys.executable}") + + # FYI, you can get similar info with a VCVars generator and + # self.run(f"dumpbin /imports {sys.executable}") diff --git a/recipes/dependencies/config.yml b/recipes/dependencies/config.yml new file mode 100644 index 0000000000000..2e6b30b92c133 --- /dev/null +++ b/recipes/dependencies/config.yml @@ -0,0 +1,3 @@ +versions: + "1.11.1": + folder: all From 3aac0052d9fa97d74d6ae1d393849965bf795cf2 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 12 Dec 2023 22:59:04 +0100 Subject: [PATCH 0443/1307] (#21711) libarchive/all: bump deps * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libarchive/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libarchive/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index f6981be4bf4f1..41ace49a160e2 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,7 +85,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: @@ -103,11 +103,11 @@ def requirements(self): if self.options.with_lzo: self.requires("lzo/2.10") if self.options.with_lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): - self.requires("mbedtls/3.2.1") + self.requires("mbedtls/3.5.0") def validate(self): if self.settings.os != "Windows" and self.options.with_cng: From 68a710e4c792171ac32981bab95f403bbdd037fa Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 07:37:59 +0900 Subject: [PATCH 0444/1307] (#21718) catch2: add version 3.5.0 Co-authored-by: Uilian Ries --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 49bcf956ad89a..85ef2d28e9683 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.0": + url: "https://github.com/catchorg/Catch2/archive/v3.5.0.tar.gz" + sha256: "f6d4f8d78a9b59ec72a81d49f58d18eb317372ac07f8d9432710a079e69fd66a" "3.4.0": url: "https://github.com/catchorg/Catch2/archive/v3.4.0.tar.gz" sha256: "122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 846bd38ba4e58..df92faa46a85a 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.0": + folder: 3.x.x "3.4.0": folder: 3.x.x "3.3.2": From d5f311bdcfdde264767adb7703c148cd34b620da Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 12 Dec 2023 23:57:55 +0100 Subject: [PATCH 0445/1307] (#21721) pdqsort: add package_type --- recipes/pdqsort/all/conanfile.py | 12 +++++------- recipes/pdqsort/all/test_package/conanfile.py | 7 ++++--- recipes/pdqsort/all/test_v1_package/CMakeLists.txt | 10 ++++------ 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/recipes/pdqsort/all/conanfile.py b/recipes/pdqsort/all/conanfile.py index c6b4987b3d5ef..0a1df56b8a3d7 100644 --- a/recipes/pdqsort/all/conanfile.py +++ b/recipes/pdqsort/all/conanfile.py @@ -13,18 +13,18 @@ class PdqsortConan(ConanFile): topics = ("pdqsort", "sort") homepage = "https://github.com/orlp/pdqsort" url = "https://github.com/conan-io/conan-center-index" + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True - def package_id(self): - self.info.clear() - def layout(self): basic_layout(self, src_folder="src") + def package_id(self): + self.info.clear() + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass @@ -35,6 +35,4 @@ def package(self): def package_info(self): self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] diff --git a/recipes/pdqsort/all/test_package/conanfile.py b/recipes/pdqsort/all/test_package/conanfile.py index d120a992c06a6..0a6bc68712d90 100644 --- a/recipes/pdqsort/all/test_package/conanfile.py +++ b/recipes/pdqsort/all/test_package/conanfile.py @@ -7,13 +7,14 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + test_type = "explicit" def layout(self): cmake_layout(self) + def requirements(self): + self.requires(self.tested_reference_str) + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt b/recipes/pdqsort/all/test_v1_package/CMakeLists.txt index 400c3982bde1a..b21cc49efde95 100644 --- a/recipes/pdqsort/all/test_v1_package/CMakeLists.txt +++ b/recipes/pdqsort/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(pdqsort REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pdqsort::pdqsort) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) From a11b706c15a42f4cb5c66276d3d0ebd8844bde9a Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 13 Dec 2023 01:18:26 +0200 Subject: [PATCH 0446/1307] (#21727) xmlsec: bump libxslt --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 7b8e66f3a136e..282278b7546cb 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.34") + self.requires("libxslt/1.1.37") def validate(self): if self.options.with_nss: From e68f4cdc23dcebe262213027a3a04ea8859309a8 Mon Sep 17 00:00:00 2001 From: Alec Edgington <54802828+cqc-alec@users.noreply.github.com> Date: Tue, 12 Dec 2023 23:48:37 +0000 Subject: [PATCH 0447/1307] (#21728) [symengine] Add version 0.11.2 * Add symengine 0.11.2. * Bump gmp dependency. --- recipes/symengine/all/conandata.yml | 3 +++ recipes/symengine/all/conanfile.py | 2 +- recipes/symengine/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/symengine/all/conandata.yml b/recipes/symengine/all/conandata.yml index c2da1e1b162ec..c52591b647475 100644 --- a/recipes/symengine/all/conandata.yml +++ b/recipes/symengine/all/conandata.yml @@ -11,3 +11,6 @@ sources: "0.11.1": url: "https://github.com/symengine/symengine/releases/download/v0.11.1/symengine-0.11.1.tar.gz" sha256: "217b39955dc19f920c6f54c057fdc89e8e155ddee8f0e3c3cacc67b3e3850b64" + "0.11.2": + url: "https://github.com/symengine/symengine/releases/download/v0.11.2/symengine-0.11.2.tar.gz" + sha256: "f6972acd6a65354f6414e69460d2e175729470632bdac05919bc2f7f32e48cbd" diff --git a/recipes/symengine/all/conanfile.py b/recipes/symengine/all/conanfile.py index ec084a7552d07..c6d7a378b2e21 100644 --- a/recipes/symengine/all/conanfile.py +++ b/recipes/symengine/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.integer_class == "boostmp": self.requires("boost/1.83.0") else: - self.requires("gmp/6.2.1", transitive_headers=True, transitive_libs=True) + self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) def source(self): get( diff --git a/recipes/symengine/config.yml b/recipes/symengine/config.yml index 32a90ea4753f7..b47e71fe86741 100644 --- a/recipes/symengine/config.yml +++ b/recipes/symengine/config.yml @@ -7,3 +7,5 @@ versions: folder: all "0.11.1": folder: all + "0.11.2": + folder: all From 25b4ec7fb6ed5a5c10aa123684b264253d9bf93a Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 13 Dec 2023 01:18:59 +0100 Subject: [PATCH 0448/1307] (#21729) [scip] bump version to 8.1.0 --- recipes/scip/all/conandata.yml | 3 +++ recipes/scip/all/conanfile.py | 1 + recipes/scip/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/scip/all/conandata.yml b/recipes/scip/all/conandata.yml index b92bf4dedd66a..aacd6d1a319fe 100644 --- a/recipes/scip/all/conandata.yml +++ b/recipes/scip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "8.1.0": + url: "https://github.com/scipopt/scip/archive/refs/tags/v810.tar.gz" + sha256: "b6daf54c37d02564b12fb32ec3bb7a105710eb0026adeafc602af4435fa94685" "8.0.4": url: "https://github.com/scipopt/scip/archive/refs/tags/v804.tar.gz" sha256: "48be3f568763e3fc209803e9426389df107491371cfcce38f73dcc99ede69a51" diff --git a/recipes/scip/all/conanfile.py b/recipes/scip/all/conanfile.py index 127afee9dd22b..30a113fa5330e 100644 --- a/recipes/scip/all/conanfile.py +++ b/recipes/scip/all/conanfile.py @@ -35,6 +35,7 @@ class SCIPConan(ConanFile): "with_sym": "bliss", } soplex_version_belonging_to_me = { + "8.1.0": "6.0.4", "8.0.4": "6.0.4", "8.0.3": "6.0.3" } diff --git a/recipes/scip/config.yml b/recipes/scip/config.yml index 131c324cfccd5..f70b85bc6cf44 100644 --- a/recipes/scip/config.yml +++ b/recipes/scip/config.yml @@ -1,4 +1,6 @@ versions: + "8.1.0": + folder: all "8.0.4": folder: all "8.0.3": From 4d34d332b67a59e5bdda4373be9162c16abd96d8 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Wed, 13 Dec 2023 03:38:13 +0300 Subject: [PATCH 0449/1307] (#21732) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index d96eda05407e0..8c1a73b11f3c4 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.4.tar.gz" + sha256: "7f356658316da4f4eaf7bde43dd43027a602c49640d297357b12e22a1a842a68" "2.3.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.3.tar.gz" sha256: "89584d77d7e338d858e2198b20cd091cc713aef74880ef1fccc6c1e9d8b74acd" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index deba7afb70efc..396ecace7699b 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.4": + folder: all "2.3.3": folder: all "2.3.2": From 8c5f891af8cdccbf9b07b03063c918a2c40ec40c Mon Sep 17 00:00:00 2001 From: Ivo Hedtke Date: Wed, 13 Dec 2023 07:38:13 +0100 Subject: [PATCH 0450/1307] (#21730) [ogdf] bump version to 2023.09 * Bump OGDF version to 2023.09 * Bump dependency pugixml to 1.14 --- recipes/ogdf/all/conandata.yml | 3 +++ recipes/ogdf/all/conanfile.py | 2 +- recipes/ogdf/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/ogdf/all/conandata.yml b/recipes/ogdf/all/conandata.yml index f4dd3d9efc6c3..c6c2b408e36ee 100644 --- a/recipes/ogdf/all/conandata.yml +++ b/recipes/ogdf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.09": + url: "https://github.com/ogdf/ogdf/archive/refs/tags/elderberry-202309.tar.gz" + sha256: "3438205d3a6ff69d24c3a6db748d2a5a78688605baf3092456073901a2b623f3" "2022.02": url: "https://github.com/ogdf/ogdf/archive/refs/tags/dogwood-202202.tar.gz" sha256: "308cc2749c6a63520f7979bac86a04066dfea2fb9d3a5e89831318db404bfbf5" diff --git a/recipes/ogdf/all/conanfile.py b/recipes/ogdf/all/conanfile.py index 84c6c4df651b5..cbdc4032988fc 100644 --- a/recipes/ogdf/all/conanfile.py +++ b/recipes/ogdf/all/conanfile.py @@ -37,7 +37,7 @@ def configure(self): def requirements(self): self.requires("coin-clp/1.17.7") - self.requires("pugixml/1.13") + self.requires("pugixml/1.14") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/ogdf/config.yml b/recipes/ogdf/config.yml index 6ece5a73dbce4..9860e459d4c28 100644 --- a/recipes/ogdf/config.yml +++ b/recipes/ogdf/config.yml @@ -1,3 +1,5 @@ versions: + "2023.09": + folder: all "2022.02": folder: all From 3f347fe7a9f1602d8bff78f549d067c34e692615 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 13 Dec 2023 19:26:16 +0900 Subject: [PATCH 0451/1307] (#21629) glaze: add version 1.9.5, remove older versions, relax gcc version check * glaze: add version 1.9.0, remove older versions, relax gcc version check * drop support gcc 11 * update 1.9.1 * update 1.9.4.1 * add NOT_ON_C3I check * update 1.9.5 * try to remove NOT_ON_C3I Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/glaze/all/conandata.yml | 33 +++------------------------------ recipes/glaze/all/conanfile.py | 3 +-- recipes/glaze/config.yml | 22 ++-------------------- 3 files changed, 6 insertions(+), 52 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index ad71e5b609c26..049a93b0fe130 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.5": + url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" + sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" "1.8.5": url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" @@ -20,33 +23,3 @@ sources: "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" - "1.6.0": - url: "https://github.com/stephenberry/glaze/archive/v1.6.0.tar.gz" - sha256: "1206421e4dfd259b9c3cd012adc35946cc27a19f10083040b353a78520ad1bee" - "1.5.7": - url: "https://github.com/stephenberry/glaze/archive/v1.5.7.tar.gz" - sha256: "3bd40d0a2547fb9ee0fb94894dc13ba0bc37dac6d26ee292941e7a5203702c84" - "1.5.6": - url: "https://github.com/stephenberry/glaze/archive/v1.5.6.tar.gz" - sha256: "11910435f078a2be66c451413203097197991a4c2d0e5ec5b3e81f5568bfe64d" - "1.5.3": - url: "https://github.com/stephenberry/glaze/archive/v1.5.3.tar.gz" - sha256: "dc0fcd447f9edb65521033466aca820c9a955c696bd51709e12048e0a12291d8" - "1.5.2": - url: "https://github.com/stephenberry/glaze/archive/v1.5.2.tar.gz" - sha256: "d9dff3570ae479123b8eadb890db41255c6c0c74c4cdb1b9ca3d1eb73f8ca5eb" - "1.5.1": - url: "https://github.com/stephenberry/glaze/archive/v1.5.1.tar.gz" - sha256: "b119b0375d13ab34ebc156e1c12eacc65e7f4c8b0cfcf6ae93e8fe18744d1ad5" - "1.5.0": - url: "https://github.com/stephenberry/glaze/archive/v1.5.0.tar.gz" - sha256: "9ab1cc5faa3a1a46b478c884207e6c364e4b6ae9c09f96cbf9f2ef620b3bb3b5" - "1.4.1": - url: "https://github.com/stephenberry/glaze/archive/v1.4.1.tar.gz" - sha256: "fae4188004d383f79225db26e41060aaae9a3eff92da7637aa467749e9590ee6" - "1.4.0": - url: "https://github.com/stephenberry/glaze/archive/v1.4.0.tar.gz" - sha256: "301c831e2476529bfa1ea24d87011186da91644830bdf57e1ed99bc7f6326989" - "1.3.6": - url: "https://github.com/stephenberry/glaze/archive/v1.3.6.tar.gz" - sha256: "c339f036a96fef72f9b8542d6a1e2ecb4bd3fa5d3d09a206da5e844765d2b6c3" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f2658256e5ba5..f991920259f6a 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -28,7 +28,7 @@ def _compilers_minimum_version(self): return { "Visual Studio": "17", "msvc": "193", - "gcc": "12", + "gcc": "10" if Version(self.version) < "1.9.0" else "11", "clang": "12", "apple-clang": "13.1", } @@ -42,7 +42,6 @@ def package_id(self): def validate(self): if self.settings.get_safe("compiler.cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 0cda01a7a8583..2c2e8c3fdb89e 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.5": + folder: all "1.8.5": folder: all "1.8.4": @@ -13,23 +15,3 @@ versions: folder: all "1.6.1": folder: all - "1.6.0": - folder: all - "1.5.7": - folder: all - "1.5.6": - folder: all - "1.5.3": - folder: all - "1.5.2": - folder: all - "1.5.1": - folder: all - "1.5.0": - folder: all - "1.4.1": - folder: all - "1.4.0": - folder: all - "1.3.6": - folder: all From 8ecce873f337fc0392e19b48fb47fb0e8b825092 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 14 Dec 2023 11:43:24 +0200 Subject: [PATCH 0452/1307] (#18844) premake: migrate to Conan v2 * premake: migrate to Conan v2 * premake: add VS 2022 support, fix package_type * premake: fix Linux package() * premake: fix package() * premake: get rid of vs_ide_version use * premake: add 5.0.0-beta2 * premake: add libuuid dependency * premake: add layout to test_package * premake: disable beta2 Fails with premake5: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by premake5) premake5: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.25' not found (required by premake5) premake5: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by premake5) for v1 in CI during test_package. * premake: workaround for Conan v1 debug build failure * premake: tweak comments --- recipes/premake/5.x/conandata.yml | 7 - recipes/premake/5.x/conanfile.py | 154 ++++++++++++------ .../patches/0001-5.0.0-alpha14-mingw.patch | 72 -------- recipes/premake/5.x/test_package/conanfile.py | 14 +- .../premake/5.x/test_v1_package/conanfile.py | 9 + recipes/premake/config.yml | 4 +- 6 files changed, 125 insertions(+), 135 deletions(-) delete mode 100644 recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch create mode 100644 recipes/premake/5.x/test_v1_package/conanfile.py diff --git a/recipes/premake/5.x/conandata.yml b/recipes/premake/5.x/conandata.yml index d96239dcf6113..91cb25d43c227 100644 --- a/recipes/premake/5.x/conandata.yml +++ b/recipes/premake/5.x/conandata.yml @@ -2,13 +2,6 @@ sources: "5.0.0-alpha15": url: "https://github.com/premake/premake-core/releases/download/v5.0.0-alpha15/premake-5.0.0-alpha15-src.zip" sha256: "880f56e7cb9f4945d1cb879f059189462c1b7bf62ef43ac7d25842dfb177dd53" - "5.0.0-alpha14": - url: "https://github.com/premake/premake-core/releases/download/v5.0.0-alpha14/premake-5.0.0-alpha14-src.zip" - sha256: "7c9fa4488156625c819dd03f2b48bfd4712fbfabdc2b5768e8c7f52dd7d16608" patches: "5.0.0-alpha15": - patch_file: "patches/0001-5.0.0-alpha15-mingw.patch" - base_path: "source_subfolder" - "5.0.0-alpha14": - - patch_file: "patches/0001-5.0.0-alpha14-mingw.patch" - base_path: "source_subfolder" diff --git a/recipes/premake/5.x/conanfile.py b/recipes/premake/5.x/conanfile.py index f0834e0449cd2..d4fa461153f3c 100644 --- a/recipes/premake/5.x/conanfile.py +++ b/recipes/premake/5.x/conanfile.py @@ -1,19 +1,33 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -from conans.errors import ConanInvalidConfiguration import glob import os import re +import shutil + +from conan import ConanFile, conan_version +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, MSBuildToolchain, is_msvc, check_min_vs + +required_conan_version = ">=1.53.0" class PremakeConan(ConanFile): name = "premake" - topics = ("conan", "premake", "build", "build-systems") - description = "Describe your software project just once, using Premake's simple and easy to read syntax, and build it everywhere" + description = ( + "Describe your software project just once, " + "using Premake's simple and easy to read syntax, " + "and build it everywhere" + ) + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://premake.github.io" - license = "BSD-3-Clause" + topics = ("build", "build-systems") + + package_type = "application" settings = "os", "arch", "compiler", "build_type" - exports_sources = "patches/**" options = { "lto": [True, False], } @@ -21,35 +35,53 @@ class PremakeConan(ConanFile): "lto": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + def export_sources(self): + export_conandata_patches(self) def config_options(self): - if self.settings.os != "Windows" or self.settings.compiler == "Visual Studio": - del self.options.lto + if self.settings.os != "Windows" or is_msvc(self): + self.options.rm_safe("lto") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + + def requirements(self): + if self.settings.os != "Windows": + self.requires("util-linux-libuuid/2.39") def validate(self): - if hasattr(self, 'settings_build') and tools.cross_building(self, skip_x64_x86=True): + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") + if conan_version.major == 1 and self.settings.build_type == "Debug": + # This configuration fails without any error messages in C3I. + # https://c3i.jfrog.io/artifactory/misc/logs/pr/18844/15-linux-clang/premake/5.0.0-alpha15/ + raise ConanInvalidConfiguration("Debug build not supported with Conan 1.x") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) @property - def _msvc_version(self): - return { - "12": "2013", - "14": "2015", - "15": "2017", - "16": "2019", - }.get(str(self.settings.compiler.version), "2017") + def _ide_version(self): + compiler_version = str(self.settings.compiler.version) + if str(self.settings.compiler) == "Visual Studio": + return {"17": "2022", + "16": "2019", + "15": "2017", + "14": "2015", + "12": "2013"}.get(compiler_version) + else: + return {"193": "2022", + "192": "2019", + "191": "2017", + "190": "2015", + "180": "2013"}.get(compiler_version) @property - def _msvc_build_dirname(self): - return "vs{}".format(self._msvc_version) + def _msvc_build_dir(self): + return os.path.join(self.source_folder, "build", f"vs{self._ide_version}") def _version_info(self, version): res = [] @@ -63,13 +95,6 @@ def _version_info(self, version): res.append(p) return tuple(res) - @property - def _gmake_directory_name_prefix(self): - if self._version_info(self.version) <= self._version_info("5.0.0-alpha14"): - return "gmake" - else: - return "gmake2" - @property def _gmake_platform(self): return { @@ -80,8 +105,8 @@ def _gmake_platform(self): }[str(self.settings.os)] @property - def _gmake_build_dirname(self): - return "{}.{}".format(self._gmake_directory_name_prefix, self._gmake_platform) + def _gmake_build_dir(self): + return os.path.join(self.source_folder, "build", f"gmake2.{self._gmake_platform}") @property def _gmake_config(self): @@ -91,35 +116,62 @@ def _gmake_config(self): "x86": "x86", "x86_64": "x64", }[str(self.settings.arch)] - config = "{}_{}".format(build_type, arch) + config = f"{build_type}_{arch}" else: config = build_type return config + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.generate() + else: + tc = AutotoolsToolchain(self) + tc.make_args = ["verbose=1", f"config={self._gmake_config}"] + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if self.options.get_safe("lto", None) == False: - for fn in glob.glob(os.path.join(self._source_subfolder, "build", self._gmake_build_dirname, "*.make")): - tools.replace_in_file(fn, "-flto", "", strict=False) + apply_conandata_patches(self) + if self.options.get_safe("lto", None) is False: + for fn in glob.glob(os.path.join(self._gmake_build_dir, "*.make")): + replace_in_file(self, fn, "-flto", "", strict=False) + if check_min_vs(self, 193, raise_invalid=False): + # Create VS 2022 project directory based on VS 2019 one + if "alpha" in str(self.version): + shutil.move(os.path.join(self.source_folder, "build", "vs2019"), + os.path.join(self.source_folder, "build", "vs2022")) + for vcxproj in glob.glob(os.path.join(self.source_folder, "build", "vs2022", "*.vcxproj")): + replace_in_file(self, vcxproj, "v142", "v143") def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": - with tools.chdir(os.path.join(self._source_subfolder, "build", self._msvc_build_dirname)): + if is_msvc(self): + with chdir(self, self._msvc_build_dir): msbuild = MSBuild(self) - msbuild.build("Premake5.sln", platforms={"x86": "Win32", "x86_64": "x64"}) + msbuild.build(sln="Premake5.sln") else: - with tools.chdir(os.path.join(self._source_subfolder, "build", self._gmake_build_dirname)): - env_build = AutoToolsBuildEnvironment(self) - env_build.make(target="Premake5", args=["verbose=1", "config={}".format(self._gmake_config)]) + with chdir(self, self._gmake_build_dir): + autotools = Autotools(self) + autotools.make(target="Premake5") def package(self): - self.copy(pattern="LICENSE.txt", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*premake5.exe", dst="bin", keep_path=False) - self.copy(pattern="*premake5", dst="bin", keep_path=False) + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + suffix = ".exe" if self.settings.os == "Windows" else "" + copy(self, f"*/premake5{suffix}", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "bin"), + keep_path=False) def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + # TODO: Legacy, to be removed on Conan 2.0 bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: {}".format(bindir)) self.env_info.PATH.append(bindir) diff --git a/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch b/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch deleted file mode 100644 index 0dd121be8b2ae..0000000000000 --- a/recipes/premake/5.x/patches/0001-5.0.0-alpha14-mingw.patch +++ /dev/null @@ -1,72 +0,0 @@ ---- a/contrib/curl/lib/select.h -+++ b/contrib/curl/lib/select.h -@@ -36,7 +36,8 @@ - - #if !defined(HAVE_STRUCT_POLLFD) && \ - !defined(HAVE_SYS_POLL_H) && \ -- !defined(HAVE_POLL_H) -+ !defined(HAVE_POLL_H) && \ -+ !defined(POLLIN) - - #define POLLIN 0x01 - #define POLLPRI 0x02 ---- src/host/os_isdir.c -+++ src/host/os_isdir.c -@@ -9,7 +9,7 @@ - #include "premake.h" - - #ifdef _WIN32 --#include -+#include - #endif - - int os_isdir(lua_State* L) ---- src/host/os_uuid.c -+++ src/host/os_uuid.c -@@ -7,7 +7,7 @@ - #include "premake.h" - - #if PLATFORM_WINDOWS --#include -+#include - #endif - - ---- build/gmake.windows/Premake5.make -+++ build/gmake.windows/Premake5.make -@@ -22,7 +22,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -flto -O3 -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -flto -O3 -Wall -Wextra -fno-stack-protector - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x86/Release/lua-lib.lib bin/x86/Release/zip-lib.lib bin/x86/Release/zlib-lib.lib bin/x86/Release/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 -flto -s - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -49,7 +49,7 @@ ifeq ($(config),release_x64) - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -flto -O3 -Wall -Wextra -fno-stack-protector - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x64/Release/lua-lib.lib bin/x64/Release/zip-lib.lib bin/x64/Release/zlib-lib.lib bin/x64/Release/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 -flto -s - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -76,7 +76,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m32 -g -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m32 -g -Wall -Wextra - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x86/Debug/lua-lib.lib bin/x86/Debug/zip-lib.lib bin/x86/Debug/zlib-lib.lib bin/x86/Debug/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib32 -m32 - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) -@@ -103,7 +103,7 @@ - ALL_CFLAGS += $(CFLAGS) $(ALL_CPPFLAGS) -m64 -g -Wall -Wextra - ALL_CXXFLAGS += $(CXXFLAGS) $(ALL_CPPFLAGS) -m64 -g -Wall -Wextra - ALL_RESFLAGS += $(RESFLAGS) $(DEFINES) $(INCLUDES) -- LIBS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -+ LIBS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib -lole32 -lws2_32 -ladvapi32 -lversion -lcrypt32 - LDDEPS += bin/x64/Debug/lua-lib.lib bin/x64/Debug/zip-lib.lib bin/x64/Debug/zlib-lib.lib bin/x64/Debug/curl-lib.lib - ALL_LDFLAGS += $(LDFLAGS) -L/usr/lib64 -m64 - LINKCMD = $(CC) -o "$@" $(OBJECTS) $(RESOURCES) $(ALL_LDFLAGS) $(LIBS) diff --git a/recipes/premake/5.x/test_package/conanfile.py b/recipes/premake/5.x/test_package/conanfile.py index c300eaeb0abb7..d2d508976967c 100644 --- a/recipes/premake/5.x/test_package/conanfile.py +++ b/recipes/premake/5.x/test_package/conanfile.py @@ -1,9 +1,17 @@ -from conans import ConanFile, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def test(self): - if not tools.cross_building(self.settings): - self.run("premake5 --version", run_environment=True) + self.run("premake5 --version") diff --git a/recipes/premake/5.x/test_v1_package/conanfile.py b/recipes/premake/5.x/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..c300eaeb0abb7 --- /dev/null +++ b/recipes/premake/5.x/test_v1_package/conanfile.py @@ -0,0 +1,9 @@ +from conans import ConanFile, tools + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + + def test(self): + if not tools.cross_building(self.settings): + self.run("premake5 --version", run_environment=True) diff --git a/recipes/premake/config.yml b/recipes/premake/config.yml index e529cc98c1a62..95e71fee0aa88 100644 --- a/recipes/premake/config.yml +++ b/recipes/premake/config.yml @@ -1,5 +1,5 @@ versions: - "5.0.0-alpha14": - folder: "5.x" + # "5.0.0-beta2": + # folder: "5.x" "5.0.0-alpha15": folder: "5.x" From 177f0e3f4da9c633485a3c4a0182620d96f485e3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 14 Dec 2023 10:58:48 +0100 Subject: [PATCH 0453/1307] (#21645) xmlsec: bump * xmlsec: bump * Bump/xmlsec/all (#54) * xmlsec/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * rebump * unbump libxml2 * simplify test package * remove 1.3.2 * Update conanfile.py * Update conanfile.py --- recipes/xmlsec/all/conandata.yml | 3 + recipes/xmlsec/all/conanfile.py | 11 +- .../xmlsec/all/test_package/CMakeLists.txt | 11 +- recipes/xmlsec/all/test_package/conanfile.py | 14 +- recipes/xmlsec/all/test_package/main.c | 28 +++ recipes/xmlsec/all/test_package/rsakey.pem | 9 - .../xmlsec/all/test_package/sign1-tmpl.xml | 26 --- recipes/xmlsec/all/test_package/sign1.c | 211 ------------------ recipes/xmlsec/config.yml | 2 + 9 files changed, 45 insertions(+), 270 deletions(-) create mode 100644 recipes/xmlsec/all/test_package/main.c delete mode 100644 recipes/xmlsec/all/test_package/rsakey.pem delete mode 100644 recipes/xmlsec/all/test_package/sign1-tmpl.xml delete mode 100644 recipes/xmlsec/all/test_package/sign1.c diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index d74fd9230c88c..9dcbff28223be 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.38": + url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec-1_2_38/xmlsec1-1.2.38.tar.gz" + sha256: "9de8cf8d7d2e288a9cef205cc6cb93c926a67dadfaf44aaff76ed63c28ce9902" "1.2.33": url: "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.33.tar.gz" sha256: "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 282278b7546cb..30f254478d8cf 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -80,7 +80,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -158,11 +158,13 @@ def build(self): f"static={yes_no(not self.options.shared)}", "include=\"{}\"".format(";".join(deps_includedirs)), "lib=\"{}\"".format(";".join(deps_libdirs)), - "with-dl=no", + "with-dl={}".format(yes_no(Version(self.version) >= "1.2.35" and self.options.shared)), f"xslt={yes_no(self.options.with_xslt)}", "iconv=no", "crypto={}".format(",".join(crypto_engines)), ] + if Version(self.version) >= "1.2.35": + args.append("pedantic=no") with chdir(self, os.path.join(self.source_folder, "win32")): self.run(f"cscript configure.js {' '.join(args)}") @@ -199,8 +201,9 @@ def package(self): if not self.options.shared: rm(self, "*.dll", os.path.join(self.package_folder, "bin")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) - os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec-openssl_a.lib" if self.options.shared else "libxmlsec-openssl.lib")) - os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec_a.lib" if self.options.shared else "libxmlsec.lib")) + if Version(self.version) < "1.2.35": + os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec-openssl_a.lib" if self.options.shared else "libxmlsec-openssl.lib")) + os.unlink(os.path.join(self.package_folder, "lib", "libxmlsec_a.lib" if self.options.shared else "libxmlsec.lib")) else: autotools = Autotools(self) autotools.install() diff --git a/recipes/xmlsec/all/test_package/CMakeLists.txt b/recipes/xmlsec/all/test_package/CMakeLists.txt index 926e0b1fdcb15..80ae5f35a850c 100644 --- a/recipes/xmlsec/all/test_package/CMakeLists.txt +++ b/recipes/xmlsec/all/test_package/CMakeLists.txt @@ -2,13 +2,6 @@ cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES C) find_package(xmlsec REQUIRED CONFIG) -find_package(LibXml2 REQUIRED MODULE) -if(XMLSEC_WITH_XSLT) - find_package(LibXslt REQUIRED MODULE) -endif() -add_executable(${PROJECT_NAME} sign1.c) -target_link_libraries(${PROJECT_NAME} PRIVATE LibXml2::LibXml2 xmlsec::xmlsec) -if(XMLSEC_WITH_XSLT) - target_link_libraries(${PROJECT_NAME} PRIVATE LibXslt::LibXslt) -endif() +add_executable(${PROJECT_NAME} main.c) +target_link_libraries(${PROJECT_NAME} PRIVATE xmlsec::xmlsec) diff --git a/recipes/xmlsec/all/test_package/conanfile.py b/recipes/xmlsec/all/test_package/conanfile.py index 813061264560d..98ab55852ad56 100644 --- a/recipes/xmlsec/all/test_package/conanfile.py +++ b/recipes/xmlsec/all/test_package/conanfile.py @@ -1,12 +1,12 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -14,12 +14,6 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - self.requires("libxml2/2.11.5") - - def generate(self): - tc = CMakeToolchain(self) - tc.variables["XMLSEC_WITH_XSLT"] = self.dependencies["xmlsec"].options.with_xslt - tc.generate() def build(self): cmake = CMake(self) @@ -29,6 +23,4 @@ def build(self): def test(self): if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - xml_file = os.path.join(self.source_folder, "sign1-tmpl.xml") - pem_file = os.path.join(self.source_folder, "rsakey.pem") - self.run(f"{bin_path} {xml_file} {pem_file}", env="conanrun") + self.run(bin_path, env="conanrun") diff --git a/recipes/xmlsec/all/test_package/main.c b/recipes/xmlsec/all/test_package/main.c new file mode 100644 index 0000000000000..10ac70841525b --- /dev/null +++ b/recipes/xmlsec/all/test_package/main.c @@ -0,0 +1,28 @@ +#include + + +#include + + +int main(int argc, char **argv) { + /* Init xmlsec library */ + if(xmlSecInit() < 0) { + fprintf(stderr, "Error: xmlsec initialization failed.\n"); + return(-1); + } + + /* Check loaded library version */ + if(xmlSecCheckVersion() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); + return(-1); + } + + if(xmlSecCheckVersionExact() != 1) { + fprintf(stderr, "Error: loaded xmlsec library version is not exact.\n"); + return(-1); + } + + /* Shutdown xmlsec library */ + xmlSecShutdown(); + return(0); +} diff --git a/recipes/xmlsec/all/test_package/rsakey.pem b/recipes/xmlsec/all/test_package/rsakey.pem deleted file mode 100644 index de07b7803966b..0000000000000 --- a/recipes/xmlsec/all/test_package/rsakey.pem +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIBPAIBAAJBANPQbQ92nlbeg1Q5JNHSO1Yey46nZ7GJltLWw1ccSvp7pnvmfUm+ -M521CpFpfr4EAE3UVBMoU9j/hqq3dFAc2H0CAwEAAQJBALFVCjmsAZyQ5jqZLO5N -qEfNuHZSSUol+xPBogFIOq3BWa269eNNcAK5or5g0XWWon7EPdyGT4qyDVH9KzXK -RLECIQDzm/Nj0epUGN51/rKJgRXWkXW/nfSCMO9fvQR6Ujoq3wIhAN6WeHK9vgWg -wBWqMdq5sR211+LlDH7rOUQ6rBpbsoQjAiEA7jzpfglgPPZFOOfo+oh/LuP6X3a+ -FER/FQXpRyb7M8kCIETUrwZ8WkiPPxbz/Fqw1W5kjw/g2I5e2uSYaCP2eyuVAiEA -mOI6RhRyMqgxQyy0plJVjG1s4fdu92AWYy9AwYeyd/8= ------END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/recipes/xmlsec/all/test_package/sign1-tmpl.xml b/recipes/xmlsec/all/test_package/sign1-tmpl.xml deleted file mode 100644 index 1c50319fad562..0000000000000 --- a/recipes/xmlsec/all/test_package/sign1-tmpl.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Hello, World! - - - - - - - - - - - - - - - - - - - diff --git a/recipes/xmlsec/all/test_package/sign1.c b/recipes/xmlsec/all/test_package/sign1.c deleted file mode 100644 index c081e62e344fd..0000000000000 --- a/recipes/xmlsec/all/test_package/sign1.c +++ /dev/null @@ -1,211 +0,0 @@ -/** - * XML Security Library example: Signing a template file. - * - * Signs a template file using a key from PEM file - * - * Usage: - * ./sign1 - * - * Example: - * ./sign1 sign1-tmpl.xml rsakey.pem > sign1-res.xml - * - * The result signature could be validated using verify1 example: - * ./verify1 sign1-res.xml rsapub.pem - * - * This is free software; see Copyright file in the source - * distribution for preciese wording. - * - * Copyright (C) 2002-2016 Aleksey Sanin . All Rights Reserved. - */ -#include -#include -#include - -#include -#include -#include - -#ifndef XMLSEC_NO_XSLT -#include -#include -#endif /* XMLSEC_NO_XSLT */ - -#include -#include -#include -#include - -int sign_file(const char* tmpl_file, const char* key_file); - -int -main(int argc, char **argv) { -#ifndef XMLSEC_NO_XSLT - xsltSecurityPrefsPtr xsltSecPrefs = NULL; -#endif /* XMLSEC_NO_XSLT */ - - assert(argv); - - if(argc != 3) { - fprintf(stderr, "Error: wrong number of arguments.\n"); - fprintf(stderr, "Usage: %s \n", argv[0]); - return(1); - } - - /* Init libxml and libxslt libraries */ - xmlInitParser(); - LIBXML_TEST_VERSION - xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; - xmlSubstituteEntitiesDefault(1); -#ifndef XMLSEC_NO_XSLT - xmlIndentTreeOutput = 1; -#endif /* XMLSEC_NO_XSLT */ - - /* Init libxslt */ -#ifndef XMLSEC_NO_XSLT - /* disable everything */ - xsltSecPrefs = xsltNewSecurityPrefs(); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_FILE, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_FILE, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_CREATE_DIRECTORY, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_READ_NETWORK, xsltSecurityForbid); - xsltSetSecurityPrefs(xsltSecPrefs, XSLT_SECPREF_WRITE_NETWORK, xsltSecurityForbid); - xsltSetDefaultSecurityPrefs(xsltSecPrefs); -#endif /* XMLSEC_NO_XSLT */ - - /* Init xmlsec library */ - if(xmlSecInit() < 0) { - fprintf(stderr, "Error: xmlsec initialization failed.\n"); - return(-1); - } - - /* Check loaded library version */ - if(xmlSecCheckVersion() != 1) { - fprintf(stderr, "Error: loaded xmlsec library version is not compatible.\n"); - return(-1); - } - - /* Load default crypto engine if we are supporting dynamic - * loading for xmlsec-crypto libraries. Use the crypto library - * name ("openssl", "nss", etc.) to load corresponding - * xmlsec-crypto library. - */ -#ifdef XMLSEC_CRYPTO_DYNAMIC_LOADING - if(xmlSecCryptoDLLoadLibrary(NULL) < 0) { - fprintf(stderr, "Error: unable to load default xmlsec-crypto library. Make sure\n" - "that you have it installed and check shared libraries path\n" - "(LD_LIBRARY_PATH and/or LTDL_LIBRARY_PATH) environment variables.\n"); - return(-1); - } -#endif /* XMLSEC_CRYPTO_DYNAMIC_LOADING */ - - /* Init crypto library */ - if(xmlSecCryptoAppInit(NULL) < 0) { - fprintf(stderr, "Error: crypto initialization failed.\n"); - return(-1); - } - - /* Init xmlsec-crypto library */ - if(xmlSecCryptoInit() < 0) { - fprintf(stderr, "Error: xmlsec-crypto initialization failed.\n"); - return(-1); - } - - if(sign_file(argv[1], argv[2]) < 0) { - return(-1); - } - - /* Shutdown xmlsec-crypto library */ - xmlSecCryptoShutdown(); - - /* Shutdown crypto library */ - xmlSecCryptoAppShutdown(); - - /* Shutdown xmlsec library */ - xmlSecShutdown(); - - /* Shutdown libxslt/libxml */ -#ifndef XMLSEC_NO_XSLT - xsltFreeSecurityPrefs(xsltSecPrefs); - xsltCleanupGlobals(); -#endif /* XMLSEC_NO_XSLT */ - xmlCleanupParser(); - - return(0); -} - -/** - * sign_file: - * @tmpl_file: the signature template file name. - * @key_file: the PEM private key file name. - * - * Signs the #tmpl_file using private key from #key_file. - * - * Returns 0 on success or a negative value if an error occurs. - */ -int -sign_file(const char* tmpl_file, const char* key_file) { - xmlDocPtr doc = NULL; - xmlNodePtr node = NULL; - xmlSecDSigCtxPtr dsigCtx = NULL; - int res = -1; - - assert(tmpl_file); - assert(key_file); - - /* load template */ - doc = xmlParseFile(tmpl_file); - if ((doc == NULL) || (xmlDocGetRootElement(doc) == NULL)){ - fprintf(stderr, "Error: unable to parse file \"%s\"\n", tmpl_file); - goto done; - } - - /* find start node */ - node = xmlSecFindNode(xmlDocGetRootElement(doc), xmlSecNodeSignature, xmlSecDSigNs); - if(node == NULL) { - fprintf(stderr, "Error: start node not found in \"%s\"\n", tmpl_file); - goto done; - } - - /* create signature context, we don't need keys manager in this example */ - dsigCtx = xmlSecDSigCtxCreate(NULL); - if(dsigCtx == NULL) { - fprintf(stderr,"Error: failed to create signature context\n"); - goto done; - } - - /* load private key, assuming that there is not password */ - dsigCtx->signKey = xmlSecCryptoAppKeyLoad(key_file, xmlSecKeyDataFormatPem, NULL, NULL, NULL); - if(dsigCtx->signKey == NULL) { - fprintf(stderr,"Error: failed to load private pem key from \"%s\"\n", key_file); - goto done; - } - - /* set key name to the file name, this is just an example! */ - if(xmlSecKeySetName(dsigCtx->signKey, key_file) < 0) { - fprintf(stderr,"Error: failed to set key name for key from \"%s\"\n", key_file); - goto done; - } - - /* sign the template */ - if(xmlSecDSigCtxSign(dsigCtx, node) < 0) { - fprintf(stderr,"Error: signature failed\n"); - goto done; - } - - /* print signed document to stdout */ - xmlDocDump(stdout, doc); - - /* success */ - res = 0; - -done: - /* cleanup */ - if(dsigCtx != NULL) { - xmlSecDSigCtxDestroy(dsigCtx); - } - - if(doc != NULL) { - xmlFreeDoc(doc); - } - return(res); -} diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index 3853f0ae48f16..ff9c9e19a6b99 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.38": + folder: all "1.2.33": folder: all "1.2.32": From c3b9621e467ca8f616abe9d4ab029f68f17b41be Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 14 Dec 2023 12:29:15 +0200 Subject: [PATCH 0454/1307] (#21659) exiv2: add v0.28.1, simplify patching --- recipes/exiv2/all/conandata.yml | 21 +++------------ recipes/exiv2/all/conanfile.py | 14 +++++++--- .../exiv2/all/patches/0001-link-0.27.5.patch | 16 ------------ .../exiv2/all/patches/0001-link-0.28.0.patch | 22 ---------------- recipes/exiv2/all/patches/0001-link.patch | 26 ------------------- recipes/exiv2/all/patches/0002-fpic.patch | 16 ------------ .../all/patches/0004-find-expat-0.28.0.patch | 16 ------------ .../exiv2/all/patches/0004-find-expat.patch | 15 ----------- recipes/exiv2/config.yml | 4 +-- 9 files changed, 16 insertions(+), 134 deletions(-) delete mode 100644 recipes/exiv2/all/patches/0001-link-0.28.0.patch delete mode 100644 recipes/exiv2/all/patches/0001-link.patch delete mode 100644 recipes/exiv2/all/patches/0002-fpic.patch delete mode 100644 recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch delete mode 100644 recipes/exiv2/all/patches/0004-find-expat.patch diff --git a/recipes/exiv2/all/conandata.yml b/recipes/exiv2/all/conandata.yml index 981b0a2937754..55858f820d83f 100644 --- a/recipes/exiv2/all/conandata.yml +++ b/recipes/exiv2/all/conandata.yml @@ -1,29 +1,14 @@ sources: + "0.28.1": + url: "https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.1.tar.gz" + sha256: "3078651f995cb6313b1041f07f4dd1bf0e9e4d394d6e2adc6e92ad0b621291fa" "0.28.0": url: "https://github.com/Exiv2/exiv2/releases/download/v0.28.0/exiv2-0.28.0-Source.tar.gz" sha256: "89af3b5ef7277753ef7a7b5374ae017c6b9e304db3b688f1948e73e103491f3d" "0.27.5": url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz" sha256: "35a58618ab236a901ca4928b0ad8b31007ebdc0386d904409d825024e45ea6e2" - "0.27.4": - url: "https://github.com/Exiv2/exiv2/releases/download/v0.27.4/exiv2-0.27.4-Source.tar.gz" - sha256: "84366dba7c162af9a7603bcd6c16f40fe0e9af294ba2fd2f66ffffb9fbec904e" patches: - "0.28.0": - - patch_file: "patches/0001-link-0.28.0.patch" - - patch_file: "patches/0004-find-expat-0.28.0.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" "0.27.5": - patch_file: "patches/0001-link-0.27.5.patch" - patch_file: "patches/0003-fix-ios.patch" - - patch_file: "patches/0004-find-expat.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" - "0.27.4": - - patch_file: "patches/0001-link.patch" - - patch_file: "patches/0002-fpic.patch" - - patch_file: "patches/0003-fix-ios.patch" - - patch_file: "patches/0004-find-expat.patch" - patch_description: "enforce usage of FindEXPAT.cmake" - patch_type: "conan" diff --git a/recipes/exiv2/all/conanfile.py b/recipes/exiv2/all/conanfile.py index 0df5814a8917e..8957750b23fe0 100644 --- a/recipes/exiv2/all/conanfile.py +++ b/recipes/exiv2/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps -from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy, rmdir, save, export_conandata_patches, apply_conandata_patches, replace_in_file from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, check_min_vs from conan.tools.scm import Version import os @@ -138,15 +138,23 @@ def generate(self): if is_msvc(self): tc.variables["EXIV2_ENABLE_DYNAMIC_RUNTIME"] = not is_msvc_static_runtime(self) - # set PIC manually because of object target exiv2_int + # set PIC manually because of the internal static library exiv2_int tc.cache_variables["CMAKE_POSITION_INDEPENDENT_CODE"] = bool(self.options.get_safe("fPIC", True)) tc.generate() deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "src", "CMakeLists.txt"), + "POSITION_INDEPENDENT_CODE ON", "") + # Enforce usage of FindEXPAT.cmake + replace_in_file(self, os.path.join(self.source_folder, "cmake", "findDependencies.cmake"), + "find_package(EXPAT REQUIRED)", "find_package(EXPAT REQUIRED MODULE)") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/exiv2/all/patches/0001-link-0.27.5.patch b/recipes/exiv2/all/patches/0001-link-0.27.5.patch index b94b7e7a8c10c..54a08d019d541 100644 --- a/recipes/exiv2/all/patches/0001-link-0.27.5.patch +++ b/recipes/exiv2/all/patches/0001-link-0.27.5.patch @@ -1,19 +1,3 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 26e5a951..141211ef 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -142,11 +142,6 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -- - # NOTE: Cannot use target_link_libraries on OBJECT libraries with old versions of CMake - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) - target_include_directories(exiv2lib SYSTEM PRIVATE diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt index a22698fb..9ef87970 100644 --- a/xmpsdk/CMakeLists.txt diff --git a/recipes/exiv2/all/patches/0001-link-0.28.0.patch b/recipes/exiv2/all/patches/0001-link-0.28.0.patch deleted file mode 100644 index 0c0e5fa28d40c..0000000000000 --- a/recipes/exiv2/all/patches/0001-link-0.28.0.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 41a672e8..93370b5e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -170,10 +170,10 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -+ -+ -+ -+ - - # NOTE: Cannot use target_link_libraries on OBJECT libraries with old versions of CMake - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) --- -2.33.0.windows.1 - diff --git a/recipes/exiv2/all/patches/0001-link.patch b/recipes/exiv2/all/patches/0001-link.patch deleted file mode 100644 index fd93d6c5c3698..0000000000000 --- a/recipes/exiv2/all/patches/0001-link.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c52b352f..2c270c5f 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -215,7 +215,7 @@ else() - endif() - - if( EXIV2_ENABLE_PNG ) -- target_link_libraries( exiv2lib PRIVATE $) -+ target_link_libraries( exiv2lib PRIVATE ZLIB::ZLIB) - endif() - - if( EXIV2_ENABLE_NLS ) -diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt -index a22698fb..9ef87970 100644 ---- a/xmpsdk/CMakeLists.txt -+++ b/xmpsdk/CMakeLists.txt -@@ -28,7 +28,7 @@ add_library(exiv2-xmp STATIC - - target_link_libraries(exiv2-xmp - PRIVATE -- $ -+ EXPAT::EXPAT - ) - - target_include_directories(exiv2-xmp diff --git a/recipes/exiv2/all/patches/0002-fpic.patch b/recipes/exiv2/all/patches/0002-fpic.patch deleted file mode 100644 index 680f251bd8de4..0000000000000 --- a/recipes/exiv2/all/patches/0002-fpic.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index c52b352f..92fcd847 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -142,11 +142,6 @@ if (MSVC) - set_target_properties(exiv2lib PROPERTIES LINK_FLAGS "/ignore:4099") - endif() - --set_target_properties( exiv2lib_int PROPERTIES -- POSITION_INDEPENDENT_CODE ON -- COMPILE_DEFINITIONS exiv2lib_EXPORTS --) -- - target_include_directories(exiv2lib_int PRIVATE ${ZLIB_INCLUDE_DIR}) - target_include_directories(exiv2lib PRIVATE - $ diff --git a/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch b/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch deleted file mode 100644 index 07fb4804513c7..0000000000000 --- a/recipes/exiv2/all/patches/0004-find-expat-0.28.0.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index 1075c303..d8b580d4 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -60,7 +60,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) - message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") - else() - if (EXIV2_ENABLE_XMP) -- find_package(EXPAT REQUIRED) -+ find_package(EXPAT REQUIRED MODULE) - elseif (EXIV2_ENABLE_EXTERNAL_XMP) - find_package(XmpSdk REQUIRED) - endif () --- -2.33.0.windows.1 - diff --git a/recipes/exiv2/all/patches/0004-find-expat.patch b/recipes/exiv2/all/patches/0004-find-expat.patch deleted file mode 100644 index 5bb571eb0f807..0000000000000 --- a/recipes/exiv2/all/patches/0004-find-expat.patch +++ /dev/null @@ -1,15 +0,0 @@ -Ensure to use FindEXPAT.cmake instead of expat-config.cmake -(side effect of CMAKE_FIND_PACKAGE_PREFER_CONFIG ON, see https://github.com/conan-io/conan/issues/10387) -diff --git a/cmake/findDependencies.cmake b/cmake/findDependencies.cmake -index ec3a43f5..27bf42d3 100644 ---- a/cmake/findDependencies.cmake -+++ b/cmake/findDependencies.cmake -@@ -42,7 +42,7 @@ if (EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP) - message(FATAL_ERROR "EXIV2_ENABLE_XMP AND EXIV2_ENABLE_EXTERNAL_XMP are mutually exclusive. You can only choose one of them") - else() - if (EXIV2_ENABLE_XMP) -- find_package(EXPAT REQUIRED) -+ find_package(EXPAT REQUIRED MODULE) - elseif (EXIV2_ENABLE_EXTERNAL_XMP) - find_package(XmpSdk REQUIRED) - endif () diff --git a/recipes/exiv2/config.yml b/recipes/exiv2/config.yml index 01a5aa663306e..d503f95292a28 100644 --- a/recipes/exiv2/config.yml +++ b/recipes/exiv2/config.yml @@ -1,7 +1,7 @@ versions: + "0.28.1": + folder: all "0.28.0": folder: all "0.27.5": folder: all - "0.27.4": - folder: all From e76d3dcf86f67244ee544055909997043282d36c Mon Sep 17 00:00:00 2001 From: temap Date: Thu, 14 Dec 2023 12:38:07 +0200 Subject: [PATCH 0455/1307] (#21706) readline: add version 8.2 --- recipes/readline/all/conandata.yml | 3 +++ recipes/readline/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/readline/all/conandata.yml b/recipes/readline/all/conandata.yml index 08a67ab543d70..e8d782e286b8b 100644 --- a/recipes/readline/all/conandata.yml +++ b/recipes/readline/all/conandata.yml @@ -5,3 +5,6 @@ sources: "8.1.2": url: "https://ftp.gnu.org/pub/gnu/readline/readline-8.1.2.tar.gz" sha256: "7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6" + "8.2": + url: "https://ftp.gnu.org/pub/gnu/readline/readline-8.2.tar.gz" + sha256: "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" diff --git a/recipes/readline/config.yml b/recipes/readline/config.yml index aafdae05d7dc8..2aedc51249c31 100644 --- a/recipes/readline/config.yml +++ b/recipes/readline/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "8.1.2": folder: "all" + "8.2": + folder: "all" From 9ce9c5eb129374c929fe6de2a2ee7f0a60555c62 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 19:58:34 +0900 Subject: [PATCH 0456/1307] (#21724) jwt-cpp: add version 0.7.0 * jwt-cpp: add version 0.7.0 * define NOMINMAX on MSVC --- recipes/jwt-cpp/all/conandata.yml | 7 +++++ recipes/jwt-cpp/all/conanfile.py | 28 +++++++++---------- .../jwt-cpp/all/test_package/CMakeLists.txt | 10 ++++++- .../jwt-cpp/all/test_package/test_package.cpp | 7 ++++- .../all/test_v1_package/CMakeLists.txt | 18 ++---------- recipes/jwt-cpp/config.yml | 2 ++ 6 files changed, 40 insertions(+), 32 deletions(-) diff --git a/recipes/jwt-cpp/all/conandata.yml b/recipes/jwt-cpp/all/conandata.yml index bf093248fb260..e8a69c12dceae 100644 --- a/recipes/jwt-cpp/all/conandata.yml +++ b/recipes/jwt-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.7.0.tar.gz" + sha256: "b9eb270e3ba8221e4b2bc38723c9a1cb4fa6c241a42908b9a334daff31137406" "0.6.0": url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.6.0.tar.gz" sha256: "0227bd6e0356b211341075c7997c837f0b388c01379bd256aa525566a5553f03" @@ -15,6 +18,10 @@ sources: url: "https://github.com/Thalhammer/jwt-cpp/archive/v0.3.1.tar.gz" sha256: "399345e81883f2959df658cd945de39548ddfefdab2acf7b23ee07b9e9a02938" patches: + "0.7.0": + - patch_file: "patches/0005-fix-picojson-header-location-for-conan.patch" + patch_description: "Remove picojson namespace from its include" + patch_type: "conan" "0.6.0": - patch_file: "patches/0005-fix-picojson-header-location-for-conan.patch" patch_description: "Remove picojson namespace from its include" diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 5a0889c19e2e1..9d87ec3c326fb 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -8,10 +8,10 @@ class JwtCppConan(ConanFile): name = "jwt-cpp" + description = "A C++ JSON Web Token library for encoding/decoding" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Thalhammer/jwt-cpp" - description = "A C++ JSON Web Token library for encoding/decoding" topics = ("json", "jwt", "jws", "jwe", "jwk", "jwks", "jose", "header-only") settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -23,18 +23,21 @@ def _supports_generic_json(self): def export_sources(self): export_conandata_patches(self) + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): self.requires("openssl/[>=1.1 <4]") if not self._supports_generic_json: self.requires("picojson/1.3.0") + def package_id(self): + self.info.clear() + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) - def layout(self): - basic_layout(self, src_folder="src") - def build(self): apply_conandata_patches(self) @@ -43,21 +46,16 @@ def package(self): copy(self, pattern="*.h", dst=os.path.join(self.package_folder, "include", "jwt-cpp"), src=header_dir, keep_path=True) copy(self, "LICENSE", dst=os.path.join(self.package_folder,"licenses"), src=self.source_folder) - def package_id(self): - self.info.clear() - def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "jwt-cpp") self.cpp_info.set_property("cmake_target_name", "jwt-cpp::jwt-cpp") - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "jwt-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" - if self._supports_generic_json: self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") - self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] - self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.names["cmake_find_package"] = "jwt-cpp" + self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" diff --git a/recipes/jwt-cpp/all/test_package/CMakeLists.txt b/recipes/jwt-cpp/all/test_package/CMakeLists.txt index 020cb1aab4c7d..123d03753d8a0 100644 --- a/recipes/jwt-cpp/all/test_package/CMakeLists.txt +++ b/recipes/jwt-cpp/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +project(test_package LANGUAGES CXX) find_package(jwt-cpp REQUIRED CONFIG) find_package(picojson REQUIRED CONFIG) @@ -8,6 +8,10 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE jwt-cpp::jwt-cpp picojson::picojson) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if (MSVC) + target_compile_definitions(${PROJECT_NAME} PRIVATE NOMINMAX) +endif() + if (jwt-cpp_VERSION VERSION_GREATER 0.4.0) target_compile_definitions(${PROJECT_NAME} PRIVATE JSON_TRAITS_NEEDED) endif() @@ -15,3 +19,7 @@ endif() if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.6.0) target_compile_definitions(${PROJECT_NAME} PRIVATE HAS_DEFAULT_TRAITS) endif() + +if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.7.0) + target_compile_definitions(${PROJECT_NAME} PRIVATE GET_PAYLOAD_JSON) +endif() diff --git a/recipes/jwt-cpp/all/test_package/test_package.cpp b/recipes/jwt-cpp/all/test_package/test_package.cpp index a7af84c85dc7c..64275af84bffa 100644 --- a/recipes/jwt-cpp/all/test_package/test_package.cpp +++ b/recipes/jwt-cpp/all/test_package/test_package.cpp @@ -18,8 +18,13 @@ int main() { .sign(jwt::algorithm::hs256{"secret"}); auto decoded = jwt::decode(token); - for(auto& e : decoded.get_payload_claims()) +#ifdef GET_PAYLOAD_JSON + for(auto& e : decoded.get_payload_json()) + std::cout << e.first << " = " << e.second << std::endl; +#else + for(auto& e : decoded.get_payload_claims()) std::cout << e.first << " = " << e.second.to_json() << std::endl; +#endif auto verifier = jwt::verify() .allow_algorithm(jwt::algorithm::hs256{"secret"}) diff --git a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt b/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt index d58f9a64ba28e..84b1906ecf746 100644 --- a/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt +++ b/recipes/jwt-cpp/all/test_v1_package/CMakeLists.txt @@ -1,20 +1,8 @@ cmake_minimum_required(VERSION 3.1) -project(test_package CXX) +project(test_package) include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") conan_basic_setup(TARGETS) -find_package(jwt-cpp REQUIRED CONFIG) -find_package(picojson REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE jwt-cpp::jwt-cpp picojson::picojson) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) - -if (jwt-cpp_VERSION VERSION_GREATER 0.4.0) - target_compile_definitions(${PROJECT_NAME} PRIVATE JSON_TRAITS_NEEDED) -endif() - -if (jwt-cpp_VERSION VERSION_GREATER_EQUAL 0.6.0) - target_compile_definitions(${PROJECT_NAME} PRIVATE HAS_DEFAULT_TRAITS) -endif() +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/jwt-cpp/config.yml b/recipes/jwt-cpp/config.yml index 49536ba2e770d..ebed14e0108cb 100644 --- a/recipes/jwt-cpp/config.yml +++ b/recipes/jwt-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.1": From f8a219bbf0ad0d0fc7ab140c695f05e0fae2bc14 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 14 Dec 2023 20:20:22 +0900 Subject: [PATCH 0457/1307] (#21733) etl: add version 20.38.10 --- recipes/etl/all/conandata.yml | 3 +++ recipes/etl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/etl/all/conandata.yml b/recipes/etl/all/conandata.yml index 279507cf9ffbe..74e149bfbcab5 100644 --- a/recipes/etl/all/conandata.yml +++ b/recipes/etl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.38.10": + url: "https://github.com/ETLCPP/etl/archive/20.38.10.tar.gz" + sha256: "562f9b5d9e6786350b09d87be9c5f030073e34d7bf0a975de3e91476ddd471a3" "20.38.7": url: "https://github.com/ETLCPP/etl/archive/20.38.7.tar.gz" sha256: "65cfc033bacab452af05a36bd53b8cdc2bdfd1492b2adc5bb51d2f00e451491f" diff --git a/recipes/etl/config.yml b/recipes/etl/config.yml index 6e14699582a88..57618035ca09f 100644 --- a/recipes/etl/config.yml +++ b/recipes/etl/config.yml @@ -1,4 +1,6 @@ versions: + "20.38.10": + folder: all "20.38.7": folder: all "20.38.6": From d57266c3ad9eb3dbda6e369df33a0daa764a39c3 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 14 Dec 2023 14:42:48 +0100 Subject: [PATCH 0458/1307] (#17338) coin-lemon: allow to consume coin-lemon with C++20 or higher * allow to consume coin-lemon with C++20 or higher * allow C++20 without dropping C++98 support --- recipes/coin-lemon/all/conandata.yml | 11 +- ... 0001-cmake-add-runtime-destination.patch} | 0 ...pp17-compat-remove-register-keyword.patch} | 0 .../all/patches/0003-cpp20-compat-alloc.patch | 199 ++++++++++++++++++ .../all/test_package/CMakeLists.txt | 3 +- 5 files changed, 209 insertions(+), 4 deletions(-) rename recipes/coin-lemon/all/patches/{cmake-add-runtime-destination_1.3.1.patch => 0001-cmake-add-runtime-destination.patch} (100%) rename recipes/coin-lemon/all/patches/{0001-remove-register-keyword.patch => 0002-cpp17-compat-remove-register-keyword.patch} (100%) create mode 100644 recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch diff --git a/recipes/coin-lemon/all/conandata.yml b/recipes/coin-lemon/all/conandata.yml index f00f950c896c3..9db91250ca346 100644 --- a/recipes/coin-lemon/all/conandata.yml +++ b/recipes/coin-lemon/all/conandata.yml @@ -4,5 +4,12 @@ sources: sha256: "71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8" patches: "1.3.1": - - patch_file: "patches/cmake-add-runtime-destination_1.3.1.patch" - - patch_file: "patches/0001-remove-register-keyword.patch" + - patch_file: "patches/0001-cmake-add-runtime-destination.patch" + patch_description: "Fix install destination of dll" + patch_type: "conan" + - patch_file: "patches/0002-cpp17-compat-remove-register-keyword.patch" + patch_description: "C++17 compatibility: remove register keyword" + patch_type: "portability" + - patch_file: "patches/0003-cpp20-compat-alloc.patch" + patch_description: "C++20 compatibility: remove usage of std::allocator::construct & destroy" + patch_type: "portability" diff --git a/recipes/coin-lemon/all/patches/cmake-add-runtime-destination_1.3.1.patch b/recipes/coin-lemon/all/patches/0001-cmake-add-runtime-destination.patch similarity index 100% rename from recipes/coin-lemon/all/patches/cmake-add-runtime-destination_1.3.1.patch rename to recipes/coin-lemon/all/patches/0001-cmake-add-runtime-destination.patch diff --git a/recipes/coin-lemon/all/patches/0001-remove-register-keyword.patch b/recipes/coin-lemon/all/patches/0002-cpp17-compat-remove-register-keyword.patch similarity index 100% rename from recipes/coin-lemon/all/patches/0001-remove-register-keyword.patch rename to recipes/coin-lemon/all/patches/0002-cpp17-compat-remove-register-keyword.patch diff --git a/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch b/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch new file mode 100644 index 0000000000000..9aa9db47a396b --- /dev/null +++ b/recipes/coin-lemon/all/patches/0003-cpp20-compat-alloc.patch @@ -0,0 +1,199 @@ +--- a/lemon/bits/array_map.h ++++ b/lemon/bits/array_map.h +@@ -88,7 +88,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -102,7 +106,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), value); ++#else + allocator.construct(&(values[id]), value); ++#endif + } + } + +@@ -121,7 +129,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), copy.values[id]); ++#else + allocator.construct(&(values[id]), copy.values[id]); ++#endif + } + } + +@@ -218,15 +230,24 @@ namespace lemon { + for (nf->first(it); it != INVALID; nf->next(it)) { + int jd = nf->id(it);; + if (id != jd) { ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(new_values[jd]), values[jd]); ++ std::allocator_traits::destroy(allocator, &(values[jd])); ++#else + allocator.construct(&(new_values[jd]), values[jd]); + allocator.destroy(&(values[jd])); ++#endif + } + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; + capacity = new_capacity; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + + // \brief Adds more new keys to the map. +@@ -260,8 +281,13 @@ namespace lemon { + } + } + if (found) continue; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(new_values[id]), values[id]); ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.construct(&(new_values[id]), values[id]); + allocator.destroy(&(values[id])); ++#endif + } + if (capacity != 0) allocator.deallocate(values, capacity); + values = new_values; +@@ -269,7 +295,11 @@ namespace lemon { + } + for (int i = 0; i < int(keys.size()); ++i) { + int id = nf->id(keys[i]); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -279,7 +309,11 @@ namespace lemon { + // and it overrides the erase() member function of the observer base. + virtual void erase(const Key& key) { + int id = Parent::notifier()->id(key); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + + // \brief Erase more keys from the map. +@@ -289,7 +323,11 @@ namespace lemon { + virtual void erase(const std::vector& keys) { + for (int i = 0; i < int(keys.size()); ++i) { + int id = Parent::notifier()->id(keys[i]); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + } + +@@ -303,7 +341,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it);; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::construct(allocator, &(values[id]), Value()); ++#else + allocator.construct(&(values[id]), Value()); ++#endif + } + } + +@@ -317,7 +359,11 @@ namespace lemon { + Item it; + for (nf->first(it); it != INVALID; nf->next(it)) { + int id = nf->id(it); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits::destroy(allocator, &(values[id])); ++#else + allocator.destroy(&(values[id])); ++#endif + } + allocator.deallocate(values, capacity); + capacity = 0; +--- a/lemon/path.h ++++ b/lemon/path.h +@@ -582,7 +582,11 @@ namespace lemon { + void clear() { + while (first != 0) { + last = first->next; ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, first); ++#else + alloc.destroy(first); ++#endif + alloc.deallocate(first, 1); + first = last; + } +@@ -596,7 +600,11 @@ namespace lemon { + /// \brief Add a new arc before the current path + void addFront(const Arc& arc) { + Node *node = alloc.allocate(1); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::construct(alloc, node, Node()); ++#else + alloc.construct(node, Node()); ++#endif + node->prev = 0; + node->next = first; + node->arc = arc; +@@ -617,7 +625,11 @@ namespace lemon { + } else { + last = 0; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, node); ++#else + alloc.destroy(node); ++#endif + alloc.deallocate(node, 1); + } + +@@ -629,7 +641,11 @@ namespace lemon { + /// \brief Add a new arc behind the current path. + void addBack(const Arc& arc) { + Node *node = alloc.allocate(1); ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::construct(alloc, node, Node()); ++#else + alloc.construct(node, Node()); ++#endif + node->next = 0; + node->prev = last; + node->arc = arc; +@@ -650,7 +666,11 @@ namespace lemon { + } else { + first = 0; + } ++#if ((defined(_MSVC_LANG) && _MSVC_LANG >= 202002L) || __cplusplus >= 202002L) ++ std::allocator_traits>::destroy(alloc, node); ++#else + alloc.destroy(node); ++#endif + alloc.deallocate(node, 1); + } + diff --git a/recipes/coin-lemon/all/test_package/CMakeLists.txt b/recipes/coin-lemon/all/test_package/CMakeLists.txt index 5343530b3b283..2230f5888e397 100644 --- a/recipes/coin-lemon/all/test_package/CMakeLists.txt +++ b/recipes/coin-lemon/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.1) project(test_package LANGUAGES CXX) find_package(LEMON CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE LEMON::LEMON) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) From 36ce780733aa968a913565eb9a2062436ed4da20 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 17 Dec 2023 16:27:28 +0200 Subject: [PATCH 0459/1307] (#21654) mbedtls: add version 3.5.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/mbedtls/all/conandata.yml | 3 +++ recipes/mbedtls/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml index ea482e12f5ff1..6768571f77c35 100644 --- a/recipes/mbedtls/all/conandata.yml +++ b/recipes/mbedtls/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.1.tar.gz" + sha256: "0da345cda55ec6f6d71afa84cfae55632a16ba0b8b4644f4d0e8a32c9d1117b0" "3.5.0": url: "https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/v3.5.0.tar.gz" sha256: "bdee0e3e45bbf360541306cac0cc27e00402c7a46b9bdf2d24787d5107f008f2" diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml index 004f51becf1f5..292e2461de0ef 100644 --- a/recipes/mbedtls/config.yml +++ b/recipes/mbedtls/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: all "3.5.0": folder: all "3.4.1": From d82ea7fafb6fb9c37ebd90c8442c4583c2170672 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 17 Dec 2023 23:47:54 +0900 Subject: [PATCH 0460/1307] (#21778) fast_float: add version 6.0.0 --- recipes/fast_float/all/conandata.yml | 3 +++ recipes/fast_float/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml index c4a46f9c557aa..291d202302e37 100644 --- a/recipes/fast_float/all/conandata.yml +++ b/recipes/fast_float/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.0.0": + url: "https://github.com/fastfloat/fast_float/archive/v6.0.0.tar.gz" + sha256: "7e98671ef4cc7ed7f44b3b13f80156c8d2d9244fac55deace28bd05b0a2c7c8e" "5.3.0": url: "https://github.com/fastfloat/fast_float/archive/v5.3.0.tar.gz" sha256: "2f3bc50670455534dcaedc9dcd0517b71152f319d0cec8625f21c51d23eaf4b9" diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml index 92a05dc14b869..4e03f0967676d 100644 --- a/recipes/fast_float/config.yml +++ b/recipes/fast_float/config.yml @@ -1,4 +1,6 @@ versions: + "6.0.0": + folder: all "5.3.0": folder: all "5.2.0": From 77acb72e142a7e5edefd6cf992d08ea7b062b2d1 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 00:08:36 +0900 Subject: [PATCH 0461/1307] (#21779) valijson: add version 1.0.2 --- recipes/valijson/all/conandata.yml | 3 +++ recipes/valijson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/valijson/all/conandata.yml b/recipes/valijson/all/conandata.yml index 60d1924df1916..9c69d92d45720 100644 --- a/recipes/valijson/all/conandata.yml +++ b/recipes/valijson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/tristanpenman/valijson/archive/v1.0.2.tar.gz" + sha256: "35d86e54fc727f1265226434dc996e33000a570f833537a25c8b702b0b824431" "1.0.1": url: "https://github.com/tristanpenman/valijson/archive/v1.0.1.tar.gz" sha256: "b478b82af1db1d98c2ce47de4ad28647ec66800eaf704dba8b5e785cbca1d785" diff --git a/recipes/valijson/config.yml b/recipes/valijson/config.yml index 12f40d7975787..2244034e46866 100644 --- a/recipes/valijson/config.yml +++ b/recipes/valijson/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: "all" "1.0.1": folder: "all" "1.0": From ce85241908ad693a76133f01c7dc400749c7bd2f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 02:59:31 +0900 Subject: [PATCH 0462/1307] (#21793) objectbox: add version 0.20.0 --- recipes/objectbox/all/conandata.yml | 9 +++++++++ recipes/objectbox/config.yml | 2 ++ 2 files changed, 11 insertions(+) diff --git a/recipes/objectbox/all/conandata.yml b/recipes/objectbox/all/conandata.yml index 6a064833981c3..b4ebf9918d7ba 100644 --- a/recipes/objectbox/all/conandata.yml +++ b/recipes/objectbox/all/conandata.yml @@ -1,4 +1,9 @@ sources: + # The release tarball is invalid, so we need to get the tarball from the v0.20.0 commit. + # https://github.com/objectbox/objectbox-c/issues/38 + "0.20.0": + url: "https://github.com/objectbox/objectbox-c/archive/7e4a5a3ed94aa486acf0737b354726b493fd204c.tar.gz" + sha256: "cb6ec8b7ceaed7963ad582c4519d06ddc887294f0893b3f9bf89e7d0789ce216" "0.19.0": url: "https://github.com/objectbox/objectbox-c/archive/v0.19.0.tar.gz" sha256: "372520a744e9ae135a309ee834e4e936058abb0630fafd70a400546109089a89" @@ -12,6 +17,10 @@ sources: url: "https://github.com/objectbox/objectbox-c/archive/refs/tags/v0.17.0.tar.gz" sha256: "3b936b3352ae0c8ea3706cc0a1790d2714a415cdce16007c2caca367ead5af8d" patches: + "0.20.0": + - patch_file: "patches/0001-fix-cmake.patch" + patch_description: "add sync option, disable tests/examples, support max length of windows path" + patch_type: "conan" "0.19.0": - patch_file: "patches/0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" diff --git a/recipes/objectbox/config.yml b/recipes/objectbox/config.yml index e6304cf62bb40..2fdec99a504b8 100644 --- a/recipes/objectbox/config.yml +++ b/recipes/objectbox/config.yml @@ -1,4 +1,6 @@ versions: + "0.20.0": + folder: all "0.19.0": folder: all "0.18.1": From 18907d7b238d7a89a1c4d33baa870acd62efd757 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 04:12:23 +0900 Subject: [PATCH 0463/1307] (#21794) scnlib: update fast_float/6.0.0 --- recipes/scnlib/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py index 1e79fd87d6da6..3760576fb6438 100644 --- a/recipes/scnlib/all/conanfile.py +++ b/recipes/scnlib/all/conanfile.py @@ -55,7 +55,7 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.0": - self.requires("fast_float/5.3.0") + self.requires("fast_float/6.0.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From a31bb632114a586985c65599ca0c942708de44f5 Mon Sep 17 00:00:00 2001 From: temap Date: Sun, 17 Dec 2023 21:38:19 +0200 Subject: [PATCH 0464/1307] (#21726) readline: fix build with shared ncurses --- recipes/readline/all/conanfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/recipes/readline/all/conanfile.py b/recipes/readline/all/conanfile.py index 52881bbd4d54a..0c46be5b31c24 100644 --- a/recipes/readline/all/conanfile.py +++ b/recipes/readline/all/conanfile.py @@ -38,7 +38,7 @@ def requirements(self): if self.options.with_library == "termcap": self.requires("termcap/1.3.1") elif self.options.with_library == "curses": - self.requires("ncurses/6.4") + self.requires("ncurses/6.4", transitive_headers=True, transitive_libs=True) def configure(self): if self.options.shared: @@ -74,9 +74,10 @@ def generate(self): deps.generate() def _patch_sources(self): - replace_in_file(self, os.path.join(self.source_folder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", + if self.options.with_library == "termcap": + replace_in_file(self, os.path.join(self.source_folder, "shlib", "Makefile.in"), "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS)", "-o $@ $(SHARED_OBJ) $(SHLIB_LIBS) -ltermcap") - replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") + replace_in_file(self, os.path.join(self.source_folder, "Makefile.in"), "@TERMCAP_LIB@", "-ltermcap") def build(self): self._patch_sources() From 9c1c5d821a3b548f5061c41514bcce827c899a7f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 17 Dec 2023 20:58:36 +0100 Subject: [PATCH 0465/1307] (#21773) wayland/all: bump deps * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland/all/conanfile.py | 4 ++-- recipes/wayland/all/test_package/conanfile.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 7e341eb9914d7..d23bcb66ab8ee 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") self.requires("expat/2.5.0") def validate(self): @@ -60,7 +60,7 @@ def validate(self): def build_requirements(self): self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if cross_building(self): self.tool_requires(str(self.ref)) diff --git a/recipes/wayland/all/test_package/conanfile.py b/recipes/wayland/all/test_package/conanfile.py index e9a83534cede7..ad22b7b8367de 100644 --- a/recipes/wayland/all/test_package/conanfile.py +++ b/recipes/wayland/all/test_package/conanfile.py @@ -21,7 +21,7 @@ def requirements(self): def build_requirements(self): self.tool_requires(self.tested_reference_str) if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): cmake_layout(self) From d76c639ae22de3d1dde2a30a0dadc441bf400783 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 17 Dec 2023 21:18:23 +0100 Subject: [PATCH 0466/1307] (#21777) libdrm/all: bump deps * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * libdrm/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libdrm/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libdrm/all/conanfile.py b/recipes/libdrm/all/conanfile.py index 9fc352be86811..af355e6b5b875 100644 --- a/recipes/libdrm/all/conanfile.py +++ b/recipes/libdrm/all/conanfile.py @@ -81,16 +81,16 @@ def requirements(self): if self.options.intel: self.requires("libpciaccess/0.17") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("linux-headers-generic/5.15.128") + self.requires("linux-headers-generic/6.5.9") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration("libdrm supports only Linux or FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 96163987d7e6a9a97c7b2b1a27d72969e6e7032c Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sun, 17 Dec 2023 16:19:35 -0500 Subject: [PATCH 0467/1307] (#21797) rtm: add version 2.2.1 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 97395fe668a67..41cc19013d6fa 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.1": + url: "https://github.com/nfrechette/rtm/archive/v2.2.1.tar.gz" + sha256: "678989368bc9859138db00719ad9e2f82b51acb0d8da6905426e4134223cee2a" "2.2.0": url: "https://github.com/nfrechette/rtm/archive/v2.2.0.tar.gz" sha256: "e627c46de1895b78eee63612ce4e5ade3af28e040edab6ec6f6521366b4e8b9b" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 43718a82a0e63..3a396aa92fa44 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.1": + folder: "all" "2.2.0": folder: "all" "2.1.5": From 6d555fbefb71d18005ef93505c3abcf2b3a3af7f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 18 Dec 2023 01:08:09 +0100 Subject: [PATCH 0468/1307] (#21774) wayland-protocols/all: bump deps * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * wayland-protocols/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/wayland-protocols/all/conanfile.py | 2 +- recipes/wayland-protocols/all/test_package/conanfile.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/wayland-protocols/all/conanfile.py b/recipes/wayland-protocols/all/conanfile.py index 5888f7b0c3ad1..ad20a22df526e 100644 --- a/recipes/wayland-protocols/all/conanfile.py +++ b/recipes/wayland-protocols/all/conanfile.py @@ -27,7 +27,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") def layout(self): basic_layout(self, src_folder="src") diff --git a/recipes/wayland-protocols/all/test_package/conanfile.py b/recipes/wayland-protocols/all/test_package/conanfile.py index 6004f71f93267..d6a32dbe0d2d5 100644 --- a/recipes/wayland-protocols/all/test_package/conanfile.py +++ b/recipes/wayland-protocols/all/test_package/conanfile.py @@ -20,9 +20,9 @@ def requirements(self): self.requires("wayland/1.22.0") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") self.tool_requires("wayland/1.22.0") def layout(self): From c38451acaa0a234a0f8ad2a1de137e3d90e4e557 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 10:30:48 +0900 Subject: [PATCH 0469/1307] (#21801) ssp: update fast_float/6.0.0 --- recipes/ssp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py index 4df3741e9cacb..16b88f523f6b2 100644 --- a/recipes/ssp/all/conanfile.py +++ b/recipes/ssp/all/conanfile.py @@ -37,7 +37,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("fast_float/5.3.0") + self.requires("fast_float/6.0.0") def package_id(self): self.info.clear() From 00f832b93d45eaf87b74db8a87887bb25ae6e7cb Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 11:34:06 +0900 Subject: [PATCH 0470/1307] (#21800) highfive: update hdf5/1.14.3 --- recipes/highfive/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py index d86d1301d6ab8..0d48c634c34c5 100644 --- a/recipes/highfive/all/conanfile.py +++ b/recipes/highfive/all/conanfile.py @@ -40,7 +40,7 @@ def requirements(self): if Version(self.version) < "2.5.1": self.requires("hdf5/1.14.1") else: - self.requires("hdf5/1.14.2") + self.requires("hdf5/1.14.3") if self.options.with_boost: self.requires("boost/1.83.0") if self.options.with_eigen: From f96e079bf910577d829166d0c01c92f719362ec8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 12:27:42 +0900 Subject: [PATCH 0471/1307] (#21799) c4core: update fast_float/6.0.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index 4caf7065d65d3..d0a1927baa811 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/5.3.0", transitive_headers=True) + self.requires("fast_float/6.0.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From ef9fc72cf680d658a7ca4553fda38207cd12a67f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 13:58:34 +0900 Subject: [PATCH 0472/1307] (#21780) jsoncons: add version 0.173.0 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index 612bdd0c9980f..b5e73a3ea8b91 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.173.0": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.0.tar.gz" + sha256: "61abb5e4fbdb3ef7601b4fdc263bc806785609c47b4d7e81f8c3110bd53a9282" "0.172.1": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.172.1.tar.gz" sha256: "710ac7656373a118cee4ad10ecb2225d331ca5b4706a4add3a2b482b7fceef1f" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index d03c26c731d88..e0e954ddc8022 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.173.0": + folder: "all" "0.172.1": folder: "all" "0.172.0": From 52a7a6cc7f5dd53c74f7fa690b7939a88efa6d31 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 15:08:16 +0900 Subject: [PATCH 0473/1307] (#21701) asio: add version 1.29.0 --- recipes/asio/all/conandata.yml | 3 +++ recipes/asio/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/asio/all/conandata.yml b/recipes/asio/all/conandata.yml index 9f0189b8cd3f0..5d0a18b1c54ce 100644 --- a/recipes/asio/all/conandata.yml +++ b/recipes/asio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.29.0": + url: "https://github.com/chriskohlhoff/asio/archive/asio-1-29-0.tar.gz" + sha256: "44305859b4e6664dbbf853c1ef8ca0259d694f033753ae309fcb2534ca20f721" "1.28.2": url: "https://github.com/chriskohlhoff/asio/archive/asio-1-28-2.tar.gz" sha256: "5705a0e403017eba276625107160498518838064a6dd7fd8b00b2e30c0ffbdee" diff --git a/recipes/asio/config.yml b/recipes/asio/config.yml index 7bf4410d24d45..5385ba9219644 100644 --- a/recipes/asio/config.yml +++ b/recipes/asio/config.yml @@ -1,4 +1,6 @@ versions: + "1.29.0": + folder: all "1.28.2": folder: all "1.28.1": From 834a741a3206910ca55b648659c14803d354b4b9 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 18 Dec 2023 15:22:18 +0900 Subject: [PATCH 0474/1307] (#21802) hictk: update dependencies --- recipes/hictk/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py index 1951fe8bdc793..7e609444e89da 100644 --- a/recipes/hictk/all/conanfile.py +++ b/recipes/hictk/all/conanfile.py @@ -40,12 +40,12 @@ def layout(self): def requirements(self): self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True) - self.requires("fast_float/5.3.0", transitive_headers=True) + self.requires("fast_float/6.0.0", transitive_headers=True) if self.options.with_eigen: self.requires("eigen/3.4.0", transitive_headers=True) self.requires("fmt/10.1.1", transitive_headers=True) - self.requires("hdf5/1.14.1", transitive_headers=True) - self.requires("highfive/2.7.1", transitive_headers=True) + self.requires("hdf5/1.14.3", transitive_headers=True) + self.requires("highfive/2.8.0", transitive_headers=True) self.requires("libdeflate/1.19", transitive_headers=True) self.requires("parallel-hashmap/1.37", transitive_headers=True) self.requires("span-lite/0.10.3", transitive_headers=True) From 5ff3625b6cf3940055fa98e7c49e5648ab1727e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 18 Dec 2023 09:43:43 +0200 Subject: [PATCH 0475/1307] (#18681) libelfin: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * libelfin: migrate to Conan v2 * libelfin: restore VirtualRunEnv in test_package * libelfin: fix v1 build * libelfin: fix patched sources not being used * libelfin: add legacy pkg_config names --------- Co-authored-by: Francisco Ramírez --- recipes/libelfin/all/CMakeLists.txt | 51 +++++------ recipes/libelfin/all/conandata.yml | 5 +- recipes/libelfin/all/conanfile.py | 84 +++++++++++-------- .../libelfin/all/test_package/CMakeLists.txt | 7 +- .../libelfin/all/test_package/conanfile.py | 25 ++++-- .../all/test_v1_package/CMakeLists.txt | 8 ++ .../libelfin/all/test_v1_package/conanfile.py | 19 +++++ 7 files changed, 122 insertions(+), 77 deletions(-) create mode 100644 recipes/libelfin/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libelfin/all/test_v1_package/conanfile.py diff --git a/recipes/libelfin/all/CMakeLists.txt b/recipes/libelfin/all/CMakeLists.txt index eb2aa34b81ac8..98010e3796993 100644 --- a/recipes/libelfin/all/CMakeLists.txt +++ b/recipes/libelfin/all/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.12) project(libelfin CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 11) endif() @@ -11,19 +8,21 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(PythonInterp 3 REQUIRED) -file(GLOB_RECURSE elf_sources source_subfolder/elf/*.cc) +set(src ${CMAKE_CURRENT_LIST_DIR}) + +file(GLOB_RECURSE elf_sources ${src}/elf/*.cc) set(elf_headers - source_subfolder/elf/common.hh - source_subfolder/elf/data.hh - source_subfolder/elf/elf++.hh) -file(GLOB_RECURSE dwarf_sources source_subfolder/dwarf/*.cc) + ${src}/elf/common.hh + ${src}/elf/data.hh + ${src}/elf/elf++.hh) +file(GLOB_RECURSE dwarf_sources ${src}/dwarf/*.cc) set(dwarf_headers - source_subfolder/dwarf/data.hh - source_subfolder/dwarf/dwarf++.hh - source_subfolder/dwarf/small_vector.hh) + ${src}/dwarf/data.hh + ${src}/dwarf/dwarf++.hh + ${src}/dwarf/small_vector.hh) add_custom_command( - OUTPUT source_subfolder/elf/to_string.cc + OUTPUT ${src}/elf/to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// Automatically generated' > to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// DO NOT EDIT' >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc @@ -34,11 +33,11 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc COMMAND ${PYTHON_EXECUTABLE} enum-print.py -u --hex --no-type --mask shf --mask pf -x loos -x hios -x loproc -x hiproc < data.hh >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo 'ELFPP_END_NAMESPACE' >> to_string.cc - DEPENDS source_subfolder/elf/enum-print.py source_subfolder/elf/data.hh - WORKING_DIRECTORY source_subfolder/elf) + DEPENDS ${src}/elf/enum-print.py ${src}/elf/data.hh + WORKING_DIRECTORY ${src}/elf) add_custom_command( - OUTPUT source_subfolder/dwarf/to_string.cc + OUTPUT ${src}/dwarf/to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// Automatically generated' > to_string.cc COMMAND ${CMAKE_COMMAND} -E echo '// DO NOT EDIT' >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo >> to_string.cc @@ -49,29 +48,23 @@ add_custom_command( COMMAND ${PYTHON_EXECUTABLE} ../elf/enum-print.py < dwarf++.hh >> to_string.cc COMMAND ${PYTHON_EXECUTABLE} ../elf/enum-print.py -s _ -u --hex -x hi_user -x lo_user < data.hh >> to_string.cc COMMAND ${CMAKE_COMMAND} -E echo 'DWARFPP_END_NAMESPACE' >> to_string.cc - DEPENDS source_subfolder/elf/enum-print.py source_subfolder/dwarf/data.hh - WORKING_DIRECTORY source_subfolder/dwarf) + DEPENDS ${src}/elf/enum-print.py ${src}/dwarf/data.hh + WORKING_DIRECTORY ${src}/dwarf) -add_library(elf++ ${elf_sources} source_subfolder/elf/to_string.cc) +add_library(elf++ ${elf_sources} ${src}/elf/to_string.cc) set_target_properties(elf++ PROPERTIES PUBLIC_HEADER "${elf_headers}" - VERSION ${CONAN_PACKAGE_VERSION}) + VERSION ${libelfin_VERSION}) -add_library(dwarf++ ${dwarf_sources} source_subfolder/dwarf/to_string.cc) +add_library(dwarf++ ${dwarf_sources} ${src}/dwarf/to_string.cc) set_target_properties(dwarf++ PROPERTIES PUBLIC_HEADER "${dwarf_headers}" - VERSION ${CONAN_PACKAGE_VERSION}) + VERSION ${libelfin_VERSION}) include(GNUInstallDirs) install(TARGETS elf++ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libelfin/elf) install(TARGETS dwarf++ - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libelfin/dwarf) -install(FILES source_subfolder/LICENSE DESTINATION licenses) +install(FILES ${src}/LICENSE DESTINATION licenses) diff --git a/recipes/libelfin/all/conandata.yml b/recipes/libelfin/all/conandata.yml index e1b6341e83185..c74c8954691d8 100644 --- a/recipes/libelfin/all/conandata.yml +++ b/recipes/libelfin/all/conandata.yml @@ -5,7 +5,6 @@ sources: patches: "0.3": - patch_file: "patches/commit-9d0db16d0a0b3c4f8aaa60a3e4dab295df34b6b2.patch" - base_path: "source_subfolder" - patch_file: "patches/const-fix.patch" - base_path: "source_subfolder" - # patch_source: https://github.com/aclements/libelfin/pull/54 + patch_source: "https://github.com/aclements/libelfin/pull/54" + patch_type: "bugfix" diff --git a/recipes/libelfin/all/conanfile.py b/recipes/libelfin/all/conanfile.py index d53acbbfd0abe..852c1494c8a65 100644 --- a/recipes/libelfin/all/conanfile.py +++ b/recipes/libelfin/all/conanfile.py @@ -1,64 +1,82 @@ -import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class LibelfinConan(ConanFile): name = "libelfin" description = "C++11 library for reading ELF binaries and DWARFv4 debug information" + license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/aclements/libelfin" - license = "MIT" - topics = ("conan", "elf", "dwarf", "libelfin") + topics = ("elf", "dwarf") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - exports_sources = "CMakeLists.txt", "patches/*" - generators = "cmake" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - _cmake = None - _source_subfolder = "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.compiler == "Visual Studio": - raise ConanInvalidConfiguration("libelfin doesn't support compiler: {} on OS: {}.". - format(self.settings.compiler, self.settings.os)) if self.options.shared: - del self.options.fPIC - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, 11) + if is_msvc(self): + raise ConanInvalidConfiguration(f"libelfin doesn't support compiler: {self.settings.compiler}.") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["libelfin_VERSION"] = self.version + tc.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + copy(self, "CMakeLists.txt", src=self.export_sources_folder, dst=self.source_folder) def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.components["libelf++"].names["pkg_config"] = "libelf++" + self.cpp_info.components["libelf++"].set_property("pkg_config_name", "libelf++") self.cpp_info.components["libelf++"].libs = ["elf++"] - self.cpp_info.components["libdwarf++"].names["pkg_config"] = "libdwarf++" + self.cpp_info.components["libdwarf++"].set_property("pkg_config_name", "libdwarf++") self.cpp_info.components["libdwarf++"].libs = ["dwarf++"] self.cpp_info.components["libdwarf++"].requires = ["libelf++"] + + # TODO: Legacy, to be removed on Conan 2.0 + self.cpp_info.components["libelf++"].names["pkg_config"] = "libelf++" + self.cpp_info.components["libdwarf++"].names["pkg_config"] = "libdwarf++" diff --git a/recipes/libelfin/all/test_package/CMakeLists.txt b/recipes/libelfin/all/test_package/CMakeLists.txt index 36df85d833b7f..3d1d60bfa1834 100644 --- a/recipes/libelfin/all/test_package/CMakeLists.txt +++ b/recipes/libelfin/all/test_package/CMakeLists.txt @@ -1,11 +1,10 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libelfin REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libelfin::libelfin) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) diff --git a/recipes/libelfin/all/test_package/conanfile.py b/recipes/libelfin/all/test_package/conanfile.py index e2a48eb337ec0..c2a19b9121acf 100644 --- a/recipes/libelfin/all/test_package/conanfile.py +++ b/recipes/libelfin/all/test_package/conanfile.py @@ -1,10 +1,20 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,8 +22,7 @@ def build(self): cmake.build() def test(self): - if tools.cross_building(self.settings): - return - bin_path = os.path.join("bin", "test_package") - elf_path = os.path.join(self.source_folder, "hello") - self.run("{} {}".format(bin_path, elf_path), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + elf_path = os.path.join(self.source_folder, "hello") + self.run(f"{bin_path} {elf_path}", env="conanrun") diff --git a/recipes/libelfin/all/test_v1_package/CMakeLists.txt b/recipes/libelfin/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libelfin/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libelfin/all/test_v1_package/conanfile.py b/recipes/libelfin/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fe9ecdf1845cc --- /dev/null +++ b/recipes/libelfin/all/test_v1_package/conanfile.py @@ -0,0 +1,19 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if tools.cross_building(self.settings): + return + bin_path = os.path.join("bin", "test_package") + elf_path = os.path.join(self.source_folder, os.pardir, "test_package", "hello") + self.run(f"{bin_path} {elf_path}", run_environment=True) From 2648f71a901b4477dc6df28c05ba9e46ae7c3ce9 Mon Sep 17 00:00:00 2001 From: Theo Martin Date: Mon, 18 Dec 2023 15:27:29 +0100 Subject: [PATCH 0476/1307] (#20326) update kickcat to v2.0-rc1 Co-authored-by: Theo --- recipes/kickcat/all/conandata.yml | 7 +++++-- recipes/kickcat/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/kickcat/all/conandata.yml b/recipes/kickcat/all/conandata.yml index f0a390ebfac91..26db9ceb70f4e 100644 --- a/recipes/kickcat/all/conandata.yml +++ b/recipes/kickcat/all/conandata.yml @@ -1,7 +1,10 @@ sources: + "v2.0-rc1": + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2.0-rc1.zip" + sha256: "3feec08fd2718d286a041cb83266479840f7739c1203b4450375ea1f59f234c8" "v2-alpha4": - url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha4.zip" + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2-alpha4.zip" sha256: "483a374f77808cb35823652eb37c5ab864a3f12a1c3a957d3315c319ca0ec528" "v2-alpha3": - url: "https://github.com/Siviuze/KickCAT/archive/refs/tags/v2-alpha3.zip" + url: "https://github.com/leducp/KickCAT/archive/refs/tags/v2-alpha3.zip" sha256: "dadd8518c3232162b7455fdcd837578120ece5a42c3bc2701147a68cbee60da4" diff --git a/recipes/kickcat/config.yml b/recipes/kickcat/config.yml index e031f21fd364a..8eaf698f74187 100644 --- a/recipes/kickcat/config.yml +++ b/recipes/kickcat/config.yml @@ -1,4 +1,6 @@ versions: + "v2.0-rc1": + folder: all "v2-alpha4": folder: all "v2-alpha3": From 046196b1fc55bed67ebcb37cc9ccbbff8e6622a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Linus=20Kl=C3=B6ckner?= Date: Mon, 18 Dec 2023 16:08:21 +0100 Subject: [PATCH 0477/1307] (#21019) whisper-cpp: add version 1.4.3 * whisper-cpp: add version 1.4.3 * whisper-cpp: add options for metal * whisper-cpp: delete metal options for older versions --- recipes/whisper-cpp/all/conandata.yml | 3 +++ recipes/whisper-cpp/all/conanfile.py | 18 +++++++++++++----- recipes/whisper-cpp/config.yml | 2 ++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml index 8d22eb9400cec..7514fc59eab2f 100644 --- a/recipes/whisper-cpp/all/conandata.yml +++ b/recipes/whisper-cpp/all/conandata.yml @@ -5,6 +5,9 @@ sources: "1.4.2": url: "https://github.com/ggerganov/whisper.cpp/archive/a5defbc1b98bea0f070331ce1e8b62d947b0443d.tar.gz" sha256: "6dd0690b084269b22b1b749103b047e6d45d7b910d7bc9587085ce057dca5431" + "1.4.3": + url: "https://github.com/ggerganov/whisper.cpp/archive/6a5d195109994b865e1c92a88258ac182399eb64.tar.gz" + sha256: "5b6693c314ae6fb362c13d02357a18099ab0ba03abc07c21f2e8c32b42b7b07e" patches: "1.4.2": - patch_file: "patches/1.4.2-0001-find_package_openblas.patch" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py index bb939dac3e50e..629ef7bb98046 100644 --- a/recipes/whisper-cpp/all/conanfile.py +++ b/recipes/whisper-cpp/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.scm import Version @@ -22,13 +22,13 @@ class WhisperCppConan(ConanFile): options = {"shared": [True, False], "fPIC": [True, False], "sanitize_thread": [True, False], "sanitize_address": [True, False], "sanitize_undefined": [True, False], "no_avx": [True, False], "no_avx2": [True, False], "no_fma": [True, False], "no_f16c": [True, False], - "no_accelerate": [True, False], "with_coreml": [True, False], "coreml_allow_fallback": [True, False], - "with_blas": [True, False]} + "no_accelerate": [True, False], "metal": [True, False], "metal_ndebug": [True, False], + "with_coreml": [True, False], "coreml_allow_fallback": [True, False], "with_blas": [True, False]} default_options = {"shared": False, "fPIC": True, "sanitize_thread": False, "sanitize_address": False, "sanitize_undefined": False, "no_avx": False, "no_avx2": False, "no_fma": False, "no_f16c": False, - "no_accelerate": False, "with_coreml": False, "coreml_allow_fallback": False, - "with_blas": False} + "no_accelerate": False, "metal": False, "metal_ndebug": False, + "with_coreml": False, "coreml_allow_fallback": False, "with_blas": False} package_type = "library" @property @@ -58,6 +58,10 @@ def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.4.3": + del self.options.metal + del self.options.metal_ndebug + def configure(self): if self.options.shared: self.options.rm_safe("fPIC") @@ -117,6 +121,10 @@ def generate(self): if is_apple_os(self): if self.options.no_accelerate: tc.variables["WHISPER_NO_ACCELERATE"] = True + if not self.options.get_safe("metal"): + tc.variables["WHISPER_METAL"] = False + if self.options.get_safe("metal_ndebug"): + tc.variables["WHISPER_METAL_NDEBUG"] = True if self.options.with_coreml: tc.variables["WHISPER_COREML"] = True if self.options.coreml_allow_fallback: diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml index df53037008d38..ab276865b774a 100644 --- a/recipes/whisper-cpp/config.yml +++ b/recipes/whisper-cpp/config.yml @@ -3,3 +3,5 @@ versions: folder: "all" "1.4.2": folder: "all" + "1.4.3": + folder: "all" From 5f86889a74f87843bad3877043eab87bab3ba7e6 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 01:48:45 +0900 Subject: [PATCH 0478/1307] (#21786) roaring: add version 2.1.0 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index d4d90409ecc54..ec4f98fdaba4d 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.0.tar.gz" + sha256: "75e2c106bf3c035f92560017b56b01602744b643a3fef08d69255c138c6c6f5c" "2.0.4": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.0.4.tar.gz" sha256: "3c962c196ba28abf2639067f2e2fd25879744ba98152a4e0e74556ca515eda33" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index e36bb7126c070..8cf27c6a95cb1 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.4": folder: all "2.0.2": From d1da991b042542b82ebfc4b7bd68642e47827a08 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 05:08:04 +0900 Subject: [PATCH 0479/1307] (#21677) bzip3: add version 1.4.0 --- recipes/bzip3/all/conandata.yml | 3 +++ recipes/bzip3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/bzip3/all/conandata.yml b/recipes/bzip3/all/conandata.yml index 464608d61d50a..47c1259bdc988 100644 --- a/recipes/bzip3/all/conandata.yml +++ b/recipes/bzip3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/kspalaiologos/bzip3/releases/download/1.4.0/bzip3-1.4.0.tar.xz" + sha256: "516489784351abe027dc8b4bcad74d12937c5668d317e27de8c5cebc4d7884dc" "1.3.2": url: "https://github.com/kspalaiologos/bzip3/releases/download/1.3.2/bzip3-1.3.2.tar.xz" sha256: "b1d04b8b1b89a3c490cf2b89ea8cee1281584b07f25276fcfd8d40ec2c488e94" diff --git a/recipes/bzip3/config.yml b/recipes/bzip3/config.yml index b6e0a161eb7bf..75a3fe45d3d11 100644 --- a/recipes/bzip3/config.yml +++ b/recipes/bzip3/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.2": folder: all "1.3.1": From 11cda087941bfb6c83f1b5e91fe4c44adf52eb36 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 05:28:26 +0900 Subject: [PATCH 0480/1307] (#21809) quill: add version 3.6.0 --- recipes/quill/all/conandata.yml | 3 +++ recipes/quill/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quill/all/conandata.yml b/recipes/quill/all/conandata.yml index 2eb1a4d7bd925..b6e754cda2c2e 100644 --- a/recipes/quill/all/conandata.yml +++ b/recipes/quill/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.0": + url: "https://github.com/odygrd/quill/archive/v3.6.0.tar.gz" + sha256: "ba9dc3df262f2e65c57904580cc8407eba9a462001340c17bab7ae1dccddb4bd" "3.5.1": url: "https://github.com/odygrd/quill/archive/v3.5.1.tar.gz" sha256: "9fa4ebe594c66ce2a409630c304724fa7a2ada0d842ba9c9aaf05f0a90b461f9" diff --git a/recipes/quill/config.yml b/recipes/quill/config.yml index bca90bfdc7c02..3aa843c1a29c6 100644 --- a/recipes/quill/config.yml +++ b/recipes/quill/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.0": + folder: "all" "3.5.1": folder: "all" "3.5.0": From 92f84dcccb05d39ec83e38e6787fab070266816c Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 18 Dec 2023 23:01:51 +0000 Subject: [PATCH 0481/1307] (#21810) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index d212e2154e11f..95743fcd62579 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -47,6 +47,7 @@ required_for_references: - asio - asio-grpc - asmjit +- asn1c - assimp - astc-codec - astro-informatics-so3 @@ -270,11 +271,13 @@ required_for_references: - debug_assert - decimal_for_cpp - deco +- dependencies - detools - dfp - di - dice-template-library - dime +- directshowbaseclasses - directx-headers - dirent - discount @@ -620,6 +623,7 @@ required_for_references: - libdxfrw - libe57format - libelf +- libelfin - libenvpp - libepoxy - libev @@ -1046,6 +1050,7 @@ required_for_references: - poshlib - pprint - pranav-csv2 +- premake - pretty-name - procxx-boost-ext-simd - proj @@ -1246,6 +1251,7 @@ required_for_references: - taocpp-sequences - taocpp-taopq - taocpp-tuple +- tar - taskflow - taywee-args - tcb-span From 30d7b032ae10fece33036c9317928fb5bac63858 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 10:15:54 +0900 Subject: [PATCH 0482/1307] (#21811) unordered_dense: add version 4.3.0 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index cb46afb843f82..68524cf6fdc7c 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.0": + url: "https://github.com/martinus/unordered_dense/archive/v4.3.0.tar.gz" + sha256: "c8ffaf5277dd5c29871cc6359af7823c8137158d47511dd00c8193af84906b9c" "4.1.2": url: "https://github.com/martinus/unordered_dense/archive/v4.1.2.tar.gz" sha256: "300410dbcd32800f83b2113dfecbdfe8cd256caa4cfeb117d646021d6e3209ae" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index ff0267b898526..dde91314b03cb 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.0": + folder: all "4.1.2": folder: all "4.1.0": From 9f3e4869df2e62392f731cc6286ed110811e942d Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 17:05:34 +0900 Subject: [PATCH 0483/1307] (#21567) tinygltf: update dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/tinygltf/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tinygltf/all/conanfile.py b/recipes/tinygltf/all/conanfile.py index 4f9e36874366d..b9947293a173f 100644 --- a/recipes/tinygltf/all/conanfile.py +++ b/recipes/tinygltf/all/conanfile.py @@ -34,11 +34,11 @@ def package_id(self): self.info.clear() def requirements(self): - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") if self.options.draco: self.requires("draco/1.5.6") if self.options.stb_image or self.options.stb_image_write: - self.requires("stb/cci.20220909") + self.requires("stb/cci.20230920") def validate(self): if self.settings.compiler.get_safe("cppstd"): From bba06842a23d4e9d6b263a2f8f8d2b22c5b6671c Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 18:44:38 +0900 Subject: [PATCH 0484/1307] (#21693) plf_colony: add version 7.39 --- recipes/plf_colony/all/conandata.yml | 3 +++ recipes/plf_colony/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_colony/all/conandata.yml b/recipes/plf_colony/all/conandata.yml index 7d323fe98a8c9..796a27e497755 100644 --- a/recipes/plf_colony/all/conandata.yml +++ b/recipes/plf_colony/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.39": + url: "https://github.com/mattreecebentley/plf_colony/archive/5bb011979a33ee29b4c57ee6a7813a22efc419b7.tar.gz" + sha256: "15812bbd5899d6845d9aeb38ecc6b2884e221326516496a76ebbcc2fb7c3f48b" "7.06": url: "https://github.com/mattreecebentley/plf_colony/archive/348174f0da2ea65b7a561b08412e81ce1f5e6161.tar.gz" sha256: "c6a34d08d4946f0ce54a9836b564b329afffc7ce173720282c7e2b0b57cbc484" diff --git a/recipes/plf_colony/config.yml b/recipes/plf_colony/config.yml index d7dde26d155d4..36d026c86b004 100644 --- a/recipes/plf_colony/config.yml +++ b/recipes/plf_colony/config.yml @@ -1,4 +1,6 @@ versions: + "7.39": + folder: all "7.06": folder: all "7.03": From ab62de5041845f8928069add9ff5e3576e9e22da Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 19:32:26 +0900 Subject: [PATCH 0485/1307] (#21690) kuba-zip: add version 0.3.0 --- recipes/kuba-zip/all/conandata.yml | 3 +++ recipes/kuba-zip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kuba-zip/all/conandata.yml b/recipes/kuba-zip/all/conandata.yml index 687b00ee7e238..a1cc22f7f211a 100644 --- a/recipes/kuba-zip/all/conandata.yml +++ b/recipes/kuba-zip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.0": + url: "https://github.com/kuba--/zip/archive/v0.3.0.tar.gz" + sha256: "feb70ae0fe5948b805635b3cc2f3b7f074662c481981857bc6b5896a4343fe5e" "0.2.6": url: "https://github.com/kuba--/zip/archive/v0.2.6.tar.gz" sha256: "6a00e10dc5242f614f76f1bd1d814726a41ee6e3856ef3caf7c73de0b63acf0b" diff --git a/recipes/kuba-zip/config.yml b/recipes/kuba-zip/config.yml index 7244cf3b53ff7..12742f0517b7f 100644 --- a/recipes/kuba-zip/config.yml +++ b/recipes/kuba-zip/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.0": + folder: "all" "0.2.6": folder: "all" "0.2.5": From 9e3e21281ae93bc54754f3948819cc7d897beba4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 20:19:15 +0900 Subject: [PATCH 0486/1307] (#21639) libcurl: add version 8.5.0, add url in 8.4.0, update pem file --- recipes/libcurl/all/conandata.yml | 11 +++++++++-- recipes/libcurl/all/conanfile.py | 6 +++--- recipes/libcurl/config.yml | 2 ++ 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml index 372042901c2cc..3a12a85c5d679 100644 --- a/recipes/libcurl/all/conandata.yml +++ b/recipes/libcurl/all/conandata.yml @@ -1,7 +1,14 @@ sources: + "8.5.0": + url: + - "https://curl.se/download/curl-8.5.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_5_0/curl-8.5.0.tar.xz" + sha256: "42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb" "8.4.0": - url: "https://curl.se/download/curl-8.4.0.tar.gz" - sha256: "816e41809c043ff285e8c0f06a75a1fa250211bbfb2dc0a037eeef39f1a9e427" + url: + - "https://curl.se/download/curl-8.4.0.tar.xz" + - "https://github.com/curl/curl/releases/download/curl-8_4_0/curl-8.4.0.tar.xz" + sha256: "16c62a9c4af0f703d28bda6d7bbf37ba47055ad3414d70dec63e2e6336f2a82d" "8.2.1": url: - "https://curl.se/download/curl-8.2.1.tar.xz" diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 6ad8bd967a379..d2f7a3c31bd9a 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -207,7 +207,7 @@ def build_requirements(self): else: self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.settings.os in [ "tvOS", "watchOS" ]: self.tool_requires("gnu-config/cci.20210814") if self._settings_build.os == "Windows": @@ -217,8 +217,8 @@ def build_requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) - cert_url = self.conf.get("user.libcurl.cert:url", check_type=str) or "https://curl.se/ca/cacert-2023-01-10.pem" - cert_sha256 = self.conf.get("user.libcurl.cert:sha256", check_type=str) or "fb1ecd641d0a02c01bc9036d513cb658bbda62a75e246bedbc01764560a639f0" + cert_url = self.conf.get("user.libcurl.cert:url", check_type=str) or "https://curl.se/ca/cacert-2023-08-22.pem" + cert_sha256 = self.conf.get("user.libcurl.cert:sha256", check_type=str) or "23c2469e2a568362a62eecf1b49ed90a15621e6fa30e29947ded3436422de9b9" download(self, cert_url, "cacert.pem", verify=True, sha256=cert_sha256) def generate(self): diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml index 3f099810578c8..8e607e7cc2a0e 100644 --- a/recipes/libcurl/config.yml +++ b/recipes/libcurl/config.yml @@ -1,4 +1,6 @@ versions: + "8.5.0": + folder: all "8.4.0": folder: all "8.2.1": From 546807e13a134a1e4cf96e91b2a7d99bbe80f476 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 23:07:09 +0900 Subject: [PATCH 0487/1307] (#21814) xtl: add version 0.7.6 --- recipes/xtl/all/conandata.yml | 3 +++ recipes/xtl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xtl/all/conandata.yml b/recipes/xtl/all/conandata.yml index 826f7d639e616..de42ad34f303f 100644 --- a/recipes/xtl/all/conandata.yml +++ b/recipes/xtl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.6": + url: "https://github.com/xtensor-stack/xtl/archive/0.7.6.tar.gz" + sha256: "dda442dc81f390f77561913062471c39b6ef19ffc6f64d3cd12b5c4b4607c957" "0.7.5": url: "https://github.com/xtensor-stack/xtl/archive/0.7.5.tar.gz" sha256: "3286fef5fee5d58f82f7b91375cd449c819848584bae9367893501114d923cbe" diff --git a/recipes/xtl/config.yml b/recipes/xtl/config.yml index eb054d979da83..59f6a1275ac35 100644 --- a/recipes/xtl/config.yml +++ b/recipes/xtl/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.6": + folder: all "0.7.5": folder: all "0.7.4": From 79e8a4b1e867d69572985734948bdfd8dc6c8b8f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 19 Dec 2023 23:28:15 +0900 Subject: [PATCH 0488/1307] (#21768) uni-algo: add version 1.2.0 --- recipes/uni-algo/all/conandata.yml | 3 +++ recipes/uni-algo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uni-algo/all/conandata.yml b/recipes/uni-algo/all/conandata.yml index 0aedc7a70319b..8d8acc924ed24 100644 --- a/recipes/uni-algo/all/conandata.yml +++ b/recipes/uni-algo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/uni-algo/uni-algo/archive/v1.2.0.tar.gz" + sha256: "f2a1539cd8635bc6088d05144a73ecfe7b4d74ee0361fabed6f87f9f19e74ca9" "1.1.0": url: "https://github.com/uni-algo/uni-algo/archive/v1.1.0.tar.gz" sha256: "f9aa30df9766fbbc7007b206c6db122313194e75b159dc222cddce016372d2de" diff --git a/recipes/uni-algo/config.yml b/recipes/uni-algo/config.yml index aabd23fca0e2d..53399e9671402 100644 --- a/recipes/uni-algo/config.yml +++ b/recipes/uni-algo/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From f89d800e5d4eb8d42af1560bf2cc28ac894428f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 19 Dec 2023 15:49:15 +0100 Subject: [PATCH 0489/1307] (#21813) arrow: add version 14.0.2 --- recipes/arrow/all/conandata.yml | 3 +++ recipes/arrow/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml index 3da635cfb0382..4edf7cbfb21e7 100644 --- a/recipes/arrow/all/conandata.yml +++ b/recipes/arrow/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "14.0.2": + url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.2/apache-arrow-14.0.2.tar.gz?action=download" + sha256: "1304dedb41896008b89fe0738c71a95d9b81752efc77fa70f264cb1da15d9bc2" "14.0.1": url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.1/apache-arrow-14.0.1.tar.gz?action=download" sha256: "5c70eafb1011f9d124bafb328afe54f62cc5b9280b7080e1e3d668f78c0e407e" diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml index b4c3d901fea57..c3c169ecfec73 100644 --- a/recipes/arrow/config.yml +++ b/recipes/arrow/config.yml @@ -1,4 +1,6 @@ versions: + "14.0.2": + folder: all "14.0.1": folder: all "14.0.0": From 64319d78ece57ac59afab1f19b1f7ee2b45a8458 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 10:09:27 +0900 Subject: [PATCH 0490/1307] (#21789) uwebsockets: add version 20.49.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index c36f9118f3072..2c922cffaec96 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.49.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" + sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" "20.48.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.48.0.tar.gz" sha256: "d7455bbbf9829b3960d0478dd36ed0eba82847c4fc801416aaf89ccb7f4dfb85" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 22cf3f5b226bf..d714e6b31716a 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.49.0": + folder: all "20.48.0": folder: all "20.47.0": From 0eabe76e607ac7e3116d6567f738747eb6e9474e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 20 Dec 2023 10:25:58 +0900 Subject: [PATCH 0491/1307] (#21769) s2n: add version 1.4.0 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 8805728159ae7..7cf47057ff944 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.0.tar.gz" + sha256: "3f786cb2f35e0551e120e1747e7b510a8228cd852073afa241313939672046cb" "1.3.56": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.3.56.tar.gz" sha256: "5d7bab81357a564453bc453469b4ae02936f1f35225ad297b8d846d2ecdda521" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 541cd4177faf3..08d9c1cf6b54d 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.56": folder: all "1.3.55": From 65f566ec6828512ecddec5639aed87f51ce60f2c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 20 Dec 2023 09:27:07 +0100 Subject: [PATCH 0492/1307] (#21821) xkbcommon: partial bump --- recipes/xkbcommon/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 0de07aab1e6af..432d7eeef8795 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,21 +65,21 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: - self.requires("wayland-protocols/1.31") + self.requires("wayland-protocols/1.32") def validate(self): if self.settings.os not in ["Linux", "FreeBSD"]: raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._has_build_profile and self.options.get_safe("with_wayland"): self.tool_requires("wayland/") self.tool_requires("wayland-protocols/1.31") From d34e4a1870cd0790a3ee791936ab7fee7d24f0ed Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 20 Dec 2023 17:29:17 +0200 Subject: [PATCH 0493/1307] [config] Change configurations to amrv8 arch for Macos build profiles (#21826) --- .c3i/config_v1.yml | 11 +++-------- .c3i/config_v2.yml | 7 ++----- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index bb61be1f4e1b0..6fd58a85275b0 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -75,7 +75,6 @@ tasks: # Profile configurations to build packages configurations: - id: linux-gcc - epochs: [20211221, 20220120, 20230606] hrname: "Linux, GCC" content: - os: ["Linux"] @@ -86,7 +85,6 @@ configurations: compiler.version: ["5", "7", "9", "10", "11"] build_type: ["Release", "Debug"] - id: linux-clang - epochs: [20211221, 20220120, 20230606] hrname: "Linux, Clang" content: - os: ["Linux"] @@ -97,8 +95,10 @@ configurations: compiler.version: ["12", "13"] build_type: ["Release", "Debug"] - id: macos-clang - epochs: [20220120, 20230606] hrname: "macOS, Clang" + build_profile: + os: "Macos" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "x86_64" ] @@ -108,11 +108,7 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: macos-m1-clang - epochs: [20220120, 20230606] hrname: "macOS, Clang (M1/arm64)" - build_profile: - os: "Macos" - arch: "x86_64" content: - os: [ "Macos" ] arch: [ "armv8" ] @@ -122,7 +118,6 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release", "Debug" ] - id: windows-visual_studio - epochs: [0, 20211221, 20220120, 20230606] hrname: "Windows, Visual Studio" content: - os: [ "Windows" ] diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 69f002da7a538..712dcc277de49 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -67,7 +67,6 @@ tasks: configurations: - id: linux-gcc - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "Linux, GCC" build_profile: os: "Linux" @@ -80,10 +79,10 @@ configurations: compiler.version: ["11"] build_type: ["Release"] - id: macos-clang - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS, Clang" build_profile: os: "Macos" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "x86_64" ] @@ -93,11 +92,10 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - id: macos-m1-clang - epochs: [0, 20211221, 20220120, 20220628, 20230606] hrname: "macOS M1, Clang" build_profile: os: "Macos" - arch: "x86_64" + arch: "armv8" content: - os: [ "Macos" ] arch: [ "armv8" ] @@ -107,7 +105,6 @@ configurations: compiler.libcxx: [ "libc++" ] build_type: [ "Release"] - id: windows-msvc - epochs: [20230606] hrname: "Windows, MSVC" build_profile: os: "Windows" From bb888b3aaa8432215c2c20c08ed9cb763a025cae Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Wed, 20 Dec 2023 20:22:16 +0000 Subject: [PATCH 0494/1307] (#21749) [bot] Update authorized users list (2023-12-14) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 70239a094fd32..549da8cd3184c 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1250,3 +1250,5 @@ authorized_users: - mlutken - hoyhoy - stevenhartley +- RMZeroFour +- rymut From 5f574b52c3ed8676a913757a95dc92858d889478 Mon Sep 17 00:00:00 2001 From: Joris Putcuyps Date: Wed, 20 Dec 2023 21:38:37 +0100 Subject: [PATCH 0495/1307] (#21683) arduinojson: add version 6.21.4 * Add arduinojson-6.21.4 * ArduinoJson also does MessagePack --- recipes/arduinojson/all/conandata.yml | 3 +++ recipes/arduinojson/all/conanfile.py | 2 +- recipes/arduinojson/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/arduinojson/all/conandata.yml b/recipes/arduinojson/all/conandata.yml index d44d34b58314d..7cd1210fd6d95 100644 --- a/recipes/arduinojson/all/conandata.yml +++ b/recipes/arduinojson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "6.21.4": + url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.4/ArduinoJson-v6.21.4.zip" + sha256: "60a5c4cd28d97047f63a1f9c9e8bd36a72c8b4c86809babcc2bd4b00e0502b9b" "6.21.2": url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.2/ArduinoJson-v6.21.2.zip" sha256: "1dc888061f6e7828f7a0a4e71bf059796e5ce202ce6ddb4e3a2e384d32b5cba0" diff --git a/recipes/arduinojson/all/conanfile.py b/recipes/arduinojson/all/conanfile.py index 74cc1a0a27699..e10c2101ad215 100644 --- a/recipes/arduinojson/all/conanfile.py +++ b/recipes/arduinojson/all/conanfile.py @@ -13,7 +13,7 @@ class ArduinojsonConan(ConanFile): name = "arduinojson" description = "C++ JSON library for IoT. Simple and efficient." homepage = "https://github.com/bblanchon/ArduinoJson" - topics = ("json", "arduino", "iot", "embedded", "esp8266") + topics = ("json", "msgpack", "message-pack", "arduino", "iot", "embedded", "esp8266") license = "MIT" url = "https://github.com/conan-io/conan-center-index" package_type = "header-library" diff --git a/recipes/arduinojson/config.yml b/recipes/arduinojson/config.yml index 3358de6326521..afe4d32db15ff 100644 --- a/recipes/arduinojson/config.yml +++ b/recipes/arduinojson/config.yml @@ -1,4 +1,6 @@ versions: + "6.21.4": + folder: all "6.21.2": folder: all "6.21.0": From cc5692484d667b48e10aec754d498379f2e3ed71 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 21 Dec 2023 00:25:02 +0100 Subject: [PATCH 0496/1307] (#21824) xkbcommon: bump deps --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 432d7eeef8795..8f8538a292739 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -82,7 +82,7 @@ def build_requirements(self): self.tool_requires("pkgconf/2.1.0") if self._has_build_profile and self.options.get_safe("with_wayland"): self.tool_requires("wayland/") - self.tool_requires("wayland-protocols/1.31") + self.tool_requires("wayland-protocols/1.32") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 9ff80591643683d916cd1e81aa180c6865eefb00 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 21 Dec 2023 09:52:09 +0000 Subject: [PATCH 0497/1307] (#21804) [bot] Update authorized users list (2023-12-18) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: conan-center-bot Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 549da8cd3184c..431c8106f9525 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1252,3 +1252,7 @@ authorized_users: - stevenhartley - RMZeroFour - rymut +- MartyMcFlyInTheSky +- piliugin-anton +- Drllap +- i-curve From 7a6c0babf868b1a371ac982219ae3ea5fd9c4daa Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Thu, 21 Dec 2023 13:08:40 +0300 Subject: [PATCH 0498/1307] (#21787) libatomic_ops: update to 7.8.2 * update package version from 7.8.0 to 7.8.2 --- recipes/libatomic_ops/all/conandata.yml | 6 +++--- recipes/libatomic_ops/config.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/libatomic_ops/all/conandata.yml b/recipes/libatomic_ops/all/conandata.yml index 04ee70160921a..ca0f7bac81a72 100644 --- a/recipes/libatomic_ops/all/conandata.yml +++ b/recipes/libatomic_ops/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "7.8.0": - url: "https://github.com/ivmai/libatomic_ops/releases/download/v7.8.0/libatomic_ops-7.8.0.tar.gz" - sha256: "15676e7674e11bda5a7e50a73f4d9e7d60452271b8acf6fd39a71fefdf89fa31" + "7.8.2": + url: "https://github.com/ivmai/libatomic_ops/releases/download/v7.8.2/libatomic_ops-7.8.2.tar.gz" + sha256: "d305207fe207f2b3fb5cb4c019da12b44ce3fcbc593dfd5080d867b1a2419b51" diff --git a/recipes/libatomic_ops/config.yml b/recipes/libatomic_ops/config.yml index 95536563a1815..03c7395ab6c04 100644 --- a/recipes/libatomic_ops/config.yml +++ b/recipes/libatomic_ops/config.yml @@ -1,3 +1,3 @@ versions: - "7.8.0": + "7.8.2": folder: all From d5dc5a71a43590eec60fdb34ee1628bbead585de Mon Sep 17 00:00:00 2001 From: Nicolai Grodzitski Date: Thu, 21 Dec 2023 11:29:22 +0100 Subject: [PATCH 0499/1307] (#21839) Add restinio v0.7.1 --- recipes/restinio/config.yml | 2 ++ recipes/restinio/v0.7/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml index 224a43066392f..df26f55e95f2c 100644 --- a/recipes/restinio/config.yml +++ b/recipes/restinio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.1": + folder: "v0.7" "0.7.0": folder: "v0.7" "0.6.19": diff --git a/recipes/restinio/v0.7/conandata.yml b/recipes/restinio/v0.7/conandata.yml index 1b3707b68b5bb..e74209bdf08a6 100644 --- a/recipes/restinio/v0.7/conandata.yml +++ b/recipes/restinio/v0.7/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.1": + url: "https://github.com/Stiffstream/restinio/archive/v.0.7.1.tar.gz" + sha256: "46a3224ad23f768412c3494cd11f973b753b0d0be51906c46176ea7bafa687f6" "0.7.0": url: "https://github.com/Stiffstream/restinio/archive/v.0.7.0.tar.gz" sha256: "1d6ad5812c02ee42342ed0ed78678a4e37c1cfe87f2f7c32c2862f825062feaa" From ee18955997f3e7f4dc4c654dcd04665c995a63c6 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Thu, 21 Dec 2023 21:35:32 +1030 Subject: [PATCH 0500/1307] (#19606) [vulkan-validationlayers] Fix discovery of libVkLayer_khronos_validation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [vulkan-validationlayers] Fix discovery of libVkLayer_khronos_validation * Add libdirs to the runtime lib discovery path to enable libVlLayer_khronos_validation.{so,dll,dylib} to be discovered appropriately at runtime. This package exports both a static library and a shared library, of which, only the static library should be linked against. The shared library is loaded dynamically by vulkan-loader, and still needs to be discoverable. Because this is not a shared library, these paths are not exported automatically and therefore are required to be explicitly set. Closes #19605 * Remove notification of runtime_lib_discovery_path update Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Co-authored-by: Rubén Rincón Blanco --- recipes/vulkan-validationlayers/all/conanfile.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index 9ce6269563249..c2830d5f99a6c 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -225,5 +225,17 @@ def package_info(self): manifest_subfolder = "bin" if self.settings.os == "Windows" else os.path.join("res", "vulkan", "explicit_layer.d") vk_layer_path = os.path.join(self.package_folder, manifest_subfolder) self.runenv_info.prepend_path("VK_LAYER_PATH", vk_layer_path) + + # Update runtime discovery paths to allow libVkLayer_khronos_validation.{so,dll,dylib} to be discovered + # and loaded by vulkan-loader when the consumer executes + # This is necessary because this package exports a static lib to link against and a dynamic lib to load at runtime + runtime_lib_discovery_path = "LD_LIBRARY_PATH" + if self.settings.os == "Windows": + runtime_lib_discovery_path = "PATH" + if self.settings.os == "Macos": + runtime_lib_discovery_path = "DYLD_LIBRARY_PATH" + for libdir in [os.path.join(self.package_folder, libdir) for libdir in self.cpp_info.libdirs]: + self.runenv_info.prepend_path(runtime_lib_discovery_path, libdir) + # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator self.env_info.VK_LAYER_PATH.append(vk_layer_path) From cbfbc41bbc5ee8f5fe02dd68cee9845f6c7aa692 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Thu, 21 Dec 2023 13:33:26 +0100 Subject: [PATCH 0501/1307] (#20911) tcl: fix MinGW and properly split build and install in autotools branch * fix MinGW and properly split build and install in autotools branch * fix substitution in tclConfig.sh --- recipes/tcl/all/conanfile.py | 99 +++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 47 deletions(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index 1722816dbfb14..89c037e770f6b 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain +from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag, NMakeToolchain, NMakeDeps from conan.tools.scm import Version import os @@ -48,9 +49,9 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") def layout(self): - # Not using basic_layout because package() needs the source folder to be a sub-directory of the build folder - self.folders.source = "src" - self.folders.generators = "conan" + basic_layout(self, src_folder="src") + # source folder must be a sub-directory of the build folder + self.folders.build = "." def requirements(self): self.requires("zlib/[>=1.2.11 <2]") @@ -82,7 +83,7 @@ def generate(self): env = VirtualRunEnv(self) env.generate(scope="build") - tc = AutotoolsToolchain(self, prefix=self.package_folder) + tc = AutotoolsToolchain(self) def yes_no(v): return "yes" if v else "no" tc.configure_args.extend([ "--enable-threads", @@ -94,25 +95,14 @@ def yes_no(v): return "yes" if v else "no" deps = AutotoolsDeps(self) deps.generate() - def _get_default_build_system_subdir(self): - return { - "Macos": "macosx", - "Linux": "unix", - "Windows": "win", - }[str(self.settings.os)] - - def _get_configure_dir(self, build_system_subdir=None): - if build_system_subdir is None: - build_system_subdir = self._get_default_build_system_subdir() - return os.path.join(self.source_folder, build_system_subdir) - def _patch_sources(self): apply_conandata_patches(self) if is_apple_os(self) and self.settings.arch not in ("x86", "x86_64"): - replace_in_file(self, os.path.join(self._get_configure_dir(), "configure"), "#define HAVE_CPUID 1", "#undef HAVE_CPUID") + macos_configure = os.path.join(self.source_folder, "macosx", "configure") + replace_in_file(self, macos_configure, "#define HAVE_CPUID 1", "#undef HAVE_CPUID") - unix_config_dir = self._get_configure_dir("unix") + unix_config_dir = os.path.join(self.source_folder, "unix") # When disabling 64-bit support (in 32-bit), this test must be 0 in order to use "long long" for 64-bit ints # (${tcl_type_64bit} can be either "__int64" or "long long") replace_in_file(self, os.path.join(unix_config_dir, "configure"), @@ -127,9 +117,18 @@ def _patch_sources(self): replace_in_file(self, unix_makefile_in, "\nLDFLAGS\t", "\n#LDFLAGS\t") # Use CFLAGS and CPPFLAGS as argument to CC replace_in_file(self, unix_makefile_in, "${CFLAGS}", "${CFLAGS} ${CPPFLAGS}") + + win_config_dir = os.path.join(self.source_folder, "win") + + # Fix install for MinGW + win_makefile_in = os.path.join(win_config_dir, "Makefile.in") + replace_in_file(self, win_makefile_in, "INSTALL_ROOT =", "INSTALL_ROOT = $(DESTDIR)") + # No link to static libgcc for MinGW + win_tcl_m4 = os.path.join(win_config_dir, "tcl.m4") + replace_in_file(self, win_tcl_m4, "-static-libgcc", "") + # nmake creates a temporary file with mixed forward/backward slashes # force the filename to avoid cryptic error messages - win_config_dir = self._get_configure_dir("win") win_makefile_vc = os.path.join(win_config_dir, "makefile.vc") replace_in_file(self, win_makefile_vc, "@type << >$@", "type <$@") @@ -157,26 +156,38 @@ def _build_nmake(self, targets): if "d" not in msvc_runtime_flag(self): opts.append("unchecked") - with chdir(self, self._get_configure_dir("win")): + win_config_dir = os.path.join(self.source_folder, "win") + with chdir(self, win_config_dir): self.run('nmake -nologo -f "{cfgdir}/makefile.vc" INSTALLDIR="{pkgdir}" OPTS={opts} {targets}'.format( - cfgdir=self._get_configure_dir("win"), + cfgdir=win_config_dir, pkgdir=self.package_folder, opts=",".join(opts), targets=" ".join(targets), )) + def _get_configure_subdir(self): + return { + "Macos": "macosx", + "Linux": "unix", + "FreeBSD": "unix", + "Windows": "win", + }[str(self.settings.os)] + def build(self): self._patch_sources() if is_msvc(self): self._build_nmake(["release"]) else: autotools = Autotools(self) - autotools.configure(self._get_configure_dir()) - + autotools.configure(build_script_folder=self._get_configure_subdir()) # https://core.tcl.tk/tcl/tktview/840660e5a1 for root, _, list_of_files in os.walk(self.build_folder): if "Makefile" in list_of_files: replace_in_file(self, os.path.join(root, "Makefile"), "-Dstrtod=fixstrtod", "", strict=False) + # For some reason this target "binaries" may not be built before others + # on Windows while it's a dependency of many other targets + autotools.make(target="binaries") + autotools.make() def package(self): copy(self, "license.terms", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) @@ -184,36 +195,30 @@ def package(self): self._build_nmake(["install-binaries", "install-libraries"]) else: autotools = Autotools(self) - autotools.make(target="install") - autotools.make(target="install-private-headers") + autotools.install() + autotools.install(target="install-private-headers") rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "man")) rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) + # Relocatable tclConfig.sh tclConfigShPath = os.path.join(self.package_folder, "lib", "tclConfig.sh") - package_path = self.package_folder - build_folder = self.build_folder - if self.settings.os == "Windows" and not is_msvc(self): - package_path = package_path.replace("\\", "/") - drive, path = os.path.splitdrive(self.build_folder) - build_folder = "".join([drive, path.lower().replace("\\", "/")]) - - replace_in_file(self, tclConfigShPath, - package_path, - "${TCL_ROOT}") - replace_in_file(self, tclConfigShPath, - build_folder, - "${TCL_BUILD_ROOT}") - - replace_in_file(self, tclConfigShPath, - "\nTCL_BUILD_", - "\n#TCL_BUILD_") - replace_in_file(self, tclConfigShPath, - "\nTCL_SRC_DIR", - "\n#TCL_SRC_DIR") - - fix_apple_shared_install_name(self) + ## Comment out references to build folder + replace_in_file(self, tclConfigShPath, "\nTCL_BUILD_", "\n#TCL_BUILD_") + replace_in_file(self, tclConfigShPath, "\nTCL_SRC_DIR", "\n#TCL_SRC_DIR") + ## Replace references to package folder by TCL_ROOT env var supposed to be defined by VirtualRunEnv + if is_msvc(self): + replace_in_file(self, tclConfigShPath, self.package_folder, "${TCL_ROOT}") + else: + replace_in_file(self, tclConfigShPath, "TCL_PREFIX='/'", "TCL_PREFIX='${TCL_ROOT}'") + replace_in_file(self, tclConfigShPath, "TCL_EXEC_PREFIX='/'", "TCL_EXEC_PREFIX='${TCL_ROOT}'") + for to_replace in ["//", "/"]: + replace_in_file(self, tclConfigShPath, f"-L{to_replace}lib", "-L${TCL_ROOT}/lib", strict=False) + replace_in_file(self, tclConfigShPath, f"{{{to_replace}lib}}", "{${TCL_ROOT}/lib}", strict=False) + replace_in_file(self, tclConfigShPath, f"='{to_replace}lib", "='${TCL_ROOT}/lib", strict=False) + replace_in_file(self, tclConfigShPath, f"-I{to_replace}include", "-I${TCL_ROOT}/include", strict=False) def package_info(self): self.cpp_info.set_property("cmake_file_name", "TCL") From a12826d4e9811b09a55f42c25c1b865ddd50e556 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 21 Dec 2023 16:09:44 +0000 Subject: [PATCH 0502/1307] (#21093) b2: build universal binary with intel and arm * b2: build universal binary with intel and arm * remove older versions * update conandata.yml --- recipes/b2/config.yml | 44 ------------------------- recipes/b2/portable/conandata.yml | 54 ------------------------------- recipes/b2/portable/conanfile.py | 23 ++++++++++--- 3 files changed, 18 insertions(+), 103 deletions(-) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index d807a6752466f..7a4ee6b5a0f42 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -1,50 +1,6 @@ versions: - "4.0.0": - folder: standard - "4.0.1": - folder: standard - "4.1.0": - folder: standard - "4.2.0": - folder: standard - "4.3.0": - folder: portable - "4.4.0": - folder: portable - "4.4.1": - folder: portable - "4.4.2": - folder: portable - "4.5.0": - folder: portable - "4.6.0": - folder: portable - "4.6.1": - folder: portable - "4.7.0": - folder: portable - "4.7.1": - folder: portable - "4.7.2": - folder: portable - "4.8.0": - folder: portable - "4.8.1": - folder: portable "4.8.2": folder: portable - "4.9.0": - folder: portable - "4.9.1": - folder: portable - "4.9.2": - folder: portable - "4.9.3": - folder: portable - "4.9.4": - folder: portable - "4.9.5": - folder: portable "4.9.6": folder: portable "4.10.0": diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index cc640fa9b092f..b31f151449d95 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -1,61 +1,7 @@ sources: - "4.3.0": - sha256: 138c90b66edb0a28e225705a2cbf897a8cef5f87e68befc748f8e6808e21628a - url: https://github.com/bfgroup/b2/archive/4.3.0.tar.gz - "4.4.0": - sha256: fa4079370644110604895ff08057fe2eff3289bcffdaec55fcdf43ea33ff25a8 - url: https://github.com/bfgroup/b2/archive/4.4.0.tar.gz - "4.4.1": - sha256: 4fb15abd994968a24868c13502f080c4a28b20f59831acf9eabd64a3b257554f - url: https://github.com/bfgroup/b2/archive/4.4.1.tar.gz - "4.4.2": - sha256: 575e59b89191a6a6780d7165cae3222b8a7a1e7d5e8165b3524eefe32fc3de46 - url: https://github.com/bfgroup/b2/archive/4.4.2.tar.gz - "4.5.0": - url: "https://github.com/bfgroup/b2/archive/4.5.0.tar.gz" - sha256: "39c3b51bf9c5f32b1c249d2d405274976b166e1bdca1fc5205b595f1cb5dbac3" - "4.6.0": - url: "https://github.com/bfgroup/b2/archive/4.6.0.tar.gz" - sha256: "3a308e0f79a039d8a9495b375f3292f5163000c19caa79c5687e4cb5b1938b49" - "4.6.1": - url: "https://github.com/bfgroup/b2/archive/4.6.1.tar.gz" - sha256: "a3f3323eaeb2c27d7a3ca86842665c6c3bc3d93cc626ba362ae6d0c5a7bfbe2c" - "4.7.0": - url: "https://github.com/bfgroup/b2/archive/4.7.0.tar.gz" - sha256: "82c2eb92d6ab2bd447646568ac8430c316cbd2a1819c108136224498c0abed84" - "4.7.1": - url: "https://github.com/bfgroup/b2/archive/4.7.1.tar.gz" - sha256: "30844184ded3217c090b76e6e051c3ac663ea63bd19e1b727b05c54411cac867" - "4.7.2": - url: "https://github.com/bfgroup/b2/archive/4.7.2.tar.gz" - sha256: "70883f8ed82efc49f425f1961a82e961cefdbca3a28581cb57b405bd7516677f" - "4.8.0": - url: "https://github.com/bfgroup/b2/archive/4.8.0.tar.gz" - sha256: "2f18951d4cc267a810e44fc483b747d489e30ed42ee6d9e7c5e19de750ee5cd2" - "4.8.1": - url: "https://github.com/bfgroup/b2/archive/4.8.1.tar.gz" - sha256: "8ecff1025df9473d91a0d116af3e32be6fba6e57d4ea962e033ff1678609d668" "4.8.2": url: "https://github.com/bfgroup/b2/archive/4.8.2.tar.gz" sha256: "220edfbd5022394c5dc264dfdd8bf6d3ec53b784db87461026bb23ea9d9ec4bd" - "4.9.0": - url: "https://github.com/bfgroup/b2/archive/4.9.0.tar.gz" - sha256: "7c614e41f10e004c7539c75c60f7b2df26a61fe35058e9021f8fd5049c97a255" - "4.9.1": - url: "https://github.com/bfgroup/b2/archive/4.9.1.tar.gz" - sha256: "81e49dc85e956c3e708bdd02fcfe0b9f406fca8edca54c75c94ebd6c322ed587" - "4.9.2": - url: "https://github.com/bfgroup/b2/archive/4.9.2.tar.gz" - sha256: "7e1a135b308999d2a65fce3eba8f4ffb41ca82ae133f8494cc42cbca63c890de" - "4.9.3": - url: "https://github.com/bfgroup/b2/archive/4.9.3.tar.gz" - sha256: "4524b8ecf138a9087aa24b8889c44ea7ae9f2d373acc9535d72fb048c213e1b9" - "4.9.4": - url: "https://github.com/bfgroup/b2/releases/download/4.9.4/b2-4.9.4.tar.bz2" - sha256: "1996d8098955ad3fdecab242d784afaef0fba80dd5d2ef0b3a41592e26772312" - "4.9.5": - url: "https://github.com/bfgroup/b2/releases/download/4.9.5/b2-4.9.5.tar.bz2" - sha256: "f81bea44601613f633d3311341f3f63594608537bf38d7073b877ec1edb2760a" "4.9.6": url: "https://github.com/bfgroup/b2/releases/download/4.9.6/b2-4.9.6.tar.bz2" sha256: "10c1344c751fcf5a1f9ec6f52c02626cfbf78a4806f7817949b115e107bbbc5f" diff --git a/recipes/b2/portable/conanfile.py b/recipes/b2/portable/conanfile.py index 829c74015b1ef..f93460f8b28cf 100644 --- a/recipes/b2/portable/conanfile.py +++ b/recipes/b2/portable/conanfile.py @@ -63,10 +63,14 @@ def package_id(self): del self.info.options.use_cxx_env del self.info.options.toolset - def validate(self): - if hasattr(self, "settings_build") and cross_building(self): + if self._is_macos_intel_or_arm(self.info.settings): + self.info.settings.arch = "x86_64,armv8" + + def validate_build(self): + if hasattr(self, "settings_build") and cross_building(self) and not self._is_macos_intel_or_arm(self.settings): raise ConanInvalidConfiguration(f"{self.ref} recipe doesn't support cross-build yet") + def validate(self): if (self.options.toolset == 'cxx' or self.options.toolset == 'cross-cxx') and not self.options.use_cxx_env: raise ConanInvalidConfiguration( "Option toolset 'cxx' and 'cross-cxx' requires 'use_cxx_env=True'") @@ -90,6 +94,9 @@ def _b2_output_dir(self): def _pkg_bin_dir(self): return os.path.join(self.package_folder, "bin") + def _is_macos_intel_or_arm(self, settings): + return settings.os == "Macos" and settings.arch in ["x86_64", "armv8"] + @contextmanager def _bootstrap_env(self): saved_env = dict(os.environ) @@ -145,6 +152,10 @@ def build(self): command += '"'+b2_vcvars+'" && ' command += "build" if use_windows_commands else "./build.sh" + cxxflags = "" + if self._is_macos_intel_or_arm(self.settings): + cxxflags += " -arch arm64 -arch x86_64" + if self.options.use_cxx_env: envvars = VirtualBuildEnv(self).vars() @@ -153,9 +164,11 @@ def build(self): command += f" --cxx={cxx}" self._write_project_config(cxx) - cxxflags = envvars.get("CXXFLAGS") - if cxxflags: - command += f" --cxxflags={cxxflags}" + cxxflags_env = envvars.get("CXXFLAGS") + cxxflags = f"{cxxflags} {cxxflags_env}" + + if cxxflags: + command += f' --cxxflags="{cxxflags}"' if b2_toolset != 'auto': command += " "+str(b2_toolset) From 6591823c347d93d73ea671de49cba56259afd7ca Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 21 Dec 2023 18:26:40 +0000 Subject: [PATCH 0503/1307] (#16901) vulkan-headers: define package_id_embed_mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/vulkan-headers/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/vulkan-headers/all/conanfile.py b/recipes/vulkan-headers/all/conanfile.py index f2e2e4c12ab8e..beae2e733b6b4 100644 --- a/recipes/vulkan-headers/all/conanfile.py +++ b/recipes/vulkan-headers/all/conanfile.py @@ -14,6 +14,7 @@ class VulkanHeadersConan(ConanFile): homepage = "https://github.com/KhronosGroup/Vulkan-Headers" url = "https://github.com/conan-io/conan-center-index" package_type = "header-library" + package_id_embed_mode = "patch_mode" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From f45ee82f52d0bc35ac1aeef0a4b24053c147e2b4 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 21 Dec 2023 20:57:02 +0100 Subject: [PATCH 0504/1307] (#21844) bdwgc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/bdwgc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/bdwgc/all/conanfile.py b/recipes/bdwgc/all/conanfile.py index 304326f5fe9b1..d284939f26c40 100644 --- a/recipes/bdwgc/all/conanfile.py +++ b/recipes/bdwgc/all/conanfile.py @@ -77,7 +77,7 @@ def layout(self): def requirements(self): if self.settings.os == "Windows": - self.requires("libatomic_ops/7.8.0") + self.requires("libatomic_ops/7.8.2") def source(self): get(self, **self.conan_data["sources"][self.version], From 7eb3f3739e023ecff159644bb7d15642852df73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1ll=20Andr=C3=A9s=20P=C3=A1lsson?= Date: Thu, 21 Dec 2023 22:00:27 +0000 Subject: [PATCH 0505/1307] (#21785) opencv/3.x add version 3.4.20 * opencv/3.x add version 3.4.20 * Use 3.4.17 patch for 3.4.20 as well --- recipes/opencv/3.x/conandata.yml | 9 +++++++++ recipes/opencv/config.yml | 2 ++ 2 files changed, 11 insertions(+) diff --git a/recipes/opencv/3.x/conandata.yml b/recipes/opencv/3.x/conandata.yml index fb7fa44fa31ae..147afc1ea676d 100644 --- a/recipes/opencv/3.x/conandata.yml +++ b/recipes/opencv/3.x/conandata.yml @@ -1,10 +1,19 @@ sources: + "3.4.20": + - url: "https://github.com/opencv/opencv/archive/refs/tags/3.4.20.tar.gz" + sha256: "b9eda448a08ba7b10bfd5bd45697056569ebdf7a02070947e1c1f3e8e69280cd" + - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.20.tar.gz" + sha256: "b0bb3fa7ae4ac00926b83d4d95c6500c2f7af542f8ec78d0f01b2961a690d5dc" "3.4.17": - url: "https://github.com/opencv/opencv/archive/refs/tags/3.4.17.tar.gz" sha256: "1353eec67849aadb20df71d8bae18b83708e18fc5da080fe5efeabb1e99b2ee8" - url: "https://github.com/opencv/opencv_contrib/archive/refs/tags/3.4.17.tar.gz" sha256: "2b4d3e91a5767a1ae4f4e2a71b0a93c9ec744755763653a650e40ace8f7b9a1b" patches: + "3.4.20": + - patch_file: "patches/3.4.17-0001-find-openexr.patch" + patch_description: "Robust discovery & injection of OpenEXR" + patch_type: "conan" "3.4.17": - patch_file: "patches/3.4.17-0001-find-openexr.patch" patch_description: "Robust discovery & injection of OpenEXR" diff --git a/recipes/opencv/config.yml b/recipes/opencv/config.yml index 4ca870469c580..443d5e91a8125 100644 --- a/recipes/opencv/config.yml +++ b/recipes/opencv/config.yml @@ -7,6 +7,8 @@ versions: folder: "4.x" "4.1.2": folder: "4.x" + "3.4.20": + folder: "3.x" "3.4.17": folder: "3.x" "2.4.13.7": From fe697b9a59dce668468ad6d00c9bbaf16be655f4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 02:01:09 +0200 Subject: [PATCH 0506/1307] (#21661) openblas: add v0.3.25 --- recipes/openblas/all/conandata.yml | 3 +++ recipes/openblas/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openblas/all/conandata.yml b/recipes/openblas/all/conandata.yml index 31efef8e95737..f79b91170955a 100644 --- a/recipes/openblas/all/conandata.yml +++ b/recipes/openblas/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.25": + url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.25.tar.gz" + sha256: "4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543" "0.3.24": url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.24.tar.gz" sha256: "ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132" diff --git a/recipes/openblas/config.yml b/recipes/openblas/config.yml index d12fbd6e7daea..84e082765ab47 100644 --- a/recipes/openblas/config.yml +++ b/recipes/openblas/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.25": + folder: all "0.3.24": folder: all "0.3.20": From 495401ef47c6b6bc8bf844a4adac91d22892a552 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 02:49:45 +0200 Subject: [PATCH 0507/1307] (#21663) raylib: add v5.0 --- recipes/raylib/all/conandata.yml | 3 +++ recipes/raylib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/raylib/all/conandata.yml b/recipes/raylib/all/conandata.yml index 03de4ecb0f5c2..250dbbb87a9bc 100644 --- a/recipes/raylib/all/conandata.yml +++ b/recipes/raylib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0": + url: "https://github.com/raysan5/raylib/archive/refs/tags/5.0.tar.gz" + sha256: "98f049b9ea2a9c40a14e4e543eeea1a7ec3090ebdcd329c4ca2cf98bc9793482" "4.0.0": url: "https://github.com/raysan5/raylib/archive/refs/tags/4.0.0.tar.gz" sha256: "11f6087dc7bedf9efb3f69c0c872f637e421d914e5ecea99bbe7781f173dc38c" diff --git a/recipes/raylib/config.yml b/recipes/raylib/config.yml index b0be0ea520564..c0992b52b18d8 100644 --- a/recipes/raylib/config.yml +++ b/recipes/raylib/config.yml @@ -1,4 +1,6 @@ versions: + "5.0": + folder: "all" "4.0.0": folder: "all" "3.5.0": From 658059b8fc99c0c9d653d56c27bb076ccda6f996 Mon Sep 17 00:00:00 2001 From: Software Development is a little simpler of World creation Date: Fri, 22 Dec 2023 04:00:04 +0300 Subject: [PATCH 0508/1307] (#21847) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 8c1a73b11f3c4..2c60ab126196e 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.9": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.9.tar.gz" + sha256: "0ff833b179e01866296a8b2e36b09c19936c2e4434d9e542be389d8104809523" "2.3.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.4.tar.gz" sha256: "7f356658316da4f4eaf7bde43dd43027a602c49640d297357b12e22a1a842a68" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 396ecace7699b..9ccae22b9f990 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.9": + folder: all "2.3.4": folder: all "2.3.3": From ab4359d40f9e81641b4c6ca8db489c53153c16ae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 03:09:44 +0200 Subject: [PATCH 0509/1307] (#21864) libnl: add v3.9.0 --- recipes/libnl/all/conandata.yml | 3 +++ recipes/libnl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnl/all/conandata.yml b/recipes/libnl/all/conandata.yml index c4437c5cec3bc..9db76cae21f37 100644 --- a/recipes/libnl/all/conandata.yml +++ b/recipes/libnl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.0": + url: "https://github.com/thom311/libnl/releases/download/libnl3_9_0/libnl-3.9.0.tar.gz" + sha256: "aed507004d728a5cf11eab48ca4bf9e6e1874444e33939b9d3dfed25018ee9bb" "3.8.0": url: "https://github.com/thom311/libnl/releases/download/libnl3_8_0/libnl-3.8.0.tar.gz" sha256: "bb726c6d7a08b121978d73ff98425bf313fa26a27a331d465e4f1d7ec5b838c6" diff --git a/recipes/libnl/config.yml b/recipes/libnl/config.yml index 20abb72c5e1b9..4e17fb9e83226 100644 --- a/recipes/libnl/config.yml +++ b/recipes/libnl/config.yml @@ -1,4 +1,6 @@ versions: + 3.9.0: + folder: all 3.8.0: folder: all 3.7.0: From e5727c4b01112480c009780377dd320170604cc5 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 03:58:44 +0200 Subject: [PATCH 0510/1307] (#21849) 7bitdi: add v2.0.0 --- recipes/7bitdi/all/conandata.yml | 3 +++ recipes/7bitdi/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml index 2bc8fbc5ed01d..d7e7e7fe4e22e 100644 --- a/recipes/7bitdi/all/conandata.yml +++ b/recipes/7bitdi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v2.0.0.tar.gz" + sha256: "ae6d01c677b928a9c0979b9b2395692f9a3d876e07189d9b191e7b55c13d9ef4" "1.0.0": url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v1.0.0.tar.gz" sha256: "4a5bfc541bf98b9943a54003c7ad1f8a2a3f879143022be805aaa343852d8279" diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml index 40341aa3db6cd..870fb33e55af0 100644 --- a/recipes/7bitdi/config.yml +++ b/recipes/7bitdi/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.0": + folder: all "1.0.0": folder: all From e73ba14d6bbad92c784dbeeec69f8d372b7059e9 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:07:14 +0200 Subject: [PATCH 0511/1307] (#21851) libde265: add v1.0.15 --- recipes/libde265/all/conandata.yml | 3 +++ recipes/libde265/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libde265/all/conandata.yml b/recipes/libde265/all/conandata.yml index d9b1262d06c1f..3dd8fd65fd529 100644 --- a/recipes/libde265/all/conandata.yml +++ b/recipes/libde265/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.15": + url: "https://github.com/strukturag/libde265/releases/download/v1.0.15/libde265-1.0.15.tar.gz" + sha256: "00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d" "1.0.12": url: "https://github.com/strukturag/libde265/releases/download/v1.0.12/libde265-1.0.12.tar.gz" sha256: "62185ea2182e68cf68bba20cc6eb4c287407b509cf0a827d7ddb75614db77b5c" diff --git a/recipes/libde265/config.yml b/recipes/libde265/config.yml index 2745db31bb6cd..4323cd76505c9 100644 --- a/recipes/libde265/config.yml +++ b/recipes/libde265/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.15": + folder: all "1.0.12": folder: all "1.0.11": From b479d5450fd532ce463ff91f07931976bdb5b7ac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:15:27 +0200 Subject: [PATCH 0512/1307] (#21850) lightgbm: add v4.2.0 --- recipes/lightgbm/all/conandata.yml | 3 +++ recipes/lightgbm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lightgbm/all/conandata.yml b/recipes/lightgbm/all/conandata.yml index 5c29f9403b5ce..53438b1b2b9ba 100644 --- a/recipes/lightgbm/all/conandata.yml +++ b/recipes/lightgbm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.2.0.tar.gz" + sha256: "4b2df6e3c5fa345a2fac6cefff65dd08cbe2fa4717cd8335c2a58c1a0c7c6b02" "4.1.0": url: "https://github.com/microsoft/LightGBM/archive/refs/tags/v4.1.0.tar.gz" sha256: "eb896dc21c7afec95d10327777f6e77163b5bcd35f6ce5d152e6feefbe3328a5" diff --git a/recipes/lightgbm/config.yml b/recipes/lightgbm/config.yml index eba2ef0bbf4fd..5160a2bc07bab 100644 --- a/recipes/lightgbm/config.yml +++ b/recipes/lightgbm/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.0": folder: all "3.3.5": From b186d018c6872a2e4fb61ba39dc06caa9c2e73bf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:27:23 +0200 Subject: [PATCH 0513/1307] (#21854) libraw: add v0.21.2 --- recipes/libraw/all/conandata.yml | 3 +++ recipes/libraw/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libraw/all/conandata.yml b/recipes/libraw/all/conandata.yml index de16dc88c770a..3a0ac9ffca1b4 100644 --- a/recipes/libraw/all/conandata.yml +++ b/recipes/libraw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.2": + url: "https://github.com/LibRaw/LibRaw/archive/0.21.2.tar.gz" + sha256: "7ac056e0d9e814d808f6973a950bbf45e71b53283eed07a7ea87117a6c0ced96" "0.21.1": url: "https://github.com/LibRaw/LibRaw/archive/0.21.1.tar.gz" sha256: "b63d7ffa43463f74afcc02f9083048c231349b41cc9255dec0840cf8a67b52e0" diff --git a/recipes/libraw/config.yml b/recipes/libraw/config.yml index c99b05f143414..ef61145f2ee72 100644 --- a/recipes/libraw/config.yml +++ b/recipes/libraw/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.2": + folder: all "0.21.1": folder: all "0.20.2": From beebdb3cd80458bf51d9c7bff452c268f9c1799b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 04:58:16 +0200 Subject: [PATCH 0514/1307] (#21859) zfp: add version 1.0.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/zfp/all/conandata.yml | 3 +++ recipes/zfp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zfp/all/conandata.yml b/recipes/zfp/all/conandata.yml index 308872a236805..626b44e46becd 100644 --- a/recipes/zfp/all/conandata.yml +++ b/recipes/zfp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/LLNL/zfp/archive/1.0.1.tar.gz" + sha256: "4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f" "1.0.0": url: "https://github.com/LLNL/zfp/releases/download/1.0.0/zfp-1.0.0.tar.gz" sha256: "0ea08ae3e50e3c92f8b8cf41ba5b6e2de8892bc4a4ca0c59b8945b6c2ab617c4" diff --git a/recipes/zfp/config.yml b/recipes/zfp/config.yml index 3e7309cad846c..ca1f6c2b3ad6d 100644 --- a/recipes/zfp/config.yml +++ b/recipes/zfp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all "0.5.5": From 2de4432af61d34ffe4548caf11caa41f50e58b2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 22 Dec 2023 05:18:25 +0200 Subject: [PATCH 0515/1307] (#21866) libwebsockets: add version 4.3.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/libwebsockets/all/conandata.yml | 3 +++ recipes/libwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libwebsockets/all/conandata.yml b/recipes/libwebsockets/all/conandata.yml index 119725ef837be..ed95c45ed0deb 100644 --- a/recipes/libwebsockets/all/conandata.yml +++ b/recipes/libwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.3": + url: "https://github.com/warmcat/libwebsockets/archive/v4.3.3.tar.gz" + sha256: "6fd33527b410a37ebc91bb64ca51bdabab12b076bc99d153d7c5dd405e4bdf90" "4.3.2": url: "https://github.com/warmcat/libwebsockets/archive/v4.3.2.tar.gz" sha256: "6a85a1bccf25acc7e8e5383e4934c9b32a102880d1e4c37c70b27ae2a42406e1" diff --git a/recipes/libwebsockets/config.yml b/recipes/libwebsockets/config.yml index 76fbd6a7ba025..f20bf16edc50b 100644 --- a/recipes/libwebsockets/config.yml +++ b/recipes/libwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.3": + folder: all "4.3.2": folder: all "4.3.0": From c6a2b837efbbd05550f064f1145c7a506f02cc99 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 12:57:48 +0900 Subject: [PATCH 0516/1307] (#21828) unordered_dense: add version 4.3.1 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 68524cf6fdc7c..21a7d366a494c 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.1": + url: "https://github.com/martinus/unordered_dense/archive/v4.3.1.tar.gz" + sha256: "ff069b0b7697a3601cd674e4a4405edc6ec1d60a5cc3e7fff18db9e24ecc8ec3" "4.3.0": url: "https://github.com/martinus/unordered_dense/archive/v4.3.0.tar.gz" sha256: "c8ffaf5277dd5c29871cc6359af7823c8137158d47511dd00c8193af84906b9c" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index dde91314b03cb..15f32e6672d08 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.1": + folder: all "4.3.0": folder: all "4.1.2": From 139cb31eff67ea52ff69837d38fc5767a9e0ff47 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 13:18:10 +0900 Subject: [PATCH 0517/1307] (#21867) cpp-httplib: add version 0.14.3 --- recipes/cpp-httplib/all/conandata.yml | 3 +++ recipes/cpp-httplib/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml index 7e54c58b1975d..8c153c2fe947f 100644 --- a/recipes/cpp-httplib/all/conandata.yml +++ b/recipes/cpp-httplib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.14.3": + url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.3.tar.gz" + sha256: "dcf6486d9030937636d8a4f820ca9531808fd7edb283893dddbaa05f99357e63" "0.14.2": url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.2.tar.gz" sha256: "dbcf5590e8ed35c6745c2ad659a5ebec92f05187d1506eec24449d6db95e5084" diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml index 190ca8b340419..7415ed1d11703 100644 --- a/recipes/cpp-httplib/config.yml +++ b/recipes/cpp-httplib/config.yml @@ -1,4 +1,6 @@ versions: + "0.14.3": + folder: all "0.14.2": folder: all "0.14.1": From 8d89b1f68813ed82ce7492d6b7232370327163f5 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 22 Dec 2023 13:37:57 +0900 Subject: [PATCH 0518/1307] (#21868) uwebsockets: add version 20.51.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 2c922cffaec96..78605fe3fd6a9 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.51.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" + sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" "20.49.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index d714e6b31716a..2e74e7a332db3 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.51.0": + folder: all "20.49.0": folder: all "20.48.0": From 54aad97d1eb428b9a7b89dbc93e826a7d7883f26 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Fri, 22 Dec 2023 12:18:12 +0100 Subject: [PATCH 0519/1307] (#21871) [openapi-generator] Add version 7.2.0 --- recipes/openapi-generator/all/conandata.yml | 3 +++ recipes/openapi-generator/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml index 9624e0bf21d4b..f0c50c95fa214 100644 --- a/recipes/openapi-generator/all/conandata.yml +++ b/recipes/openapi-generator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.2.0": + url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar" + sha256: "1cf0c80de12c0fdc8594289c19e414b402108ef10b8dd0bfda1953151341ab5d" "7.0.0": url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.0.0/openapi-generator-cli-7.0.0.jar" sha256: "80e8e9d71bdbdf513b8c65cf7d3fc2fe3d88aaeb4e39a2c6e20831f00032c775" diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml index fc03893757ba9..797b4078e69ca 100644 --- a/recipes/openapi-generator/config.yml +++ b/recipes/openapi-generator/config.yml @@ -1,4 +1,6 @@ versions: + "7.2.0": + folder: all "7.0.0": folder: all "6.6.0": From f90ba0d5c864c484aa21312cfd4bc54c71473954 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 23 Dec 2023 00:59:18 +0100 Subject: [PATCH 0520/1307] (#21825) xkeyboard-config: define package_type should unblock https://github.com/conan-io/conan-center-index/pull/21772 --- recipes/xkeyboard-config/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/xkeyboard-config/all/conanfile.py b/recipes/xkeyboard-config/all/conanfile.py index ec1b8c4a6f2ed..bd171724a258d 100644 --- a/recipes/xkeyboard-config/all/conanfile.py +++ b/recipes/xkeyboard-config/all/conanfile.py @@ -8,6 +8,7 @@ class XkeyboardConfigConan(ConanFile): name = "xkeyboard-config" + package_type = "application" url = "https://github.com/conan-io/conan-center-index" license = "MIT" homepage = "https://www.freedesktop.org/wiki/Software/XKeyboardConfig/" From 176eddaff5b768f6c07b056da2ba25297f6f207a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 17:38:15 +0900 Subject: [PATCH 0521/1307] (#21815) taocpp-taopq: add version cci.20231219 * taocpp-taopq: add version cci.20231219 * fix copying license files * drop older compiler for charconv --- recipes/taocpp-taopq/all/conandata.yml | 3 +++ recipes/taocpp-taopq/all/conanfile.py | 13 +++++++------ recipes/taocpp-taopq/config.yml | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/recipes/taocpp-taopq/all/conandata.yml b/recipes/taocpp-taopq/all/conandata.yml index b825cbd0e993f..b23fe9c84afe7 100644 --- a/recipes/taocpp-taopq/all/conandata.yml +++ b/recipes/taocpp-taopq/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231219": + url: "https://github.com/taocpp/taopq/archive/855ae86e48f2380d230feae22830f0f9664859ed.tar.gz" + sha256: "bb23d88b8fb7737b8c99f8450b5ab19e1072260fc189634f23103198ac524511" "cci.20210727": url: "https://github.com/taocpp/taopq/archive/3212b6eb74637277b40095d2ab2db872a76c6d9f.tar.gz" sha256: "7d5b801984f71140a8579989e29b746d56167eccb710d821b2336eac723b51a3" diff --git a/recipes/taocpp-taopq/all/conanfile.py b/recipes/taocpp-taopq/all/conanfile.py index 7ea861e1070ea..9fd79f18379e3 100644 --- a/recipes/taocpp-taopq/all/conanfile.py +++ b/recipes/taocpp-taopq/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, rmdir +from conan.tools.files import get, rmdir, copy from conan.tools.scm import Version import os @@ -11,13 +11,13 @@ class TaoCPPTaopqConan(ConanFile): name = "taocpp-taopq" + description = "C++ client library for PostgreSQL" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/taocpp/taopq" - description = "C++ client library for PostgreSQL" topics = ("cpp17", "postgresql", "libpq", "data-base", "sql") package_type = "library" - settings = "os", "arch", "build_type", "compiler" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -34,8 +34,8 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "7", - "clang": "6", + "gcc": "7" if self.version < "cci.20231219" else "8", + "clang": "6" if self.version < "cci.20231219" else "7", "apple-clang": "10", "Visual Studio": "15", "msvc": "191", @@ -59,7 +59,6 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -84,9 +83,11 @@ def build(self): cmake.build() def package(self): + copy(self, "LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "taopq") diff --git a/recipes/taocpp-taopq/config.yml b/recipes/taocpp-taopq/config.yml index 73c3d88a4e083..08774e1ebdda9 100644 --- a/recipes/taocpp-taopq/config.yml +++ b/recipes/taocpp-taopq/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231219": + folder: all "cci.20210727": folder: all "cci.20200222": From 5c6ae6de8388e29c3135136f3a6232152d61f26a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 23 Dec 2023 09:50:20 +0100 Subject: [PATCH 0522/1307] (#21818) wil: add version 1.0.231216.1 --- recipes/wil/all/conandata.yml | 3 +++ recipes/wil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wil/all/conandata.yml b/recipes/wil/all/conandata.yml index f61d76458812c..d5f4e93a4cb65 100644 --- a/recipes/wil/all/conandata.yml +++ b/recipes/wil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.231216.1": + url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231216.1.tar.gz" + sha256: "4c15ba5e357f19449222b89f6e34d590d9d3f3d67e704a5cc5f4caa74228dd7e" "1.0.231028.1": url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231028.1.tar.gz" sha256: "ac18bc7638f32ec2468bbde1f40153204ad9ae9016058720440bc8f5449f48c5" diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml index f2dcd6f1c34e1..58a0a4f3fc832 100644 --- a/recipes/wil/config.yml +++ b/recipes/wil/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.231216.1": + folder: "all" "1.0.231028.1": folder: "all" "1.0.230824.2": From 7b1fedf06d0e206ef6ff63dfe8a44eb7de4c079d Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 23 Dec 2023 18:18:05 +0900 Subject: [PATCH 0523/1307] (#21834) commata: add version 0.2.7, remove older versions --- recipes/commata/all/conandata.yml | 12 +++--------- recipes/commata/all/conanfile.py | 10 +++++++++- recipes/commata/all/test_package/CMakeLists.txt | 4 ++++ recipes/commata/all/test_package/test_package.cpp | 4 ++++ recipes/commata/config.yml | 8 ++------ 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index 0bbd21e7700bf..91da95d40710f 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.7": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.7.tar.gz" + sha256: "3feeeea8eafa67a0f328382380f193df9a798665e10333e9e5b6db5fe1794283" "0.2.6-bug1": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.6-bug1.tar.gz" sha256: "141eb86f9033a808b6ead22a9367fc4d18a3047f55255ddf67d60e90f46b8f60" @@ -8,12 +11,3 @@ sources: "0.2.5": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" - "0.2.4-bug1": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4-bug1.tar.gz" - sha256: "fcde251d9b41f1601e1f8b2181613b4bf33c4318678700e2b3b54bf24bc9e1e3" - "0.2.4": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.4.tar.gz" - sha256: "2d154c1ed7bbf6551729bcc5baf581613f6605df080ada35a9e107648d255e2e" - "0.2.3": - url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.3.tar.gz" - sha256: "47521aa27b26fe650bd985c4e07df44453f9d09ab0d61ee98dd6877afe4c25a0" diff --git a/recipes/commata/all/conanfile.py b/recipes/commata/all/conanfile.py index bde274af4ceeb..a0114ee35e73d 100644 --- a/recipes/commata/all/conanfile.py +++ b/recipes/commata/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy +from conan.tools.files import get, copy, replace_in_file from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -53,6 +53,14 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + # waiting for merge PR and release newer version. https://github.com/furfurylic/commata/pull/2 + if Version(self.version) >= "0.2.7": + replace_in_file(self, os.path.join(self.source_folder, "include", "commata", "typing_aid.hpp"), + "#include ", + """#include +#include """) + def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( diff --git a/recipes/commata/all/test_package/CMakeLists.txt b/recipes/commata/all/test_package/CMakeLists.txt index f69f5f2677dd5..71a8908c0e315 100644 --- a/recipes/commata/all/test_package/CMakeLists.txt +++ b/recipes/commata/all/test_package/CMakeLists.txt @@ -6,3 +6,7 @@ find_package(commata REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE commata::commata) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + +if (commata_VERSION VERSION_LESS "0.2.7") + target_compile_definitions(${PROJECT_NAME} PRIVATE "COMMATA_VERSION_LESS_0_2_7") +endif() diff --git a/recipes/commata/all/test_package/test_package.cpp b/recipes/commata/all/test_package/test_package.cpp index 5221c81aef901..bb1415b5814ab 100644 --- a/recipes/commata/all/test_package/test_package.cpp +++ b/recipes/commata/all/test_package/test_package.cpp @@ -50,7 +50,11 @@ int main(void) { std::vector> field_values; test_collector collector(field_values); +#ifdef COMMATA_VERSION_LESS_0_2_7 commata::parse_csv(&buf, collector); +#else + commata::parse_csv(buf, collector); +#endif std::cout << field_values.size() << '\n'; diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index 02125db50fd0d..d1d1354a69b90 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,13 +1,9 @@ versions: + "0.2.7": + folder: all "0.2.6-bug1": folder: all "0.2.6": folder: all "0.2.5": folder: all - "0.2.4-bug1": - folder: all - "0.2.4": - folder: all - "0.2.3": - folder: all From 9d975c2f02e3fdee04970f475a8cc50366212275 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 23 Dec 2023 11:38:10 +0200 Subject: [PATCH 0524/1307] (#21852) ittapi: add v3.24.4 --- recipes/ittapi/all/conandata.yml | 3 +++ recipes/ittapi/all/conanfile.py | 8 ++++---- recipes/ittapi/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/ittapi/all/conandata.yml b/recipes/ittapi/all/conandata.yml index 425388a0a3b63..a637e62d86570 100644 --- a/recipes/ittapi/all/conandata.yml +++ b/recipes/ittapi/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.24.4": + url: "https://github.com/intel/ittapi/archive/v3.24.4.tar.gz" + sha256: "f7341c563f228f4358b645fce526208c742fe13e61fc3ba2c777ba94d36e98f5" "3.24.0": url: "https://github.com/intel/ittapi/archive/v3.24.0.tar.gz" sha256: "36c42d3f2446ddfaa2d7dfa02dfaa79615933f1a68a72d7e4f1d70de7b56e2c9" diff --git a/recipes/ittapi/all/conanfile.py b/recipes/ittapi/all/conanfile.py index dc49d467bcae0..0e0597fe61fbb 100644 --- a/recipes/ittapi/all/conanfile.py +++ b/recipes/ittapi/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file +from conan.tools.scm import Version import os required_conan_version = ">=1.47.0" @@ -52,10 +53,9 @@ def source(self): def _patch_sources(self): # Don't force PIC - replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), - "set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")", - "" - ) + if Version(self.version) < "3.24.1": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + 'set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")', "") def generate(self): self._patch_sources() diff --git a/recipes/ittapi/config.yml b/recipes/ittapi/config.yml index e8e090e18ce3e..68b246e705157 100644 --- a/recipes/ittapi/config.yml +++ b/recipes/ittapi/config.yml @@ -1,4 +1,6 @@ versions: + "3.24.4": + folder: all "3.24.0": folder: all "3.23.0": From 7465920e86c186fe28352e54f5e38e3bf75fcf5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Ferdinand=20Rivera=20Morell?= Date: Sat, 23 Dec 2023 14:48:13 -0600 Subject: [PATCH 0525/1307] (#21880) B2 5.0.0 --- recipes/b2/config.yml | 2 ++ recipes/b2/portable/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/b2/config.yml b/recipes/b2/config.yml index 7a4ee6b5a0f42..fc7ada07a386e 100644 --- a/recipes/b2/config.yml +++ b/recipes/b2/config.yml @@ -7,3 +7,5 @@ versions: folder: portable "4.10.1": folder: portable + "5.0.0": + folder: portable diff --git a/recipes/b2/portable/conandata.yml b/recipes/b2/portable/conandata.yml index b31f151449d95..4bd954865dc3a 100644 --- a/recipes/b2/portable/conandata.yml +++ b/recipes/b2/portable/conandata.yml @@ -11,3 +11,6 @@ sources: "4.10.1": url: "https://github.com/bfgroup/b2/releases/download/4.10.1/b2-4.10.1.tar.bz2" sha256: "d0818276955c3351eac26e4aa1e61046cfded88773232d76f2833c93bb917633" + "5.0.0": + url: "https://github.com/bfgroup/b2/releases/download/5.0.0/b2-5.0.0.tar.bz2" + sha256: "1ef867f7d374345a948baca025ed277dadda05a68439aa383a06aceb9911f7d3" From 6f87c2c828e6c81c8f3dd6fcb0c899d7ed90a34b Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 24 Dec 2023 12:48:23 +0900 Subject: [PATCH 0526/1307] (#21882) commata: add version 0.2.8 --- recipes/commata/all/conandata.yml | 3 +++ recipes/commata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index 91da95d40710f..fae0216296235 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.8": + url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.8.tar.gz" + sha256: "a762ec3ef1549aa5aebef78a160a40ee16d396fd976154f1f5c160837d145c8a" "0.2.7": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.7.tar.gz" sha256: "3feeeea8eafa67a0f328382380f193df9a798665e10333e9e5b6db5fe1794283" diff --git a/recipes/commata/config.yml b/recipes/commata/config.yml index d1d1354a69b90..613aa17053d3e 100644 --- a/recipes/commata/config.yml +++ b/recipes/commata/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.8": + folder: all "0.2.7": folder: all "0.2.6-bug1": From f355b4335091ca0fbcee0e477ab7b2af48efe4c5 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 24 Dec 2023 20:16:52 +0900 Subject: [PATCH 0527/1307] (#21885) unordered_dense: add version 4.4.0 --- recipes/unordered_dense/all/conandata.yml | 3 +++ recipes/unordered_dense/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/unordered_dense/all/conandata.yml b/recipes/unordered_dense/all/conandata.yml index 21a7d366a494c..86e169e3f5d8e 100644 --- a/recipes/unordered_dense/all/conandata.yml +++ b/recipes/unordered_dense/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.0": + url: "https://github.com/martinus/unordered_dense/archive/v4.4.0.tar.gz" + sha256: "3976399793e8cb4db1409ce15610fbd9e5e406ced4745f262d393a9311efbd88" "4.3.1": url: "https://github.com/martinus/unordered_dense/archive/v4.3.1.tar.gz" sha256: "ff069b0b7697a3601cd674e4a4405edc6ec1d60a5cc3e7fff18db9e24ecc8ec3" diff --git a/recipes/unordered_dense/config.yml b/recipes/unordered_dense/config.yml index 15f32e6672d08..10a6f06d5e35d 100644 --- a/recipes/unordered_dense/config.yml +++ b/recipes/unordered_dense/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.0": + folder: all "4.3.1": folder: all "4.3.0": From c4454b5a0848630de6749a7bbe2ba0b5bafa7520 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 25 Dec 2023 02:03:14 +0900 Subject: [PATCH 0528/1307] (#21887) libavif: add version 1.0.3 --- recipes/libavif/all/conandata.yml | 7 +++++++ recipes/libavif/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libavif/all/conandata.yml b/recipes/libavif/all/conandata.yml index 4c6e091c13d31..cf855ce45dc5b 100644 --- a/recipes/libavif/all/conandata.yml +++ b/recipes/libavif/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.3": + url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.3.tar.gz" + sha256: "35e3cb3cd7158209dcc31d3bf222036de5b9597e368a90e18449ecc89bb86a19" "1.0.2": url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v1.0.2.tar.gz" sha256: "de8bf79488c5b523b77358df8b85ae69c3078e6b3f1636fc1f313f952269ad20" @@ -12,6 +15,10 @@ sources: url: "https://github.com/AOMediaCodec/libavif/archive/refs/tags/v0.9.3.tar.gz" sha256: "bcd9a1f57f982a9615eb7e2faf87236dc88eb1d0c886f3471c7440ead605060d" patches: + "1.0.3": + - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch + patch_description: "disable compiler options for develop" + patch_type: "portability" "1.0.2": - patch_file: patches/1.0.1-0001-disable-developer-only-codepaths.patch patch_description: "disable compiler options for develop" diff --git a/recipes/libavif/config.yml b/recipes/libavif/config.yml index 4c37b1d7a9e9a..74dbb33aa4932 100644 --- a/recipes/libavif/config.yml +++ b/recipes/libavif/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.3": + folder: all "1.0.2": folder: all "1.0.1": From 912926568d16fa2a8d31c965e536bdf3160e07a2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 14:44:54 +0100 Subject: [PATCH 0529/1307] (#21891) libxslt: add version 1.1.39 --- recipes/libxslt/all/conandata.yml | 3 +++ recipes/libxslt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxslt/all/conandata.yml b/recipes/libxslt/all/conandata.yml index 535fcb94f934b..c4c2c71816465 100644 --- a/recipes/libxslt/all/conandata.yml +++ b/recipes/libxslt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.39": + sha256: "2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0" + url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.39.tar.xz" "1.1.37": sha256: "3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4" url: "https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz" diff --git a/recipes/libxslt/config.yml b/recipes/libxslt/config.yml index d53687ed0c186..d65db35f37aec 100644 --- a/recipes/libxslt/config.yml +++ b/recipes/libxslt/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.39": + folder: all "1.1.37": folder: all "1.1.34": From 5d39af0588de0c8866f93efd67b05868d510e38a Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 01:36:03 +0900 Subject: [PATCH 0530/1307] (#21895) uwebsockets: add version 20.53.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 78605fe3fd6a9..c0ce42c9c6d8e 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.53.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" + sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" "20.51.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 2e74e7a332db3..2431934b0aaf1 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.53.0": + folder: all "20.51.0": folder: all "20.49.0": From 86b3e50e3b079446eeb4b8bbee942eb7f94a558c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 25 Dec 2023 20:05:46 +0200 Subject: [PATCH 0531/1307] (#21863) tinygltf: add v2.8.19 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/tinygltf/all/conandata.yml | 3 +++ recipes/tinygltf/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinygltf/all/conandata.yml b/recipes/tinygltf/all/conandata.yml index ecf335230f785..fb20b704f6ed3 100644 --- a/recipes/tinygltf/all/conandata.yml +++ b/recipes/tinygltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.19": + url: "https://github.com/syoyo/tinygltf/archive/v2.8.19.tar.gz" + sha256: "9e3f6206c6e922c7482e1b4612b62c5cddb7e053b6690fa20edfa5d97805053b" "2.8.13": url: "https://github.com/syoyo/tinygltf/archive/v2.8.13.tar.gz" sha256: "72c3e5affa8389442582e4cf67426376e2dff418e998e19822260f4bf58b74b8" diff --git a/recipes/tinygltf/config.yml b/recipes/tinygltf/config.yml index b8d9dd2cb9e3a..0589bcf5301f7 100644 --- a/recipes/tinygltf/config.yml +++ b/recipes/tinygltf/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.19": + folder: all "2.8.13": folder: all "2.5.0": From 9ffbb46dca1f7ae04e4bff3260aeda0c7e64806c Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:31:51 +0100 Subject: [PATCH 0532/1307] (#21898) libgphoto2: bump deps --- recipes/libgphoto2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index af18cb02458ef..4ff9ce5a31cae 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: @@ -69,7 +69,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From a08933830d8469ea39cb03c7721834278d409764 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:48:30 +0100 Subject: [PATCH 0533/1307] (#21897) aravis: bump deps --- recipes/aravis/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index 19795c53aec2d..dd3d02a581da3 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -72,8 +72,8 @@ def layout(self): def requirements(self): # glib-object.h and gio/gio.h are used in several public headers - self.requires("glib/2.78.0", transitive_headers=True) - self.requires("libxml2/2.11.4") + self.requires("glib/2.78.1", transitive_headers=True) + self.requires("libxml2/2.12.2") self.requires("zlib/[>=1.2.11 <2]") if self.options.usb: @@ -104,10 +104,10 @@ def validate(self): def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! - self.tool_requires("meson/1.2.1") + self.tool_requires("meson/1.3.0") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.options.introspection: self.tool_requires("gobject-introspection/1.72.0") From b2aa2e28a910311105e8258e9a6a99383065a098 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 21:58:11 +0100 Subject: [PATCH 0534/1307] (#21902) norm: bump deps --- recipes/norm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index d900ba9bfd4b9..631f2c31ff5ee 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4") # dependency of protolib actually + self.requires("libxml2/2.12.2") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) From 6c7ceb6f480b963be215900cabb03e19a6f2b2dd Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 25 Dec 2023 22:18:49 +0100 Subject: [PATCH 0535/1307] (#21899) libnghttp2: bump deps --- recipes/libnghttp2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index ac841e13b7b86..74a79e9337e57 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -60,10 +60,10 @@ def requirements(self): if self.options.with_app or self.options.get_safe("with_asio"): self.requires("openssl/[>=1.1 <4]") if self.options.with_app: - self.requires("c-ares/1.20.1") + self.requires("c-ares/1.22.0") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.2") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") From f1f34c5818befef614d27ca67543513f19632bb1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 03:13:57 +0200 Subject: [PATCH 0536/1307] (#21908) linux-syscall-support: add v2022.10.12 --- recipes/linux-syscall-support/all/conandata.yml | 2 ++ recipes/linux-syscall-support/config.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/recipes/linux-syscall-support/all/conandata.yml b/recipes/linux-syscall-support/all/conandata.yml index e2cbe519dc5b7..ca4a399974573 100644 --- a/recipes/linux-syscall-support/all/conandata.yml +++ b/recipes/linux-syscall-support/all/conandata.yml @@ -1,3 +1,5 @@ sources: + "2022.10.12": + url: "https://chromium.googlesource.com/linux-syscall-support/+archive/refs/tags/v2022.10.12.tar.gz" "cci.20200813": url: "https://chromium.googlesource.com/linux-syscall-support/+archive/29f7c7e018f4ce706a709f0b0afbf8bacf869480.tar.gz" diff --git a/recipes/linux-syscall-support/config.yml b/recipes/linux-syscall-support/config.yml index 701f50987ccf0..13c1a01d76262 100644 --- a/recipes/linux-syscall-support/config.yml +++ b/recipes/linux-syscall-support/config.yml @@ -1,3 +1,5 @@ versions: + "2022.10.12": + folder: all "cci.20200813": folder: all From 6362dd8398f947914beddd6bb20633504fe090e0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 03:28:37 +0200 Subject: [PATCH 0537/1307] (#21906) nettle: add v3.9.1 --- recipes/nettle/all/conandata.yml | 3 +++ recipes/nettle/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nettle/all/conandata.yml b/recipes/nettle/all/conandata.yml index 8e0d6c4f8c0c7..8d2046aa39c9c 100644 --- a/recipes/nettle/all/conandata.yml +++ b/recipes/nettle/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.9.1": + url: "https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz" + sha256: "ccfeff981b0ca71bbd6fbcb054f407c60ffb644389a5be80d6716d5b550c6ce3" "3.8.1": url: "https://ftp.gnu.org/gnu/nettle/nettle-3.8.1.tar.gz" sha256: "364f3e2b77cd7dcde83fd7c45219c834e54b0c75e428b6f894a23d12dd41cbfe" diff --git a/recipes/nettle/config.yml b/recipes/nettle/config.yml index e749bd36291ee..f812356867a67 100644 --- a/recipes/nettle/config.yml +++ b/recipes/nettle/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.1": + folder: "all" "3.8.1": folder: "all" "3.6": From b2be26f1756e3278b8cfb08b379066780c314792 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:33:39 +0200 Subject: [PATCH 0538/1307] (#21918) extra-cmake-modules: add v5.113.0 --- recipes/extra-cmake-modules/all/conandata.yml | 3 +++ recipes/extra-cmake-modules/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/extra-cmake-modules/all/conandata.yml b/recipes/extra-cmake-modules/all/conandata.yml index 141faff804ef5..1879a975409f5 100644 --- a/recipes/extra-cmake-modules/all/conandata.yml +++ b/recipes/extra-cmake-modules/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.113.0": + url: "https://download.kde.org/stable/frameworks/5.113/extra-cmake-modules-5.113.0.tar.xz" + sha256: "265e5440eebeca07351a469e617a4bf35748927bd907b00ace9c018392bb3bc4" "5.111.0": url: "https://download.kde.org/stable/frameworks/5.111/extra-cmake-modules-5.111.0.tar.xz" sha256: "555d3c1dfa6727b4e64a35d3f01724c9fcd6209c2a41f2b2297c39ed7aabea9a" diff --git a/recipes/extra-cmake-modules/config.yml b/recipes/extra-cmake-modules/config.yml index 9ff0f9399df41..789c28809f9ae 100644 --- a/recipes/extra-cmake-modules/config.yml +++ b/recipes/extra-cmake-modules/config.yml @@ -1,4 +1,6 @@ versions: + "5.113.0": + folder: "all" "5.111.0": folder: "all" "5.108.0": From 631f9bf5aabc1a6d64eb6c969f1c9ab4b4777570 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:43:51 +0200 Subject: [PATCH 0539/1307] (#21913) drflac: add v0.12.42 --- recipes/drflac/all/conandata.yml | 8 +++++--- recipes/drflac/config.yml | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/recipes/drflac/all/conandata.yml b/recipes/drflac/all/conandata.yml index 4b8f26778e5b0..a2e60990c6f30 100644 --- a/recipes/drflac/all/conandata.yml +++ b/recipes/drflac/all/conandata.yml @@ -1,9 +1,11 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb/dr_flac.h#L3 + "0.12.42": + url: "https://github.com/mackron/dr_libs/archive/a4b73d3d423e1cea0652b76d0806e7620337a40f.zip" + sha256: "89729a85f092a81eb6e646c1580525c7738c4780bc59890c908b9582e8e9312b" "0.12.39": - url: https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip + url: "https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip" sha256: "077d6b29a78da5132065fcc9b44ca50e7e168b94250f2c25614101d3f808bcc1" - # NOTE: https://github.com/mackron/dr_libs/blob/089deaa62268e6dacf2026754b1b228e54eb3993/dr_flac.h#L3 "0.12.38": - url: https://github.com/mackron/dr_libs/archive/089deaa62268e6dacf2026754b1b228e54eb3993.zip + url: "https://github.com/mackron/dr_libs/archive/089deaa62268e6dacf2026754b1b228e54eb3993.zip" sha256: "1b9fa02c56c2b42c99dd070c7dc3d4e8dee6a4e49139055e7f79e21aa88070d7" diff --git a/recipes/drflac/config.yml b/recipes/drflac/config.yml index f7ff0941f9f1b..75c09924cb231 100644 --- a/recipes/drflac/config.yml +++ b/recipes/drflac/config.yml @@ -1,4 +1,6 @@ versions: + "0.12.42": + folder: all "0.12.39": folder: all "0.12.38": From 63b6e327e0402ce1ae749d57d0098c02448d7861 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 04:57:39 +0200 Subject: [PATCH 0540/1307] (#21920) cfitsio: add v4.3.1 --- recipes/cfitsio/all/conandata.yml | 6 ++++++ recipes/cfitsio/config.yml | 2 ++ 2 files changed, 8 insertions(+) diff --git a/recipes/cfitsio/all/conandata.yml b/recipes/cfitsio/all/conandata.yml index 8fe35bec67203..6b0480fb20585 100644 --- a/recipes/cfitsio/all/conandata.yml +++ b/recipes/cfitsio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.3.1": + url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.1.tar.gz" + sha256: "2332b965d327a15c103a7d31d6d1afaf775d00e9785dd25332ae76b9725351e4" "4.3.0": url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.3.0.tar.gz" sha256: "734ab0198714fe43eab94a67d6987085bde5573e6babde4d05799a8d04ebb04c" @@ -21,6 +24,9 @@ sources: url: "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-3.47.tar.gz" sha256: "985606e058403c073a68d95be74e9696f0ded9414520784457a1d4cba8cca7e2" patches: + "4.3.1": + - patch_file: "patches/windows-use-strtok_s.patch" + - patch_file: "patches/fix-cmake-4.2.0.patch" "4.3.0": - patch_file: "patches/windows-use-strtok_s.patch" - patch_file: "patches/fix-cmake-4.2.0.patch" diff --git a/recipes/cfitsio/config.yml b/recipes/cfitsio/config.yml index 052075e2e1199..644678fbd04e4 100644 --- a/recipes/cfitsio/config.yml +++ b/recipes/cfitsio/config.yml @@ -1,4 +1,6 @@ versions: + "4.3.1": + folder: all "4.3.0": folder: all "4.2.0": From 6b221f03024b23f030d1b123f7528edb965375e7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 05:28:48 +0200 Subject: [PATCH 0541/1307] (#21909) lmdb: add v0.9.31 --- recipes/lmdb/all/conandata.yml | 3 +++ recipes/lmdb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lmdb/all/conandata.yml b/recipes/lmdb/all/conandata.yml index 924b591216793..34b1aee159c75 100644 --- a/recipes/lmdb/all/conandata.yml +++ b/recipes/lmdb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.31": + url: "https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.31/openldap-LMDB_0.9.31.tar.gz" + sha256: "d35d4f6f46313d62fd342c9dcbf574432919ce5e802d2b6cbe2ebd549821e5c4" "0.9.29": url: "https://git.openldap.org/openldap/openldap/-/archive/LMDB_0.9.29/openldap-LMDB_0.9.29.tar.gz" sha256: "d4c668167a2d703ef91db733b4069b8b74dbc374405855be6626b45e2a7e2dd3" diff --git a/recipes/lmdb/config.yml b/recipes/lmdb/config.yml index 34b7a75931b22..3c0c6966f556b 100644 --- a/recipes/lmdb/config.yml +++ b/recipes/lmdb/config.yml @@ -1,3 +1,5 @@ "versions": + "0.9.31": + "folder": "all" "0.9.29": "folder": "all" From c4cc5b2f01d9a3beafee46e1b59603f2b58ea95d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 05:48:41 +0200 Subject: [PATCH 0542/1307] (#21925) aaplus: add v2.53 --- recipes/aaplus/all/conandata.yml | 5 +++++ recipes/aaplus/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/aaplus/all/conandata.yml b/recipes/aaplus/all/conandata.yml index f1c7c0805bfae..4e0f826f773b4 100644 --- a/recipes/aaplus/all/conandata.yml +++ b/recipes/aaplus/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.53": + url: "http://www.naughter.com/download/aaplus_v2.53.zip" + sha256: "8b06f597535c1750dba71186e991561adb6c5e2d9678e258a3f7d6bdd0e4fda6" "2.41": url: "http://www.naughter.com/download/aaplus_v2.41.zip" sha256: "7aede2802f3542c91eeefa0cdd4419911c7547073c84a6faa4bf31f6b6f172da" patches: + "2.53": + - patch_file: "patches/0001-fix-cmake.patch" "2.41": - patch_file: "patches/0001-fix-cmake.patch" diff --git a/recipes/aaplus/config.yml b/recipes/aaplus/config.yml index 9e92b3b5d3553..c2d9de5dda8c1 100644 --- a/recipes/aaplus/config.yml +++ b/recipes/aaplus/config.yml @@ -1,3 +1,5 @@ versions: + "2.53": + folder: all "2.41": folder: all From 577e83a1a4d0b2284a92b9894f45316360f8c6d4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:08:34 +0200 Subject: [PATCH 0543/1307] (#21928) blaze: add v3.8.2 --- recipes/blaze/all/conandata.yml | 3 +++ recipes/blaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/blaze/all/conandata.yml b/recipes/blaze/all/conandata.yml index a6e5a6aa09753..65e6063976941 100644 --- a/recipes/blaze/all/conandata.yml +++ b/recipes/blaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.2": + url: "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.2.tar.gz" + sha256: "4c4e1915971efbedab95790e4c5cf017d8448057fa8f8c62c46e1643bf72cbb1" "3.8": url: "https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.tar.gz" sha256: "dfaae1a3a9fea0b3cc92e78c9858dcc6c93301d59f67de5d388a3a41c8a629ae" diff --git a/recipes/blaze/config.yml b/recipes/blaze/config.yml index df754600895a3..7b9eb7695fc4e 100644 --- a/recipes/blaze/config.yml +++ b/recipes/blaze/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.2": + folder: all "3.8": folder: all "3.7": From b5638c163fd9ac08e8aaaad61d8cd76b8e572d77 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:28:38 +0200 Subject: [PATCH 0544/1307] (#21931) plf_stack: add v2.0.1 --- recipes/plf_stack/all/conandata.yml | 3 +++ recipes/plf_stack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_stack/all/conandata.yml b/recipes/plf_stack/all/conandata.yml index cf7e7157c6209..033e21f0986b6 100644 --- a/recipes/plf_stack/all/conandata.yml +++ b/recipes/plf_stack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/mattreecebentley/plf_stack/archive/9d11bf2c5de5df739c0943af942a544c95b26ffa.tar.gz" + sha256: "2dd0092fbfc1e3d071398c6ef35cede807b4774fddfd892401f432e7d9efcc5b" "1.64": url: "https://github.com/mattreecebentley/plf_stack/archive/c9d8fae0a66d1d0a19c3d0bf690a2776710511fe.tar.gz" sha256: "8dcca43043a3c5e91a642a3ae84f3acca657c3775536569302bbccc6b70d24e6" diff --git a/recipes/plf_stack/config.yml b/recipes/plf_stack/config.yml index 88575a7de5458..d955d60d65ed1 100644 --- a/recipes/plf_stack/config.yml +++ b/recipes/plf_stack/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "1.64": folder: all "1.63": From 1fa7a385f198fdbbfdd0e7c7b86582242317c2e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 06:48:32 +0200 Subject: [PATCH 0545/1307] (#21932) plf_queue: add v2.0.2 --- recipes/plf_queue/all/conandata.yml | 3 +++ recipes/plf_queue/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_queue/all/conandata.yml b/recipes/plf_queue/all/conandata.yml index c563552517b10..70bc260cc9892 100644 --- a/recipes/plf_queue/all/conandata.yml +++ b/recipes/plf_queue/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/mattreecebentley/plf_queue/archive/1fb9d87a210f7813450ee54a469f9f79ea4ec872.tar.gz" + sha256: "812976e4ebc50556891590e1ba066fbe7b73518749e86bbe227428152a3820c8" "1.22": url: "https://github.com/mattreecebentley/plf_queue/archive/bef2bda67cb4cadfd5dceaaf2c8f037c540a12bc.tar.gz" sha256: "96da3d7f27c62b39a147bc38a8d9f3a1a5f1cb0bfcc3b37d5ee2c7c056ad368e" diff --git a/recipes/plf_queue/config.yml b/recipes/plf_queue/config.yml index 60c525e6c3382..35e06c7f4e645 100644 --- a/recipes/plf_queue/config.yml +++ b/recipes/plf_queue/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "1.22": folder: all "1.21": From 4ba8433baef2b2530a50b5182a5c5bfccdb5caff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 07:09:02 +0200 Subject: [PATCH 0546/1307] (#21934) plf_indiesort: add v1.41 --- recipes/plf_indiesort/all/conandata.yml | 3 +++ recipes/plf_indiesort/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/plf_indiesort/all/conandata.yml b/recipes/plf_indiesort/all/conandata.yml index 8b79bf367fbc1..9638aa153a749 100644 --- a/recipes/plf_indiesort/all/conandata.yml +++ b/recipes/plf_indiesort/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.41": + url: "https://github.com/mattreecebentley/plf_indiesort/archive/fce3d54ed1a43e9e7008703f79c4f4d2e5259176.tar.gz" + sha256: "34cca5e0a20f278dfcd963d18653b9440b1b590f5f193d0e68115f5a1a80bf6f" "1.18": url: "https://github.com/mattreecebentley/plf_indiesort/archive/1999a3017b3a3699f426608841a5a66e0849880d.tar.gz" sha256: "1c035243adbd63d89a61f8a0e8bbea1911ab9421467da9e5d618c30f10f16f91" diff --git a/recipes/plf_indiesort/config.yml b/recipes/plf_indiesort/config.yml index 5b4c7706184cf..473415a4e082f 100644 --- a/recipes/plf_indiesort/config.yml +++ b/recipes/plf_indiesort/config.yml @@ -1,4 +1,6 @@ versions: + "1.41": + folder: all "1.18": folder: all "1.15": From 6eaf5306e7f60d55adf4ea2a4e84f1a5d7c56e0d Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 26 Dec 2023 10:00:46 +0100 Subject: [PATCH 0547/1307] (#21267) cpp-sort: remove legacy conan v1 output.warn which breaks conan v2 with "unknown compilers" * remove legacy conan v1 output.warn * cast self.settings.compiler.version --- recipes/cpp-sort/all/conanfile.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/recipes/cpp-sort/all/conanfile.py b/recipes/cpp-sort/all/conanfile.py index e0e093c1fa165..8dec2c54472db 100644 --- a/recipes/cpp-sort/all/conanfile.py +++ b/recipes/cpp-sort/all/conanfile.py @@ -54,22 +54,11 @@ def loose_lt_semver(v1, v2): min_length = min(len(lv1), len(lv2)) return lv1[:min_length] < lv2[:min_length] - compiler = str(self.settings.compiler) - version = str(self.settings.compiler.version) - try: - minimum_version = self._compilers_minimum_version[str(compiler)] - if minimum_version and loose_lt_semver(version, minimum_version): - msg = ( - f"{self.ref} requires C++{self._min_cppstd} features " - f"which are not supported by compiler {compiler} {version}." - ) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - f"{self.ref} recipe lacks information about the {compiler} compiler, " - f"support for the required C++{self._min_cppstd} features is assumed" + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler)) + if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) - self.output.warn(msg) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From aac904ac30103e949c20403cd9284dcbe89789f9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 18:48:37 +0900 Subject: [PATCH 0548/1307] (#21894) shapelib: add version 1.6.0, use tarballs --- recipes/shapelib/all/conandata.yml | 17 ++++++++++++----- recipes/shapelib/all/conanfile.py | 4 ++-- ... => 1.5.0-0001-cmake-minimum-required.patch} | 0 ...ing.patch => 1.5.0-0002-build-testing.patch} | 0 ...> 1.5.0-0003-relocatable-shared-macos.patch} | 0 .../1.6.0-0003-relocatable-shared-macos.patch | 13 +++++++++++++ recipes/shapelib/config.yml | 2 ++ 7 files changed, 29 insertions(+), 7 deletions(-) rename recipes/shapelib/all/patches/{0001-cmake-minimum-required.patch => 1.5.0-0001-cmake-minimum-required.patch} (100%) rename recipes/shapelib/all/patches/{0002-build-testing.patch => 1.5.0-0002-build-testing.patch} (100%) rename recipes/shapelib/all/patches/{0003-relocatable-shared-macos.patch => 1.5.0-0003-relocatable-shared-macos.patch} (100%) create mode 100644 recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch diff --git a/recipes/shapelib/all/conandata.yml b/recipes/shapelib/all/conandata.yml index 16ed675c6719f..1c122519c5ede 100644 --- a/recipes/shapelib/all/conandata.yml +++ b/recipes/shapelib/all/conandata.yml @@ -1,17 +1,24 @@ sources: + "1.6.0": + url: "https://github.com/OSGeo/shapelib/archive/v1.6.0.tar.gz" + sha256: "0bfd1eab9616ca3c420a5ad674b0d07c7c5018620d6ab6ae43917daa18ff0d1e" "1.5.0": - url: "https://github.com/OSGeo/shapelib/archive/v1.5.0.zip" - sha256: "673b00ef6caef254fe16d831b982e6bbed7397615c57b9ed92cf8b59017dd06b" + url: "https://github.com/OSGeo/shapelib/archive/v1.5.0.tar.gz" + sha256: "48de3a6a8691b0b111b909c0b908af4627635c75322b3a501c0c0885f3558cad" patches: + "1.6.0": + - patch_file: "patches/1.6.0-0003-relocatable-shared-macos.patch" + patch_description: "Relocatable shared lib on macOS" + patch_type: "conan" "1.5.0": - - patch_file: "patches/0001-cmake-minimum-required.patch" + - patch_file: "patches/1.5.0-0001-cmake-minimum-required.patch" patch_description: "Place the cmake_minimum_required call before the project command" patch_source: "https://github.com/OSGeo/shapelib/pull/45" patch_type: "portability" - - patch_file: "patches/0002-build-testing.patch" + - patch_file: "patches/1.5.0-0002-build-testing.patch" patch_description: "Use the standard BUILD_TESTING variable to control building tests" patch_source: "https://github.com/OSGeo/shapelib/pull/46" patch_type: "portability" - - patch_file: "patches/0003-relocatable-shared-macos.patch" + - patch_file: "patches/1.5.0-0003-relocatable-shared-macos.patch" patch_description: "Relocatable shared lib on macOS" patch_type: "conan" diff --git a/recipes/shapelib/all/conanfile.py b/recipes/shapelib/all/conanfile.py index bed1f979c1ec8..e4deabe7afba9 100644 --- a/recipes/shapelib/all/conanfile.py +++ b/recipes/shapelib/all/conanfile.py @@ -11,9 +11,9 @@ class ShapelibConan(ConanFile): name = "shapelib" description = "C library for reading and writing ESRI Shapefiles" license = "LGPL-2.0-or-later", "MIT" - topics = ("osgeo", "shapefile", "esri", "geospatial") - homepage = "https://github.com/OSGeo/shapelib" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OSGeo/shapelib" + topics = ("osgeo", "shapefile", "esri", "geospatial") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { diff --git a/recipes/shapelib/all/patches/0001-cmake-minimum-required.patch b/recipes/shapelib/all/patches/1.5.0-0001-cmake-minimum-required.patch similarity index 100% rename from recipes/shapelib/all/patches/0001-cmake-minimum-required.patch rename to recipes/shapelib/all/patches/1.5.0-0001-cmake-minimum-required.patch diff --git a/recipes/shapelib/all/patches/0002-build-testing.patch b/recipes/shapelib/all/patches/1.5.0-0002-build-testing.patch similarity index 100% rename from recipes/shapelib/all/patches/0002-build-testing.patch rename to recipes/shapelib/all/patches/1.5.0-0002-build-testing.patch diff --git a/recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch b/recipes/shapelib/all/patches/1.5.0-0003-relocatable-shared-macos.patch similarity index 100% rename from recipes/shapelib/all/patches/0003-relocatable-shared-macos.patch rename to recipes/shapelib/all/patches/1.5.0-0003-relocatable-shared-macos.patch diff --git a/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch b/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch new file mode 100644 index 0000000000000..13deeaed93d83 --- /dev/null +++ b/recipes/shapelib/all/patches/1.6.0-0003-relocatable-shared-macos.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 893328e..7d907ad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,7 +137,7 @@ set(shp_VERSION ${PROJECT_VERSION}) + set_target_properties(${PACKAGE} PROPERTIES + SOVERSION ${shp_SOVERSION} + VERSION ${shp_VERSION} +- INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}" ++# INSTALL_NAME_DIR "${CMAKE_INSTALL_LIBDIR}" + ) + + if(USE_RPATH) diff --git a/recipes/shapelib/config.yml b/recipes/shapelib/config.yml index 7f3d5d7f62dd8..04ffd79e144a1 100644 --- a/recipes/shapelib/config.yml +++ b/recipes/shapelib/config.yml @@ -1,3 +1,5 @@ versions: + "1.6.0": + folder: all "1.5.0": folder: all From cd08b6e1ffebe7254ed10987169ddb1dc5a191ef Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 11:08:34 +0100 Subject: [PATCH 0549/1307] (#21896) libxslt: bump libxml --- recipes/libxslt/all/conanfile.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index 6e5032ab98195..e7922c420ae67 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -7,6 +7,7 @@ from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path, NMakeDeps, NMakeToolchain +from conan.tools.scm import Version import os required_conan_version = ">=1.55.0" @@ -59,8 +60,11 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) + if Version(self.version) >= "1.1.39": + # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 + self.requires("libxml2/2.12.2", transitive_headers=True, transitive_libs=True) + else: + self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From dd912ebdb6a68eab50264b9a984e5cf77747a284 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 26 Dec 2023 11:26:38 +0100 Subject: [PATCH 0550/1307] (#21282) arsenalgear: restore shared option + allow msvc since 2.1.0 + fix CMakeLists of 2.1.0 to avoid building and packaging doctest * explicit cmake names * allow msvc since 2.0.0 * remove dead code * msvc support since 2.1.0 * fix CMakeLists of 2.1.0 - honor compiler.cppstd from profile - do not download & build doctest at build time * allow shared again * add patch_source --- recipes/arsenalgear/all/conandata.yml | 6 +++ recipes/arsenalgear/all/conanfile.py | 23 ++++++---- .../all/patches/2.1.0-0001-fix-cmake.patch | 45 +++++++++++++++++++ 3 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch diff --git a/recipes/arsenalgear/all/conandata.yml b/recipes/arsenalgear/all/conandata.yml index 3b459d19be1fc..0408a2c5f4e26 100644 --- a/recipes/arsenalgear/all/conandata.yml +++ b/recipes/arsenalgear/all/conandata.yml @@ -8,3 +8,9 @@ sources: "1.2.2": url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v1.2.2.tar.gz" sha256: "556155d0be0942bcdd5df02fcda258579915e76b5a70e7220de6ef38c8ca7779" +patches: + "2.1.0": + - patch_file: "patches/2.1.0-0001-fix-cmake.patch" + patch_description: "CMake: allow shared, honor compiler.cppstd, avoid to download and build doctest" + patch_type: "conan" + patch_source: "https://github.com/JustWhit3/arsenalgear-cpp/pull/4" diff --git a/recipes/arsenalgear/all/conanfile.py b/recipes/arsenalgear/all/conanfile.py index 3c60d7e171cb3..b33bbef5afbfc 100644 --- a/recipes/arsenalgear/all/conanfile.py +++ b/recipes/arsenalgear/all/conanfile.py @@ -1,10 +1,10 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.microsoft import is_msvc -from conan.tools.files import get, copy, rmdir from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os @@ -17,12 +17,14 @@ class ArsenalgearConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JustWhit3/arsenalgear-cpp" topics = ("constants", "math", "operators", "stream") - package_type = "static-library" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { + "shared": [True, False], "fPIC": [True, False], } default_options = { + "shared": False, "fPIC": True, } @@ -37,10 +39,11 @@ def _compilers_minimum_version(self): "msvc": "192", "gcc": "8", "clang": "7", - "apple-clang": "12.0", + "apple-clang": "12", } def export_sources(self): + export_conandata_patches(self) if Version(self.version) < "2.1.0": copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) @@ -49,7 +52,7 @@ def config_options(self): del self.options.fPIC def configure(self): - if self.options.get_safe("shared"): + if self.options.shared: self.options.rm_safe("fPIC") def layout(self): @@ -64,9 +67,8 @@ def requirements(self): self.requires("exprtk/0.0.2", transitive_headers=True) def validate(self): - # arsenalgear doesn't support Visual Studio(yet). - if is_msvc(self): - raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio(yet)") + if Version(self.version) < "2.1.0" and is_msvc(self): + raise ConanInvalidConfiguration(f"{self.ref} doesn't support Visual Studio.") if self.settings.compiler.cppstd: check_min_cppstd(self, self._min_cppstd) @@ -89,6 +91,7 @@ def generate(self): deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) if Version(self.version) < "2.1.0": cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) @@ -104,6 +107,8 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + self.cpp_info.set_property("cmake_file_name", "arsenalgear") + self.cpp_info.set_property("cmake_target_name", "arsenalgear::arsenalgear") self.cpp_info.libs = ["arsenalgear"] if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch b/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..a54dc4ff14828 --- /dev/null +++ b/recipes/arsenalgear/all/patches/2.1.0-0001-fix-cmake.patch @@ -0,0 +1,45 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -16,27 +16,26 @@ if( EXISTS "${LOC_PATH}" ) + endif() + + # Set c++ standard options +-set( CMAKE_CXX_STANDARD 17 ) +-set( CMAKE_CXX_STANDARD_REQUIRED ON ) +-set( CMAKE_CXX_EXTENSIONS OFF ) + + # Fetching dependencies +-add_subdirectory( deps ) + + # Include directories + include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include ) + + # Create static library +-add_library( arsenalgear STATIC ++add_library( arsenalgear + src/stream.cpp + src/system.cpp + src/utils.cpp + ) ++set_target_properties(arsenalgear PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) ++target_compile_features(arsenalgear PUBLIC cxx_std_17) + add_library( arsenalgear::arsenalgear ALIAS arsenalgear ) + + # Compile tests + option( ARSENALGEAR_TESTS "Enable / disable tests." ON ) + if( ARSENALGEAR_TESTS ) ++ add_subdirectory( deps ) + add_subdirectory( test ) + else() + message( STATUS "Skipping tests." ) +@@ -57,7 +56,9 @@ install( + install( + TARGETS arsenalgear + EXPORT arsenalgearTargets +- DESTINATION lib ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib ++ RUNTIME DESTINATION bin + ) + + install( From d20a46c94b25f67dcdcc0e33a643558b7df99171 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 11:50:45 +0100 Subject: [PATCH 0551/1307] (#21750) approvaltests.cpp/all: bump deps * approvaltests.cpp/all/: bump deps * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * approvaltests.cpp/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/approvaltests.cpp/all/conanfile.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/recipes/approvaltests.cpp/all/conanfile.py b/recipes/approvaltests.cpp/all/conanfile.py index a61797eefb14b..167d80165bb6d 100644 --- a/recipes/approvaltests.cpp/all/conanfile.py +++ b/recipes/approvaltests.cpp/all/conanfile.py @@ -40,8 +40,6 @@ def _header_file(self): return "ApprovalTests.hpp" def config_options(self): - if Version(self.version) < "8.6.0": - del self.options.with_boosttest if Version(self.version) < "10.4.0": del self.options.with_cpputest @@ -49,14 +47,14 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - if self.options.get_safe("with_boosttest"): - self.requires("boost/1.81.0") + if self.options.with_boosttest: + self.requires("boost/1.83.0") if self.options.with_catch2: - self.requires("catch2/2.13.10") + self.requires("catch2/3.5.0") if self.options.with_gtest: - self.requires("gtest/1.12.1") + self.requires("gtest/1.14.0") if self.options.with_doctest: - self.requires("doctest/2.4.10") + self.requires("doctest/2.4.11") if self.options.get_safe("with_cpputest"): self.requires("cpputest/4.0") From 22b4459e118a5acedbfe0fb126934cda0cad47a3 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 12:02:01 +0100 Subject: [PATCH 0552/1307] (#21755) librdkafka/all: bump deps * librdkafka/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * librdkafka/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py --- recipes/librdkafka/all/conanfile.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/recipes/librdkafka/all/conanfile.py b/recipes/librdkafka/all/conanfile.py index cd2ea0b4f8630..cca10bb2c76c2 100644 --- a/recipes/librdkafka/all/conanfile.py +++ b/recipes/librdkafka/all/conanfile.py @@ -4,7 +4,6 @@ from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file from conan.tools.microsoft import is_msvc from conan.tools.gnu import PkgConfigDeps -from conan.tools.scm import Version import os required_conan_version = ">=1.55.0" @@ -70,13 +69,13 @@ def requirements(self): if self.options.ssl: self.requires("openssl/[>=1.1 <4]") if self._depends_on_cyrus_sasl: - self.requires("cyrus-sasl/2.1.27") + self.requires("cyrus-sasl/2.1.28") if self.options.curl: self.requires("libcurl/[>=7.78.0 <9]") def build_requirements(self): if self._depends_on_cyrus_sasl: - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -99,8 +98,7 @@ def generate(self): tc.variables["WITH_SSL"] = self.options.ssl tc.variables["WITH_SASL"] = self.options.sasl tc.variables["ENABLE_LZ4_EXT"] = True - if Version(self.version) >= "1.9.0": - tc.variables["WITH_CURL"] = self.options.curl + tc.variables["WITH_CURL"] = self.options.curl tc.generate() cd = CMakeDeps(self) @@ -113,8 +111,7 @@ def generate(self): def build(self): apply_conandata_patches(self) # There are references to libcrypto.lib and libssl.lib in rdkafka_ssl.c for versions >= 1.8.0 - if Version(self.version) >= "1.8.0" and is_msvc(self) and \ - self.settings.build_type == "Debug" and self.options.get_safe("ssl", False): + if is_msvc(self) and self.settings.build_type == "Debug" and self.options.get_safe("ssl", False): rdkafka_ssl_path = os.path.join(self.source_folder, "src", "rdkafka_ssl.c") replace_in_file(self, rdkafka_ssl_path, "libcrypto.lib", "libcryptod.lib") replace_in_file(self, rdkafka_ssl_path, "libssl.lib", "libssld.lib") From 6abbea2ad513ca662a2eb7b899ba640492c755ab Mon Sep 17 00:00:00 2001 From: i-curve Date: Tue, 26 Dec 2023 19:30:03 +0800 Subject: [PATCH 0553/1307] (#21876) copypp: new version 0.3.0 (#21875) * copypp: new version 0.3.0 (#21875) Signed-off-by: i-curve * copypp: limit compiler version Signed-off-by: i-curve --------- Signed-off-by: i-curve --- recipes/copypp/all/conandata.yml | 4 ++ recipes/copypp/all/conanfile.py | 69 +++++++++++++++++++ .../copypp/all/test_package/CMakeLists.txt | 8 +++ recipes/copypp/all/test_package/conanfile.py | 26 +++++++ .../copypp/all/test_package/test_package.cpp | 38 ++++++++++ recipes/copypp/config.yml | 3 + 6 files changed, 148 insertions(+) create mode 100644 recipes/copypp/all/conandata.yml create mode 100644 recipes/copypp/all/conanfile.py create mode 100644 recipes/copypp/all/test_package/CMakeLists.txt create mode 100644 recipes/copypp/all/test_package/conanfile.py create mode 100644 recipes/copypp/all/test_package/test_package.cpp create mode 100644 recipes/copypp/config.yml diff --git a/recipes/copypp/all/conandata.yml b/recipes/copypp/all/conandata.yml new file mode 100644 index 0000000000000..0570d8ac5e9f4 --- /dev/null +++ b/recipes/copypp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.3.0": + url: "https://github.com/i-curve/copypp/archive/v0.3.0.tar.gz" + sha256: "390dc010597f372015a708d7d37e3d06fdf6a4fe90fb1c0077b45b6da5cb38a2" diff --git a/recipes/copypp/all/conanfile.py b/recipes/copypp/all/conanfile.py new file mode 100644 index 0000000000000..9f6b782973eb5 --- /dev/null +++ b/recipes/copypp/all/conanfile.py @@ -0,0 +1,69 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.52.0" + + +class BasicConanfile(ConanFile): + name = "copypp" + homepage = "https://github.com/i-curve/copypp" + description = "support field copy in different c++ struct." + topics = ("copy", "struct", "header-only") + url = "https://github.com/conan-io/conan-center-index" + license = "MIT" + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "15", + "clang": "13", + "gcc": "11", + "msvc": "19.3", + "Visual Studio": "17", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*.hh", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "copypp") + self.cpp_info.set_property("cmake_target_name", "icurve::copypp") + self.cpp_info.set_property("pkg_config_name", "copypp") diff --git a/recipes/copypp/all/test_package/CMakeLists.txt b/recipes/copypp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..3e0159dd016c1 --- /dev/null +++ b/recipes/copypp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(copypp CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE icurve::copypp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/copypp/all/test_package/conanfile.py b/recipes/copypp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/copypp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/copypp/all/test_package/test_package.cpp b/recipes/copypp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..2cdae31b2fc4b --- /dev/null +++ b/recipes/copypp/all/test_package/test_package.cpp @@ -0,0 +1,38 @@ +#include +#include +#include "icurve/copypp.hh" + +class A { +public: + int id; + std::string name; + bool sex; + +public: + A() = default; + A(int id, std::string name, bool sex) : id(id), name(name), sex(sex) {} +}; + +class B { +public: + int id; + std::string name; + bool sex; + +public: + B() = default; + B(int id, std::string name, bool sex) : id(id), name(name), sex(sex) {} +}; + +COPYPP_FIELDS_NON_INTRUSIVE(B, A, id, name, sex) + +int main(void) { + A a(1, "curve", true); + B b; + icurve::copy(b, a); + assert(a.id == b.id); + assert(a.name == b.name); + assert(a.sex == b.sex); + std::cout << "copypp ok" << std::endl; + return EXIT_SUCCESS; +} diff --git a/recipes/copypp/config.yml b/recipes/copypp/config.yml new file mode 100644 index 0000000000000..d126790212e0c --- /dev/null +++ b/recipes/copypp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.3.0": + folder: all From b198cd5becdf521d39312d6a63b4aa778f131997 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 13:33:40 +0200 Subject: [PATCH 0554/1307] (#18694) coz: migrate to Conan v2 * coz: migrate to Conan v2 * coz: use is_apple_os() * coz: update * coz: fix test_package * coz: static build is not supported, mark as shared-library * coz: drop test_v1_package --- recipes/coz/all/CMakeLists.txt | 7 -- recipes/coz/all/conanfile.py | 79 ++++++++++++--------- recipes/coz/all/test_package/CMakeLists.txt | 7 +- recipes/coz/all/test_package/conanfile.py | 37 +++++++--- 4 files changed, 79 insertions(+), 51 deletions(-) delete mode 100644 recipes/coz/all/CMakeLists.txt diff --git a/recipes/coz/all/CMakeLists.txt b/recipes/coz/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/coz/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/coz/all/conanfile.py b/recipes/coz/all/conanfile.py index 525f92fcfbd9c..b3da8b64ac09e 100644 --- a/recipes/coz/all/conanfile.py +++ b/recipes/coz/all/conanfile.py @@ -1,61 +1,76 @@ import os -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import get, rmdir +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class CozConan(ConanFile): name = "coz" - description = """Causal profiler, uses performance experiments - to predict the effect of optimizations""" + description = "Causal profiler, uses performance experiments to predict the effect of optimizations" + license = "BSD-2-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "http://coz-profiler.org" - license = "BSD-2-Clause" - topics = ("conan", "coz", "profiler", "causal") + topics = ("profiler", "causal") + package_type = "shared-library" settings = "os", "arch", "compiler", "build_type" - requires = "libelfin/0.3" - exports_sources = "CMakeLists.txt" - generators = "cmake", "cmake_find_package" + def layout(self): + cmake_layout(self, src_folder="src") + + def package_id(self): + del self.info.settings.compiler + del self.info.settings.build_type - _source_subfolder = "source_subfolder" + def requirements(self): + self.requires("libelfin/0.3") def validate(self): - compiler = self.settings.compiler - compiler_version = tools.Version(self.settings.compiler.version) - if self.settings.os == "Macos" or compiler == "Visual Studio" or ( - compiler == "gcc" and compiler_version < "5.0"): - raise ConanInvalidConfiguration( - "coz doesn't support compiler: {} on OS: {}.".format( - self.settings.compiler, self.settings.os)) if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, "11") + check_min_cppstd(self, 11) + compiler_version = Version(self.settings.compiler.version) + if self.settings.compiler == "gcc" and compiler_version < "5.0": + raise ConanInvalidConfiguration("coz requires GCC >= 5.0") + if is_apple_os(self) or is_msvc(self): + raise ConanInvalidConfiguration(f"coz doesn't support {self.settings.os}.") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - _cmake = None - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): + # https://github.com/plasma-umass/coz/#cmake + self.cpp_info.set_property("cmake_file_name", "coz-profiler") + self.cpp_info.set_property("cmake_target_name", "coz::coz") + + self.cpp_info.libs = ["coz"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "dl", "pthread", "rt"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "coz-profiler" self.cpp_info.filenames["cmake_find_package_multi"] = "coz-profiler" self.cpp_info.names["cmake_find_package"] = "coz" diff --git a/recipes/coz/all/test_package/CMakeLists.txt b/recipes/coz/all/test_package/CMakeLists.txt index 7b9b613cbb24a..d7ea7e2a51ab7 100644 --- a/recipes/coz/all/test_package/CMakeLists.txt +++ b/recipes/coz/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(coz-profiler REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE coz::coz) diff --git a/recipes/coz/all/test_package/conanfile.py b/recipes/coz/all/test_package/conanfile.py index ad479949b486f..fe45f480669f3 100644 --- a/recipes/coz/all/test_package/conanfile.py +++ b/recipes/coz/all/test_package/conanfile.py @@ -1,19 +1,40 @@ -from conans import ConanFile, CMake, tools import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.files import chdir + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - cmake = CMake(self, build_type="RelWithDebInfo") # To work properly Coz tool requires debug information https://github.com/plasma-umass/coz + cmake = CMake(self) cmake.configure() cmake.build() def test(self): - if tools.cross_building(self.settings): + if self.settings.build_type not in ["Debug", "RelWithDebInfo"]: + self.output.info(f"Skipping coz test because {self.settings.build_type} " + "build type does not contain debug information") return - bin_path = os.path.join("bin", "test_package") - self.run("coz run --- " + bin_path, run_environment=True) - print(open("profile.coz").read()) + if self.settings.os == "Linux": + perf_even_paranoid = int(open("/proc/sys/kernel/perf_event_paranoid").read()) + is_root = os.geteuid() == 0 + if perf_even_paranoid > 2 and not is_root: + self.output.info("Skipping coz test because /proc/sys/kernel/perf_event_paranoid value " + f"must be <= 2 (currently {perf_even_paranoid}) and not running as root") + return + if can_run(self): + with chdir(self, self.cpp.build.bindir): + self.run("coz run --- ./test_package", env="conanrun") + print(open("profile.coz").read()) From d20854ae80cb07b6b06b0df5845e542683a3b293 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 20:49:03 +0900 Subject: [PATCH 0555/1307] (#21884) xmlsec: add version 1.3.2 * xmlsec: add version 1.3.2 * add enable-pedantic for older gcc --- recipes/xmlsec/all/conandata.yml | 3 +++ recipes/xmlsec/all/conanfile.py | 2 ++ recipes/xmlsec/config.yml | 2 ++ 3 files changed, 7 insertions(+) diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml index 9dcbff28223be..7f3fc57bc6bab 100644 --- a/recipes/xmlsec/all/conandata.yml +++ b/recipes/xmlsec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec_1_3_2/xmlsec1-1.3.2.tar.gz" + sha256: "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf" "1.2.38": url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec-1_2_38/xmlsec1-1.2.38.tar.gz" sha256: "9de8cf8d7d2e288a9cef205cc6cb93c926a67dadfaf44aaff76ed63c28ce9902" diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 30f254478d8cf..1da9588a9dd91 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -120,6 +120,8 @@ def generate(self): "--enable-docs=no", "--enable-mans=no", ]) + if Version(self.version) >= "1.3.2": + tc.configure_args.append("--enable-pedantic=no") tc.generate() deps = AutotoolsDeps(self) diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml index ff9c9e19a6b99..f6bb070510906 100644 --- a/recipes/xmlsec/config.yml +++ b/recipes/xmlsec/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.2.38": folder: all "1.2.33": From b3579ff5b763ce458a93c75e9b0af4b6b7a34a55 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 14:29:02 +0200 Subject: [PATCH 0556/1307] (#21581) minizip-ng: add v3.0.10, drop old v3 versions --- recipes/minizip-ng/all/conandata.yml | 40 ++++--------------- .../patches/3.0.1-0002-fix-lzma-libdir.patch | 10 ----- ...ch => 3.0.10-0001-fix-cmake-project.patch} | 12 +++--- .../3.0.4-0001-fix-cmake-project.patch | 22 ---------- .../3.0.5-0001-fix-cmake-project.patch | 22 ---------- .../patches/3.0.5-0002-fix-lzma-libdir.patch | 10 ----- recipes/minizip-ng/config.yml | 8 +--- 7 files changed, 15 insertions(+), 109 deletions(-) delete mode 100644 recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch rename recipes/minizip-ng/all/patches/{3.0.6-0001-fix-cmake-project.patch => 3.0.10-0001-fix-cmake-project.patch} (61%) delete mode 100644 recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch delete mode 100644 recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 3d2b61dbae697..5f960210fcf89 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -11,6 +11,9 @@ sources: "4.0.0": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.0.tar.gz" sha256: "f9062e576de026fd5026d65597de3b05263cd4d91400cacdbbe36dfa8a642fff" + "3.0.10": + url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.10.tar.gz" + sha256: "d4a549731d8c7074e421dbab6d8b8ad0a93067752fe767c464f0f40fa5f0a80d" "3.0.9": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.9.tar.gz" sha256: "992693a532eb15b20d306e6aeea1a1a6501bd19dca993ebe9a95fd22d6b7fd74" @@ -20,16 +23,11 @@ sources: "3.0.7": url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.7.tar.gz" sha256: "39981a0db1bb6da504909bce63d7493286c5e50825c056564544c990d15c55cf" - "3.0.6": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.6.tar.gz" - sha256: "383fa1bdc28c482828a8a8db53f758dbd44291b641182724fda5df5b59cce543" - "3.0.5": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.5.tar.gz" - sha256: "1a248c378fdf4ef6c517024bb65577603d5146cffaebe81900bec9c0a5035d4d" - "3.0.4": - url: "https://github.com/zlib-ng/minizip-ng/archive/3.0.4.tar.gz" - sha256: "2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c" patches: + "3.0.10": + - patch_file: "patches/3.0.10-0001-fix-cmake-project.patch" + patch_description: "CMake: declare project() sooner" + patch_type: "conan" "3.0.9": - patch_file: "patches/3.0.9-0001-fix-cmake-project.patch" patch_description: "CMake: declare project() sooner" @@ -46,27 +44,3 @@ patches: patch_description: "CMake: inject libdir of lzma" patch_type: "conan" patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.6": - - patch_file: "patches/3.0.6-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.6-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.5": - - patch_file: "patches/3.0.5-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.5-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" - "3.0.4": - - patch_file: "patches/3.0.4-0001-fix-cmake-project.patch" - patch_description: "CMake: declare project() sooner" - patch_type: "conan" - - patch_file: "patches/3.0.1-0002-fix-lzma-libdir.patch" - patch_description: "CMake: inject libdir of lzma" - patch_type: "conan" - patch_source: "https://github.com/zlib-ng/minizip-ng/pull/658" diff --git a/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch b/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch deleted file mode 100644 index cb1ecba6e8149..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.1-0002-fix-lzma-libdir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -312,6 +312,7 @@ if(MZ_LZMA) - - list(APPEND MINIZIP_INC ${LIBLZMA_INCLUDE_DIRS}) - list(APPEND MINIZIP_LIB ${LIBLZMA_LIBRARIES}) -+ list(APPEND MINIZIP_LBD ${LIBLZMA_LIBRARY_DIRS}) - - set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lliblzma") - elseif(MZ_FETCH_LIBS) diff --git a/recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch similarity index 61% rename from recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch rename to recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch index e08990e93540e..59a38a7b64d6f 100644 --- a/recipes/minizip-ng/all/patches/3.0.6-0001-fix-cmake-project.patch +++ b/recipes/minizip-ng/all/patches/3.0.10-0001-fix-cmake-project.patch @@ -1,14 +1,14 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -70,6 +70,7 @@ enable_language(C) +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -80,6 +80,7 @@ # Library version - set(VERSION "3.0.6") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) + set(VERSION "3.0.10") ++project(minizip${MZ_PROJECT_SUFFIX} LANGUAGES C VERSION ${VERSION}) # API version set(SOVERSION "3") -@@ -663,7 +664,6 @@ endif() +@@ -662,7 +663,6 @@ list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) # Create minizip library diff --git a/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch deleted file mode 100644 index 5ae134194c263..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.4-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -63,10 +63,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.4") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3") -@@ -681,7 +681,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch b/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch deleted file mode 100644 index bc28f8055105e..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.5-0001-fix-cmake-project.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -66,10 +66,10 @@ endif() - # BZIP2_ROOT - Parent directory of BZip2 installation - # OPENSSL_ROOT - Parent directory of OpenSSL installation - --enable_language(C) - - # Library version - set(VERSION "3.0.5") -+project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION} LANGUAGES C) - - # API version - set(SOVERSION "3") -@@ -661,7 +661,6 @@ endif() - list(APPEND MINIZIP_INC ${CMAKE_CURRENT_SOURCE_DIR}) - - # Create minizip library --project(minizip${MZ_PROJECT_SUFFIX} VERSION ${VERSION}) - - if(NOT ${MZ_PROJECT_SUFFIX} STREQUAL "") - message(STATUS "Project configured as ${PROJECT_NAME}") diff --git a/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch b/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch deleted file mode 100644 index 0e4b01050297b..0000000000000 --- a/recipes/minizip-ng/all/patches/3.0.5-0002-fix-lzma-libdir.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -303,6 +303,7 @@ if(MZ_LZMA) - - list(APPEND MINIZIP_INC ${LIBLZMA_INCLUDE_DIRS}) - list(APPEND MINIZIP_LIB ${LIBLZMA_LIBRARIES}) -+ list(APPEND MINIZIP_LBD ${LIBLZMA_LIBRARY_DIRS}) - - set(PC_PRIVATE_LIBS "${PC_PRIVATE_LIBS} -lliblzma") - elseif(MZ_FETCH_LIBS) diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index 30253cff927d4..b392738806e8d 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -7,15 +7,11 @@ versions: folder: all "4.0.0": folder: all + "3.0.10": + folder: all "3.0.9": folder: all "3.0.8": folder: all "3.0.7": folder: all - "3.0.6": - folder: all - "3.0.5": - folder: all - "3.0.4": - folder: all From 855a5997e03fb50364c0fca87184ad460f48b8a2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 13:40:28 +0100 Subject: [PATCH 0557/1307] (#21900) hwloc: bump deps --- recipes/hwloc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index b3766fb59545e..06d5183a8393e 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -32,7 +32,7 @@ def configure(self): def requirements(self): if self.options.with_libxml2: - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 4393fac642bfe53b9d2c6e194872ef6f18b1ba0f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 14:49:52 +0200 Subject: [PATCH 0558/1307] (#21924) cryptopp: add v8.9.0 --- recipes/cryptopp/all/conandata.yml | 7 +++++++ recipes/cryptopp/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 8b52a60c80d57..6ca47dae24406 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "8.9.0": + source: + url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_9_0.tar.gz" + sha256: "ab5174b9b5c6236588e15a1aa1aaecb6658cdbe09501c7981ac8db276a24d9ab" + cmake: + url: "https://github.com/abdes/cryptopp-cmake/archive/CRYPTOPP_8_9_0.tar.gz" + sha256: "191d69061c56602de1610ebf03b44dcf75636006e7e60ef8105bee6472ec0caf" "8.8.0": source: url: "https://github.com/weidai11/cryptopp/archive/CRYPTOPP_8_8_0.tar.gz" diff --git a/recipes/cryptopp/config.yml b/recipes/cryptopp/config.yml index 58c17b09dbebf..f7be670f19b31 100644 --- a/recipes/cryptopp/config.yml +++ b/recipes/cryptopp/config.yml @@ -1,4 +1,6 @@ versions: + "8.9.0": + folder: "all" "8.8.0": folder: "all" "8.7.0": From 5e4aca7d74ee78b84f3778b5e8186fe2192c5694 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 14:09:23 +0100 Subject: [PATCH 0559/1307] (#21751) cpp-httplib/all: bump deps * cpp-httplib/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py --- recipes/cpp-httplib/all/conanfile.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/cpp-httplib/all/conanfile.py b/recipes/cpp-httplib/all/conanfile.py index a9367f94e5c40..7ecbe0a2931e5 100644 --- a/recipes/cpp-httplib/all/conanfile.py +++ b/recipes/cpp-httplib/all/conanfile.py @@ -1,9 +1,7 @@ from conan import ConanFile -from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout -from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -30,17 +28,13 @@ class CpphttplibConan(ConanFile): } no_copy_source = True - def config_options(self): - if Version(self.version) < "0.7.2": - del self.options.with_brotli - def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") - if self.options.get_safe("with_brotli"): - self.requires("brotli/1.0.9") + if self.options.with_brotli: + self.requires("brotli/1.1.0") def package_id(self): self.info.clear() @@ -72,7 +66,7 @@ def package_info(self): self.cpp_info.defines.append("CPPHTTPLIB_OPENSSL_SUPPORT") if self.options.with_zlib: self.cpp_info.defines.append("CPPHTTPLIB_ZLIB_SUPPORT") - if self.options.get_safe("with_brotli"): + if self.options.with_brotli: self.cpp_info.defines.append("CPPHTTPLIB_BROTLI_SUPPORT") if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread"] From ee69eea932fab3d94d95d71ead5d908f1611ad0a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 15:25:38 +0200 Subject: [PATCH 0560/1307] (#18720) flint: migrate to Conan v2 * flint: migrate to Conan v2 * flint: bump deps * flint: add version 2.9.0 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * flint: set correct pthreads4w file name, bump deps * flint: conandata hashes have changed * flint: add versions, simplify patching * flint: fix MSVC pthread linking --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/flint/all/CMakeLists.txt | 7 -- recipes/flint/all/conandata.yml | 24 ++-- recipes/flint/all/conanfile.py | 107 ++++++++++-------- .../flint/all/patches/0001-cmake-2.8.1.patch | 63 ----------- recipes/flint/all/patches/0001-cmake.patch | 63 ----------- recipes/flint/all/test_package/CMakeLists.txt | 5 +- recipes/flint/all/test_package/conanfile.py | 21 +++- .../flint/all/test_v1_package/CMakeLists.txt | 8 ++ .../flint/all/test_v1_package/conanfile.py | 17 +++ recipes/flint/config.yml | 6 +- 10 files changed, 121 insertions(+), 200 deletions(-) delete mode 100644 recipes/flint/all/CMakeLists.txt delete mode 100644 recipes/flint/all/patches/0001-cmake-2.8.1.patch delete mode 100644 recipes/flint/all/patches/0001-cmake.patch create mode 100644 recipes/flint/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/flint/all/test_v1_package/conanfile.py diff --git a/recipes/flint/all/CMakeLists.txt b/recipes/flint/all/CMakeLists.txt deleted file mode 100644 index c986d294c7547..0000000000000 --- a/recipes/flint/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/flint/all/conandata.yml b/recipes/flint/all/conandata.yml index ca7fe5127f757..9430f00dbd6c3 100644 --- a/recipes/flint/all/conandata.yml +++ b/recipes/flint/all/conandata.yml @@ -1,18 +1,20 @@ sources: - "2.8.1": - url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.8.1.tar.gz" - sha256: "93c4d6acd46d7a4357a2abe313e5f0625fa7e94a1a0e53048f9066f55a7acd49" + "3.0.1": + url: "https://github.com/flintlib/flint/releases/download/v3.0.1/flint-3.0.1.tar.xz" + sha256: "de9ada43c94a69de2e78a5241dc183a1c1ece11e45fe565da7272cf8ed818dd6" + "2.9.0": + url: "https://github.com/wbhart/flint2/archive/v2.9.0.tar.gz" + sha256: "624e0fc343b27a156c0e3bb48d2a644a1ac387aa66217f6753c03a02c80bbf6f" + "2.8.5": + url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.8.5.tar.gz" + sha256: "4d5377e7432e67b0f34f95059a01d243ef29208da86ba3e812d312d323db0d8e" "2.7.1": url: "https://github.com/wbhart/flint2/archive/refs/tags/v2.7.1.tar.gz" - sha256: "bcadc2252e61092a9b3a3198b337e20abeac56078eaa19793ab99ff7a987efb7" + sha256: "80f1b7240f1ee5d15952c33cb0aa27b6395993fe897bc279ad984f4fc2743bd4" patches: - "2.8.1": - - patch_file: "patches/0001-cmake-2.8.1.patch" - base_path: "source_subfolder" + "2.9.0": + - patch_file: "patches/0002-msvc-alloca.patch" + "2.8.5": - patch_file: "patches/0002-msvc-alloca.patch" - base_path: "source_subfolder" "2.7.1": - - patch_file: "patches/0001-cmake.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-msvc-alloca.patch" - base_path: "source_subfolder" diff --git a/recipes/flint/all/conanfile.py b/recipes/flint/all/conanfile.py index 29a0ae933dc5f..ef8d2e43bc72f 100644 --- a/recipes/flint/all/conanfile.py +++ b/recipes/flint/all/conanfile.py @@ -1,19 +1,24 @@ import os -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class FlintConan(ConanFile): name = "flint" description = "FLINT (Fast Library for Number Theory)" license = "LGPL-2.1-or-later" - topics = ("math", "numerical") - homepage = "https://www.flintlib.org" url = "https://github.com/conan-io/conan-center-index" - exports_sources = ["CMakeLists.txt", "patches/**"] - generators = "cmake" + homepage = "https://www.flintlib.org" + topics = ("math", "numerical") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,15 +29,8 @@ class FlintConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -40,52 +38,71 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("gmp/6.2.1") - self.requires("mpfr/4.1.0") - if self.settings.compiler == "Visual Studio": + self.requires("gmp/6.3.0", transitive_headers=True, transitive_libs=True) + self.requires("mpfr/4.2.1", transitive_headers=True, transitive_libs=True) + if is_msvc(self): self.requires("pthreads4w/3.0.0") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) - - def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() - cmake.build() + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_TESTING"] = False - self._cmake.definitions["BUILD_DOCS"] = False - self._cmake.definitions["WITH_NTL"] = False + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["BUILD_DOCS"] = False + tc.cache_variables["WITH_NTL"] = False # IPO/LTO breaks clang builds - self._cmake.definitions["IPO_SUPPORTED"] = False + tc.cache_variables["IPO_SUPPORTED"] = False # No BLAS yet - self._cmake.definitions["CMAKE_DISABLE_FIND_PACKAGE_CBLAS"] = True + tc.cache_variables["CMAKE_DISABLE_FIND_PACKAGE_CBLAS"] = True # handle run in a cross-build - if tools.cross_building(self): - self._cmake.definitions["FLINT_USES_POPCNT_EXITCODE"] = "1" - self._cmake.definitions["FLINT_USES_POPCNT_EXITCODE__TRYRUN_OUTPUT"] = "" - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + if cross_building(self): + tc.cache_variables["FLINT_USES_POPCNT_EXITCODE"] = "1" + tc.cache_variables["FLINT_USES_POPCNT_EXITCODE__TRYRUN_OUTPUT"] = "" + tc.generate() + + deps = CMakeDeps(self) + if Version(self.version) <= "3.0.1": + deps.set_property("pthreads4w", "cmake_file_name", "PThreads") + else: + # https://github.com/flintlib/flint/commit/c6cc1078cb55903b0853fb1b6dc660887842dadf + deps.set_property("pthreads4w", "cmake_file_name", "PThreads4W") + deps.set_property("pthreads4w", "cmake_target_name", "PThreads4W::PThreads4W") + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "MPFR_", "mpfr_") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() def package(self): - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.names["cmake_find_package"] = "libflint" - self.cpp_info.names["cmake_find_package_multi"] = "libflint" + self.cpp_info.set_property("cmake_file_name", "libflint") + self.cpp_info.set_property("cmake_target_name", "libflint::libflint") if self.settings.os in ("FreeBSD", "Linux"): self.cpp_info.system_libs = ["pthread", "m"] self.cpp_info.includedirs.append(os.path.join("include", "flint")) - self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.libs = ["flint"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "libflint" + self.cpp_info.names["cmake_find_package_multi"] = "libflint" diff --git a/recipes/flint/all/patches/0001-cmake-2.8.1.patch b/recipes/flint/all/patches/0001-cmake-2.8.1.patch deleted file mode 100644 index bfb50ddd978c7..0000000000000 --- a/recipes/flint/all/patches/0001-cmake-2.8.1.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2616d0669..6fa4cf5f7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,7 +46,10 @@ endif() - # pthread configuration - - if(MSVC) -- find_package(PThreads REQUIRED) -+ #find_package(PThreads REQUIRED) -+ set(PThreads_FOUND TRUE) -+ set(PThreads_LIBRARIES "${CONAN_LIBS_PTHREADS4W}") -+ set(PThreads_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_PTHREADS4W}") - set(FLINT_USES_PTHREAD ON CACHE BOOL "Use POSIX Threads.") - else() - option(CMAKE_THREAD_PREFER_PTHREAD "Prefer pthreads" yes) -@@ -101,9 +104,9 @@ set(HEADERS - ) - - foreach (build_dir IN LISTS BUILD_DIRS TEMPLATE_DIRS) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.c") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.c") - list(APPEND SOURCES ${TEMP}) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.h") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.h") - list(APPEND HEADERS ${TEMP}) - endforeach () - -@@ -112,7 +115,7 @@ execute_process( - " - from os.path import join - --with open(join('${CMAKE_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: -+with open(join('${CMAKE_CURRENT_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: - with open('CPimport.h.in', 'w+') as fout: - while True: - l = fin.readline() -@@ -212,14 +215,14 @@ endif() - set(TEMP ${HEADERS}) - set(HEADERS ) - foreach(header IN LISTS TEMP) -- if(EXISTS ${CMAKE_SOURCE_DIR}/${header}) -+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${header}) - list(APPEND HEADERS ${header}) - else() -- list(APPEND HEADERS ${CMAKE_BINARY_DIR}/${header}) -+ list(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${header}) - endif() - endforeach() - --file(GLOB TEMP "${CMAKE_SOURCE_DIR}/*.h") -+file(GLOB TEMP "${CMAKE_CURRENT_SOURCE_DIR}/*.h") - list(APPEND HEADERS ${TEMP}) - - add_library(flint ${SOURCES}) -@@ -236,6 +239,7 @@ endif() - target_include_directories(flint PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} ${GMP_INCLUDE_DIRS} ${MPFR_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR} ${PThreads_INCLUDE_DIRS} -+ ${CMAKE_BINARY_DIR} - ${NTL_INCLUDE_DIR} - ) - diff --git a/recipes/flint/all/patches/0001-cmake.patch b/recipes/flint/all/patches/0001-cmake.patch deleted file mode 100644 index 9e5780c52e94b..0000000000000 --- a/recipes/flint/all/patches/0001-cmake.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 11ff789a7..80a45f90f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -46,7 +46,10 @@ endif() - # pthread configuration - - if(MSVC) -- find_package(PThreads REQUIRED) -+ #find_package(PThreads REQUIRED) -+ set(PThreads_FOUND TRUE) -+ set(PThreads_LIBRARIES "${CONAN_LIBS_PTHREADS4W}") -+ set(PThreads_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_PTHREADS4W}") - set(FLINT_USES_PTHREAD ON CACHE BOOL "Use POSIX Threads.") - else() - option(CMAKE_THREAD_PREFER_PTHREAD "Prefer pthreads" yes) -@@ -99,9 +102,9 @@ set(HEADERS - ) - - foreach (build_dir IN LISTS BUILD_DIRS TEMPLATE_DIRS) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.c") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.c") - list(APPEND SOURCES ${TEMP}) -- file(GLOB TEMP RELATIVE "${CMAKE_SOURCE_DIR}" "${build_dir}/*.h") -+ file(GLOB TEMP RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${build_dir}/*.h") - list(APPEND HEADERS ${TEMP}) - endforeach () - -@@ -110,7 +113,7 @@ execute_process( - " - from os.path import join - --with open(join('${CMAKE_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: -+with open(join('${CMAKE_CURRENT_SOURCE_DIR}','qadic', 'CPimport.txt')) as fin: - with open('CPimport.h.in', 'w+') as fout: - while True: - l = fin.readline() -@@ -210,14 +213,14 @@ endif() - set(TEMP ${HEADERS}) - set(HEADERS ) - foreach(header IN LISTS TEMP) -- if(EXISTS ${CMAKE_SOURCE_DIR}/${header}) -+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${header}) - list(APPEND HEADERS ${header}) - else() -- list(APPEND HEADERS ${CMAKE_BINARY_DIR}/${header}) -+ list(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${header}) - endif() - endforeach() - --file(GLOB TEMP "${CMAKE_SOURCE_DIR}/*.h") -+file(GLOB TEMP "${CMAKE_CURRENT_SOURCE_DIR}/*.h") - list(APPEND HEADERS ${TEMP}) - - add_library(flint ${SOURCES}) -@@ -234,6 +237,7 @@ endif() - target_include_directories(flint PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} ${GMP_INCLUDE_DIRS} ${MPFR_INCLUDE_DIRS} - ${CMAKE_CURRENT_BINARY_DIR} ${PThreads_INCLUDE_DIRS} -+ ${CMAKE_BINARY_DIR} - ${NTL_INCLUDE_DIR} - ) - diff --git a/recipes/flint/all/test_package/CMakeLists.txt b/recipes/flint/all/test_package/CMakeLists.txt index e0200ac7628d3..735196242a02e 100644 --- a/recipes/flint/all/test_package/CMakeLists.txt +++ b/recipes/flint/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(libflint REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/flint/all/test_package/conanfile.py b/recipes/flint/all/test_package/conanfile.py index b6a26067f365d..ef5d7042163ec 100644 --- a/recipes/flint/all/test_package/conanfile.py +++ b/recipes/flint/all/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/flint/all/test_v1_package/CMakeLists.txt b/recipes/flint/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/flint/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flint/all/test_v1_package/conanfile.py b/recipes/flint/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..b6a26067f365d --- /dev/null +++ b/recipes/flint/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +import os + +from conans import ConanFile, CMake, tools + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/flint/config.yml b/recipes/flint/config.yml index fed2a63c4da2b..db7f74434bfa0 100644 --- a/recipes/flint/config.yml +++ b/recipes/flint/config.yml @@ -1,5 +1,9 @@ versions: - "2.8.1": + "3.0.1": + folder: all + "2.9.0": + folder: all + "2.8.5": folder: all "2.7.1": folder: all From 323292d9f87b15edc7dff7a60a49d3daf3c0b988 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 15:56:03 +0200 Subject: [PATCH 0561/1307] (#18987) libid3tag: migrate to Conan v2 * libid3tag: migrate to Conan v2 * libid3tag: use AutotoolsDeps * libid3tag: disable shared build on armv8 * libid3tag: zlib/[>=1.2.11 <2] * libid3tag: replace legacy VS project with CMakeLists.txt * libid3tag: fix autotools package() * libid3tag: make the armv8 check specific to cross-building * Update recipes/libid3tag/all/conanfile.py Co-authored-by: Uilian Ries * libid3tag: add missing import --------- Co-authored-by: Uilian Ries --- recipes/libid3tag/all/CMakeLists.txt | 21 ++ recipes/libid3tag/all/conanfile.py | 179 +++++++++--------- .../libid3tag/all/test_package/CMakeLists.txt | 7 +- .../libid3tag/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ 6 files changed, 152 insertions(+), 101 deletions(-) create mode 100644 recipes/libid3tag/all/CMakeLists.txt create mode 100644 recipes/libid3tag/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libid3tag/all/test_v1_package/conanfile.py diff --git a/recipes/libid3tag/all/CMakeLists.txt b/recipes/libid3tag/all/CMakeLists.txt new file mode 100644 index 0000000000000..cbee8d19a93e7 --- /dev/null +++ b/recipes/libid3tag/all/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.15) +project(libid3tag LANGUAGES C) + +file(GLOB SOURCES "*.c" "*.h") +add_library(libid3tag ${SOURCES} ${HEADERS}) +target_include_directories(libid3tag PRIVATE msvc++) + +# https://github.com/markjeee/libid3tag/blob/master/msvc%2B%2B/libid3tag.dsp#L43-L44 +target_compile_options(libid3tag PRIVATE /W2 "$<$:/Od;/GZ>" "$<$:/O2>") +target_compile_definitions(libid3tag PRIVATE HAVE_CONFIG_H "$<$:DEBUG;>" "$<$:NDEBUG>") +set_property(TARGET libid3tag PROPERTY WINDOWS_EXPORT_ALL_SYMBOLS ON) + +find_package(ZLIB REQUIRED CONFIG) +target_link_libraries(libid3tag PRIVATE ZLIB::ZLIB) + +install(TARGETS libid3tag + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin +) +install(FILES id3tag.h DESTINATION include) diff --git a/recipes/libid3tag/all/conanfile.py b/recipes/libid3tag/all/conanfile.py index ec346961d3ce4..39074d29616bc 100644 --- a/recipes/libid3tag/all/conanfile.py +++ b/recipes/libid3tag/all/conanfile.py @@ -1,28 +1,39 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment, MSBuild -from conans.errors import ConanInvalidConfiguration import os -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import chdir, copy, get, rm, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.53.0" class LibId3TagConan(ConanFile): name = "libid3tag" description = "ID3 tag manipulation library." - topics = ("conan", "mad", "id3", "MPEG", "audio", "decoder") + license = "GPL-2.0-or-later" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.underbit.com/products/mad/" - license = "GPL-2.0-or-later" - settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - generator = "pkg_config", "visual_studio" + topics = ("mad", "id3", "MPEG", "audio", "decoder") - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -30,95 +41,81 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") - def requirements(self): - self.requires("zlib/1.2.11") + def layout(self): + if is_msvc(self): + cmake_layout(self, src_folder="src") + else: + basic_layout(self, src_folder="src") - @property - def _is_msvc(self): - return self.settings.compiler == "Visual Studio" or ( - self.settings.compiler == "clang" and self.settings.os == "Windows" - ) + def requirements(self): + self.requires("zlib/[>=1.2.11 <2]") def validate(self): - if self._is_msvc and self.options.shared: - raise ConanInvalidConfiguration("libid3tag does not support shared library for MSVC") - - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) + if cross_building(self) and self.settings.arch == "armv8" and self.options.shared: + # https://github.com/conan-io/conan-center-index/pull/18987#issuecomment-1668243831 + raise ConanInvalidConfiguration("shared library cross-building is not supported for armv8") def build_requirements(self): - if not self._is_msvc: - self.build_requires("gnu-config/cci.20201022") - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") + if not is_msvc(self): + self.tool_requires("gnu-config/cci.20210814") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = CMakeToolchain(self) + tc.preprocessor_definitions["ID3TAG_EXPORT"] = "__declspec(dllexport)" if self.options.shared else "" + tc.generate() + deps = CMakeDeps(self) + deps.generate() + else: + venv = VirtualBuildEnv(self) + venv.generate() + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() def build(self): - if self._is_msvc: - self._build_msvc() + if is_msvc(self): + # https://github.com/markjeee/libid3tag/blob/master/id3tag.h#L355-L358 + replace_in_file(self, os.path.join(self.source_folder, "id3tag.h"), + "extern char", "ID3TAG_EXPORT extern char") + cmake = CMake(self) + cmake.configure() + cmake.build() else: - self._build_autotools() - - def _build_msvc(self): - kwargs = {} - with tools.chdir(os.path.join(self._source_subfolder, "msvc++")): - # cl : Command line error D8016: '/ZI' and '/Gy-' command-line options are incompatible - tools.replace_in_file("libid3tag.dsp", "/ZI ", "") - if self.settings.compiler == "clang": - tools.replace_in_file("libid3tag.dsp", "CPP=cl.exe", "CPP=clang-cl.exe") - tools.replace_in_file("libid3tag.dsp", "RSC=rc.exe", "RSC=llvm-rc.exe") - kwargs["toolset"] = "ClangCl" - if self.settings.arch == "x86_64": - tools.replace_in_file("libid3tag.dsp", "Win32", "x64") - with tools.vcvars(self.settings): - self.run("devenv /Upgrade libid3tag.dsp") - msbuild = MSBuild(self) - msbuild.build(project_file="libid3tag.vcxproj", **kwargs) - - def _configure_autotools(self): - if not self._autotools: - if self.options.shared: - args = ["--disable-static", "--enable-shared"] - else: - args = ["--disable-shared", "--enable-static"] - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.configure(args=args, configure_dir=self._source_subfolder) - return self._autotools - - @property - def _user_info_build(self): - return getattr(self, "user_info_build", self.deps_user_info) - - def _build_autotools(self): - shutil.copy(self._user_info_build["gnu-config"].CONFIG_SUB, - os.path.join(self._source_subfolder, "config.sub")) - shutil.copy(self._user_info_build["gnu-config"].CONFIG_GUESS, - os.path.join(self._source_subfolder, "config.guess")) - autotools = self._configure_autotools() - autotools.make() - - def _install_autotools(self): - autotools = self._configure_autotools() - autotools.install() - tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la") + for gnu_config in [ + self.conf.get("user.gnu-config:config_guess", check_type=str), + self.conf.get("user.gnu-config:config_sub", check_type=str), + ]: + if gnu_config: + copy(self, os.path.basename(gnu_config), os.path.dirname(gnu_config), self.source_folder) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy("COPYRIGHT", dst="licenses", src=self._source_subfolder) - self.copy("COPYING", dst="licenses", src=self._source_subfolder) - self.copy("CREDITS", dst="licenses", src=self._source_subfolder) - if self._is_msvc: - self.copy(pattern="*.lib", dst="lib", src=self._source_subfolder, keep_path=False) - self.copy(pattern="id3tag.h", dst="include", src=self._source_subfolder) + for license_file in ["COPYRIGHT", "COPYING", "CREDITS"]: + copy(self, license_file, self.source_folder, os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + cmake = CMake(self) + cmake.install() else: - self._install_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", self.package_folder, recursive=True) def package_info(self): - self.cpp_info.libs = ["libid3tag" if self._is_msvc else "id3tag"] + if is_msvc(self): + self.cpp_info.libs = ["libid3tag"] + self.cpp_info.defines.append("ID3TAG_EXPORT=" + ("__declspec(dllimport)" if self.options.shared else "")) + else: + self.cpp_info.libs = ["id3tag"] diff --git a/recipes/libid3tag/all/test_package/CMakeLists.txt b/recipes/libid3tag/all/test_package/CMakeLists.txt index 7b9b613cbb24a..5735549609ad1 100644 --- a/recipes/libid3tag/all/test_package/CMakeLists.txt +++ b/recipes/libid3tag/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libid3tag REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE libid3tag::libid3tag) diff --git a/recipes/libid3tag/all/test_package/conanfile.py b/recipes/libid3tag/all/test_package/conanfile.py index d4128b0450777..ef5d7042163ec 100644 --- a/recipes/libid3tag/all/test_package/conanfile.py +++ b/recipes/libid3tag/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libid3tag/all/test_v1_package/CMakeLists.txt b/recipes/libid3tag/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libid3tag/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libid3tag/all/test_v1_package/conanfile.py b/recipes/libid3tag/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/libid3tag/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 56d66834f2a0c599f8d4e87bf37e6f1f94d1688a Mon Sep 17 00:00:00 2001 From: cyberflashguru Date: Tue, 26 Dec 2023 09:15:58 -0500 Subject: [PATCH 0562/1307] (#20693) libiconv: apply x86 resource patch --- recipes/libiconv/all/conanfile.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/libiconv/all/conanfile.py b/recipes/libiconv/all/conanfile.py index 544fb2b4ab962..2117c9f4edde3 100644 --- a/recipes/libiconv/all/conanfile.py +++ b/recipes/libiconv/all/conanfile.py @@ -9,7 +9,8 @@ get, rename, rm, - rmdir + rmdir, + replace_in_file ) from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -119,8 +120,15 @@ def generate(self): env.define("win32_target", "_WIN32_WINNT_VISTA") tc.generate(env) - def build(self): + def _apply_resource_patch(self): + if self.settings.arch == "x86": + windres_options_path = os.path.join(self.source_folder, "windows", "windres-options") + self.output.info("Applying {} resource patch: {}".format(self.settings.arch, windres_options_path)) + replace_in_file(self, windres_options_path, '# PACKAGE_VERSION_SUBMINOR', '# PACKAGE_VERSION_SUBMINOR\necho "--target=pe-i386"', strict=True) + + def build(self): apply_conandata_patches(self) + self._apply_resource_patch() autotools = Autotools(self) autotools.configure() autotools.make() From 777c51e136b37cf45998d1dc070232f19d92fd93 Mon Sep 17 00:00:00 2001 From: Stanislav Antonov Date: Tue, 26 Dec 2023 17:37:13 +0300 Subject: [PATCH 0563/1307] (#21480) re2c: Add RE2C_STDLIB_DIR variable with re2c stdlib --- recipes/re2c/all/conanfile.py | 8 ++++++++ recipes/re2c/all/test_package/CMakeLists.txt | 4 +++- recipes/re2c/all/test_package/syntax.re | 17 ++++++++++++++--- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/recipes/re2c/all/conanfile.py b/recipes/re2c/all/conanfile.py index dcc666816d3e4..99f065993da70 100644 --- a/recipes/re2c/all/conanfile.py +++ b/recipes/re2c/all/conanfile.py @@ -91,6 +91,10 @@ def package(self): src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"), keep_path=False) + copy(self, "*.re", + src=os.path.join(self.source_folder, "include"), + dst=os.path.join(self.package_folder, "include"), + keep_path=False) with chdir(self, self.source_folder): autotools = Autotools(self) autotools.install() @@ -102,6 +106,10 @@ def package_info(self): self.cpp_info.resdirs = [] self.cpp_info.includedirs = [] + include_dir = os.path.join(self.package_folder, "include") + self.buildenv_info.define("RE2C_STDLIB_DIR", include_dir) + # TODO: to remove in conan v2 bin_path = os.path.join(self.package_folder, "bin") self.env_info.PATH.append(bin_path) + self.env_info.RE2C_STDLIB_DIR = include_dir diff --git a/recipes/re2c/all/test_package/CMakeLists.txt b/recipes/re2c/all/test_package/CMakeLists.txt index db2c3e52befc0..9ba5cb966b406 100644 --- a/recipes/re2c/all/test_package/CMakeLists.txt +++ b/recipes/re2c/all/test_package/CMakeLists.txt @@ -1,8 +1,10 @@ cmake_minimum_required(VERSION 3.15) project(test_package C) +find_program(RE2C NAMES re2c) + add_custom_command(OUTPUT test_package.c - COMMAND re2c -W "${CMAKE_CURRENT_LIST_DIR}/syntax.re" -o test_package.c + COMMAND "${RE2C}" -W "${CMAKE_CURRENT_LIST_DIR}/syntax.re" -I "$ENV{RE2C_STDLIB_DIR}" -o test_package.c ) add_executable(${PROJECT_NAME} test_package.c) diff --git a/recipes/re2c/all/test_package/syntax.re b/recipes/re2c/all/test_package/syntax.re index b1b909b54562f..b2d424b9894c3 100644 --- a/recipes/re2c/all/test_package/syntax.re +++ b/recipes/re2c/all/test_package/syntax.re @@ -1,16 +1,21 @@ #include +#include + +/*!include:re2c "unicode_categories.re" */ /*!max:re2c*/ /*!re2c digit = [0-9]; number = digit+; + word = L+; */ static int lex(const char *YYCURSOR) { const char *YYMARKER; /*!re2c - re2c:define:YYCTYPE = char; + re2c:flags:utf-8 = 1; + re2c:define:YYCTYPE = 'unsigned char'; re2c:yyfill:enable = 0; * { return 1; } @@ -20,12 +25,18 @@ static int lex(const char *YYCURSOR) return 0; } + word { + printf("word\n"); + return 0; + } + */ } int main() { - lex("1024"); - lex(";]"); + assert(lex("1024") == 0); + assert(lex(";]") == 1); + assert(lex("Слово") == 0); return 0; } From d7324068cc6c4745a74be761644b690f3c146589 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 26 Dec 2023 23:59:58 +0900 Subject: [PATCH 0564/1307] (#21748) glaze: add version 1.9.8.1 * glaze: add version 1.9.6 * update 1.9.7 * add minor version check for Visual Studio * update to 1.9.8.1 * revert Visual Studio version check * revert expected include fix * add condtion to apply patch * remove decay for msvc * use stdd:decay * create PR for MSVC minor bug --- recipes/glaze/all/conandata.yml | 9 +++++++++ recipes/glaze/all/conanfile.py | 9 +++++++-- .../all/patches/1.9.8.1-0001-fix-msvc-bug.patch | 13 +++++++++++++ recipes/glaze/config.yml | 2 ++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 049a93b0fe130..f1d83d415a573 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.8.1": + url: "https://github.com/stephenberry/glaze/archive/v1.9.8.1.tar.gz" + sha256: "f1dd8d93440096d186695814848c9cd350a9ec5b0e114e933579ef2467a35558" "1.9.5": url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" @@ -23,3 +26,9 @@ sources: "1.6.1": url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz" sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10" +patches: + "1.9.8.1": + - patch_file: "patches/1.9.8.1-0001-fix-msvc-bug.patch" + patch_description: "workaround MSVC compilation error for some versions" + patch_type: "portability" + patch_source: "https://github.com/stephenberry/glaze/pull/653" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f991920259f6a..3e5f358c8c908 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import get, copy +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.layout import basic_layout @@ -17,7 +17,6 @@ class GlazeConan(ConanFile): topics = ("json", "memory", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -33,6 +32,9 @@ def _compilers_minimum_version(self): "apple-clang": "13.1", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -51,6 +53,9 @@ def validate(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def build(self): + apply_conandata_patches(self) + def package(self): copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) copy( diff --git a/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch b/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch new file mode 100644 index 0000000000000..c1c12e5675383 --- /dev/null +++ b/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch @@ -0,0 +1,13 @@ +diff --git a/include/glaze/csv/write.hpp b/include/glaze/csv/write.hpp +index 4c2c24b..68b513a 100644 +--- a/include/glaze/csv/write.hpp ++++ b/include/glaze/csv/write.hpp +@@ -205,7 +205,7 @@ namespace glz + using Element = glaze_tuple_element; + static constexpr size_t member_index = Element::member_index; + +- using item_type = std::decay_t; ++ using item_type = typename std::decay::type; + using value_type = typename item_type::value_type; + + static constexpr sv key = key_name; diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 2c2e8c3fdb89e..67a1488ea93f4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.8.1": + folder: all "1.9.5": folder: all "1.8.5": From 636d3e4dfcc9fd2befc8b98e158b5f6805670209 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 26 Dec 2023 16:20:31 +0100 Subject: [PATCH 0565/1307] (#21803) hazelcast-cpp-client/all: bump deps * hazelcast-cpp-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py * Update conanfile.py * simplify test package * Update recipes/hazelcast-cpp-client/all/conanfile.py Co-authored-by: Uilian Ries * fix test program --------- Co-authored-by: Uilian Ries --- recipes/hazelcast-cpp-client/all/conanfile.py | 5 +---- .../all/test_package/test_package.cpp | 9 ++------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/recipes/hazelcast-cpp-client/all/conanfile.py b/recipes/hazelcast-cpp-client/all/conanfile.py index a46e46f6fda67..b58eed49bb2fa 100644 --- a/recipes/hazelcast-cpp-client/all/conanfile.py +++ b/recipes/hazelcast-cpp-client/all/conanfile.py @@ -2,7 +2,6 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir -from conan.tools.scm import Version import os @@ -44,7 +43,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.79.0", transitive_headers=True, transitive_libs=True) + self.requires("boost/1.83.0", transitive_headers=True, transitive_libs=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") @@ -58,8 +57,6 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["WITH_OPENSSL"] = self.options.with_openssl - if Version(self.version) <= "4.0.0": - tc.variables["BUILD_STATIC_LIB"] = not self.options.shared tc.generate() deps = CMakeDeps(self) diff --git a/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp b/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp index 485a5dcd244e1..1352f7b0b0a1b 100644 --- a/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp +++ b/recipes/hazelcast-cpp-client/all/test_package/test_package.cpp @@ -1,12 +1,7 @@ #include +#include int main() { - hazelcast::client::client_config config; - config.get_connection_strategy_config().get_retry_config().set_cluster_connect_timeout(std::chrono::seconds(1)); - - try { - auto hz = hazelcast::new_client(std::move(config)).get(); - } catch (std::exception &e) { - } + std::cout << "Hazelcast version: " << hazelcast::client::version(); return EXIT_SUCCESS; } From 68dbba3107745eb1823bd20ed9596ae9bfe7b38f Mon Sep 17 00:00:00 2001 From: OgStilla <53813467+OrianeGourdyStilla@users.noreply.github.com> Date: Tue, 26 Dec 2023 16:29:12 +0100 Subject: [PATCH 0566/1307] (#21873) (#21870) restinio/0.7: build with Visual Studio 2019 --- recipes/restinio/v0.7/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py index 962616c9f35c2..b56146cd43b19 100644 --- a/recipes/restinio/v0.7/conanfile.py +++ b/recipes/restinio/v0.7/conanfile.py @@ -67,7 +67,7 @@ def validate(self): "gcc": "9", "clang": "10", "apple-clang": "11", - "Visual Studio": "17", + "Visual Studio": "15", "msvc": "191" } From 15f5dd04355235c143d2864db1b1028b669b4ead Mon Sep 17 00:00:00 2001 From: Sneder89 <45610045+Sneder89@users.noreply.github.com> Date: Tue, 26 Dec 2023 16:48:14 +0100 Subject: [PATCH 0567/1307] (#21886) Add cppcheck 2.13 * Add cppcheck 2.13 * add entry to config.yml * Update conandata.yml * Update conandata.yml --- recipes/cppcheck/all/conandata.yml | 3 +++ recipes/cppcheck/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml index 309e9e9115ce0..d0f5a27793e17 100644 --- a/recipes/cppcheck/all/conandata.yml +++ b/recipes/cppcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.13": + url: "https://github.com/danmar/cppcheck/archive/2.13.0.tar.gz" + sha256: "8229afe1dddc3ed893248b8a723b428dc221ea014fbc76e6289840857c03d450" "2.12.1": url: "https://github.com/danmar/cppcheck/archive/2.12.1.tar.gz" sha256: "2a3d4ba1179419612183ab3d6aed6d3b18be75e98cd6f138ea8e2020905dced2" diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml index 0fb8b3e88183b..654cfb904a00d 100644 --- a/recipes/cppcheck/config.yml +++ b/recipes/cppcheck/config.yml @@ -1,4 +1,6 @@ versions: + "2.13": + folder: all "2.12.1": folder: all "2.12": From 513bc2c0130ec0301e74a802f85bdcd0437a8f4c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 01:08:28 +0900 Subject: [PATCH 0568/1307] (#21888) commata: create patch file for 0.2.7 --- recipes/commata/all/conandata.yml | 6 ++++++ recipes/commata/all/conanfile.py | 13 +++++-------- .../all/patches/0.2.7-0001-include-optional.patch | 12 ++++++++++++ 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 recipes/commata/all/patches/0.2.7-0001-include-optional.patch diff --git a/recipes/commata/all/conandata.yml b/recipes/commata/all/conandata.yml index fae0216296235..2f4d1cb571d15 100644 --- a/recipes/commata/all/conandata.yml +++ b/recipes/commata/all/conandata.yml @@ -14,3 +14,9 @@ sources: "0.2.5": url: "https://github.com/furfurylic/commata/archive/refs/tags/v0.2.5.tar.gz" sha256: "d1be1f366267af6c466c29f846f5968f57626a8a6635a2ea9a3de3f6fb88e53b" +patches: + "0.2.7": + - patch_file: "patches/0.2.7-0001-include-optional.patch" + patch_description: "include header" + patch_type: "portability" + patch_source: "https://github.com/furfurylic/commata/pull/2" diff --git a/recipes/commata/all/conanfile.py b/recipes/commata/all/conanfile.py index a0114ee35e73d..6ca8695676403 100644 --- a/recipes/commata/all/conanfile.py +++ b/recipes/commata/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd -from conan.tools.files import get, copy, replace_in_file +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches from conan.tools.layout import basic_layout from conan.tools.scm import Version import os @@ -19,7 +19,6 @@ class CommataConan(ConanFile): topics = ("csv", "parser", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _min_cppstd(self): @@ -35,6 +34,9 @@ def _compilers_minimum_version(self): "apple-clang": "12", } + def export_sources(self): + export_conandata_patches(self) + def layout(self): basic_layout(self, src_folder="src") @@ -54,12 +56,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): - # waiting for merge PR and release newer version. https://github.com/furfurylic/commata/pull/2 - if Version(self.version) >= "0.2.7": - replace_in_file(self, os.path.join(self.source_folder, "include", "commata", "typing_aid.hpp"), - "#include ", - """#include -#include """) + apply_conandata_patches(self) def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) diff --git a/recipes/commata/all/patches/0.2.7-0001-include-optional.patch b/recipes/commata/all/patches/0.2.7-0001-include-optional.patch new file mode 100644 index 0000000000000..3ad57ce44c1c1 --- /dev/null +++ b/recipes/commata/all/patches/0.2.7-0001-include-optional.patch @@ -0,0 +1,12 @@ +diff --git a/include/commata/typing_aid.hpp b/include/commata/typing_aid.hpp +index adf9c6e..c1365d4 100644 +--- a/include/commata/typing_aid.hpp ++++ b/include/commata/typing_aid.hpp +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + namespace commata::detail { + From a0fee0e35b2be5d1ef2c8e14e25acbee0cbf601e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 26 Dec 2023 17:28:25 +0100 Subject: [PATCH 0569/1307] (#21901) libmetalink: bump deps --- recipes/libmetalink/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmetalink/all/conanfile.py b/recipes/libmetalink/all/conanfile.py index a17aa7f18af8a..3068e2cbb52f3 100644 --- a/recipes/libmetalink/all/conanfile.py +++ b/recipes/libmetalink/all/conanfile.py @@ -55,7 +55,7 @@ def requirements(self): if self.options.xml_backend == "expat": self.requires("expat/2.5.0") elif self.options.xml_backend == "libxml2": - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.12.2") def validate(self): if is_msvc(self): @@ -63,7 +63,7 @@ def validate(self): def build_requirements(self): self.tool_requires("gnu-config/cci.20210814") - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From 669b8261c41daebdc7dc99c86c7d9533379e1c88 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 18:48:26 +0200 Subject: [PATCH 0570/1307] (#21935) dav1d: add v1.3.0 --- recipes/dav1d/all/conandata.yml | 3 +++ recipes/dav1d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dav1d/all/conandata.yml b/recipes/dav1d/all/conandata.yml index 7841b712b35c9..a478887dc4fcc 100644 --- a/recipes/dav1d/all/conandata.yml +++ b/recipes/dav1d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "http://ftp.videolan.org/pub/videolan/dav1d/1.3.0/dav1d-1.3.0.tar.xz" + sha256: "6d8be2741c505c47f8f1ced3c9cc427759243436553d01d1acce201f87b39e71" "1.2.1": url: "http://ftp.videolan.org/pub/videolan/dav1d/1.2.1/dav1d-1.2.1.tar.xz" sha256: "4e33eb61ec54c768a16da0cf8fa0928b4c4593f5f804a3c887d4a21c318340b2" diff --git a/recipes/dav1d/config.yml b/recipes/dav1d/config.yml index 2ef77329e43db..21233fe470f83 100644 --- a/recipes/dav1d/config.yml +++ b/recipes/dav1d/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: "all" "1.2.1": folder: "all" "1.1.0": From 84702ed75b2a928acdaf52a7fe69059125ee411b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 19:08:20 +0200 Subject: [PATCH 0571/1307] (#21936) cimg: add v3.3.2 --- recipes/cimg/all/conandata.yml | 3 +++ recipes/cimg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cimg/all/conandata.yml b/recipes/cimg/all/conandata.yml index df56684723fbd..96bd683acd199 100644 --- a/recipes/cimg/all/conandata.yml +++ b/recipes/cimg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.2": + url: "https://cimg.eu/files/CImg_3.3.2.zip" + sha256: "d49ecd63b46f53ddcee5c7695ddb0fe8b07e033bb81b5ed075cfe352462c5f73" "3.3.0": url: "https://cimg.eu/files/CImg_3.3.0.zip" sha256: "d5eecb3551fc1966a9aac8637dc643bf6049e2b1b1a1f9deec3069e289ee1d65" diff --git a/recipes/cimg/config.yml b/recipes/cimg/config.yml index 0ba296b3e93c6..70cd903d901e9 100644 --- a/recipes/cimg/config.yml +++ b/recipes/cimg/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.2": + folder: all "3.3.0": folder: all "3.2.6": From 5fc2d193ad4c4035c43426c4616b3161cfe0a984 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 02:31:36 +0900 Subject: [PATCH 0572/1307] (#21487) aws-c-auth: add version 0.7.8 --- recipes/aws-c-auth/all/conandata.yml | 3 +++ recipes/aws-c-auth/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-auth/all/conandata.yml b/recipes/aws-c-auth/all/conandata.yml index 47648a4e54a57..027010126b13f 100644 --- a/recipes/aws-c-auth/all/conandata.yml +++ b/recipes/aws-c-auth/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.8": + url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.8.tar.gz" + sha256: "5db8ab91262b5c055e3634f2c9dc2bc1a3285c2dd5513fdcafcb3e79468dc7de" "0.7.7": url: "https://github.com/awslabs/aws-c-auth/archive/v0.7.7.tar.gz" sha256: "ea3c9e75b59b36aaf9147deec655d1669f197745bbe914cd3b8e234740be29ba" diff --git a/recipes/aws-c-auth/config.yml b/recipes/aws-c-auth/config.yml index 244301baade46..8edcc1ff10f28 100644 --- a/recipes/aws-c-auth/config.yml +++ b/recipes/aws-c-auth/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.8": + folder: all "0.7.7": folder: all "0.6.17": From a04ba3b93e8198e054bfd50d1ea081119e07f168 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 19:48:15 +0200 Subject: [PATCH 0573/1307] (#21939) bzip2: fix project URL --- recipes/bzip2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/bzip2/all/conanfile.py b/recipes/bzip2/all/conanfile.py index 9bba05c82a828..2a39045a8299d 100644 --- a/recipes/bzip2/all/conanfile.py +++ b/recipes/bzip2/all/conanfile.py @@ -11,7 +11,7 @@ class Bzip2Conan(ConanFile): name = "bzip2" url = "https://github.com/conan-io/conan-center-index" - homepage = "http://www.bzip.org" + homepage = "https://sourceware.org/bzip2" license = "bzip2-1.0.8" description = "bzip2 is a free and open-source file compression program that uses the Burrows Wheeler algorithm." topics = ("data-compressor", "file-compression") From 0e62da47718d1fbb60cb68b6dee37f898415707e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 20:10:38 +0200 Subject: [PATCH 0574/1307] (#21940) mozilla-build: add v4.0.2 --- recipes/mozilla-build/all/conandata.yml | 5 +++++ recipes/mozilla-build/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/mozilla-build/all/conandata.yml b/recipes/mozilla-build/all/conandata.yml index 5311816d69140..170e338726163 100644 --- a/recipes/mozilla-build/all/conandata.yml +++ b/recipes/mozilla-build/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.0.2": + - url: "https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-4.0.2.exe" + sha256: "a7b84c266fc8908a925f6a788f46226aa76507e1b43230f7a63db6e1b1384ed1" + - url: "https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt" + sha256: "fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85" "3.3": - url: "https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-3.3.exe" sha256: "ac86e5794c6a99c25dee0b60720c7cfd9833ec64785c74838723179830749c9c" diff --git a/recipes/mozilla-build/config.yml b/recipes/mozilla-build/config.yml index e5e834cfda633..2bc9098fbced7 100644 --- a/recipes/mozilla-build/config.yml +++ b/recipes/mozilla-build/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.2": + folder: all "3.3": folder: all From d7d8c6cdcf69cc740b51848307864a5b9e5e4180 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 26 Dec 2023 20:32:56 +0200 Subject: [PATCH 0575/1307] (#21941) mujs: add v1.3.4 --- recipes/mujs/all/conandata.yml | 3 +++ recipes/mujs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mujs/all/conandata.yml b/recipes/mujs/all/conandata.yml index 8b8c95eb04cf4..3a69126dc4af3 100644 --- a/recipes/mujs/all/conandata.yml +++ b/recipes/mujs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.4": + url: "https://mujs.com/downloads/mujs-1.3.4.tar.gz" + sha256: "c015475880f6a382e706169c94371a7dd6cc22078832f6e0865af8289c2ef42b" "1.1.2": url: "https://mujs.com/downloads/mujs-1.1.2.tar.xz" sha256: "719e882bb7d98640efa163381e9b68ef1ce35c87a422e2aa4190c9e40225875d" diff --git a/recipes/mujs/config.yml b/recipes/mujs/config.yml index 8d13aefb6b4fb..f0766a7d62e0c 100644 --- a/recipes/mujs/config.yml +++ b/recipes/mujs/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.4": + folder: all "1.1.2": folder: all From 6e0881230686ac0e947ea001faac7e40f299713e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 03:42:17 +0900 Subject: [PATCH 0576/1307] (#21946) rapidfuzz: add version 3.0.0 --- recipes/rapidfuzz/all/conandata.yml | 3 +++ recipes/rapidfuzz/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidfuzz/all/conandata.yml b/recipes/rapidfuzz/all/conandata.yml index f9ef7412f8274..c548146b1f784 100644 --- a/recipes/rapidfuzz/all/conandata.yml +++ b/recipes/rapidfuzz/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.0": + url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v3.0.0.tar.gz" + sha256: "26a76c5a881c07638567557c1d73f6601f0d444816de03f297d731b1e019f21b" "2.2.3": url: "https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v2.2.3.tar.gz" sha256: "df4412e9593945782de2212095bd4b70a8f8e63ae8f313976c616809be124d2c" diff --git a/recipes/rapidfuzz/config.yml b/recipes/rapidfuzz/config.yml index 71b60f681064b..ccf581bfbc4ab 100644 --- a/recipes/rapidfuzz/config.yml +++ b/recipes/rapidfuzz/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.0": + folder: "all" "2.2.3": folder: "all" "2.2.0": From da6f6de8f4dec19196cdc100866d5b6aec3d3eff Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 00:28:22 +0200 Subject: [PATCH 0577/1307] (#21955) libunistring: add v1.1 --- recipes/libunistring/all/conandata.yml | 7 +++++-- recipes/libunistring/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libunistring/all/conandata.yml b/recipes/libunistring/all/conandata.yml index c22acd0ca0e42..60207a8f26db0 100644 --- a/recipes/libunistring/all/conandata.yml +++ b/recipes/libunistring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1": + url: "https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.xz" + sha256: "827c1eb9cb6e7c738b171745dac0888aa58c5924df2e59239318383de0729b98" "0.9.10": - url: "https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.gz" - sha256: "a82e5b333339a88ea4608e4635479a1cfb2e01aafb925e1290b65710d43f610b" + url: "https://ftp.gnu.org/gnu/libunistring/libunistring-0.9.10.tar.xz" + sha256: "eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7" diff --git a/recipes/libunistring/config.yml b/recipes/libunistring/config.yml index b2646e05f90e5..1418b6cb6cc09 100644 --- a/recipes/libunistring/config.yml +++ b/recipes/libunistring/config.yml @@ -1,3 +1,5 @@ versions: + "1.1": + folder: all "0.9.10": folder: all From 5aca02748dccfa117b2b94284f262aaf51721e0b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 00:48:07 +0200 Subject: [PATCH 0578/1307] (#21958) libgpg-error: add v1.47 --- recipes/libgpg-error/all/conandata.yml | 3 +++ recipes/libgpg-error/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libgpg-error/all/conandata.yml b/recipes/libgpg-error/all/conandata.yml index 256bc1f28533a..c6271e8ce4d72 100644 --- a/recipes/libgpg-error/all/conandata.yml +++ b/recipes/libgpg-error/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.47": + url: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.47.tar.gz" + sha256: "685d4bd9d05576c4fc7f0870903dfdfbe41f2dd6a12e76fd8bd1717278f6b365" "1.36": url: "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.gz" sha256: "493a3a5e0ac0eb4df8501039f351459d8901d213a834d8c5a453a8ed94858ba5" diff --git a/recipes/libgpg-error/config.yml b/recipes/libgpg-error/config.yml index f10713a7746e2..be46539e39213 100644 --- a/recipes/libgpg-error/config.yml +++ b/recipes/libgpg-error/config.yml @@ -1,3 +1,5 @@ versions: + "1.47": + folder: all "1.36": folder: all From e4302fc3b12102b075784f7f1c592e099184b739 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 27 Dec 2023 00:08:02 +0100 Subject: [PATCH 0579/1307] (#21960) meson: add version 1.3.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 581541e8b30e4..28c305f4e6b32 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://github.com/mesonbuild/meson/archive/1.3.1.tar.gz" + sha256: "274c121edb859602eb4589d31d8791e980748bb19950fc6f611a21d76dc22cc6" "1.3.0": url: "https://github.com/mesonbuild/meson/releases/download/1.3.0/meson-1.3.0.tar.gz" sha256: "4ba253ef60e454e23234696119cbafa082a0aead0bd3bbf6991295054795f5dc" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 04538c604ee46..391274cd2a1ed 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.3.0": folder: all "1.2.3": From 03d557629425013046bcf09bcad3640b3a849393 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Dec 2023 03:27:42 +0100 Subject: [PATCH 0580/1307] (#20533) libzen: fix build of shared lib with MinGW --- .../0002-export-data-in-windows-dlls.patch | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch b/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch index 17b22fd745f02..75e09bd7ab6b7 100644 --- a/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch +++ b/recipes/libzen/all/patches/0002-export-data-in-windows-dlls.patch @@ -1,18 +1,3 @@ ---- Source/ZenLib/Conf.cpp -+++ Source/ZenLib/Conf.cpp -@@ -24,8 +24,8 @@ - - //End of line - #ifdef WINDOWS -- const Char* EOL=__T("\r\n"); -- const Char PathSeparator=__T('\\'); -+ ZEN_IMPEXP const Char* EOL=__T("\r\n"); -+ ZEN_IMPEXP const Char PathSeparator=__T('\\'); - #endif - #ifdef UNIX - const Char* EOL=__T("\n"); -diff --git a/source_subfolder/Source/ZenLib/Conf.h b/source_subfolder/Source/ZenLib/Conf.h -index 18264cf..d989fdb 100644 --- Source/ZenLib/Conf.h +++ Source/ZenLib/Conf.h @@ -234,9 +234,22 @@ From 2b09f55576e143656ed06cf1ecc22b267c15e428 Mon Sep 17 00:00:00 2001 From: temap Date: Wed, 27 Dec 2023 04:47:58 +0200 Subject: [PATCH 0581/1307] (#21436) lksctp-tools: add recipe --- recipes/lksctp-tools/all/conandata.yml | 4 + recipes/lksctp-tools/all/conanfile.py | 75 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../all/test_package/conanfile.py | 26 +++++++ .../all/test_package/test_package.c | 14 ++++ recipes/lksctp-tools/config.yml | 3 + 6 files changed, 129 insertions(+) create mode 100644 recipes/lksctp-tools/all/conandata.yml create mode 100644 recipes/lksctp-tools/all/conanfile.py create mode 100644 recipes/lksctp-tools/all/test_package/CMakeLists.txt create mode 100644 recipes/lksctp-tools/all/test_package/conanfile.py create mode 100644 recipes/lksctp-tools/all/test_package/test_package.c create mode 100644 recipes/lksctp-tools/config.yml diff --git a/recipes/lksctp-tools/all/conandata.yml b/recipes/lksctp-tools/all/conandata.yml new file mode 100644 index 0000000000000..d3fd074d21dd3 --- /dev/null +++ b/recipes/lksctp-tools/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.19": + url: "https://github.com/sctp/lksctp-tools/archive/refs/tags/v1.0.19.tar.gz" + sha256: "9251b1368472fb55aaeafe4787131bdde4e96758f6170620bc75b638449cef01" diff --git a/recipes/lksctp-tools/all/conanfile.py b/recipes/lksctp-tools/all/conanfile.py new file mode 100644 index 0000000000000..c114e01dc9df2 --- /dev/null +++ b/recipes/lksctp-tools/all/conanfile.py @@ -0,0 +1,75 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, chdir, copy, rm, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.53.0" + + +class LKSCTPToolsConan(ConanFile): + name = "lksctp-tools" + settings = "os", "arch", "compiler", "build_type" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/sctp/lksctp-tools" + description = "The Linux Kernel Stream Control Transmission Protocol (lksctp) project" + package_type = "library" + topics = ("sctp") + license = ("GPL-2.0", "LGPL-2.1") + + options = { + "shared": [True, False], + "fPIC": [True, False], + } + + default_options = { + "shared": False, + "fPIC": True, + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + if self.settings.os != "Linux": + raise ConanInvalidConfiguration(f"{self.ref} is only available on Linux") + + def layout(self): + basic_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.extend([ + "--disable-tests", + ]) + tc.generate() + + def build(self): + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() + autotools.make() + + def package(self): + with chdir(self, self.source_folder): + autools = Autotools(self) + autools.install() + + rmdir(self, os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "lksctp-tools")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + + copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["sctp"] diff --git a/recipes/lksctp-tools/all/test_package/CMakeLists.txt b/recipes/lksctp-tools/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..964f83ff15d38 --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(lksctp-tools REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} lksctp-tools::lksctp-tools) diff --git a/recipes/lksctp-tools/all/test_package/conanfile.py b/recipes/lksctp-tools/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/lksctp-tools/all/test_package/test_package.c b/recipes/lksctp-tools/all/test_package/test_package.c new file mode 100644 index 0000000000000..3a004853d676d --- /dev/null +++ b/recipes/lksctp-tools/all/test_package/test_package.c @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include + +int main() { + int sockfd; + + sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP); + close(sockfd); + + return 0; +} diff --git a/recipes/lksctp-tools/config.yml b/recipes/lksctp-tools/config.yml new file mode 100644 index 0000000000000..682394be2990b --- /dev/null +++ b/recipes/lksctp-tools/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.19": + folder: all From a682aa82fa712972277ab257c977740476a61e83 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 12:18:24 +0900 Subject: [PATCH 0582/1307] (#21964) functionalplus: add version 0.2.22 --- recipes/functionalplus/all/conandata.yml | 3 +++ recipes/functionalplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/functionalplus/all/conandata.yml b/recipes/functionalplus/all/conandata.yml index 0abf05e252793..3d3543e65247e 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.22": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.22.tar.gz" + sha256: "79378668dff6ffa8abc1abde2c2fe37dc6fe1ac040c55d5ee7886924fa6a1376" "0.2.20-p0": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.20-p0.tar.gz" sha256: "6a8e56bd7976b7d5a6a31001f36bc199c2997f1144994fa0b48a1a5b8497abbc" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index bc5d04d53c4bd..a822e05fbaecb 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.22": + folder: all "0.2.20-p0": folder: all "0.2.18-p0": From b7763cb07f2b9488910ee156649042cebca23b1f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 27 Dec 2023 12:58:25 +0900 Subject: [PATCH 0583/1307] (#21963) cjson: add version 1.7.17 --- recipes/cjson/all/conandata.yml | 3 +++ recipes/cjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cjson/all/conandata.yml b/recipes/cjson/all/conandata.yml index 3c51bd5b253a1..98903aa382fd7 100644 --- a/recipes/cjson/all/conandata.yml +++ b/recipes/cjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.17": + url: "https://github.com/DaveGamble/cJSON/archive/v1.7.17.tar.gz" + sha256: "c91d1eeb7175c50d49f6ba2a25e69b46bd05cffb798382c19bfb202e467ec51c" "1.7.16": url: "https://github.com/DaveGamble/cJSON/archive/v1.7.16.tar.gz" sha256: "451131a92c55efc5457276807fc0c4c2c2707c9ee96ef90c47d68852d5384c6c" diff --git a/recipes/cjson/config.yml b/recipes/cjson/config.yml index 7d96cfac89098..8dc9df22965bb 100644 --- a/recipes/cjson/config.yml +++ b/recipes/cjson/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.17": + folder: all "1.7.16": folder: all "1.7.15": From 85879ee5531dd311bfd0574d8d3f3c2d67c71e37 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 08:26:51 +0200 Subject: [PATCH 0584/1307] (#21860) whisper-cpp: add v1.5.2, fix blas support --- recipes/whisper-cpp/all/conandata.yml | 20 ++++---- recipes/whisper-cpp/all/conanfile.py | 47 ++++++++++++++----- ...=> 1.2.1-0001-find_package_openblas.patch} | 13 ++--- recipes/whisper-cpp/config.yml | 6 +-- 4 files changed, 54 insertions(+), 32 deletions(-) rename recipes/whisper-cpp/all/patches/{1.4.2-0001-find_package_openblas.patch => 1.2.1-0001-find_package_openblas.patch} (69%) diff --git a/recipes/whisper-cpp/all/conandata.yml b/recipes/whisper-cpp/all/conandata.yml index 7514fc59eab2f..1c610fb8c4e68 100644 --- a/recipes/whisper-cpp/all/conandata.yml +++ b/recipes/whisper-cpp/all/conandata.yml @@ -1,15 +1,15 @@ sources: - "1.2.1": - url: "https://github.com/ggerganov/whisper.cpp/archive/ad1389003d3f8bd47b8ca7d4c21b4764cc3844fc.tar.gz" - sha256: "e1459ddfe45430b68a1951e4e071478180a3a100a68c0d54f78d113c735e6363" - "1.4.2": - url: "https://github.com/ggerganov/whisper.cpp/archive/a5defbc1b98bea0f070331ce1e8b62d947b0443d.tar.gz" - sha256: "6dd0690b084269b22b1b749103b047e6d45d7b910d7bc9587085ce057dca5431" + "1.5.2": + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.5.2.tar.gz" + sha256: "be9c4d5d4b5f28f02e36f28e602b7d2dcfd734dd1c834ddae91ae8db601e951f" "1.4.3": - url: "https://github.com/ggerganov/whisper.cpp/archive/6a5d195109994b865e1c92a88258ac182399eb64.tar.gz" - sha256: "5b6693c314ae6fb362c13d02357a18099ab0ba03abc07c21f2e8c32b42b7b07e" + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.4.3.tar.gz" + sha256: "5f11c0542639bfb0b3c9d1b033d10ccd69ca26e739aec9366766617bc58a6e7c" + "1.2.1": + url: "https://github.com/ggerganov/whisper.cpp/archive/refs/tags/v1.2.1.tar.gz" + sha256: "69d47fc2ba982c42bd5bade4b7c827d5b3ed74b9c59323991c45a9f0f24eb6ed" patches: - "1.4.2": - - patch_file: "patches/1.4.2-0001-find_package_openblas.patch" + "1.2.1": + - patch_file: "patches/1.2.1-0001-find_package_openblas.patch" patch_description: "Fix OpenBlas cmake target name" patch_type: "conan" diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py index 629ef7bb98046..d3c14cc82e361 100644 --- a/recipes/whisper-cpp/all/conanfile.py +++ b/recipes/whisper-cpp/all/conanfile.py @@ -19,16 +19,40 @@ class WhisperCppConan(ConanFile): homepage = "https://github.com/ggerganov/whisper.cpp" license = "MIT" settings = "os", "arch", "compiler", "build_type" - options = {"shared": [True, False], "fPIC": [True, False], "sanitize_thread": [True, False], - "sanitize_address": [True, False], "sanitize_undefined": [True, False], - "no_avx": [True, False], "no_avx2": [True, False], "no_fma": [True, False], "no_f16c": [True, False], - "no_accelerate": [True, False], "metal": [True, False], "metal_ndebug": [True, False], - "with_coreml": [True, False], "coreml_allow_fallback": [True, False], "with_blas": [True, False]} - default_options = {"shared": False, "fPIC": True, "sanitize_thread": False, - "sanitize_address": False, "sanitize_undefined": False, - "no_avx": False, "no_avx2": False, "no_fma": False, "no_f16c": False, - "no_accelerate": False, "metal": False, "metal_ndebug": False, - "with_coreml": False, "coreml_allow_fallback": False, "with_blas": False} + options = { + "shared": [True, False], + "fPIC": [True, False], + "sanitize_thread": [True, False], + "sanitize_address": [True, False], + "sanitize_undefined": [True, False], + "no_avx": [True, False], + "no_avx2": [True, False], + "no_fma": [True, False], + "no_f16c": [True, False], + "no_accelerate": [True, False], + "metal": [True, False], + "metal_ndebug": [True, False], + "with_coreml": [True, False], + "coreml_allow_fallback": [True, False], + "with_blas": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "sanitize_thread": False, + "sanitize_address": False, + "sanitize_undefined": False, + "no_avx": False, + "no_avx2": False, + "no_fma": False, + "no_f16c": False, + "no_accelerate": False, + "metal": False, + "metal_ndebug": False, + "with_coreml": False, + "coreml_allow_fallback": False, + "with_blas": False, + } package_type = "library" @property @@ -82,7 +106,7 @@ def validate(self): def requirements(self): if not is_apple_os(self): if self.options.with_blas: - self.requires("openblas/0.3.20") + self.requires("openblas/0.3.24") def layout(self): cmake_layout(self, src_folder="src") @@ -95,6 +119,7 @@ def source(self): def generate(self): deps = CMakeDeps(self) + deps.set_property("openblas", "cmake_file_name", "BLAS") deps.generate() tc = CMakeToolchain(self) diff --git a/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch b/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch similarity index 69% rename from recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch rename to recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch index 52b554a4dff49..c8752384a40d1 100644 --- a/recipes/whisper-cpp/all/patches/1.4.2-0001-find_package_openblas.patch +++ b/recipes/whisper-cpp/all/patches/1.2.1-0001-find_package_openblas.patch @@ -1,11 +1,9 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 92b5d0c..b0c2c86 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -127,17 +127,9 @@ if (APPLE) +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -100,15 +100,7 @@ endif() - if (WHISPER_OPENBLAS) + if (WHISPER_SUPPORT_OPENBLAS) - find_library(OPENBLAS_LIB - NAMES openblas libopenblas - ) @@ -17,9 +15,8 @@ index 92b5d0c..b0c2c86 100644 - else() - message(WARNING "OpenBLAS not found") - endif() -+ find_package(OpenBLAS REQUIRED CONFIG) ++ find_package(BLAS REQUIRED CONFIG) + set(WHISPER_EXTRA_LIBS ${WHISPER_EXTRA_LIBS} OpenBLAS::OpenBLAS) + set(WHISPER_EXTRA_FLAGS ${WHISPER_EXTRA_FLAGS} -DGGML_USE_OPENBLAS) endif() - if (WHISPER_CUBLAS) diff --git a/recipes/whisper-cpp/config.yml b/recipes/whisper-cpp/config.yml index ab276865b774a..8c62d29e8f324 100644 --- a/recipes/whisper-cpp/config.yml +++ b/recipes/whisper-cpp/config.yml @@ -1,7 +1,7 @@ versions: - "1.2.1": - folder: "all" - "1.4.2": + "1.5.2": folder: "all" "1.4.3": folder: "all" + "1.2.1": + folder: "all" From be77f29f53bfcb017b33aaa91638d19fcc11b27d Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Wed, 27 Dec 2023 07:58:24 +0100 Subject: [PATCH 0585/1307] (#21965) frugally-deep: add version 0.15.29 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 04211f2fa9dd0..2fda8019e9353 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.29": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.29.tar.gz" + sha256: "032cd525d4a7b9b3ebe28fd5e3984ac3e569da496f65d52c81030aabd9d0c52e" "0.15.25-p0": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.25-p0.tar.gz" sha256: "d1204bc13ace603e97696aa7a1331d6af819c3a9b4952b4fd1e3d72dd8f524c3" diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index f442d1c950420..071eb4ceec642 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.29": + folder: all "0.15.25-p0": folder: all "0.15.24-p0": From 050d13b6fd3aab47cf0ebc6a473092afc786db07 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 27 Dec 2023 10:41:51 +0100 Subject: [PATCH 0586/1307] (#19488) libvault: fix import of Version + decrease min Visual Studio Version + many small fixes * fix import of Version * use export_conandata_patches for patches * remove useless VirtualBuildEnv * bump libcurl * remove useless catch2 in requirements * add package_type * fix min Visual Studio/msvc version * no self.info in validate() * remove useless CMakeLists * add a layout * add libm to system libs on Linux & FreeBSD only * final cleanup * fix traits of requirements * cleanup * do not manually set CMAKE_OSX_DEPLOYMENT_TARGET it's already handled by CMakeToolchain * bump libcurl * use version range for libcurl * fix dll name to avoid conflict with Vault.dll system lib on Windows * fix patch for 0.52.0 --- recipes/libvault/all/CMakeLists.txt | 7 -- recipes/libvault/all/conandata.yml | 6 +- recipes/libvault/all/conanfile.py | 67 ++++++++++--------- .../all/patches/0.48.0-0001-fix-cmake.patch | 42 ++++++++++++ .../all/patches/0.51.0-0001-fix-cmake.patch | 41 ++++++++++++ .../all/patches/0.52.0-0001-fix-cmake.patch | 41 ++++++++++++ .../all/patches/fix-cmake-0.48.0.patch | 63 ----------------- .../all/patches/fix-cmake-0.51.0.patch | 49 -------------- 8 files changed, 162 insertions(+), 154 deletions(-) delete mode 100644 recipes/libvault/all/CMakeLists.txt create mode 100644 recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch create mode 100644 recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch create mode 100644 recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch delete mode 100644 recipes/libvault/all/patches/fix-cmake-0.48.0.patch delete mode 100644 recipes/libvault/all/patches/fix-cmake-0.51.0.patch diff --git a/recipes/libvault/all/CMakeLists.txt b/recipes/libvault/all/CMakeLists.txt deleted file mode 100644 index 217b9530b904d..0000000000000 --- a/recipes/libvault/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8.11) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libvault/all/conandata.yml b/recipes/libvault/all/conandata.yml index c828fc89b0560..fad4071cba2ec 100644 --- a/recipes/libvault/all/conandata.yml +++ b/recipes/libvault/all/conandata.yml @@ -10,14 +10,14 @@ sources: sha256: 0a42be282ff0aff77b68cb7238014aa762df5c6b62e4d3561878874ca3760489 patches: "0.52.0": - - patch_file: "patches/fix-cmake-0.51.0.patch" + - patch_file: "patches/0.52.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" "0.51.0": - - patch_file: "patches/fix-cmake-0.51.0.patch" + - patch_file: "patches/0.51.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" "0.48.0": - - patch_file: "patches/fix-cmake-0.48.0.patch" + - patch_file: "patches/0.48.0-0001-fix-cmake.patch" patch_type: "conan" patch_description: "use libcurl from conan center" diff --git a/recipes/libvault/all/conanfile.py b/recipes/libvault/all/conanfile.py index 659305c5f732b..408c16f6dbb3b 100644 --- a/recipes/libvault/all/conanfile.py +++ b/recipes/libvault/all/conanfile.py @@ -1,15 +1,14 @@ import os -from conan import ConanFile, Version +from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.apple import is_apple_os from conan.tools.build import check_min_cppstd -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain -from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, get, rmdir -from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.scm import Version -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class LibvaultConan(ConanFile): @@ -19,15 +18,24 @@ class LibvaultConan(ConanFile): homepage = "https://github.com/abedra/libvault" description = "A C++ library for Hashicorp Vault" topics = ("vault", "libvault", "secrets", "passwords") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - exports_sources = ["CMakeLists.txt", "patches/**"] - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } @property def _mac_os_minimum_required_version(self): return "10.15" + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -36,16 +44,20 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("libcurl/7.86.0") - self.requires("catch2/3.2.0") + # public header VaultClient.h includes curl/curl.h and use several functions + self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True, transitive_libs=True) def validate(self): - compiler = str(self.info.settings.compiler) + compiler = str(self.settings.compiler) compiler_version = Version(self.settings.compiler.version.value) minimum_compiler_version = { - "Visual Studio": "19", + "Visual Studio": "16", + "msvc": "192", "gcc": "8", "clang": "7.0", "apple-clang": "12", @@ -63,7 +75,7 @@ def validate(self): raise ConanInvalidConfiguration("clang 11 with libstdc++ is not supported due to old libstdc++ missing C++17 support") if is_apple_os(self): - os_version = self.info.settings.get_safe("os.version") + os_version = self.settings.get_safe("os.version") if os_version and Version(os_version) < self._mac_os_minimum_required_version: raise ConanInvalidConfiguration( "Macos Mojave (10.14) and earlier cannot to be built because C++ standard library too old.") @@ -72,28 +84,21 @@ def validate(self): check_min_cppstd(self, minimum_cpp_standard) def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["ENABLE_TEST"] = "OFF" - tc.variables["ENABLE_INTEGRATION_TEST"] = "OFF" - tc.variables["ENABLE_COVERAGE"] = "OFF" - tc.variables["LINK_CURL"] = "OFF" - tc.variables["CMAKE_OSX_DEPLOYMENT_TARGET"] = self._mac_os_minimum_required_version - if is_msvc(self): - tc.variables["USE_MSVC_RUNTIME_LIBRARY_DLL"] = not is_msvc_static_runtime(self) - tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" - tc.generate() - tc = CMakeDeps(self) + tc.variables["ENABLE_TEST"] = False + tc.variables["ENABLE_INTEGRATION_TEST"] = False + tc.variables["ENABLE_COVERAGE"] = False tc.generate() - tc = VirtualBuildEnv(self) - tc.generate(scope="build") + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure(build_script_folder=self.build_folder) + cmake.configure() cmake.build() def package(self): @@ -105,12 +110,10 @@ def package(self): def package_info(self): self.cpp_info.libs = ["vault"] - self.cpp_info.system_libs = ["m"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") if self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "8": self.cpp_info.system_libs.append("stdc++fs") - # TODO: Remove after Conan 2.0 - self.cpp_info.names["cmake_find_package"] = "libvault" - self.cpp_info.names["cmake_find_package_multi"] = "libvault" self.cpp_info.set_property("pkg_config_name", "vault") self.cpp_info.set_property("cmake_file_name", "libvault") diff --git a/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..df2816ee6d88d --- /dev/null +++ b/recipes/libvault/all/patches/0.48.0-0001-fix-cmake.patch @@ -0,0 +1,42 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,10 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.48.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) +-set(CMAKE_CXX_FLAGS_DEBUG --coverage) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -14,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -120,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..2ff417c356ac8 --- /dev/null +++ b/recipes/libvault/all/patches/0.51.0-0001-fix-cmake.patch @@ -0,0 +1,41 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.51.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -13,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -119,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch b/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..70b3ab582fcdc --- /dev/null +++ b/recipes/libvault/all/patches/0.52.0-0001-fix-cmake.patch @@ -0,0 +1,41 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.12) + project(vault VERSION 0.52.0 DESCRIPTION "Vault library for C++") + +-set(CMAKE_CXX_STANDARD 17) +-set(CMAKE_CXX_STANDARD_REQUIRED ON) +-set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + option(ENABLE_TEST "Enable tests?" ON) +@@ -13,12 +10,7 @@ option(LINK_CURL "Link curl library for vault" OFF) + option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) + option(INSTALL "Run install targets" ON) + +-find_package(CURL) +-if (CURL_FOUND) +- include_directories(${CURL_INCLUDE_DIR}) +-else (CURL_FOUND) +- message(FATAL_ERROR "CURL not found") +-endif (CURL_FOUND) ++find_package(CURL REQUIRED) + + include(GNUInstallDirs) + include_directories("${PROJECT_SOURCE_DIR}/lib") +@@ -119,9 +111,11 @@ set_target_properties(vault PROPERTIES + + target_include_directories(vault PRIVATE src) + +-if(LINK_CURL) +- target_link_libraries(vault curl) +-endif(LINK_CURL) ++target_link_libraries(vault PUBLIC CURL::libcurl) ++target_compile_features(vault PUBLIC cxx_std_17) ++if(WIN32) ++ set_target_properties(vault PROPERTIES RUNTIME_OUTPUT_NAME "VaultClient") ++endif() + + if (ENABLE_COVERAGE) + target_link_libraries(vault gcov) diff --git a/recipes/libvault/all/patches/fix-cmake-0.48.0.patch b/recipes/libvault/all/patches/fix-cmake-0.48.0.patch deleted file mode 100644 index 510090973c349..0000000000000 --- a/recipes/libvault/all/patches/fix-cmake-0.48.0.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -4,7 +4,6 @@ - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS OFF) --set(CMAKE_CXX_FLAGS_DEBUG --coverage) - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - - option(ENABLE_TEST "Enable tests?" ON) -@@ -14,13 +13,6 @@ - option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) - option(INSTALL "Run install targets" ON) - --find_package(CURL) --if (CURL_FOUND) -- include_directories(${CURL_INCLUDE_DIR}) --else (CURL_FOUND) -- message(FATAL_ERROR "CURL not found") --endif (CURL_FOUND) -- - include(GNUInstallDirs) - include_directories("${PROJECT_SOURCE_DIR}/lib") - -@@ -120,11 +112,20 @@ - - target_include_directories(vault PRIVATE src) - -+OPTION(UseCurl "UseCurl" ON) -+IF (UseCurl) -+ FIND_PACKAGE(CURL) -+ IF (CURL_FOUND) -+ target_link_libraries(vault CURL::libcurl) -+ ENDIF() -+ENDIF() -+ - if(LINK_CURL) - target_link_libraries(vault curl) - endif(LINK_CURL) - - if (ENABLE_COVERAGE) -+ set(CMAKE_CXX_FLAGS_DEBUG --coverage) - target_link_libraries(vault gcov) - endif () - -@@ -155,7 +156,7 @@ - "${CMAKE_CURRENT_BINARY_DIR}/libvaultConfigVersion.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libvault") - -- configure_file(vault.pc.in vault.pc @ONLY) -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/vault.pc.in" "${CMAKE_BINARY_DIR}/vault.pc" @ONLY) - install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - endif (INSTALL) -@@ -176,7 +177,7 @@ - target_include_directories(libvault_test PRIVATE include) - - target_link_libraries(libvault_test vault) -- target_link_libraries(libvault_test curl) -+ target_link_libraries(libvault_test CURL::libcurl) - target_link_libraries(libvault_test Catch2::Catch2) - - include(CTest) diff --git a/recipes/libvault/all/patches/fix-cmake-0.51.0.patch b/recipes/libvault/all/patches/fix-cmake-0.51.0.patch deleted file mode 100644 index 74ce9e72d06db..0000000000000 --- a/recipes/libvault/all/patches/fix-cmake-0.51.0.patch +++ /dev/null @@ -1,49 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -13,13 +13,6 @@ option(LINK_CURL "Link curl library for vault" OFF) - option(BUILD_SHARED_LIBS "Build vault as a shared library" ON) - option(INSTALL "Run install targets" ON) - --find_package(CURL) --if (CURL_FOUND) -- include_directories(${CURL_INCLUDE_DIR}) --else (CURL_FOUND) -- message(FATAL_ERROR "CURL not found") --endif (CURL_FOUND) -- - include(GNUInstallDirs) - include_directories("${PROJECT_SOURCE_DIR}/lib") - -@@ -119,6 +112,14 @@ set_target_properties(vault PROPERTIES - - target_include_directories(vault PRIVATE src) - -+OPTION(UseCurl "UseCurl" ON) -+IF (UseCurl) -+ FIND_PACKAGE(CURL) -+ IF (CURL_FOUND) -+ target_link_libraries(vault CURL::libcurl) -+ ENDIF() -+ENDIF() -+ - if(LINK_CURL) - target_link_libraries(vault curl) - endif(LINK_CURL) -@@ -155,7 +156,7 @@ if (INSTALL) - "${CMAKE_CURRENT_BINARY_DIR}/libvaultConfigVersion.cmake" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libvault") - -- configure_file(vault.pc.in vault.pc @ONLY) -+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/vault.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/vault.pc" @ONLY) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - endif (INSTALL) -@@ -176,7 +177,7 @@ if (ENABLE_TEST) - target_include_directories(libvault_test PRIVATE include) - - target_link_libraries(libvault_test vault) -- target_link_libraries(libvault_test curl) -+ target_link_libraries(libvault_test CURL::libcurl) - target_link_libraries(libvault_test Catch2::Catch2) - target_link_libraries(libvault_test stdc++fs) - From 35312fd144d71dd175af72674cf7c76ff2472398 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 12:49:12 +0200 Subject: [PATCH 0587/1307] (#21938) bazel: add v7.0.0 --- recipes/bazel/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/bazel/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 36326bd6f856a..30dcb9273146b 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -1,4 +1,30 @@ sources: + "7.0.0": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/7.0.0/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-darwin-x86_64" + sha256: "e0b57be60062f36eceed78d672088c6a2e30bd7de8674e2ee4edcd021b131c8c" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-darwin-arm64" + sha256: "b1cf1c5783fa3eac60942bf2ec6169cfccecd2fa5a355587d8d35983bc1e1310" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-linux-x86_64" + sha256: "8b24f70542f9736e0ccbf9cb3335cb9f049b5a6787f1e5997ed1da80b9bbd46e" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-linux-arm64" + sha256: "cae101d31581a348774526b9d11811b04cc212c943762e6363a85a15bccfca54" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-x86_64.exe" + sha256: "bf4adcd2764dbca6332092950f41c5ae435a38032c1c00a5558ef963b32107a1" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-arm64.exe" + sha256: "7846fc1180c7cf1985f7748db40066590f20a62a9e5c56ee5b1f1f127cb978c5" + "6.2.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/6.2.0/LICENSE" diff --git a/recipes/bazel/config.yml b/recipes/bazel/config.yml index e55e6b68a69ee..94ee5cce25feb 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -1,4 +1,6 @@ versions: + "7.0.0": + folder: all "6.2.0": folder: all "4.0.0": From dbf67396c3071d5e972411d2be749940b6b3be86 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 27 Dec 2023 12:11:09 +0100 Subject: [PATCH 0588/1307] (#21966) xkbcommon/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 8f8538a292739..3dd46ad54cd61 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -76,7 +76,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") self.tool_requires("bison/3.8.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") From ce021c119a13f0648542c1789bdf280b98481e44 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 12:39:32 +0100 Subject: [PATCH 0589/1307] (#21944) libxml2: bump deps --- recipes/libxml2/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libxml2/all/conanfile.py b/recipes/libxml2/all/conanfile.py index 3a2832d9da9e7..ec0a90e4ddd03 100644 --- a/recipes/libxml2/all/conanfile.py +++ b/recipes/libxml2/all/conanfile.py @@ -97,7 +97,7 @@ def requirements(self): if self.options.zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.lzma: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.iconv: self.requires("libiconv/1.17", transitive_headers=True, transitive_libs=True) if self.options.icu: @@ -107,7 +107,7 @@ def build_requirements(self): if not (is_msvc(self) or self._is_mingw_windows): if self.options.zlib or self.options.lzma or self.options.icu: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): From b8b014eb199d283dde937138fad879cbc428d4c2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 13:58:48 +0100 Subject: [PATCH 0590/1307] (#21974) libxml2: add 2.12.3 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 37ac179d3514e..e11d30875ef01 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.3": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.3.tar.xz" + sha256: "8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa" "2.12.2": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.2.tar.xz" sha256: "3f2e6464fa15073eb8f3d18602d54fafc489b7715171064615a40490c6be9f4f" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index cde8f92b31014..c33362995657c 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.3": + folder: all "2.12.2": folder: all "2.12.1": From 985e73ad5efa0fb867212d881e71bb1c87faab8e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 19:46:59 +0100 Subject: [PATCH 0591/1307] (#21976) libxml2: add version 2.11.6 --- recipes/libxml2/all/conandata.yml | 3 +++ recipes/libxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index e11d30875ef01..2adc5bf6e1740 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -8,6 +8,9 @@ sources: "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" + "2.11.6": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" + sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" "2.11.5": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index c33362995657c..ba1af564de62a 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -5,6 +5,8 @@ versions: folder: all "2.12.1": folder: all + "2.11.6": + folder: all "2.11.5": folder: all "2.11.4": From 6ff39d747ed42aa01e1445bb70fb94d402c99cf3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 27 Dec 2023 23:08:39 +0200 Subject: [PATCH 0592/1307] (#21970) libnetfilter_conntrack: add v1.0.9 --- recipes/libnetfilter_conntrack/all/conandata.yml | 7 +++++-- recipes/libnetfilter_conntrack/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libnetfilter_conntrack/all/conandata.yml b/recipes/libnetfilter_conntrack/all/conandata.yml index 15ebea6f3f76c..dbaef81342d93 100644 --- a/recipes/libnetfilter_conntrack/all/conandata.yml +++ b/recipes/libnetfilter_conntrack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.9": + url: "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.9.tar.bz2" + sha256: "67bd9df49fe34e8b82144f6dfb93b320f384a8ea59727e92ff8d18b5f4b579a8" "1.0.8": - sha256: 0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf - url: https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.8.tar.bz2 + url: "https://www.netfilter.org/projects/libnetfilter_conntrack/files/libnetfilter_conntrack-1.0.8.tar.bz2" + sha256: "0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf" diff --git a/recipes/libnetfilter_conntrack/config.yml b/recipes/libnetfilter_conntrack/config.yml index 3d5953260054d..f02198b44e348 100644 --- a/recipes/libnetfilter_conntrack/config.yml +++ b/recipes/libnetfilter_conntrack/config.yml @@ -1,3 +1,5 @@ versions: + 1.0.9: + folder: all 1.0.8: folder: all From 2a35197a505726c81b6b59dfad0c54c5402f7593 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 27 Dec 2023 23:08:45 +0100 Subject: [PATCH 0593/1307] (#21977) wayland: bump deps --- recipes/wayland/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index d23bcb66ab8ee..f863770107024 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -50,7 +50,7 @@ def requirements(self): if self.options.enable_libraries: self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("expat/2.5.0") def validate(self): From 7fb6124cbf15c59951ad9213af64c01d2fb6e109 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 28 Dec 2023 10:01:58 +0000 Subject: [PATCH 0594/1307] (#21890) [bot] Update authorized users list (2023-12-25) * Add/remove users to Access Request * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 431c8106f9525..2e70a86ba0550 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1256,3 +1256,9 @@ authorized_users: - piliugin-anton - Drllap - i-curve +- Mi-La +- gureedo +- cbaecker +- ErixenCruz +- OrianeGourdyStilla +- nikitasinys From 6dc371ffcf6e88809c2ec6dbc4dac4829c0ba404 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 28 Dec 2023 12:19:03 +0200 Subject: [PATCH 0595/1307] (#21914) drmp3: add v0.6.38 * drmp3: add v0.6.38 * drmp3: fix URL --- recipes/drmp3/all/conandata.yml | 8 +++++--- recipes/drmp3/all/conanfile.py | 2 +- recipes/drmp3/config.yml | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/drmp3/all/conandata.yml b/recipes/drmp3/all/conandata.yml index a26d9e9dbb871..58d5499fc9714 100644 --- a/recipes/drmp3/all/conandata.yml +++ b/recipes/drmp3/all/conandata.yml @@ -1,9 +1,11 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb/dr_mp3.h#L3 + "0.6.38": + url: "https://github.com/mackron/dr_libs/archive/01d23df76776faccee3bc456f685900dcc273b4c.zip" + sha256: "fe82eac7a30c01679ddfdf1d51d1829d72a78b6ec236c47eb03abc089a4457ab" "0.6.34": - url: https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip + url: "https://github.com/mackron/dr_libs/archive/dd762b861ecadf5ddd5fb03e9ca1db6707b54fbb.zip" sha256: "077d6b29a78da5132065fcc9b44ca50e7e168b94250f2c25614101d3f808bcc1" - # NOTE: https://github.com/mackron/dr_libs/blob/9497270f581f43e6b795ce5d98d8764861fb6a50/dr_mp3.h#L3 "0.6.32": - url: https://github.com/mackron/dr_libs/archive/9497270f581f43e6b795ce5d98d8764861fb6a50.zip + url: "https://github.com/mackron/dr_libs/archive/9497270f581f43e6b795ce5d98d8764861fb6a50.zip" sha256: "572b59ec9719cf8f4938f982bc1f2e52689a3fbf6cceb4f27478942d7e35456b" diff --git a/recipes/drmp3/all/conanfile.py b/recipes/drmp3/all/conanfile.py index 5ff9719fea314..4e596641bffba 100644 --- a/recipes/drmp3/all/conanfile.py +++ b/recipes/drmp3/all/conanfile.py @@ -9,7 +9,7 @@ class Drmp3Conan(ConanFile): name = "drmp3" description = "MP3 audio decoder." - homepage = "https://mackron.github.io/" + homepage = "https://github.com/mackron/dr_libs" topics = ("audio", "mp3", "sound") license = ("Unlicense", "MIT-0") url = "https://github.com/conan-io/conan-center-index" diff --git a/recipes/drmp3/config.yml b/recipes/drmp3/config.yml index dda44114b507b..cd9d5736792a2 100644 --- a/recipes/drmp3/config.yml +++ b/recipes/drmp3/config.yml @@ -1,4 +1,6 @@ versions: + "0.6.38": + folder: all "0.6.34": folder: all "0.6.32": From 87d0402fdd781e0f69e5e7df110f09949d1fdfd3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 28 Dec 2023 12:38:30 +0200 Subject: [PATCH 0596/1307] (#21916) sbp: add v5.0.4 --- recipes/sbp/all/conandata.yml | 19 +++++++++++++------ recipes/sbp/config.yml | 2 ++ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/recipes/sbp/all/conandata.yml b/recipes/sbp/all/conandata.yml index c5be56f8c3b1f..517606eaacf88 100644 --- a/recipes/sbp/all/conandata.yml +++ b/recipes/sbp/all/conandata.yml @@ -1,22 +1,29 @@ sources: + "5.0.4": + cmake: + url: "https://github.com/swift-nav/cmake/archive/954e6cebe4c902d07d33beef166df89073a7b4f2.zip" + sha256: "910e14e35d02fd766bc885cfc9b99626006c12ef26d6446cfbf728862d7cebab" + source: + url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v5.0.4.tar.gz" + sha256: "0b51707780dec08f24fac091b935e041d0d61abf2093562df829e85b9510d72b" "4.15.0": cmake: url: "https://github.com/swift-nav/cmake/archive/12b7f037e7cc721a9a36c7342ba2ca2b0cafc01e.zip" - sha256: 6a725914bf8c3ed13065812cf4d7b0a69e478eaa150561e0e3be4cd01bf3798f + sha256: "6a725914bf8c3ed13065812cf4d7b0a69e478eaa150561e0e3be4cd01bf3798f" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.15.0.tar.gz" - sha256: e71fd7dd5536058d6b93ade443913e68da7b4f1896aa720dc369baab1864e9e9 + sha256: "e71fd7dd5536058d6b93ade443913e68da7b4f1896aa720dc369baab1864e9e9" "4.2.0": cmake: url: "https://github.com/swift-nav/cmake/archive/31604e72e72c09fa32effdbc37acc79dda7c99d7.zip" - sha256: 22e0ef6915ad5accfa6c0b30cb75a7d409ee1e08746f5ee92311015aa3826246 + sha256: "22e0ef6915ad5accfa6c0b30cb75a7d409ee1e08746f5ee92311015aa3826246" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v4.2.0.tar.gz" - sha256: 9ee9808394867405938505fb0aa52ffeb8d98b7ce222e47629ffabdc9e23d3e4 + sha256: "9ee9808394867405938505fb0aa52ffeb8d98b7ce222e47629ffabdc9e23d3e4" "3.4.10": cmake: url: "https://github.com/swift-nav/cmake/archive/373d4fcafbbc0c208dc9ecb278d36ed8c9448eda.zip" - sha256: 6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894 + sha256: "6077d2a754d013e3cb9826f589e47b19ab01f4d91ede4f5bfc14db74bc5dc894" source: url: "https://github.com/swift-nav/libsbp/archive/refs/tags/v3.4.10.tar.gz" - sha256: f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224 + sha256: "f2fb738f49112b25e7849ca0c75415159127e9b5373b13e7027362b8fa0b1224" diff --git a/recipes/sbp/config.yml b/recipes/sbp/config.yml index 6e299a70ad6f8..e2fec4a93304d 100644 --- a/recipes/sbp/config.yml +++ b/recipes/sbp/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.4": + folder: "all" "4.15.0": folder: "all" "4.2.0": From 46f6cdabc575b88add9efaf65de639a5974bc48b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 28 Dec 2023 12:58:42 +0100 Subject: [PATCH 0597/1307] (#21975) cmake: add version 3.28.1 --- recipes/cmake/binary/conandata.yml | 19 +++++++++++++++++++ recipes/cmake/config.yml | 2 ++ 2 files changed, 21 insertions(+) diff --git a/recipes/cmake/binary/conandata.yml b/recipes/cmake/binary/conandata.yml index 6eae0c6e97427..312a7c7d57530 100644 --- a/recipes/cmake/binary/conandata.yml +++ b/recipes/cmake/binary/conandata.yml @@ -1,4 +1,23 @@ sources: + "3.28.1": + Linux: + armv8: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-linux-aarch64.tar.gz" + sha256: "e84d88e46ed8c85fbe259bcd4ca07df7a928df87e84013e0da34d91b01a25d71" + x86_64: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-linux-x86_64.tar.gz" + sha256: "f76398c24362ad87bad1a3d6f1e8f4377632b5b1c360c4ba1fd7cd205fd9d8d4" + Macos: + universal: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-macos10.10-universal.tar.gz" + sha256: "f2d296294921b209d9c7edbc12ce175e00644fcabba362b6a24c32b0a4624a9a" + Windows: + armv8: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-windows-arm64.zip" + sha256: "a839b8d32c11b24f078142b5b8c3361a955ebc65788f0f0353b2121fe2f74e49" + x86_64: + url: "https://cmake.org/files/v3.28/cmake-3.28.1-windows-x86_64.zip" + sha256: "671332249bc7cc7424523d6c2b5edd3e3de90a43b8b82e8782f42da4fe4c562d" "3.27.9": Linux: armv8: diff --git a/recipes/cmake/config.yml b/recipes/cmake/config.yml index cdf491b2833f0..7ce9e3ce4a58b 100644 --- a/recipes/cmake/config.yml +++ b/recipes/cmake/config.yml @@ -1,4 +1,6 @@ versions: + "3.28.1": + folder: "binary" "3.27.9": folder: "binary" "3.27.7": From a21ba9f49e3e61d7633ecc6673ccf4065eaeeca2 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Thu, 28 Dec 2023 14:56:11 +0100 Subject: [PATCH 0598/1307] (#21978) norm: bump deps --- recipes/norm/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/norm/all/conanfile.py b/recipes/norm/all/conanfile.py index 631f2c31ff5ee..06df6975769c2 100644 --- a/recipes/norm/all/conanfile.py +++ b/recipes/norm/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.12.2") # dependency of protolib actually + self.requires("libxml2/2.12.3") # dependency of protolib actually def source(self): get(self, **self.conan_data["sources"][self.version]) From 690e414f57fd22c3d2447fe28b677bd9b026f4eb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 04:42:17 +0200 Subject: [PATCH 0599/1307] (#21921) cista: add v0.14 --- recipes/cista/all/conandata.yml | 5 +++++ recipes/cista/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/cista/all/conandata.yml b/recipes/cista/all/conandata.yml index 1547b3bc2b229..dddca09a6246d 100644 --- a/recipes/cista/all/conandata.yml +++ b/recipes/cista/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "0.14": + - url: "https://github.com/felixguendling/cista/releases/download/v0.14/cista.h" + sha256: "078933804966439ae105a6a748aa027a2f197351d735712b1efca0453340562d" + - url: "https://raw.githubusercontent.com/felixguendling/cista/v0.14/LICENSE" + sha256: "fcd47e35fd6dc22feec454c5c1e572ccb7587dedd91d824528ebbb00a7f37c56" "0.11": - url: "https://github.com/felixguendling/cista/releases/download/v0.11/cista.h" sha256: "e2e37fa1f7278e7f1a8dab7d84b6b00f5a0a4fb48f42fbe5761b7ddd0d07314c" diff --git a/recipes/cista/config.yml b/recipes/cista/config.yml index ac2c19b16c278..4390251f71953 100644 --- a/recipes/cista/config.yml +++ b/recipes/cista/config.yml @@ -1,4 +1,6 @@ versions: + "0.14": + folder: all "0.11": folder: all "0.10": From 1317bcb93d7e3b46f4e603f72c8e93eb15ce4aaa Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 09:01:21 +0100 Subject: [PATCH 0600/1307] (#21979) libnghttp2: bump deps --- recipes/libnghttp2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py index 74a79e9337e57..7a30076b7b190 100644 --- a/recipes/libnghttp2/all/conanfile.py +++ b/recipes/libnghttp2/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): self.requires("c-ares/1.22.0") self.requires("libev/4.33") self.requires("libevent/2.1.12") - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.with_jemalloc: self.requires("jemalloc/5.3.0") From 3730d5ef0fc3faebb02ef0b7d284d9c1e19afb16 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 10:30:15 +0100 Subject: [PATCH 0601/1307] (#21980) libmetalink: bump deps --- recipes/libmetalink/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmetalink/all/conanfile.py b/recipes/libmetalink/all/conanfile.py index 3068e2cbb52f3..10c23cc875879 100644 --- a/recipes/libmetalink/all/conanfile.py +++ b/recipes/libmetalink/all/conanfile.py @@ -55,7 +55,7 @@ def requirements(self): if self.options.xml_backend == "expat": self.requires("expat/2.5.0") elif self.options.xml_backend == "libxml2": - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") def validate(self): if is_msvc(self): From 077a37ac3211521001e2fdef0c14de2274c59165 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:07:05 +0100 Subject: [PATCH 0602/1307] (#21981) libgphoto2: bump deps --- recipes/libgphoto2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgphoto2/all/conanfile.py b/recipes/libgphoto2/all/conanfile.py index 4ff9ce5a31cae..42df92be12821 100644 --- a/recipes/libgphoto2/all/conanfile.py +++ b/recipes/libgphoto2/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): if self.options.with_libcurl: self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.with_libexif: self.requires("libexif/0.6.24") if self.options.with_libjpeg: From 3887cbe44dd5ee24ce87e6061401386ce5d38944 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:19:34 +0100 Subject: [PATCH 0603/1307] (#21982) libarchive: bump deps --- recipes/libarchive/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libarchive/all/conanfile.py b/recipes/libarchive/all/conanfile.py index 41ace49a160e2..2f2b32fea9625 100644 --- a/recipes/libarchive/all/conanfile.py +++ b/recipes/libarchive/all/conanfile.py @@ -85,7 +85,7 @@ def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.with_expat: self.requires("expat/2.5.0") if self.options.with_iconv: @@ -93,7 +93,7 @@ def requirements(self): if self.options.with_pcreposix: self.requires("pcre2/10.42") if self.options.with_nettle: - self.requires("nettle/3.8.1") + self.requires("nettle/3.9.1") if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_libb2: @@ -107,7 +107,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.get_safe("with_mbedtls"): - self.requires("mbedtls/3.5.0") + self.requires("mbedtls/3.5.1") def validate(self): if self.settings.os != "Windows" and self.options.with_cng: From 18f158db58410bdd35e914c57def02b65fe23f67 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:29:23 +0100 Subject: [PATCH 0604/1307] (#21983) hwloc: bump deps --- recipes/hwloc/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/hwloc/all/conanfile.py b/recipes/hwloc/all/conanfile.py index 06d5183a8393e..231701d41f587 100644 --- a/recipes/hwloc/all/conanfile.py +++ b/recipes/hwloc/all/conanfile.py @@ -32,7 +32,7 @@ def configure(self): def requirements(self): if self.options.with_libxml2: - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 42a931efc8c4deb59b1e76aaf2be4f3961fbde7b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 11:49:01 +0100 Subject: [PATCH 0605/1307] (#21984) aravis: bump deps --- recipes/aravis/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/aravis/all/conanfile.py b/recipes/aravis/all/conanfile.py index dd3d02a581da3..af5a8560dea48 100644 --- a/recipes/aravis/all/conanfile.py +++ b/recipes/aravis/all/conanfile.py @@ -73,7 +73,7 @@ def layout(self): def requirements(self): # glib-object.h and gio/gio.h are used in several public headers self.requires("glib/2.78.1", transitive_headers=True) - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.usb: @@ -104,7 +104,7 @@ def validate(self): def build_requirements(self): #windows build: meson/1.2.1 works, meson/1.2.2 breaks for some reason! - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") self.tool_requires("glib/") if not self.conf.get("tools.gnu:pkg_config", check_type=str): self.tool_requires("pkgconf/2.1.0") From a46f512594fe6021254e2cb1374d3158b5f90d73 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:18:49 +0200 Subject: [PATCH 0606/1307] (#21992) libdc1394: add v2.2.7 --- recipes/libdc1394/all/conandata.yml | 3 +++ recipes/libdc1394/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdc1394/all/conandata.yml b/recipes/libdc1394/all/conandata.yml index f12a9d3794e20..72fa1e3400e1a 100644 --- a/recipes/libdc1394/all/conandata.yml +++ b/recipes/libdc1394/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.7": + url: "https://sourceforge.net/projects/libdc1394/files/libdc1394-2/2.2.7/libdc1394-2.2.7.tar.gz" + sha256: "537ceb78dd3cef271a183f4a176191d1cecf85f025520e6bd3758b0e19e6609f" "2.2.6": url: "https://sourceforge.net/projects/libdc1394/files/libdc1394-2/2.2.6/libdc1394-2.2.6.tar.gz" sha256: "2b905fc9aa4eec6bdcf6a2ae5f5ba021232739f5be047dec8fe8dd6049c10fed" diff --git a/recipes/libdc1394/config.yml b/recipes/libdc1394/config.yml index 02d886e69e974..ca2455c42caf9 100644 --- a/recipes/libdc1394/config.yml +++ b/recipes/libdc1394/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.7": + folder: all "2.2.6": folder: all From 15795669c33374a95d2c4e2fb152276ab8c93d2c Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:39:18 +0200 Subject: [PATCH 0607/1307] (#21993) libdrm: add v2.4.119 --- recipes/libdrm/all/conandata.yml | 3 +++ recipes/libdrm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libdrm/all/conandata.yml b/recipes/libdrm/all/conandata.yml index c664ae449755d..d027d5e2e31c2 100644 --- a/recipes/libdrm/all/conandata.yml +++ b/recipes/libdrm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.119": + url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.119.tar.xz" + sha256: "0a49f12f09b5b6e68eaaaff3f02ca7cff9aa926939b212d343161d3e8ac56291" "2.4.114": url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.114.tar.xz" sha256: "3049cf843a47d12e5eeefbc3be3496d782fa09f42346bf0b7defe3d1e598d026" diff --git a/recipes/libdrm/config.yml b/recipes/libdrm/config.yml index 90fca8a547e3e..856b2ef77e459 100644 --- a/recipes/libdrm/config.yml +++ b/recipes/libdrm/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.119": + folder: all "2.4.114": folder: all "2.4.109": From bd03c3f53cbed498646c2b1fe1325aa3a90400f1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 13:58:26 +0200 Subject: [PATCH 0608/1307] (#21994) libfdk_aac: add v2.0.3 --- recipes/libfdk_aac/all/conandata.yml | 3 +++ recipes/libfdk_aac/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libfdk_aac/all/conandata.yml b/recipes/libfdk_aac/all/conandata.yml index 130e5570f8cdf..516a736a8a125 100644 --- a/recipes/libfdk_aac/all/conandata.yml +++ b/recipes/libfdk_aac/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.3.tar.gz" + sha256: "829b6b89eef382409cda6857fd82af84fabb63417b08ede9ea7a553f811cb79e" "2.0.2": url: "https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.2.tar.gz" sha256: "c9e8630cf9d433f3cead74906a1520d2223f89bcd3fa9254861017440b8eb22f" diff --git a/recipes/libfdk_aac/config.yml b/recipes/libfdk_aac/config.yml index e850754933d82..7529da0511999 100644 --- a/recipes/libfdk_aac/config.yml +++ b/recipes/libfdk_aac/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.2": folder: all "2.0.1": From a582b3a6fd2c202b2201d959568f3d1792bd1735 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:19:03 +0200 Subject: [PATCH 0609/1307] (#21998) fontconfig: add v2.15.0 --- recipes/fontconfig/config.yml | 2 ++ recipes/fontconfig/meson/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/fontconfig/config.yml b/recipes/fontconfig/config.yml index a3042d0ed624f..41c4db45e111e 100644 --- a/recipes/fontconfig/config.yml +++ b/recipes/fontconfig/config.yml @@ -1,4 +1,6 @@ versions: + "2.15.0": + folder: meson "2.14.2": folder: meson "2.13.93": diff --git a/recipes/fontconfig/meson/conandata.yml b/recipes/fontconfig/meson/conandata.yml index e2b11bfd27f49..6691cd7b19491 100644 --- a/recipes/fontconfig/meson/conandata.yml +++ b/recipes/fontconfig/meson/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.15.0": + url: "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.xz" + sha256: "63a0658d0e06e0fa886106452b58ef04f21f58202ea02a94c39de0d3335d7c0e" "2.14.2": url: "https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.xz" sha256: "dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b" From 6e8d80fc5a6d7b8b146585fbe8df997957be41a1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:38:34 +0200 Subject: [PATCH 0610/1307] (#21999) gdcm: add v3.0.22 --- recipes/gdcm/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/gdcm/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/gdcm/all/conandata.yml b/recipes/gdcm/all/conandata.yml index 2a53250fc718c..793cf97224a83 100644 --- a/recipes/gdcm/all/conandata.yml +++ b/recipes/gdcm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.22": + url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.22/gdcm-3.0.22.tar.bz2" + sha256: "40a20aa21d6f5b9710020920a9fbd43ac76149b1097f0fab6f9787513a7a7434" "3.0.21": url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.21/gdcm-3.0.21.tar.bz2" sha256: "f29dbdd3b6b4c30c9803e6466b88b139d67f5585768565fe29f0be65ad737744" @@ -9,6 +12,29 @@ sources: url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.9/gdcm-3.0.9.tar.bz2" sha256: "1d518b0e4709cecfb7330c9bd9b3a73cfd01ffe70d1c178f36a4c847283c4672" patches: + "3.0.22": + - patch_file: "patches/0001-3.0.20-find-charls.patch" + patch_description: "allow using charls >= 2.2.0" + patch_type: "portability" + patch_source: "https://github.com/malaterre/GDCM/pull/157" + - patch_file: "patches/0002-3.0.20-openjpeg.patch" + patch_description: "fix variable names for openjpeg" + patch_type: "conan" + - patch_file: "patches/0004-3.0.20-find-expat.patch" + patch_description: "enforce usage of FindEXPAT.cmake" + patch_type: "conan" + - patch_file: "patches/0005-3.0.20-openssl.patch" + patch_description: "skip check_cxx_source_compiles usage for openssl" + patch_type: "conan" + - patch_file: "patches/0006-json.patch" + patch_description: "skip check_cxx_source_compiles usage for json-c" + patch_type: "conan" + - patch_file: "patches/0007-3.0.20-find-json.patch" + patch_description: "fix find_package for json-c" + patch_type: "conan" + - patch_file: "patches/0008-3.0.20-find-libuuid.patch" + patch_description: "fix find_package for libuuid" + patch_type: "conan" "3.0.21": - patch_file: "patches/0001-3.0.20-find-charls.patch" patch_description: "allow using charls >= 2.2.0" diff --git a/recipes/gdcm/config.yml b/recipes/gdcm/config.yml index 868e7933ac4a6..675075c6ed71e 100644 --- a/recipes/gdcm/config.yml +++ b/recipes/gdcm/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.22": + folder: "all" "3.0.21": folder: "all" "3.0.20": From 1a8a2dcda94c19e7494632a63da1d7051c571aea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 14:58:41 +0200 Subject: [PATCH 0611/1307] (#22000) scdoc: fix invalid version number --- recipes/scdoc/all/conandata.yml | 2 +- recipes/scdoc/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/scdoc/all/conandata.yml b/recipes/scdoc/all/conandata.yml index 9859fdd9fbe4b..e10d90bd8274f 100644 --- a/recipes/scdoc/all/conandata.yml +++ b/recipes/scdoc/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "1.11.12": + "1.11.2": url: "https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.2.tar.gz" sha256: "e9ff9981b5854301789a6778ee64ef1f6d1e5f4829a9dd3e58a9a63eacc2e6f0" diff --git a/recipes/scdoc/config.yml b/recipes/scdoc/config.yml index 4e3c90e52dc99..68804c58d126a 100644 --- a/recipes/scdoc/config.yml +++ b/recipes/scdoc/config.yml @@ -1,3 +1,3 @@ versions: - "1.11.12": + "1.11.2": folder: all From adc32d374f0a81e8d98416abf30079241d1b1ceb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:18:45 +0200 Subject: [PATCH 0612/1307] (#22001) scons: add v4.6.0 --- recipes/scons/all/conandata.yml | 3 +++ recipes/scons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/scons/all/conandata.yml b/recipes/scons/all/conandata.yml index 5c49097cbf659..5a281fd5282bb 100644 --- a/recipes/scons/all/conandata.yml +++ b/recipes/scons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.0": + url: "http://prdownloads.sourceforge.net/scons/SCons-4.6.0.tar.gz" + sha256: "7db28958b188b800f803c287d0680cc3ac7c422ed0b1cf9895042c52567803ec" "4.3.0": url: "http://prdownloads.sourceforge.net/scons/SCons-4.3.0.tar.gz" sha256: "2efc81754a4491299c0c64a6230715dfe33f7a3a42a0834a4ce1756af117bdec" diff --git a/recipes/scons/config.yml b/recipes/scons/config.yml index 26cb9a182f8d1..39ec99bde0cb3 100644 --- a/recipes/scons/config.yml +++ b/recipes/scons/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.0": + folder: all "4.3.0": folder: all "4.2.0": From 2ec76482bf8ec25ef8aa679f1581f25e7cd44388 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:38:45 +0200 Subject: [PATCH 0613/1307] (#22006) tinkerforge-bindings: add v2.1.33 * tinkerforge-bindings: add v2.1.33 * make linter happy --- recipes/tinkerforge-bindings/all/conandata.yml | 6 ++++-- recipes/tinkerforge-bindings/config.yml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/tinkerforge-bindings/all/conandata.yml b/recipes/tinkerforge-bindings/all/conandata.yml index 4a2d6c836c7df..2db4c8cf9a932 100644 --- a/recipes/tinkerforge-bindings/all/conandata.yml +++ b/recipes/tinkerforge-bindings/all/conandata.yml @@ -1,5 +1,7 @@ sources: + "2.1.33": + url: "https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_33.zip" + sha256: "50501ca76b574ed756fef8e647b2c0b14b8f970c3c7f28824db3b3a841d51798" "2.1.32": - url: https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_32.zip + url: "https://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_32.zip" sha256: "228f8eb3e64170312ceaca7354ba5f3178e89389782b304657ccdd2a2fd2b6b5" - diff --git a/recipes/tinkerforge-bindings/config.yml b/recipes/tinkerforge-bindings/config.yml index d03f744650d0a..a948d6b05afc2 100644 --- a/recipes/tinkerforge-bindings/config.yml +++ b/recipes/tinkerforge-bindings/config.yml @@ -1,3 +1,5 @@ versions: + "2.1.33": + folder: all "2.1.32": folder: all From d0338b4a02c125f02756fae81c81e6b8b916a338 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 15:58:31 +0200 Subject: [PATCH 0614/1307] (#22007) tllist: add v1.1.0 --- recipes/tllist/all/conandata.yml | 5 ++++- recipes/tllist/config.yml | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/tllist/all/conandata.yml b/recipes/tllist/all/conandata.yml index 57b91d7bbc8b2..b5b25e638eacf 100644 --- a/recipes/tllist/all/conandata.yml +++ b/recipes/tllist/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://codeberg.org/dnkl/tllist/archive/1.1.0.tar.gz" + sha256: "3f3fe2f7433719cec816c63937a7aa36e566bd317763ef46d11562073ab6361d" "1.0.5": url: "https://codeberg.org/dnkl/tllist/archive/1.0.5.tar.gz" - sha256: b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd + sha256: "b0f32c9b2c2015c8d8dd068fd4e8b586aa91ca1670badc274ec962559ee0aadd" diff --git a/recipes/tllist/config.yml b/recipes/tllist/config.yml index 9d896aecb9356..2c85a5a09f1df 100644 --- a/recipes/tllist/config.yml +++ b/recipes/tllist/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.0": + folder: "all" "1.0.5": folder: "all" From a46ee314e83ae7a2562492265457efae2b5daca2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 16:39:29 +0200 Subject: [PATCH 0615/1307] (#22008) upx: add v4.2.1 --- recipes/upx/all/conandata.yml | 24 ++++++++++++++++++++++++ recipes/upx/config.yml | 2 ++ 2 files changed, 26 insertions(+) diff --git a/recipes/upx/all/conandata.yml b/recipes/upx/all/conandata.yml index e774dc1feea4d..1f17ad4f588bc 100644 --- a/recipes/upx/all/conandata.yml +++ b/recipes/upx/all/conandata.yml @@ -1,4 +1,28 @@ sources: + "4.2.1": + "Linux": + "x86_64": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-amd64_linux.tar.xz" + sha256: "936e67a23d72338dad3304526a29f405e44e440a9983bbdb2566657d015cc56d" + "armv8": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm64_linux.tar.xz" + sha256: "922b4d021a1fdd68a883d9c837b09035317c9a52e8087403bd0d1b062c006f22" + "armv7": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-arm_linux.tar.xz" + sha256: "0ea0ca497b8fd4ecfd9201d100a0fde251214042b09d5e070c3435aae75913e0" + "ppc32": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc_linux.tar.xz" + sha256: "c96b6c196c31e2d78a4095d1a4c0b1a22050a2141d40c9387806d14d7ed75035" + "ppc64le": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-powerpc64le_linux.tar.xz" + sha256: "3f683b6de4e25c135c8ff7c91f116514b6cb30834a9708f4516b897502f6d34a" + "Windows": + "x86": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win32.zip" + sha256: "475504d9b2ae5fd9ede27919ee3b3fa8869a1398645c1239fc19193022054268" + "x86_64": + url: "https://github.com/upx/upx/releases/download/v4.2.1/upx-4.2.1-win64.zip" + sha256: "b6e20e35303a390c3b1211f5ed0559def2c34ec5774176bb22afee19b35b2138" "3.96": "Linux": "x86_64": diff --git a/recipes/upx/config.yml b/recipes/upx/config.yml index ec9befdb55388..417ec321f784d 100644 --- a/recipes/upx/config.yml +++ b/recipes/upx/config.yml @@ -1,3 +1,5 @@ versions: + "4.2.1": + folder: all "3.96": folder: all From a1192ed4da538ee97e079a13318c82e8388bc2ab Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 30 Dec 2023 15:48:29 +0100 Subject: [PATCH 0616/1307] (#21843) qt6: enable clang builds * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt/6.x.x: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * qt6: enable clang builds fixes conan-io/conan-center-index#21698 * fix gcc 9.2 * satisfy linter * unbump xkbcommon --- recipes/qt/6.x.x/conandata.yml | 29 ++++++++++++++++++++ recipes/qt/6.x.x/conanfile.py | 14 +++------- recipes/qt/6.x.x/patches/32fa63f.patch | 28 +++++++++++++++++++ recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch | 28 +++++++++++++++++++ 4 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 recipes/qt/6.x.x/patches/32fa63f.patch create mode 100644 recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index cb7797f109eaf..d81c0510b2a8f 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -67,21 +67,46 @@ patches: - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.6.0": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e_6.6.0.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.5.3": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" "patch_file": "patches/c72097e.diff" + "patch_type": "bugfix" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + - "base_path": "qtbase" + "patch_description": "Fix build error with lambda on GCC 9.2" + "patch_file": "patches/32fa63f_6.5.0.patch" + "patch_type": "bugfix" + "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920" "6.4.2": - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" + patch_type: "bugfix" + patch_source: "https://bugreports.qt.io/browse/QTBUG-95569" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" + patch_type: "bugfix" + patch_source: "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" @@ -91,9 +116,13 @@ patches: - base_path: "qtbase/cmake" patch_description: "Fix pri helpers" patch_file: "patches/qt6-pri-helpers-fix.diff" + patch_type: "bugfix" + patch_source: "https://bugreports.qt.io/browse/QTBUG-95569" - patch_file: "patches/c72097e.diff" base_path: "qtwebengine" patch_description: "Workaround for too long .rps file name" + patch_type: "bugfix" + patch_source: "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" - patch_file: "patches/d13958d.diff" base_path: "qtbase" patch_description: "Fix PCRE2 detection" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 6113ac9cd6f54..a0967b918228d 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -247,18 +247,12 @@ def validate(self): elif Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration("C++17 support required, which your compiler does not support.") - if Version(self.version) >= "6.5.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version) == "9": - raise ConanInvalidConfiguration("qt 6.5.0 cannot be built with gcc 9, cf QTBUG-112920") - if Version(self.version) >= "6.4.0" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "12": raise ConanInvalidConfiguration("apple-clang >= 12 required by qt >= 6.4.0") if Version(self.version) >= "6.6.1" and self.settings.compiler == "apple-clang" and Version(self.settings.compiler.version) < "13.1": raise ConanInvalidConfiguration("apple-clang >= 13.1 is required by qt >= 6.6.1 cf QTBUG-119490") - if self.settings.compiler == "clang" and "libstdc++" in str(self.settings.compiler.libcxx): - raise ConanInvalidConfiguration("Qt needs recent libstdc++, with charconv. please switch to gcc, or to libc++") - if self.settings.os == "Macos" and self.dependencies["double-conversion"].options.shared: raise ConanInvalidConfiguration("Test recipe fails because of Macos' SIP. Contributions are welcome.") @@ -321,11 +315,11 @@ def requirements(self): if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.268.0") if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.78.1") + self.requires("glib/2.78.3") if self.options.with_doubleconversion and not self.options.multiconfiguration: self.requires("double-conversion/3.3.0") if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration: @@ -380,7 +374,7 @@ def requirements(self): if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") if self.options.with_dbus: - self.requires("dbus/1.15.6") + self.requires("dbus/1.15.8") if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi: self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102 if self.options.get_safe("with_md4c", False): @@ -390,7 +384,7 @@ def build_requirements(self): self.tool_requires("cmake/[>=3.21.1 <4]") self.tool_requires("ninja/1.11.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.settings.os == "Windows": self.tool_requires('strawberryperl/5.32.1.1') diff --git a/recipes/qt/6.x.x/patches/32fa63f.patch b/recipes/qt/6.x.x/patches/32fa63f.patch new file mode 100644 index 0000000000000..733b0c131f1f5 --- /dev/null +++ b/recipes/qt/6.x.x/patches/32fa63f.patch @@ -0,0 +1,28 @@ +From b404930e122013e76ba8fe165f3432288c051438 Mon Sep 17 00:00:00 2001 +From: shjiu +Date: Fri, 17 Nov 2023 09:41:31 +0900 +Subject: [PATCH] Fix build error with lambda on GCC 9.2 + +This patch is specific to the return type of updatePtrSimd function as boolean to avoid the bug of GCC 9.2. + +Fixes: QTBUG-112920 +Pick-to: 6.7 6.6 6.5 +Change-Id: I21cb1f6dda34448b2290ab72ec280b6b2a3732c9 +Reviewed-by: Volker Hilsheimer +--- + src/corelib/text/qstring.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp +index 2dc415584f3..d9e89f8e5bb 100644 +--- a/src/corelib/text/qstring.cpp ++++ b/src/corelib/text/qstring.cpp +@@ -471,7 +471,7 @@ static bool simdTestMask(const char *&ptr, const char *end, quint32 maskval) + if constexpr (UseSse4_1) { + # ifndef Q_OS_QNX // compiler fails in the code below + __m128i mask; +- auto updatePtrSimd = [&](__m128i data) { ++ auto updatePtrSimd = [&](__m128i data) -> bool { + __m128i masked = _mm_and_si128(mask, data); + __m128i comparison = _mm_cmpeq_epi16(masked, _mm_setzero_si128()); + uint result = _mm_movemask_epi8(comparison); diff --git a/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch b/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch new file mode 100644 index 0000000000000..3675cf9dd16d7 --- /dev/null +++ b/recipes/qt/6.x.x/patches/32fa63f_6.5.0.patch @@ -0,0 +1,28 @@ +From b404930e122013e76ba8fe165f3432288c051438 Mon Sep 17 00:00:00 2001 +From: shjiu +Date: Fri, 17 Nov 2023 09:41:31 +0900 +Subject: [PATCH] Fix build error with lambda on GCC 9.2 + +This patch is specific to the return type of updatePtrSimd function as boolean to avoid the bug of GCC 9.2. + +Fixes: QTBUG-112920 +Pick-to: 6.7 6.6 6.5 +Change-Id: I21cb1f6dda34448b2290ab72ec280b6b2a3732c9 +Reviewed-by: Volker Hilsheimer +--- + src/corelib/text/qstring.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp +index 2dc415584f3..d9e89f8e5bb 100644 +--- a/src/corelib/text/qstring.cpp ++++ b/src/corelib/text/qstring.cpp +@@ -461,7 +461,7 @@ static bool simdTestMask(const char *&ptr, const char *end, quint32 maskval) + if constexpr (UseSse4_1) { + # ifndef Q_OS_QNX // compiler fails in the code below + __m128i mask; +- auto updatePtrSimd = [&](__m128i data) { ++ auto updatePtrSimd = [&](__m128i data) -> bool { + __m128i masked = _mm_and_si128(mask, data); + __m128i comparison = _mm_cmpeq_epi16(masked, _mm_setzero_si128()); + uint result = _mm_movemask_epi8(comparison); From eeb16a11e24548b0edad80a1e1ccfb48f0b6d789 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 17:09:07 +0200 Subject: [PATCH 0617/1307] (#22009) vvenc: add v1.10.0 --- recipes/vvenc/all/conandata.yml | 6 ++++-- recipes/vvenc/config.yml | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/vvenc/all/conandata.yml b/recipes/vvenc/all/conandata.yml index ed507f5b4a2bc..a3832678cf3e2 100644 --- a/recipes/vvenc/all/conandata.yml +++ b/recipes/vvenc/all/conandata.yml @@ -1,5 +1,7 @@ sources: + "1.10.0": + url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.10.0.tar.gz" + sha256: "579e4b19de3b356a96ec436dbfeb3b9583cb0a854e55f81226990924a5cfd38c" "1.8.0": - url: - - "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.8.0.tar.gz" + url: "https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v1.8.0.tar.gz" sha256: "119970f1e00667045eb12775db10611fc04f9158348144913c9e233f98664714" diff --git a/recipes/vvenc/config.yml b/recipes/vvenc/config.yml index 6088e2f981017..f88ad156fc791 100644 --- a/recipes/vvenc/config.yml +++ b/recipes/vvenc/config.yml @@ -1,3 +1,5 @@ versions: + "1.10.0": + folder: "all" "1.8.0": folder: "all" From 152aa2144c3232710b0cca16548976443a735c0f Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 16:41:57 +0100 Subject: [PATCH 0618/1307] (#22013) libxslt: bump deps --- recipes/libxslt/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libxslt/all/conanfile.py b/recipes/libxslt/all/conanfile.py index e7922c420ae67..711c11f5938b0 100644 --- a/recipes/libxslt/all/conanfile.py +++ b/recipes/libxslt/all/conanfile.py @@ -62,9 +62,9 @@ def layout(self): def requirements(self): if Version(self.version) >= "1.1.39": # see https://github.com/conan-io/conan-center-index/pull/16205#discussion_r1149570846 - self.requires("libxml2/2.12.2", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.12.3", transitive_headers=True, transitive_libs=True) else: - self.requires("libxml2/2.11.5", transitive_headers=True, transitive_libs=True) + self.requires("libxml2/2.11.6", transitive_headers=True, transitive_libs=True) def validate(self): if self.options.plugins and not self.options.shared: From c15afeafda4027302243bb4d9113375b38daa250 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Sat, 30 Dec 2023 16:51:56 +0100 Subject: [PATCH 0619/1307] (#22014) xkbcommon: bump deps --- recipes/xkbcommon/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py index 3dd46ad54cd61..aa22ef2b05309 100644 --- a/recipes/xkbcommon/all/conanfile.py +++ b/recipes/xkbcommon/all/conanfile.py @@ -65,7 +65,7 @@ def requirements(self): if self.options.with_x11: self.requires("xorg/system") if self.options.get_safe("xkbregistry"): - self.requires("libxml2/2.12.2") + self.requires("libxml2/2.12.3") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if not self._has_build_profile: From c9fc16bf2a80b73d35cce9f240b568ee4d54db70 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:18:57 +0200 Subject: [PATCH 0620/1307] (#22027) libfuse: add v3.16.2 --- recipes/libfuse/all/conandata.yml | 3 +++ recipes/libfuse/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libfuse/all/conandata.yml b/recipes/libfuse/all/conandata.yml index c5d2a101abf4a..8a9ccf19ae441 100644 --- a/recipes/libfuse/all/conandata.yml +++ b/recipes/libfuse/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.16.2": + url: "https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz" + sha256: "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87" "3.10.5": url: "https://github.com/libfuse/libfuse/releases/download/fuse-3.10.5/fuse-3.10.5.tar.xz" sha256: "b2e283485d47404ac896dd0bb7f7ba81e1470838e677e45f659804c3a3b69666" diff --git a/recipes/libfuse/config.yml b/recipes/libfuse/config.yml index 3f5d2920bcb10..44d31f4a5151a 100644 --- a/recipes/libfuse/config.yml +++ b/recipes/libfuse/config.yml @@ -1,4 +1,6 @@ versions: + "3.16.2": + folder: all "3.10.5": folder: all "2.9.9": From c628f40956db896b0e2cc4505afd813a770deaee Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:41:30 +0200 Subject: [PATCH 0621/1307] (#22036) xorg-makedepend: add v1.0.8 --- recipes/xorg-makedepend/all/conandata.yml | 3 +++ recipes/xorg-makedepend/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/xorg-makedepend/all/conandata.yml b/recipes/xorg-makedepend/all/conandata.yml index 17712580498cb..f052e3d0c52d9 100644 --- a/recipes/xorg-makedepend/all/conandata.yml +++ b/recipes/xorg-makedepend/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.8": + url: "https://www.x.org/archive/individual/util/makedepend-1.0.8.tar.xz" + sha256: "bfb26f8025189b2a01286ce6daacc2af8fe647440b40bb741dd5c397572cba5b" "1.0.6": url: "https://www.x.org/archive/individual/util/makedepend-1.0.6.tar.gz" sha256: "845f6708fc850bf53f5b1d0fb4352c4feab3949f140b26f71b22faba354c3365" diff --git a/recipes/xorg-makedepend/config.yml b/recipes/xorg-makedepend/config.yml index c8c4465c97415..09dfd19800bb5 100644 --- a/recipes/xorg-makedepend/config.yml +++ b/recipes/xorg-makedepend/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.8": + folder: all "1.0.6": folder: all From 10b741a0c273a62055f69ba47819935eda2ecf71 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 18:51:46 +0200 Subject: [PATCH 0622/1307] (#22044) xorg-cf-files: add v1.0.8 --- recipes/xorg-cf-files/all/conandata.yml | 5 +++++ recipes/xorg-cf-files/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/xorg-cf-files/all/conandata.yml b/recipes/xorg-cf-files/all/conandata.yml index 6580982dad473..658b472b4c45f 100644 --- a/recipes/xorg-cf-files/all/conandata.yml +++ b/recipes/xorg-cf-files/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "1.0.8": + url: "https://www.x.org/pub/individual/util/xorg-cf-files-1.0.8.tar.gz" + sha256: "c6f1c9ffce96278a9d7c72d081e508d81c219dec69ae0dbaf8ae88f4bc9ef977" "1.0.7": url: "https://www.x.org/pub/individual/util/xorg-cf-files-1.0.7.tar.gz" sha256: "a49478ba0c2138bc53de38979cd2dee073b6fd6728597c552d266a707747f472" patches: + "1.0.8": + - patch_file: "patches/1.0.7-0001-win-fixes.patch" "1.0.7": - patch_file: "patches/1.0.7-0001-win-fixes.patch" diff --git a/recipes/xorg-cf-files/config.yml b/recipes/xorg-cf-files/config.yml index 377623d3a93f7..b0a4d47458ba1 100644 --- a/recipes/xorg-cf-files/config.yml +++ b/recipes/xorg-cf-files/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.8": + folder: all "1.0.7": folder: all From 32816771e668986381e4b96a183b8878d24ff2d6 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 02:53:57 +0900 Subject: [PATCH 0623/1307] (#22068) homo2d: add version 2.11 --- recipes/homog2d/all/conandata.yml | 3 +++ recipes/homog2d/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/homog2d/all/conandata.yml b/recipes/homog2d/all/conandata.yml index 376b2a2d1feee..f297bf870a626 100644 --- a/recipes/homog2d/all/conandata.yml +++ b/recipes/homog2d/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.11": + url: "https://github.com/skramm/homog2d/archive/refs/tags/v2.11.tar.gz" + sha256: "469a557b87f3285170d84eb06d9b23c6b422f01b17eb753819bfc488d59bf83a" "2.10": url: "https://github.com/skramm/homog2d/archive/refs/tags/v2.10.tar.gz" sha256: "fb71f709d78c386188894b7f08a2c4690b45a5695b8d988e24efbe1216c53052" diff --git a/recipes/homog2d/config.yml b/recipes/homog2d/config.yml index 7772686420d4e..37be65648ed14 100644 --- a/recipes/homog2d/config.yml +++ b/recipes/homog2d/config.yml @@ -1,4 +1,6 @@ versions: + "2.11": + folder: all "2.10": folder: all "2.9": From 6b7479d0d9caee3600aecb90e2c4f1a2d8cd1275 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 03:32:37 +0900 Subject: [PATCH 0624/1307] (#22017) glaze: add version 1.9.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index f1d83d415a573..6dc39ae7951e9 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.9": + url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" + sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" "1.9.8.1": url: "https://github.com/stephenberry/glaze/archive/v1.9.8.1.tar.gz" sha256: "f1dd8d93440096d186695814848c9cd350a9ec5b0e114e933579ef2467a35558" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 67a1488ea93f4..a22a25e3ca7a3 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.9": + folder: all "1.9.8.1": folder: all "1.9.5": From 12a16e65a5060da5ad8a69f506223854cd7773ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 21:23:07 +0200 Subject: [PATCH 0625/1307] (#22028) libgphoto: add v2.5.31 --- recipes/libgphoto2/all/conandata.yml | 5 +++++ recipes/libgphoto2/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/libgphoto2/all/conandata.yml b/recipes/libgphoto2/all/conandata.yml index 1f142a35cee75..8bad48c781d69 100644 --- a/recipes/libgphoto2/all/conandata.yml +++ b/recipes/libgphoto2/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.5.31": + url: "https://github.com/gphoto/libgphoto2/releases/download/v2.5.31/libgphoto2-2.5.31.tar.xz" + sha256: "8fc7bf40f979459509b87dd4ff1aae9b6c1c2b4724d37db576081eec15406ace" "2.5.27": url: "https://github.com/gphoto/libgphoto2/releases/download/v2.5.27/libgphoto2-2.5.27.tar.xz" sha256: "a7253bd18c6ef65352150ac36a668f883a5ad2634eb6455b3ca9aa6ac98d0073" patches: + "2.5.31": + - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" "2.5.27": - patch_file: "patches/2.5.27-0001-macos_snprintf.patch" diff --git a/recipes/libgphoto2/config.yml b/recipes/libgphoto2/config.yml index 5139145403d46..90c8118874b7e 100644 --- a/recipes/libgphoto2/config.yml +++ b/recipes/libgphoto2/config.yml @@ -1,3 +1,5 @@ versions: + "2.5.31": + folder: all "2.5.27": folder: all From 175436d351b55b520078f76d55c1c4dbd5f5f0be Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 22:04:28 +0200 Subject: [PATCH 0626/1307] (#22063) uncrustify: add v0.78.1 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/uncrustify/all/conandata.yml | 3 +++ recipes/uncrustify/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uncrustify/all/conandata.yml b/recipes/uncrustify/all/conandata.yml index 994dd9df8f5c3..b95a9b875d7e4 100644 --- a/recipes/uncrustify/all/conandata.yml +++ b/recipes/uncrustify/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.78.1": + url: "https://github.com/uncrustify/uncrustify/archive/uncrustify-0.78.1.tar.gz" + sha256: "ecaf4c0adca14c36dfffa30bc28e69865115ecd602c90eb16a8cddccb41caad2" "0.78.0": url: "https://github.com/uncrustify/uncrustify/archive/refs/tags/uncrustify-0.78.0.tar.gz" sha256: "377efec187c26c7ad77900d94032fa51b029831c69442d607a6e53ef2115928f" diff --git a/recipes/uncrustify/config.yml b/recipes/uncrustify/config.yml index 67d12c21bb4ac..d0d1205acdb6e 100644 --- a/recipes/uncrustify/config.yml +++ b/recipes/uncrustify/config.yml @@ -1,4 +1,6 @@ versions: + "0.78.1": + folder: all "0.78.0": folder: all "0.77.1": From 8fefab04c21344e5d0c5109413493333452eaf13 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 05:16:56 +0900 Subject: [PATCH 0627/1307] (#22069) libenvpp: add version 1.4.0 --- recipes/libenvpp/all/conandata.yml | 7 +++++++ recipes/libenvpp/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libenvpp/all/conandata.yml b/recipes/libenvpp/all/conandata.yml index 6d0d3123e3cdf..9ad4addaf724a 100644 --- a/recipes/libenvpp/all/conandata.yml +++ b/recipes/libenvpp/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.4.0": + url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.4.0.tar.gz" + sha256: "3f9a4a4b62abc06522de76e3a999cc3cd6b60299dc26b28ccc2183aa614f10cd" "1.3.0": url: "https://github.com/ph3at/libenvpp/archive/refs/tags/v1.3.0.tar.gz" sha256: "9201ae39dc67118ee46b4e60fe2e5d22b046faceae4a4b4eec6ab62bc48875dd" patches: + "1.4.0": + - patch_file: "patches/0001-use-cci-fmt.patch" + patch_description: "use cci fmt package, remove static flag from add_library" + patch_type: "conan" "1.3.0": - patch_file: "patches/0001-use-cci-fmt.patch" patch_description: "use cci fmt package, remove static flag from add_library" diff --git a/recipes/libenvpp/config.yml b/recipes/libenvpp/config.yml index 426a0e4c79e9b..25c9b4921636c 100644 --- a/recipes/libenvpp/config.yml +++ b/recipes/libenvpp/config.yml @@ -1,3 +1,5 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all From 4058b8dc7ef99eee8da9e86dfbbb16088d7015cc Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Sat, 30 Dec 2023 14:29:50 -0600 Subject: [PATCH 0628/1307] (#22073) boost-ext-ut: Add version 2.0.1 --- recipes/boost-ext-ut/all/conandata.yml | 3 +++ recipes/boost-ext-ut/config.yml | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/boost-ext-ut/all/conandata.yml b/recipes/boost-ext-ut/all/conandata.yml index f123657f3fbe3..6a4836cd7d3f2 100644 --- a/recipes/boost-ext-ut/all/conandata.yml +++ b/recipes/boost-ext-ut/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/boost-ext/ut/archive/v2.0.1.tar.gz" + sha256: "1e43be17045a881c95cedc843d72fe9c1e53239b02ed179c1e39e041ebcd7dad" "2.0.0": url: "https://github.com/boost-ext/ut/archive/v2.0.0.tar.gz" sha256: "8b5b11197d1308dfc1fe20efd6a656e0c833dbec2807e2292967f6e2f7c0420f" diff --git a/recipes/boost-ext-ut/config.yml b/recipes/boost-ext-ut/config.yml index 483296a860daa..c1e4e8bebed11 100644 --- a/recipes/boost-ext-ut/config.yml +++ b/recipes/boost-ext-ut/config.yml @@ -1,7 +1,9 @@ versions: - "2.0.0": + "2.0.1": folder: "all" - "1.1.8": + "2.0.0": folder: "all" "1.1.9": folder: "all" + "1.1.8": + folder: "all" From 75ec76d0950d465768d38c34f2c34ee535bab9e8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 30 Dec 2023 22:43:06 +0200 Subject: [PATCH 0629/1307] (#22057) libnet: add v1.3 --- recipes/libnet/all/conandata.yml | 7 +++++-- recipes/libnet/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libnet/all/conandata.yml b/recipes/libnet/all/conandata.yml index 56c7fdd2f75d8..b6160ca826334 100644 --- a/recipes/libnet/all/conandata.yml +++ b/recipes/libnet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3": + url: "https://github.com/libnet/libnet/releases/download/v1.3/libnet-1.3.tar.gz" + sha256: "ad1e2dd9b500c58ee462acd839d0a0ea9a2b9248a1287840bc601e774fb6b28f" "1.2": - sha256: caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7 - url: https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz + url: "https://github.com/libnet/libnet/releases/download/v1.2/libnet-1.2.tar.gz" + sha256: "caa4868157d9e5f32e9c7eac9461efeff30cb28357f7f6bf07e73933fb4edaa7" diff --git a/recipes/libnet/config.yml b/recipes/libnet/config.yml index a0777b5aa931c..81d0457bb64a7 100644 --- a/recipes/libnet/config.yml +++ b/recipes/libnet/config.yml @@ -1,3 +1,5 @@ versions: + "1.3": + folder: all "1.2": folder: all From b15c903083779de8f482e40534ae93499533aeef Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 06:04:15 +0900 Subject: [PATCH 0630/1307] (#22074) mppp: add version 1.0.2 --- recipes/mppp/all/conandata.yml | 11 +++++++++++ recipes/mppp/config.yml | 2 ++ 2 files changed, 13 insertions(+) diff --git a/recipes/mppp/all/conandata.yml b/recipes/mppp/all/conandata.yml index 9dd5ca329ab04..5ecb23c111e1a 100644 --- a/recipes/mppp/all/conandata.yml +++ b/recipes/mppp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.2": + url: "https://github.com/bluescarni/mppp/archive/v1.0.2.tar.gz" + sha256: "2a537bc339726388fdda39905692d3df92fceee51d264e720e0e7ab7570bcdaf" "1.0.0": url: "https://github.com/bluescarni/mppp/archive/v1.0.0.tar.gz" sha256: "e58b1a5fb8bdf095261eeb0861c3f46f96c71c4b043d19700e73ce3e4e639268" @@ -9,6 +12,14 @@ sources: url: "https://github.com/bluescarni/mppp/archive/v0.26.tar.gz" sha256: "4dbfa68802d9a1365eda884f085418afc147d01b7a928e8333e4dcc1c3b3ce9e" patches: + "1.0.2": + - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" + patch_description: "disable the flag for treats warning as errors" + patch_type: "portability" + - patch_file: "patches/1.0.0-0002-remove-fmt-version.patch" + # https://github.com/conan-io/conan/issues/14172 + patch_description: "remove fmt version number from find_package" + patch_type: "conan" "1.0.0": - patch_file: "patches/1.0.0-0001-disable-warning-error.patch" patch_description: "disable the flag for treats warning as errors" diff --git a/recipes/mppp/config.yml b/recipes/mppp/config.yml index 02775a2352146..460a704f2241d 100644 --- a/recipes/mppp/config.yml +++ b/recipes/mppp/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.2": + folder: all "1.0.0": folder: all "0.27": From b17dc7e30893d22c905b9fb653b781eb82bbce07 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 00:43:14 +0200 Subject: [PATCH 0631/1307] (#22020) autoconf-archive: add v2023.02.20 --- recipes/autoconf-archive/all/conandata.yml | 9 ++++++--- recipes/autoconf-archive/config.yml | 4 +++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/autoconf-archive/all/conandata.yml b/recipes/autoconf-archive/all/conandata.yml index 5443eebf3e116..763c0b5a2581e 100644 --- a/recipes/autoconf-archive/all/conandata.yml +++ b/recipes/autoconf-archive/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "2021.02.19": - url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2021.02.19.tar.xz" - sha256: "e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd" + "2023.02.20": + url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2023.02.20.tar.xz" + sha256: "71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33" "2022.09.03": url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2022.09.03.tar.xz" sha256: "e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423" + "2021.02.19": + url: "https://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2021.02.19.tar.xz" + sha256: "e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd" diff --git a/recipes/autoconf-archive/config.yml b/recipes/autoconf-archive/config.yml index d6031b4a79015..8168c2f450f36 100644 --- a/recipes/autoconf-archive/config.yml +++ b/recipes/autoconf-archive/config.yml @@ -1,5 +1,7 @@ versions: - "2021.02.19": + "2023.02.20": folder: all "2022.09.03": folder: all + "2021.02.19": + folder: all From 3b524e579a44b5ecbe1398652860c7dba97483eb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 01:13:27 +0200 Subject: [PATCH 0632/1307] (#22045) xorg-macros: add v1.20.0 --- recipes/xorg-macros/all/conandata.yml | 5 +++++ recipes/xorg-macros/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/xorg-macros/all/conandata.yml b/recipes/xorg-macros/all/conandata.yml index 69af08fff0a8f..2e869ee5f7766 100644 --- a/recipes/xorg-macros/all/conandata.yml +++ b/recipes/xorg-macros/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "1.20.0": + url: "https://www.x.org/releases/individual/util/util-macros-1.20.0.tar.gz" + sha256: "8daf36913d551a90fd1013cb078401375dabae021cb4713b9b256a70f00eeb74" "1.19.3": url: "https://www.x.org/releases/individual/util/util-macros-1.19.3.tar.gz" sha256: "624bb6c3a4613d18114a7e3849a3d70f2d7af9dc6eabeaba98060d87e3aef35b" patches: + "1.20.0": + - patch_file: "patches/0001-export-XORG_MACROS_VERSION-macro.patch" "1.19.3": - patch_file: "patches/0001-export-XORG_MACROS_VERSION-macro.patch" diff --git a/recipes/xorg-macros/config.yml b/recipes/xorg-macros/config.yml index 4d76ebbbccd62..5cecce18ebb70 100644 --- a/recipes/xorg-macros/config.yml +++ b/recipes/xorg-macros/config.yml @@ -1,3 +1,5 @@ versions: + "1.20.0": + folder: "all" "1.19.3": folder: "all" From a5f4622a727295aedcb1a35d132cd8f7d46853bd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 02:09:22 +0200 Subject: [PATCH 0633/1307] (#22054) icu: add v74.2 * icu: add v74.2 * icu: update v74.2 URL The non-FIXED version has a broken symlink for the LICENSE file. --- recipes/icu/all/conandata.yml | 5 +++++ recipes/icu/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml index 3f814d74e3bae..8f6d4963890d2 100644 --- a/recipes/icu/all/conandata.yml +++ b/recipes/icu/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "74.2": + url: "https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src-FIXED.tgz" + sha256: "68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c" "74.1": url: "https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz" sha256: "86ce8e60681972e60e4dcb2490c697463fcec60dd400a5f9bffba26d0b52b8d0" @@ -24,6 +27,8 @@ sources: url: "https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz" sha256: "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625" patches: + "74.2": + - patch_file: "patches/0001-69.1-fix-mingw.patch" "74.1": - patch_file: "patches/0001-69.1-fix-mingw.patch" "73.2": diff --git a/recipes/icu/config.yml b/recipes/icu/config.yml index 4259c6010a85b..bd6c5fcac524c 100644 --- a/recipes/icu/config.yml +++ b/recipes/icu/config.yml @@ -1,4 +1,6 @@ versions: + "74.2": + folder: all "74.1": folder: all "73.2": From fef763a8866fca4aa05afea83496a486ec915c0a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 03:03:12 +0200 Subject: [PATCH 0634/1307] (#21968) libmnl: add v1.0.5 --- recipes/libmnl/all/conandata.yml | 7 +++++-- recipes/libmnl/config.yml | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/libmnl/all/conandata.yml b/recipes/libmnl/all/conandata.yml index bde6a08f3c7d1..11d5c387c466f 100644 --- a/recipes/libmnl/all/conandata.yml +++ b/recipes/libmnl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.5": + url: "https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.5.tar.bz2" + sha256: "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525" "1.0.4": - sha256: 171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81 - url: https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2 + url: "https://www.netfilter.org/projects/libmnl/files/libmnl-1.0.4.tar.bz2" + sha256: "171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81" diff --git a/recipes/libmnl/config.yml b/recipes/libmnl/config.yml index 33bdc0114d503..4e7eb0116387e 100644 --- a/recipes/libmnl/config.yml +++ b/recipes/libmnl/config.yml @@ -1,3 +1,5 @@ versions: + 1.0.5: + folder: all 1.0.4: folder: all From c7fbf45e3bfe7b1489aadbfd98e45b7dd5114cd2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 03:34:50 +0200 Subject: [PATCH 0635/1307] (#22050) capstone: add v5.0.1 --- recipes/capstone/all/conandata.yml | 7 +++++++ recipes/capstone/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/capstone/all/conandata.yml b/recipes/capstone/all/conandata.yml index d7a89de82f179..b49957e5739d0 100644 --- a/recipes/capstone/all/conandata.yml +++ b/recipes/capstone/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.0.1": + url: "https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.1.tar.gz" + sha256: "2b9c66915923fdc42e0e32e2a9d7d83d3534a45bb235e163a70047951890c01a" "5.0": url: "https://github.com/capstone-engine/capstone/archive/refs/tags/5.0.tar.gz" sha256: "df24344407baa7415eeb006f742afc9b92cd33abf2c4c120a6e97cfb376882dc" @@ -6,6 +9,10 @@ sources: url: "https://github.com/capstone-engine/capstone/archive/refs/tags/4.0.2.tar.gz" sha256: "7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a" patches: + "5.0.1": + - patch_file: "patches/5.0-0001-disable-warning-flags.patch" + patch_description: "disable warning flags for older compilers" + patch_type: "portability" "5.0": - patch_file: "patches/5.0-0001-disable-warning-flags.patch" patch_description: "disable warning flags for older compilers" diff --git a/recipes/capstone/config.yml b/recipes/capstone/config.yml index 62f80ddacb005..77f1d8f750fd6 100644 --- a/recipes/capstone/config.yml +++ b/recipes/capstone/config.yml @@ -1,4 +1,6 @@ versions: + "5.0.1": + folder: "all" "5.0": folder: "all" "4.0.2": From 07928c3eb7d464f57ad9a6549c47c717c069913b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 04:26:17 +0200 Subject: [PATCH 0636/1307] (#21967) libmicrohttpd: add v0.9.77 --- recipes/libmicrohttpd/all/conandata.yml | 3 +++ recipes/libmicrohttpd/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmicrohttpd/all/conandata.yml b/recipes/libmicrohttpd/all/conandata.yml index ead353a01eb87..f20a5496c465e 100644 --- a/recipes/libmicrohttpd/all/conandata.yml +++ b/recipes/libmicrohttpd/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.77": + url: "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.77.tar.gz" + sha256: "9e7023a151120060d2806a6ea4c13ca9933ece4eacfc5c9464d20edddb76b0a0" "0.9.75": url: "https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-0.9.75.tar.gz" sha256: "9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb" diff --git a/recipes/libmicrohttpd/config.yml b/recipes/libmicrohttpd/config.yml index 48e6a23d34df6..a945bee94f12c 100644 --- a/recipes/libmicrohttpd/config.yml +++ b/recipes/libmicrohttpd/config.yml @@ -1,3 +1,5 @@ versions: + "0.9.77": + folder: all "0.9.75": folder: all From d715ef04ecfd3b42351ab5082415bdbe9cfd408f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 04:37:19 +0200 Subject: [PATCH 0637/1307] (#22034) libtorrent: add v2.0.9 --- recipes/libtorrent/all/conandata.yml | 3 +++ recipes/libtorrent/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libtorrent/all/conandata.yml b/recipes/libtorrent/all/conandata.yml index c0a04e36275d4..c7cf929c7aa2c 100644 --- a/recipes/libtorrent/all/conandata.yml +++ b/recipes/libtorrent/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.9": + url: "https://github.com/arvidn/libtorrent/releases/download/v2.0.9/libtorrent-rasterbar-2.0.9.tar.gz" + sha256: "90cd92b6061c5b664840c3d5e151d43fedb24f5b2b24e14425ffbb884ef1798e" "2.0.8": url: "https://github.com/arvidn/libtorrent/releases/download/v2.0.8/libtorrent-rasterbar-2.0.8.tar.gz" sha256: "09dd399b4477638cf140183f5f85d376abffb9c192bc2910002988e27d69e13e" diff --git a/recipes/libtorrent/config.yml b/recipes/libtorrent/config.yml index aabaf7330b305..dd7ddb590b4ae 100644 --- a/recipes/libtorrent/config.yml +++ b/recipes/libtorrent/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.9": + folder: "all" "2.0.8": folder: "all" "2.0.1": From 325457de3aa9d72578bb39ff0b97076a4eca601e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 11:47:03 +0900 Subject: [PATCH 0638/1307] (#22075) minizip-ng: add version 4.0.4 --- recipes/minizip-ng/all/conandata.yml | 3 +++ recipes/minizip-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/minizip-ng/all/conandata.yml b/recipes/minizip-ng/all/conandata.yml index 5f960210fcf89..59d6ffad1b8f1 100644 --- a/recipes/minizip-ng/all/conandata.yml +++ b/recipes/minizip-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.4.tar.gz" + sha256: "955800fe39f9d830fcb84e60746952f6a48e41093ec7a233c63ad611b5fcfe9f" "4.0.3": url: "https://github.com/zlib-ng/minizip-ng/archive/4.0.3.tar.gz" sha256: "e39a736d4f55c22fa548e68225b2e92bc22aedd9ab90d002b0c5851e3a7bdace" diff --git a/recipes/minizip-ng/config.yml b/recipes/minizip-ng/config.yml index b392738806e8d..8a16d3eeb883f 100644 --- a/recipes/minizip-ng/config.yml +++ b/recipes/minizip-ng/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.3": folder: all "4.0.2": From 7791ff2b68bd8d73b7b4b646d3c28f223d06857f Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 16:55:47 +0900 Subject: [PATCH 0639/1307] (#22077) utfcpp: add version 4.0.4 --- recipes/utfcpp/all/conandata.yml | 3 +++ recipes/utfcpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/utfcpp/all/conandata.yml b/recipes/utfcpp/all/conandata.yml index f78d79ff038b9..03f2a95423481 100644 --- a/recipes/utfcpp/all/conandata.yml +++ b/recipes/utfcpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.4": + url: "https://github.com/nemtrif/utfcpp/archive/v4.0.4.tar.gz" + sha256: "7c8a403d0c575d52473c8644cd9eb46c6ba028d2549bc3e0cdc2d45f5cfd78a0" "4.0.1": url: "https://github.com/nemtrif/utfcpp/archive/v4.0.1.tar.gz" sha256: "9014342a716258da00b97bf8c201a2edc4d72d2025cd8d62f0650ac627038f95" diff --git a/recipes/utfcpp/config.yml b/recipes/utfcpp/config.yml index eabfdbf69a0cc..46e4658742975 100644 --- a/recipes/utfcpp/config.yml +++ b/recipes/utfcpp/config.yml @@ -1,4 +1,6 @@ versions: + "4.0.4": + folder: all "4.0.1": folder: all "4.0.0": From 4e8fa50ac0d98d8f32d309f5ab303ff7e6eb973e Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 17:19:03 +0900 Subject: [PATCH 0640/1307] (#22078) s2n: add version 1.4.1 --- recipes/s2n/all/conandata.yml | 3 +++ recipes/s2n/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/s2n/all/conandata.yml b/recipes/s2n/all/conandata.yml index 7cf47057ff944..23e77bed0050e 100644 --- a/recipes/s2n/all/conandata.yml +++ b/recipes/s2n/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.1": + url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.1.tar.gz" + sha256: "d8c1d8e1142441412434feacb4947ce6430a244dcd8f58921af79b29bd901731" "1.4.0": url: "https://github.com/aws/s2n-tls/archive/refs/tags/v1.4.0.tar.gz" sha256: "3f786cb2f35e0551e120e1747e7b510a8228cd852073afa241313939672046cb" diff --git a/recipes/s2n/config.yml b/recipes/s2n/config.yml index 08d9c1cf6b54d..516ed15f07d2b 100644 --- a/recipes/s2n/config.yml +++ b/recipes/s2n/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.1": + folder: all "1.4.0": folder: all "1.3.56": From 83a32518390bcbd57c31dd5230ac642ee5a4d974 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 31 Dec 2023 17:49:04 +0900 Subject: [PATCH 0641/1307] (#22066) c-blosc2: add version 2.12.0 --- recipes/c-blosc2/all/conandata.yml | 7 +++++++ recipes/c-blosc2/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml index 0708127cd17a6..610af582fe0d6 100644 --- a/recipes/c-blosc2/all/conandata.yml +++ b/recipes/c-blosc2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.0": + url: "https://github.com/Blosc/c-blosc2/archive/v2.12.0.tar.gz" + sha256: "b8fa07ab0627c19fb652e08a5ada197eb0939b75e97e2fb76bbee145eaedc6e9" "2.11.3": url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz" sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037" @@ -30,6 +33,10 @@ sources: url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz" sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036" patches: + "2.12.0": + - patch_file: "patches/2.11.1-0001-fix-cmake.patch" + patch_description: "use cci package" + patch_type: "conan" "2.11.3": - patch_file: "patches/2.11.1-0001-fix-cmake.patch" patch_description: "use cci package" diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml index 217462db7de18..acf966bc19e73 100644 --- a/recipes/c-blosc2/config.yml +++ b/recipes/c-blosc2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.0": + folder: all "2.11.3": folder: all "2.11.2": From 907566c43fa3ca9d9b557ac36dcef66f45de6825 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 13:49:10 +0200 Subject: [PATCH 0642/1307] (#21995) gnutls: add v3.8.2 --- recipes/gnutls/all/conandata.yml | 6 ++++++ recipes/gnutls/all/conanfile.py | 4 ++-- recipes/gnutls/config.yml | 2 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/gnutls/all/conandata.yml b/recipes/gnutls/all/conandata.yml index ffbcf3dfbc66a..bdde34580468c 100644 --- a/recipes/gnutls/all/conandata.yml +++ b/recipes/gnutls/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "3.8.2": + url: + - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz" + - "http://www.ring.gr.jp/pub/net/gnupg/gnutls/v3.8/gnutls-3.8.2.tar.xz" + - "https://www.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz" + sha256: "e765e5016ffa9b9dd243e363a0460d577074444ee2491267db2e96c9c2adef77" "3.7.8": url: - "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/gnutls-3.7.8.tar.xz" diff --git a/recipes/gnutls/all/conanfile.py b/recipes/gnutls/all/conanfile.py index 193f97471c98a..4f1bb9180932b 100644 --- a/recipes/gnutls/all/conanfile.py +++ b/recipes/gnutls/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("nettle/3.8.1") + self.requires("nettle/3.9.1") self.requires("gmp/6.3.0") self.requires("libiconv/1.17") if self.options.with_zlib: @@ -81,7 +81,7 @@ def validate(self): def build_requirements(self): if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): diff --git a/recipes/gnutls/config.yml b/recipes/gnutls/config.yml index c993c311a349d..4a62e6bbb26e7 100644 --- a/recipes/gnutls/config.yml +++ b/recipes/gnutls/config.yml @@ -1,3 +1,5 @@ versions: + "3.8.2": + folder: "all" "3.7.8": folder: "all" From f2726bfde86ece45d88deff772e8786749ae6393 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 31 Dec 2023 16:32:09 +0200 Subject: [PATCH 0643/1307] (#21957) libzen: add v0.4.41 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libzen/all/conandata.yml | 6 +++++- recipes/libzen/all/conanfile.py | 10 ++++++++-- .../patches/0001-enable-WIN32-shared-libraries.patch | 11 ----------- recipes/libzen/config.yml | 2 ++ 4 files changed, 15 insertions(+), 14 deletions(-) delete mode 100644 recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch diff --git a/recipes/libzen/all/conandata.yml b/recipes/libzen/all/conandata.yml index c0b761db1ccf7..13b7a5a289581 100644 --- a/recipes/libzen/all/conandata.yml +++ b/recipes/libzen/all/conandata.yml @@ -1,8 +1,12 @@ sources: + "0.4.41": + url: "https://mediaarea.net/download/source/libzen/0.4.41/libzen_0.4.41.tar.bz2" + sha256: "eb237d7d3dca6dc6ba068719420a27de0934a783ccaeb2867562b35af3901e2d" "0.4.38": url: "https://mediaarea.net/download/source/libzen/0.4.38/libzen_0.4.38.tar.bz2" sha256: "594e07bb4a0472cd9da258b3c4e050e9a37a39cccd85e3d8b5bf597d027b7eda" patches: + "0.4.41": + - patch_file: "patches/0002-export-data-in-windows-dlls.patch" "0.4.38": - - patch_file: "patches/0001-enable-WIN32-shared-libraries.patch" - patch_file: "patches/0002-export-data-in-windows-dlls.patch" diff --git a/recipes/libzen/all/conanfile.py b/recipes/libzen/all/conanfile.py index c2222bfee137d..76f22e86e9164 100644 --- a/recipes/libzen/all/conanfile.py +++ b/recipes/libzen/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save, replace_in_file import os import textwrap @@ -57,8 +57,14 @@ def generate(self): tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Enable WIN32 shared libraries + replace_in_file(self, os.path.join(self.source_folder, "Project", "CMake", "CMakeLists.txt"), + "set(BUILD_SHARED_LIBS OFF)", "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "Project", "CMake")) cmake.build() diff --git a/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch b/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch deleted file mode 100644 index f40a66c0fca2f..0000000000000 --- a/recipes/libzen/all/patches/0001-enable-WIN32-shared-libraries.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Project/CMake/CMakeLists.txt -+++ Project/CMake/CMakeLists.txt -@@ -7,7 +7,7 @@ - set(ZenLib_PATCH_VERSION 38) - set(ZenLib_VERSION ${ZenLib_MAJOR_VERSION}.${ZenLib_MINOR_VERSION}.${ZenLib_PATCH_VERSION}) - --if(WIN32) -+if(0) - set(BUILD_SHARED_LIBS OFF) - else() - option(BUILD_SHARED_LIBS "Build shared libs" ON) diff --git a/recipes/libzen/config.yml b/recipes/libzen/config.yml index 49eb7f8b8da5a..ced5a558f9a53 100644 --- a/recipes/libzen/config.yml +++ b/recipes/libzen/config.yml @@ -1,3 +1,5 @@ versions: + "0.4.41": + folder: "all" "0.4.38": folder: "all" From ee956fcd10ae9f8c87cc45611a4a49a4e0161942 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 00:55:21 +0900 Subject: [PATCH 0644/1307] (#22084) catch2: add version 3.5.1 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 85ef2d28e9683..f42fcf13ad368 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.1": + url: "https://github.com/catchorg/Catch2/archive/v3.5.1.tar.gz" + sha256: "49c3ca7a68f1c8ec71307736bc6ed14fec21631707e1be9af45daf4037e75a08" "3.5.0": url: "https://github.com/catchorg/Catch2/archive/v3.5.0.tar.gz" sha256: "f6d4f8d78a9b59ec72a81d49f58d18eb317372ac07f8d9432710a079e69fd66a" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index df92faa46a85a..1e105253d64f9 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.1": + folder: 3.x.x "3.5.0": folder: 3.x.x "3.4.0": From 063b5d15b6c1cb9ffffd3ec61ac60f08e818ec72 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 01:28:45 +0900 Subject: [PATCH 0645/1307] (#22085) tinyxml2: add version 10.0.0 --- recipes/tinyxml2/all/conandata.yml | 3 +++ recipes/tinyxml2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tinyxml2/all/conandata.yml b/recipes/tinyxml2/all/conandata.yml index e2cd904cc1876..f8959f0c1aa8a 100644 --- a/recipes/tinyxml2/all/conandata.yml +++ b/recipes/tinyxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.0.0": + url: "https://github.com/leethomason/tinyxml2/archive/refs/tags/10.0.0.tar.gz" + sha256: "3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839" "9.0.0": url: "https://github.com/leethomason/tinyxml2/archive/refs/tags/9.0.0.tar.gz" sha256: "cc2f1417c308b1f6acc54f88eb70771a0bf65f76282ce5c40e54cfe52952702c" diff --git a/recipes/tinyxml2/config.yml b/recipes/tinyxml2/config.yml index 0458a9c7b0da4..08bc3b64c9acc 100644 --- a/recipes/tinyxml2/config.yml +++ b/recipes/tinyxml2/config.yml @@ -1,4 +1,6 @@ versions: + "10.0.0": + folder: all "9.0.0": folder: all "8.0.0": From 57825a4b2b95b77823728640ab17de8672669508 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 1 Jan 2024 17:50:42 +0900 Subject: [PATCH 0646/1307] (#22086) jsoncons-0.173.2 --- recipes/jsoncons/all/conandata.yml | 3 +++ recipes/jsoncons/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml index b5e73a3ea8b91..52e32ee921839 100644 --- a/recipes/jsoncons/all/conandata.yml +++ b/recipes/jsoncons/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.173.2": + url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.2.tar.gz" + sha256: "c689e9275fe428abf2914e4588321ed0fa756cce6448af94fbd625eb0a618a57" "0.173.0": url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.0.tar.gz" sha256: "61abb5e4fbdb3ef7601b4fdc263bc806785609c47b4d7e81f8c3110bd53a9282" diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml index e0e954ddc8022..4ff39c386d267 100644 --- a/recipes/jsoncons/config.yml +++ b/recipes/jsoncons/config.yml @@ -1,4 +1,6 @@ versions: + "0.173.2": + folder: "all" "0.173.0": folder: "all" "0.172.1": From badb39ab7176d7b1a9eb5fe3aaba4ec236a6b9ed Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:02:26 +0100 Subject: [PATCH 0647/1307] (#22087) proj: add version 9.3.1 --- recipes/proj/all/conandata.yml | 7 +++++++ recipes/proj/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/proj/all/conandata.yml b/recipes/proj/all/conandata.yml index 865b4bba90467..95a7cf689dd27 100644 --- a/recipes/proj/all/conandata.yml +++ b/recipes/proj/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "9.3.1": + url: "https://github.com/OSGeo/PROJ/releases/download/9.3.1/proj-9.3.1.tar.gz" + sha256: "b0f919cb9e1f42f803a3e616c2b63a78e4d81ecfaed80978d570d3a5e29d10bc" "9.3.0": url: "https://github.com/OSGeo/PROJ/archive/9.3.0.tar.gz" sha256: "f48c334eaf56c38d681bcfa37f188f422a562f45a66e6e646a79b4249641ecdb" @@ -27,6 +30,10 @@ sources: url: "https://github.com/OSGeo/PROJ/releases/download/6.3.1/proj-6.3.1.tar.gz" sha256: "6de0112778438dcae30fcc6942dee472ce31399b9e5a2b67e8642529868c86f8" patches: + "9.3.1": + - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" + patch_type: "conan" + patch_description: "Use cmake targets" "9.3.0": - patch_file: "patches/0001-use-cmake-targets-9.2.1.patch" patch_type: "conan" diff --git a/recipes/proj/config.yml b/recipes/proj/config.yml index 57e61ab70191e..ab5afce9c830c 100644 --- a/recipes/proj/config.yml +++ b/recipes/proj/config.yml @@ -1,4 +1,6 @@ versions: + "9.3.1": + folder: "all" "9.3.0": folder: "all" "9.2.1": From 38ad7a788eee209a5a6b259c4be85a7e52801f2a Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:25:50 +0100 Subject: [PATCH 0648/1307] (#22089) xmlsec: bump deps --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index 1da9588a9dd91..acc967598ba2e 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -60,7 +60,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.5", transitive_headers=True) + self.requires("libxml2/2.12.3", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: From 3a3108797e3acf80fee3c74f7cff9a2baa25975d Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 12:44:12 +0100 Subject: [PATCH 0649/1307] (#22090) tmx: bump deps --- recipes/tmx/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/tmx/all/conanfile.py b/recipes/tmx/all/conanfile.py index 532a780023daa..a45d56f04f970 100644 --- a/recipes/tmx/all/conanfile.py +++ b/recipes/tmx/all/conanfile.py @@ -52,7 +52,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.6") if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From f01528a0f25da93822ff3503c4608596f0f06920 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 14:12:47 +0100 Subject: [PATCH 0650/1307] (#22091) opentdf-client: bump deps --- recipes/opentdf-client/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index 8d420a25df14f..fe131a8a2f728 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -69,11 +69,11 @@ def requirements(self): if Version(self.version) >= "1.4.0": self.requires("magic_enum/0.8.2") self.requires("ms-gsl/2.1.0") - self.requires("nlohmann_json/3.11.2") + self.requires("nlohmann_json/3.11.3") self.requires("jwt-cpp/0.4.0") self.requires("zlib/[>=1.2.11 <2]") self.requires("boost/1.83.0") - self.requires("libxml2/2.11.4") + self.requires("libxml2/2.11.6") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 6045ba03f43d262507dc730ba6b5f314a2291805 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 15:34:26 +0100 Subject: [PATCH 0651/1307] (#22092) tixi3: bump deps --- recipes/tixi3/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/tixi3/all/conanfile.py b/recipes/tixi3/all/conanfile.py index 945f16516ecaa..9ec42f58000e7 100644 --- a/recipes/tixi3/all/conanfile.py +++ b/recipes/tixi3/all/conanfile.py @@ -33,8 +33,8 @@ def generate(self): deps.generate() def requirements(self): - self.requires("libxml2/2.11.5") - self.requires("libxslt/1.1.34") + self.requires("libxml2/2.11.6") + self.requires("libxslt/1.1.37") self.requires("libcurl/[>=7.78.0 <9]") def layout(self): From 05d8c8eec41a4d2dbeb63f113420a845b0bb2818 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 00:13:44 +0900 Subject: [PATCH 0652/1307] (#22093) gperftools: add version 2.14.0 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index b141978957b85..ea084652a90eb 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.14.0": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.14/gperftools-2.14.tar.gz" + sha256: "6b561baf304b53d0a25311bd2e29bc993bed76b7c562380949e7cb5e3846b299" "2.13.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.13/gperftools-2.13.tar.gz" sha256: "4882c5ece69f8691e51ffd6486df7d79dbf43b0c909d84d3c0883e30d27323e7" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 65392d0c25ec5..4712364eac217 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.14.0": + folder: all "2.13.0": folder: all "2.12.0": From 6b3c64334af72bbfb31f40d18da384e10ddf64f9 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 17:47:29 +0100 Subject: [PATCH 0653/1307] (#22088) libxmlpp: bump deps --- recipes/libxmlpp/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libxmlpp/all/conanfile.py b/recipes/libxmlpp/all/conanfile.py index 861652e59145b..4a4582e3b0921 100644 --- a/recipes/libxmlpp/all/conanfile.py +++ b/recipes/libxmlpp/all/conanfile.py @@ -53,7 +53,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("libxml2/2.11.5") + self.requires("libxml2/2.12.3") if Version(self.version) <= "2.42.1": self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True) else: @@ -75,9 +75,9 @@ def validate(self): check_min_cppstd(self, 11) def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 3714523d7e8505d15bf04563fb444f5889ff9be3 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Mon, 1 Jan 2024 18:41:36 +0100 Subject: [PATCH 0654/1307] (#22095) libgeotiff: bump deps --- recipes/libgeotiff/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libgeotiff/all/conanfile.py b/recipes/libgeotiff/all/conanfile.py index 8420d20d07e09..557e23e5c4e53 100644 --- a/recipes/libgeotiff/all/conanfile.py +++ b/recipes/libgeotiff/all/conanfile.py @@ -45,7 +45,7 @@ def layout(self): def requirements(self): # libgeotiff/include/xtiffio.h includes libtiff/include/tiffio.h self.requires("libtiff/4.6.0", transitive_headers=True, transitive_libs=True) - self.requires("proj/9.3.0") + self.requires("proj/9.3.1") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From 2732a31bb1e79f265f72045d203c18a6bfac778b Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 1 Jan 2024 23:57:29 +0000 Subject: [PATCH 0655/1307] (#22102) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 95743fcd62579..2eebaa6113069 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -195,9 +195,11 @@ required_for_references: - console_bridge - continuable - coost +- copypp - corrade - cose-c - cotila +- coz - cpp-httplib - cpp-ipc - cpp-jwt @@ -371,6 +373,7 @@ required_for_references: - flatbush - flecs - flex +- flint - fltk - fmi1 - fmi2 @@ -651,6 +654,7 @@ required_for_references: - libhydrogen - libiberty - libiconv +- libid3tag - libinterpolate - libipt - libjpeg @@ -778,6 +782,7 @@ required_for_references: - linux-headers-generic - linux-syscall-support - litehtml +- lksctp-tools - llhttp - llvm-openmp - lmdb From 582fdadae5a4baa22e7bf94081237527c541bb42 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 16:10:20 +0900 Subject: [PATCH 0656/1307] (#21883) lunasvg: add version 2.3.9 * lunasvg: add version 2.3.9 * support gcc 5 * add patch_source --- recipes/lunasvg/all/conandata.yml | 11 ++++++ recipes/lunasvg/all/conanfile.py | 19 +++++----- .../all/patches/2.3.9-0001-fix-cmake.patch | 38 +++++++++++++++++++ .../2.3.9-0002-rename-inner-selector.patch | 26 +++++++++++++ .../lunasvg/all/test_package/CMakeLists.txt | 4 +- recipes/lunasvg/config.yml | 2 + 6 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch create mode 100644 recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch diff --git a/recipes/lunasvg/all/conandata.yml b/recipes/lunasvg/all/conandata.yml index ae1c5e27df269..841dc89eb9587 100644 --- a/recipes/lunasvg/all/conandata.yml +++ b/recipes/lunasvg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.9": + url: "https://github.com/sammycage/lunasvg/archive/v2.3.9.tar.gz" + sha256: "088bc9fd1191a004552c65bdcc260989b83da441b0bdaa965e79d984feba88fa" "2.3.8": url: "https://github.com/sammycage/lunasvg/archive/v2.3.8.tar.gz" sha256: "54d697e271a5aca36f9999d546b1b346e98a8183140027330f69a3eb0c184194" @@ -15,6 +18,14 @@ sources: url: "https://github.com/sammycage/lunasvg/archive/refs/tags/v2.3.1.tar.gz" sha256: "6492bf0f51982f5382f83f1a42f247bb1bbcbaef4a15963bbd53073cd4944a25" patches: + "2.3.9": + - patch_file: "patches/2.3.9-0001-fix-cmake.patch" + patch_description: "use external plutovg and fix installation path for conan" + patch_type: "conan" + - patch_file: "patches/2.3.9-0002-rename-inner-selector.patch" + patch_description: "rename inner selector to subselector" + patch_type: "portability" + patch_source: "https://github.com/sammycage/lunasvg/pull/147" "2.3.8": - patch_file: "patches/2.3.5-0001-fix-cmake.patch" patch_description: "use external plutovg and fix installation path for conan" diff --git a/recipes/lunasvg/all/conanfile.py b/recipes/lunasvg/all/conanfile.py index f1db22cef3305..e2d264c8bbac5 100644 --- a/recipes/lunasvg/all/conanfile.py +++ b/recipes/lunasvg/all/conanfile.py @@ -31,28 +31,29 @@ class LunaSVGConan(ConanFile): @property def _min_cppstd(self): if Version(self.version) <= "2.3.2": - return 14 - else: - return 17 + return "14" + if Version(self.version) <= "2.3.8": + return "17" + return "11" @property def _compilers_minimum_version(self): - if self._min_cppstd == 14: - return { + return { + "14": { "gcc": "5", "clang": "3.5", "apple-clang": "10", "Visual Studio": "15", "msvc": "191", - } - else: - return { + }, + "17": { "gcc": "7.1", "clang": "7", "apple-clang": "12.0", "Visual Studio": "16", "msvc": "192", - } + }, + }.get(self._min_cppstd, {}) def export_sources(self): export_conandata_patches(self) diff --git a/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch b/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch new file mode 100644 index 0000000000000..63725e4f5ca8c --- /dev/null +++ b/recipes/lunasvg/all/patches/2.3.9-0001-fix-cmake.patch @@ -0,0 +1,38 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bed8895..4698501 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,8 +12,8 @@ add_library(lunasvg) + + add_subdirectory(include) + add_subdirectory(source) +-add_subdirectory(3rdparty/plutovg) +- ++find_package(plutovg CONFIG REQUIRED) ++target_link_libraries(lunasvg plutovg::plutovg) + if(BUILD_SHARED_LIBS) + target_compile_definitions(lunasvg PUBLIC LUNASVG_SHARED) + target_compile_definitions(lunasvg PRIVATE LUNASVG_EXPORT) +@@ -25,16 +25,16 @@ if(LUNASVG_BUILD_EXAMPLES) + target_include_directories(svg2png PRIVATE 3rdparty/stb) + endif() + +-set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) +-set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) ++#set(LUNASVG_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib) ++#set(LUNASVG_INCDIR ${CMAKE_INSTALL_PREFIX}/include) + + install(FILES + include/lunasvg.h +- DESTINATION ${LUNASVG_INCDIR} ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + install(TARGETS lunasvg +- LIBRARY DESTINATION ${LUNASVG_LIBDIR} +- ARCHIVE DESTINATION ${LUNASVG_LIBDIR} +- INCLUDES DESTINATION ${LUNASVG_INCDIR} ++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" ++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) diff --git a/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch b/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch new file mode 100644 index 0000000000000..bb8abc7dace76 --- /dev/null +++ b/recipes/lunasvg/all/patches/2.3.9-0002-rename-inner-selector.patch @@ -0,0 +1,26 @@ +diff --git a/source/parser.cpp b/source/parser.cpp +index 714228b..3ade738 100644 +--- a/source/parser.cpp ++++ b/source/parser.cpp +@@ -1226,8 +1226,8 @@ bool RuleData::matchPseudoClassSelector(const PseudoClassSelector& selector, con + return element->parent == nullptr; + + if(selector.type == PseudoClassSelector::Type::Is) { +- for(auto& selector : selector.subSelectors) { +- for(auto& sel : selector) { ++ for(auto& subselector : selector.subSelectors) { ++ for(auto& sel : subselector) { + if(!matchSimpleSelector(sel, element)) { + return false; + } +@@ -1238,8 +1238,8 @@ bool RuleData::matchPseudoClassSelector(const PseudoClassSelector& selector, con + } + + if(selector.type == PseudoClassSelector::Type::Not) { +- for(auto& selector : selector.subSelectors) { +- for(auto& sel : selector) { ++ for(auto& subselector : selector.subSelectors) { ++ for(auto& sel : subselector) { + if(matchSimpleSelector(sel, element)) { + return false; + } diff --git a/recipes/lunasvg/all/test_package/CMakeLists.txt b/recipes/lunasvg/all/test_package/CMakeLists.txt index 583dafb520bda..29d0fd86a92ba 100644 --- a/recipes/lunasvg/all/test_package/CMakeLists.txt +++ b/recipes/lunasvg/all/test_package/CMakeLists.txt @@ -7,6 +7,8 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE lunasvg::lunasvg) if (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.2") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) -else() +elseif (lunasvg_VERSION VERSION_LESS_EQUAL "2.3.8") target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) endif() diff --git a/recipes/lunasvg/config.yml b/recipes/lunasvg/config.yml index ff80eb38ff5be..670758a7b8c7f 100644 --- a/recipes/lunasvg/config.yml +++ b/recipes/lunasvg/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.9": + folder: all "2.3.8": folder: all "2.3.5": From 6a852f7db755780b053e251a51d86e407d9b4485 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 16:50:58 +0900 Subject: [PATCH 0657/1307] (#22103) fmt: add version 10.2.0 * fmt: add version 10.2.0 * follow license file name --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/all/conanfile.py | 5 ++++- recipes/fmt/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index 1ddc76ef1e667..fac8f98c82639 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.2.0": + url: "https://github.com/fmtlib/fmt/releases/download/10.2.0/fmt-10.2.0.zip" + sha256: "8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399" "10.1.1": url: "https://github.com/fmtlib/fmt/releases/download/10.1.1/fmt-10.1.1.zip" sha256: "b84e58a310c9b50196cda48d5678d5fa0849bca19e5fdba6b684f0ee93ed9d1b" diff --git a/recipes/fmt/all/conanfile.py b/recipes/fmt/all/conanfile.py index ab898ea991411..fb9118c45657f 100644 --- a/recipes/fmt/all/conanfile.py +++ b/recipes/fmt/all/conanfile.py @@ -95,7 +95,10 @@ def build(self): cmake.build() def package(self): - copy(self, pattern="*LICENSE.rst", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "10.2.0": + copy(self, pattern="*LICENSE.rst", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + else: + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) if self.options.header_only: copy(self, pattern="*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) else: diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index 74db66d3ff403..f99965fd80247 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.2.0": + folder: all "10.1.1": folder: all "10.1.0": From bfe35213bae1367cadf4920e14cdef9decff8060 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 2 Jan 2024 09:54:45 +0200 Subject: [PATCH 0658/1307] (#18873) cc65: migrate to Conan v2 * cc65: migrate to Conan v2 * cc65: add VirtualBuildEnv * cc65: fix issue on Windows * cc65: cross-compiling is limited to native architectures only * cc65: drop test_v1_package It refuses to work despite package_info() and test_v1_package being virtually unchanged. * cc65: fix MSVC build * cc65: workaround for an MSVC build issue * Update recipes/cc65/all/conanfile.py * Update recipes/cc65/all/conanfile.py --------- Co-authored-by: Daniel --- recipes/cc65/all/conandata.yml | 4 - recipes/cc65/all/conanfile.py | 241 ++++++++++----------- recipes/cc65/all/test_package/conanfile.py | 42 ++-- 3 files changed, 138 insertions(+), 149 deletions(-) diff --git a/recipes/cc65/all/conandata.yml b/recipes/cc65/all/conandata.yml index 0c7a25432a083..720b04e88ab10 100644 --- a/recipes/cc65/all/conandata.yml +++ b/recipes/cc65/all/conandata.yml @@ -8,11 +8,7 @@ sources: patches: "2.18": - patch_file: "patches/2.18-0001-no-embedded-paths-makefile.patch" - base_path: "source_subfolder" - patch_file: "patches/2.18-0002-libsrc-use-extension.patch" - base_path: "source_subfolder" "2.19": - patch_file: "patches/2.19-0001-no-embedded-paths-makefile.patch" - base_path: "source_subfolder" - patch_file: "patches/2.19-0002-libsrc-use-extension.patch" - base_path: "source_subfolder" diff --git a/recipes/cc65/all/conanfile.py b/recipes/cc65/all/conanfile.py index 242c1cf9eee44..360eeaca72cba 100644 --- a/recipes/cc65/all/conanfile.py +++ b/recipes/cc65/all/conanfile.py @@ -1,163 +1,150 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, MSBuild, tools -from conans.errors import ConanInvalidConfiguration import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import can_run +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import MSBuild, is_msvc, msvs_toolset, MSBuildToolchain + +required_conan_version = ">=1.53.0" + class Cc65Conan(ConanFile): name = "cc65" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://cc65.github.io/" description = "A freeware C compiler for 6502 based systems" license = "Zlib" - topics = ("conan", "cc65", "compiler", "cmos", "6502", "8bit") - exports_sources = "patches/**" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://cc65.github.io/" + topics = ("compiler", "cmos", "6502", "8bit") + package_type = "application" settings = "os", "arch", "compiler", "build_type" - _autotools = None - _source_subfolder = "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def configure(self): - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - if self.settings.compiler == "Visual Studio": - if self.settings.arch not in ("x86", "x86_64"): - raise ConanInvalidConfiguration("Invalid arch") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + if is_msvc(self.info): + if self.info.settings.arch == "x86_64": + self.info.settings.arch = "x86" + del self.info.settings.compiler + + def validate(self): + if not can_run(self): + raise ConanInvalidConfiguration( + f"Compiling for {self.settings.arch} is not supported. " + "cc65 needs to be able to run the built executables during the build process" + ) + if is_msvc(self): + if self.settings.arch not in ["x86", "x86_64"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported on MSVC") if self.settings.arch == "x86_64": self.output.info("This recipe will build x86 instead of x86_64 (the binaries are compatible)") def build_requirements(self): - if self.settings.compiler == "Visual Studio" and not tools.which("make"): - self.build_requires("make/4.2.1") + if is_msvc(self): + self.tool_requires("make/4.4") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-" + self.version - os.rename(extracted_dir, self._source_subfolder) - - @property - def _datadir(self): - return os.path.join(self.package_folder, "bin", "share", "cc65") - - @property - def _samplesdir(self): - return os.path.join(self.package_folder, "samples") - - def _build_msvc(self): - msbuild = MSBuild(self) - msvc_platforms = { - "x86": "Win32", - } - arch = str(self.settings.arch) - if arch != "x86": - self.output.warn("{} detected: building x86 instead".format(self.settings.arch)) - arch = "x86" - - msbuild.build(os.path.join(self._source_subfolder, "src", "cc65.sln"), - build_type="Debug" if self.settings.build_type == "Debug" else "Release", - arch=arch, platforms=msvc_platforms) - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self._source_subfolder, "libsrc")): - autotools.make() - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self) - return self._autotools - - @property - def _make_args(self): - datadir = self._datadir - prefix = self.package_folder - samplesdir = self._samplesdir - if tools.os_info.is_windows: - datadir = tools.unix_path(datadir) - prefix = tools.unix_path(prefix) - samplesdir = tools.unix_path(samplesdir) - args = [ - "PREFIX={}".format(prefix), - "datadir={}".format(datadir), - "samplesdir={}".format(samplesdir), + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if is_msvc(self): + tc = MSBuildToolchain(self) + tc.generate() + tc = AutotoolsToolchain(self) + tc.make_args += [ + "PREFIX=/", + "datadir=/bin/share/cc65", + "samplesdir=/samples", ] if self.settings.os == "Windows": - args.append("EXE_SUFFIX=.exe") - return args - - def _build_autotools(self): - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self._source_subfolder)): - autotools.make(args=self._make_args) + tc.make_args.append("EXE_SUFFIX=.exe") + tc.generate() def _patch_sources(self): - for patch in self.conan_data["patches"][self.version]: - tools.patch(**patch) - if self.settings.compiler == "Visual Studio": - with tools.chdir(os.path.join(self._source_subfolder, "src")): - for fn in os.listdir("."): - if not fn.endswith(".vcxproj"): - continue - tools.replace_in_file(fn, "v141", tools.msvs_toolset(self)) - tools.replace_in_file(fn, "10.0.16299.0", "") + apply_conandata_patches(self) + if is_msvc(self): + for vcxproj in self.source_path.joinpath("src").rglob("*.vcxproj"): + replace_in_file(self, vcxproj, "v141", msvs_toolset(self)) + replace_in_file(self, vcxproj, "10.0.16299.0", "") if self.settings.os == "Windows": # Add ".exe" suffix to calls from cl65 to other utilities - for fn, var in (("cc65", "CC65"), ("ca65", "CA65"), ("co65", "CO65"), ("ld65", "LD65"), ("grc65", "GRC")): - v = "{},".format(var).ljust(5) - tools.replace_in_file(os.path.join(self._source_subfolder, "src", "cl65", "main.c"), - "CmdInit (&{v} CmdPath, \"{n}\");".format(v=v, n=fn), - "CmdInit (&{v} CmdPath, \"{n}.exe\");".format(v=v, n=fn)) + for fn, var in [ + ("cc65", "CC65"), + ("ca65", "CA65"), + ("co65", "CO65"), + ("ld65", "LD65"), + ("grc65", "GRC"), + ]: + v = f"{var},".ljust(5) + replace_in_file(self, os.path.join(self.source_folder, "src", "cl65", "main.c"), + f'CmdInit (&{v} CmdPath, "{fn}");', + f'CmdInit (&{v} CmdPath, "{fn}.exe");') + # Fix mkdir failing on Windows due to -p being unavailable there + # https://github.com/conan-io/conan-center-index/pull/18873#issuecomment-1841989876 + replace_in_file(self, os.path.join(self.source_folder, "libsrc", "Makefile"), + r'MKDIR = mkdir $(subst /,\,$1)', + r'MKDIR = if not exist "$(subst /,\,$1)" mkdir "$(subst /,\,$1)"') def build(self): self._patch_sources() - if self.settings.compiler == "Visual Studio": - self._build_msvc() + if is_msvc(self): + msbuild = MSBuild(self) + msbuild.platform = "Win32" + msbuild.build_type = "Debug" if self.settings.build_type == "Debug" else "Release" + msbuild.build(sln=os.path.join(self.source_folder, "src", "cc65.sln")) + with chdir(self, os.path.join(self.source_folder, "libsrc")): + autotools = Autotools(self) + autotools.make() else: - self._build_autotools() - - def _package_msvc(self): - self.copy("*.exe", src=os.path.join(self._source_subfolder, "bin"), dst=os.path.join(self.package_folder, "bin"), keep_path=False) - for dir in ("asminc", "cfg", "include", "lib", "target"): - self.copy("*", src=os.path.join(self._source_subfolder, dir), dst=os.path.join(self._datadir, dir)) - - def _package_autotools(self): - autotools = self._configure_autotools() - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): - autotools.install(args=self._make_args) - - tools.rmdir(self._samplesdir) - tools.rmdir(os.path.join(self.package_folder, "share")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.make() def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - if self.settings.compiler == "Visual Studio": - self._package_msvc() + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + copy(self, "*.exe", + dst=os.path.join(self.package_folder, "bin"), + src=os.path.join(self.source_folder, "bin"), + keep_path=False) + for folder in ("asminc", "cfg", "include", "lib", "target"): + copy(self, "*", + dst=os.path.join(self.package_folder, "bin", "share", "cc65", folder), + src=os.path.join(self.source_folder, folder)) else: - self._package_autotools() - - def package_id(self): - del self.info.settings.compiler - if self.settings.compiler == "Visual Studio": - if self.settings.arch == "x86_64": - self.info.settings.arch = "x86" + with chdir(self, os.path.join(self.source_folder)): + autotools = Autotools(self) + autotools.install() + rmdir(self, os.path.join(self.package_path, "samples")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): - bindir = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment variable: %s" % bindir) - self.env_info.PATH.append(bindir) - - self.output.info("Seting CC65_HOME environment variable: %s" % self._datadir) - self.env_info.CC65_HOME = self._datadir + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] bin_ext = ".exe" if self.settings.os == "Windows" else "" + bindir = os.path.join(self.package_folder, "bin") + self.buildenv_info.define_path("CC65_HOME", os.path.join(self.package_folder, "bin", "share", "cc65")) + self.buildenv_info.define_path("CC65", os.path.join(bindir, "cc65" + bin_ext)) + self.buildenv_info.define_path("AS65", os.path.join(bindir, "ca65" + bin_ext)) + self.buildenv_info.define_path("LD65", os.path.join(bindir, "cl65" + bin_ext)) - cc65_cc = os.path.join(bindir, "cc65" + bin_ext) - self.output.info("Seting CC65 environment variable: {}".format(cc65_cc)) - self.env_info.CC65 = cc65_cc - - cc65_as = os.path.join(bindir, "ca65" + bin_ext) - self.output.info("Seting AS65 environment variable: {}".format(cc65_as)) - self.env_info.AS65 = cc65_as - - cc65_ld = os.path.join(bindir, "cl65" + bin_ext) - self.output.info("Seting LD65 environment variable: {}".format(cc65_ld)) - self.env_info.LD65 = cc65_ld + # TODO: Legacy, to be removed on Conan 2.0 + self.env_info.PATH.append(bindir) + self.env_info.CC65_HOME = os.path.join(self.package_folder, "bin", "share", "cc65") + self.env_info.CC65 = os.path.join(bindir, "cc65" + bin_ext) + self.env_info.AS65 = os.path.join(bindir, "ca65" + bin_ext) + self.env_info.LD65 = os.path.join(bindir, "cl65" + bin_ext) diff --git a/recipes/cc65/all/test_package/conanfile.py b/recipes/cc65/all/test_package/conanfile.py index b930a6b2cce7f..d7ddd1a009806 100644 --- a/recipes/cc65/all/test_package/conanfile.py +++ b/recipes/cc65/all/test_package/conanfile.py @@ -1,33 +1,39 @@ -from conans import ConanFile, tools import os import shutil +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.files import mkdir, rm +from conan.tools.layout import basic_layout + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - - exports_sources = "hello.c", "text.s" + generators = "VirtualRunEnv", "VirtualBuildEnv" + test_type = "explicit" _targets = ("c64", "apple2") + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + basic_layout(self) + def build(self): - if not tools.cross_building(self.settings): - for src in self.exports_sources: + if can_run(self): + for src in ["hello.c", "text.s"]: shutil.copy(os.path.join(self.source_folder, src), os.path.join(self.build_folder, src)) for target in self._targets: - output = "hello_{}".format(target) - tools.mkdir(target) - try: - # Try removing the output file to give confidence it is created by cc65 - os.unlink(output) - except FileNotFoundError: - pass - self.run("{p} -O -t {t} hello.c -o {t}/hello.s".format(p=os.environ["CC65"], t=target)) - self.run("{p} -t {t} {t}/hello.s -o {t}/hello.o".format(p=os.environ["AS65"], t=target)) - self.run("{p} -t {t} text.s -o {t}/text.o".format(p=os.environ["AS65"], t=target)) - self.run("{p} -o {o} -t {t} {t}/hello.o {t}/text.o {t}.lib".format(o=output, p=os.environ["LD65"], t=target)) + output = f"hello_{target}" + mkdir(self, target) + rm(self, output, self.build_folder) + self.run(f"cc65 -O -t {target} hello.c -o {target}/hello.s") + self.run(f"ca65 -t {target} {target}/hello.s -o {target}/hello.o") + self.run(f"ca65 -t {target} text.s -o {target}/text.o") + self.run(f"ld65 -o {output} -t {target} {target}/hello.o {target}/text.o {target}.lib") def test(self): - if not tools.cross_building(self.settings): + if can_run(self): for target in self._targets: - assert os.path.isfile("hello_{}".format(target)) + assert os.path.isfile(f"hello_{target}") From 0e7abe0eafb2330f3c3e83dfb6ef670fec1336b3 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 2 Jan 2024 08:59:59 +0000 Subject: [PATCH 0659/1307] (#22096) [bot] Update authorized users list (2024-01-01) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 2e70a86ba0550..9213701100475 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1262,3 +1262,4 @@ authorized_users: - ErixenCruz - OrianeGourdyStilla - nikitasinys +- pgrossomoreira From 8a551ab2b9b14ef571a3c9dc0d7844bd1e36d95d Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Tue, 2 Jan 2024 11:21:03 +0100 Subject: [PATCH 0660/1307] (#21686) rapidcheck: add version cci.20230815 * rapidcheck: add version cci.20230815 * fixup! rapidcheck: add version cci.20230815 --- recipes/rapidcheck/all/conandata.yml | 3 +++ recipes/rapidcheck/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rapidcheck/all/conandata.yml b/recipes/rapidcheck/all/conandata.yml index 51a9ed8cc8578..b501c3fddaaca 100644 --- a/recipes/rapidcheck/all/conandata.yml +++ b/recipes/rapidcheck/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20230815": + url: "https://github.com/emil-e/rapidcheck/archive/1c91f40e64d87869250cfb610376c629307bf77d.zip" + sha256: "21dc5ed99390bc62e10f45698aff2704cf994c27cb388b0296db741bf128d803" "cci.20220514": url: "https://github.com/emil-e/rapidcheck/archive/8fafda42e732164db58003e542196e94a28481f9.zip" sha256: "63853f74026678b5cfed5f18f5d8cbd4eccb2f48bb89a8f8cb1cd1cc69f22db8" diff --git a/recipes/rapidcheck/config.yml b/recipes/rapidcheck/config.yml index c35d572c8cdf5..02c0d5b9f9431 100644 --- a/recipes/rapidcheck/config.yml +++ b/recipes/rapidcheck/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20230815": + folder: all "cci.20220514": folder: all "cci.20210702": From c7023c028fa6803d859d2990c5d9dc41fb35edf5 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 2 Jan 2024 21:04:24 +0900 Subject: [PATCH 0661/1307] (#22097) trompeloell: add version 47 --- recipes/trompeloeil/all/conandata.yml | 3 +++ recipes/trompeloeil/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/trompeloeil/all/conandata.yml b/recipes/trompeloeil/all/conandata.yml index aa78e9ef74461..ba2243425c538 100644 --- a/recipes/trompeloeil/all/conandata.yml +++ b/recipes/trompeloeil/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "47": + url: "https://github.com/rollbear/trompeloeil/archive/v47.tar.gz" + sha256: "4a1d79260c1e49e065efe0817c8b9646098ba27eed1802b0c3ba7d959e4e5e84" "46": url: "https://github.com/rollbear/trompeloeil/archive/v46.tar.gz" sha256: "dc2c856ab7716ef659f8df7fc5f6740a40e736089f05e0a8251d4ad3ad17ad83" diff --git a/recipes/trompeloeil/config.yml b/recipes/trompeloeil/config.yml index 4cd5ba1f148f2..b8ee3e687f441 100644 --- a/recipes/trompeloeil/config.yml +++ b/recipes/trompeloeil/config.yml @@ -1,4 +1,6 @@ versions: + "47": + folder: all "46": folder: all "45": From f208a22ddc2288c4650de27a7487e22e5b6c8f84 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 02:16:51 +0900 Subject: [PATCH 0662/1307] (#22111) libenvpp: update fmt/10.2.0 --- recipes/libenvpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libenvpp/all/conanfile.py b/recipes/libenvpp/all/conanfile.py index 06b2bc9d3e325..0c66ea51eadfe 100644 --- a/recipes/libenvpp/all/conanfile.py +++ b/recipes/libenvpp/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def build_requirements(self): self.tool_requires("cmake/[>=3.16 <4]") From 3fe2ac91eab945e70d346196807dfa0e9c7d62ed Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 04:22:17 +0900 Subject: [PATCH 0663/1307] (#22109) quill: update fmt/10.2.0 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index 311710c99f8c5..f231e678169af 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From c1f0537a2143ae1cd61d163fc612b147f687022b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 05:09:52 +0900 Subject: [PATCH 0664/1307] (#22110) jinja2cpp: update fmt/10.2.0 --- recipes/jinja2cpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/jinja2cpp/all/conanfile.py b/recipes/jinja2cpp/all/conanfile.py index 7e812e5ef15e3..c95085d906413 100644 --- a/recipes/jinja2cpp/all/conanfile.py +++ b/recipes/jinja2cpp/all/conanfile.py @@ -66,7 +66,7 @@ def requirements(self): self.requires("fmt/6.2.1") # not compatible with fmt >= 7.0.0 else: self.requires("nlohmann_json/3.11.2") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 778f384a570dc9d1d6f4f825ad973d6976ef06b4 Mon Sep 17 00:00:00 2001 From: Eyal Rozenberg Date: Wed, 3 Jan 2024 07:43:06 +0200 Subject: [PATCH 0665/1307] (#22072) Remove cuda-api-wrappers/0.7 --- recipes/cuda-api-wrappers/all/conandata.yml | 2 +- recipes/cuda-api-wrappers/config.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml index 5990b0d96ecd6..0a04efd212109 100644 --- a/recipes/cuda-api-wrappers/all/conandata.yml +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -1,5 +1,5 @@ sources: - "0.7": + "0.7-b1": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/0.7b1.tar.gz" sha256: "1ed5912d8f602ccd176865b824de17f462cb57142eb2a685d7cc034831e54a71" "0.6.3": diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml index b1edd3de7d7ae..326304241de6f 100644 --- a/recipes/cuda-api-wrappers/config.yml +++ b/recipes/cuda-api-wrappers/config.yml @@ -1,5 +1,5 @@ versions: - "0.7": + "0.7-b1": folder: all "0.6.3": folder: all From c3ac875e60b201c9134abf3fbba05503ba53605c Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 14:52:40 +0900 Subject: [PATCH 0666/1307] (#22119) mbits-diags: update fmt/10.2.0 --- recipes/mbits-diags/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-diags/all/conanfile.py b/recipes/mbits-diags/all/conanfile.py index 204bf4ed9c3fa..f876850381adb 100644 --- a/recipes/mbits-diags/all/conanfile.py +++ b/recipes/mbits-diags/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0") + self.requires("fmt/10.2.0") self.requires("mbits-semver/0.1.1") def validate(self): From 4986189e703790a08ababd2b37555b8bd11e4ebe Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 17:11:20 +0900 Subject: [PATCH 0667/1307] (#22122) glaze: add version 2.0.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6dc39ae7951e9..89be42a2103fa 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" + sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" "1.9.9": url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a22a25e3ca7a3..aceb307c5a346 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "1.9.9": folder: all "1.9.8.1": From 18f82d334826d772b37be90fdf048442c7659d11 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 18:43:45 +0900 Subject: [PATCH 0668/1307] (#22125) fmtlog: update fmt/10.2.0 --- recipes/fmtlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index 759d3b12c6861..4b6848110748b 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.1.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.2.0", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: From b015e5e097061434eb26bd6df9d97517d988f895 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 3 Jan 2024 10:52:54 +0100 Subject: [PATCH 0669/1307] (#21756) onetbb/all: bump deps * onetbb/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py --- recipes/onetbb/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py index 1651c9800e6fd..771f1bcbec3de 100644 --- a/recipes/onetbb/all/conanfile.py +++ b/recipes/onetbb/all/conanfile.py @@ -52,7 +52,7 @@ def _tbbbind_hwloc_version(self): @property def _tbbbind_supported(self): - return Version(self.version) >= "2021.1.1" and not self.settings.os == "Macos" + return self.settings.os != "Macos" @property def _tbbbind_build(self): @@ -101,7 +101,7 @@ def validate(self): def build_requirements(self): if self._tbbbind_build and not self._tbbbind_explicit_hwloc: if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From c33803d0e8c508cb3fc83341d32f70802461fb1d Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Wed, 3 Jan 2024 11:01:01 +0100 Subject: [PATCH 0670/1307] (#21697) mp-units 2.1.0 added, apple-clang compilation enabled, and invalid range-v3 dependency removed * mp-units 2.1.0 added, apple-clang compilation enabled, and invalid range-v3 dependency removed * version definitions reordered * incorrect and duplicated comment removed * minimum required gcc version changed to 11.2 * gcc-11 support removed because of ICEs --- recipes/mp-units/2.0.0/conandata.yml | 3 +++ recipes/mp-units/2.0.0/conanfile.py | 25 ++++++++----------------- recipes/mp-units/config.yml | 6 ++++-- 3 files changed, 15 insertions(+), 19 deletions(-) diff --git a/recipes/mp-units/2.0.0/conandata.yml b/recipes/mp-units/2.0.0/conandata.yml index 79322cc88147b..6919665f992c1 100644 --- a/recipes/mp-units/2.0.0/conandata.yml +++ b/recipes/mp-units/2.0.0/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: https://github.com/mpusz/units/archive/v2.1.0.tar.gz + sha256: a42057492f5a8e80442cf13602b97bb48b9c3a408bc91bdb60d86aadc84c95cc "2.0.0": url: https://github.com/mpusz/units/archive/v2.0.0.tar.gz sha256: c04cda9fdaeca3ae42886552658e8bde3b608a24a4a921a621a5db41ec416e0e diff --git a/recipes/mp-units/2.0.0/conanfile.py b/recipes/mp-units/2.0.0/conanfile.py index e7312a805414c..c41e90a14db59 100644 --- a/recipes/mp-units/2.0.0/conanfile.py +++ b/recipes/mp-units/2.0.0/conanfile.py @@ -14,7 +14,7 @@ class MPUnitsConan(ConanFile): name = "mp-units" homepage = "https://github.com/mpusz/mp-units" - description = "A Physical Quantities and Units library for C++" + description = "A Quantities and Units library for C++" topics = ( "units", "dimensions", @@ -42,8 +42,8 @@ def _min_cppstd(self): @property def _minimum_compilers_version(self): - # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed - return {"gcc": "11", "clang": "16"} + # Note that msvc is disabled for now, its C++20 implementation are not up to speed + return {"gcc": "12", "clang": "16", "apple-clang": "15"} @property def _use_libfmt(self): @@ -52,18 +52,10 @@ def _use_libfmt(self): std_support = compiler == "msvc" and version >= 193 and compiler.cppstd == 23 return not std_support - @property - def _use_range_v3(self): - compiler = self.settings.compiler - version = Version(self.settings.compiler.version) - return "clang" in compiler and compiler.libcxx == "libc++" and version < 14 - def requirements(self): self.requires("gsl-lite/0.40.0") if self._use_libfmt: self.requires("fmt/10.1.0") - if self._use_range_v3: - self.requires("range-v3/0.11.0") def validate(self): if self.settings.get_safe("compiler.cppstd"): @@ -81,11 +73,12 @@ def loose_lt_semver(v1, v2): raise ConanInvalidConfiguration( f"{self.ref} requires at least {compiler} {min_version} ({compiler.version} in use)" ) - - # Note that apple-clang and msvc are disabled for now, their C++ 20 implementations are not up to speed + # Re-enable once newer versions with better support come out - if is_msvc(self) or compiler == "apple-clang": - raise ConanInvalidConfiguration(f"{self.ref} disabled for {compiler} as their C++20 implementation is not up to speed yet") + if is_msvc(self): + raise ConanInvalidConfiguration( + f"{self.ref} disabled for {compiler} as their C++20 implementation is not up to speed yet" + ) def layout(self): cmake_layout(self, src_folder="src") @@ -126,8 +119,6 @@ def package_info(self): self.cpp_info.components["core"].requires = ["gsl-lite::gsl-lite"] if compiler == "msvc": self.cpp_info.components["core"].cxxflags = ["/utf-8"] - if self._use_range_v3: - self.cpp_info.components["core"].requires.append("range-v3::range-v3") # rest self.cpp_info.components["core-io"].requires = ["core"] diff --git a/recipes/mp-units/config.yml b/recipes/mp-units/config.yml index 80a7d8dff9ed1..3bf1ad6108b4a 100644 --- a/recipes/mp-units/config.yml +++ b/recipes/mp-units/config.yml @@ -1,5 +1,7 @@ versions: - "0.8.0": - folder: 0.8.0 + "2.1.0": + folder: 2.0.0 "2.0.0": folder: 2.0.0 + "0.8.0": + folder: 0.8.0 From e7195e7ee6539d2de1b5ef0b14220b0262460beb Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 19:50:02 +0900 Subject: [PATCH 0671/1307] (#22121) spdlog: update fmt/1.12.0 --- recipes/spdlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index 85bd609950223..82eb2fb07b1de 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -57,7 +57,7 @@ def requirements(self): fmt_version = "7.1.3" if self_version >= "1.12.0": - fmt_version = "10.1.1" + fmt_version = "10.2.0" elif self_version >= "1.11.0": fmt_version = "10.0.0" elif self_version >= "1.10.0": From d2fe8abead7548a368b2b9c4d34307147b9cf38b Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Wed, 3 Jan 2024 12:00:48 +0100 Subject: [PATCH 0672/1307] (#22106) libxml2: remove unused versions --- recipes/libxml2/all/conandata.yml | 9 --------- recipes/libxml2/config.yml | 6 ------ 2 files changed, 15 deletions(-) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 2adc5bf6e1740..680c5c30397da 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -11,15 +11,9 @@ sources: "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" - "2.11.5": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.5.tar.xz" - sha256: "3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6" "2.11.4": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.4.tar.xz" sha256: "737e1d7f8ab3f139729ca13a2494fd17bf30ddb4b7a427cf336252cab57f57f7" - "2.11.3": - url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz" - sha256: "f1acae1664bda006cd81bfc238238217043d586d06659d5c0e3d1bcebe040870" "2.10.4": url: "https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.4.tar.xz" sha256: "ed0c91c5845008f1936739e4eee2035531c1c94742c6541f44ee66d885948d45" @@ -38,6 +32,3 @@ sources: "2.9.10": url: "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.10.tar.xz" sha256: "593b7b751dd18c2d6abcd0c4bcb29efc203d0b4373a6df98e3a455ea74ae2813" - "2.9.9": - url: "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.9.tar.xz" - sha256: "58a5c05a2951f8b47656b676ce1017921a29f6b1419c45e3baed0d6435ba03f5" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index ba1af564de62a..fa0445d49d104 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -7,12 +7,8 @@ versions: folder: all "2.11.6": folder: all - "2.11.5": - folder: all "2.11.4": folder: all - "2.11.3": - folder: all "2.10.4": folder: all "2.10.3": @@ -25,5 +21,3 @@ versions: folder: all "2.9.10": folder: all - "2.9.9": - folder: all From 8cc55e7e364388a87d09f2052bf7596208ec5cb0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 3 Jan 2024 13:21:36 +0200 Subject: [PATCH 0673/1307] (#22065) zug: add v0.1.1, drop custom version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * zug: add v0.1.1, drop custom version * Keep old cci version around * zug: fix linter error --------- Co-authored-by: Rubén Rincón Blanco --- recipes/zug/all/conandata.yml | 3 +++ recipes/zug/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zug/all/conandata.yml b/recipes/zug/all/conandata.yml index a182f02902b99..eec3bc50f0058 100644 --- a/recipes/zug/all/conandata.yml +++ b/recipes/zug/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.1.1": + url: "https://github.com/arximboldi/zug/archive/refs/tags/v0.1.1.tar.gz" + sha256: "1b9c8f962e40baa6f0c6af35f957444850063d550078a3ebd0227727b8ef193c" "cci.20220125": url: "https://github.com/arximboldi/zug/archive/deb266f4c7c35d325de7eb3d033f06e0809495f2.tar.gz" sha256: "4b36442059899b8570336ff9e2901f62fd58b839c9e3ff5d35497454e2324625" diff --git a/recipes/zug/config.yml b/recipes/zug/config.yml index 80463c6cdc5cc..f6a5245cc2d90 100644 --- a/recipes/zug/config.yml +++ b/recipes/zug/config.yml @@ -1,4 +1,6 @@ versions: + "0.1.1": + folder: all "cci.20220125": folder: all "0.1.0": From c64324777e7bc7cecd368beaa7f2400c554e1518 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 3 Jan 2024 14:32:06 +0300 Subject: [PATCH 0674/1307] (#22128) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 2c60ab126196e..7b5cef4721454 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.0.tar.gz" + sha256: "a53c6fb33cfef23f91cc6e967b538cd1940bb765041a0c1c4ac3aa20bf0b5c7c" "2.3.9": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.3.9.tar.gz" sha256: "0ff833b179e01866296a8b2e36b09c19936c2e4434d9e542be389d8104809523" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 9ccae22b9f990..eb83c8d481931 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.3.9": folder: all "2.3.4": From c14c3da3f280abfdaaa72ea5629729d3365adb0e Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 22:25:29 +0900 Subject: [PATCH 0675/1307] (#22129) cpp-validator: update fmt/10.2.0 --- recipes/cpp-validator/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cpp-validator/all/conanfile.py b/recipes/cpp-validator/all/conanfile.py index 3da277d18f9a6..664a6a31ab470 100644 --- a/recipes/cpp-validator/all/conanfile.py +++ b/recipes/cpp-validator/all/conanfile.py @@ -64,7 +64,7 @@ def validate(self): def requirements(self): self.requires("boost/1.83.0") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From f4eb09ad79e8c869ccaabdc493a660cc91d24a4f Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 3 Jan 2024 23:29:43 +0900 Subject: [PATCH 0676/1307] (#22130) svgwrite: update fmt/10.2.0 --- recipes/svgwrite/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/svgwrite/all/conanfile.py b/recipes/svgwrite/all/conanfile.py index 9c1c80b182559..61be81d1368f4 100644 --- a/recipes/svgwrite/all/conanfile.py +++ b/recipes/svgwrite/all/conanfile.py @@ -56,7 +56,7 @@ def layout(self): def requirements(self): self.requires("span-lite/0.10.3", transitive_headers=True) - self.requires("fmt/10.1.0") + self.requires("fmt/10.2.0") def validate(self): if self.settings.compiler.cppstd: From 24514f5d0e5e0aa935e789e9446afeb88ef950a1 Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Wed, 3 Jan 2024 20:45:03 +0100 Subject: [PATCH 0677/1307] (#22108) libtiff: use https for download The conandata.yml files in this git repo contains 6411 https:// uris and 109 http:// uris. There is no reason not to use https with the libtiff downloads from download.osgeo.org and some organizations block http:// file transfers for security reasons. --- recipes/libtiff/all/conandata.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/libtiff/all/conandata.yml b/recipes/libtiff/all/conandata.yml index 96a6b01214da4..e73e0da6320f6 100644 --- a/recipes/libtiff/all/conandata.yml +++ b/recipes/libtiff/all/conandata.yml @@ -1,18 +1,18 @@ sources: "4.6.0": - url: "http://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.6.0.tar.gz" sha256: "88b3979e6d5c7e32b50d7ec72fb15af724f6ab2cbf7e10880c360a77e4b5d99a" "4.5.1": - url: "http://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz" sha256: "d7f38b6788e4a8f5da7940c5ac9424f494d8a79eba53d555f4a507167dca5e2b" "4.5.0": - url: "http://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz" sha256: "c7a1d9296649233979fa3eacffef3fa024d73d05d589cb622727b5b08c423464" "4.4.0": - url: "http://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.4.0.tar.gz" sha256: "917223b37538959aca3b790d2d73aa6e626b688e02dcda272aec24c2f498abed" "4.3.0": - url: "http://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" + url: "https://download.osgeo.org/libtiff/tiff-4.3.0.tar.gz" sha256: "0e46e5acb087ce7d1ac53cf4f56a09b221537fc86dfc5daaad1c2e89e1b37ac8" patches: "4.6.0": From 0fc9e40fdfc6b4e582a37edaaa5588c50e89e626 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 10:08:27 +0900 Subject: [PATCH 0678/1307] (#22137) glaze: add version 2.0.1 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 89be42a2103fa..e9aee7a044726 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" + sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" "2.0.0": url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index aceb307c5a346..b9e6d1d29e9d8 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "2.0.0": folder: all "1.9.9": From e9264eeb006df3dedd19843cdb61b2c4bef9de86 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 14:24:00 +0900 Subject: [PATCH 0679/1307] (#22141) gegles-spdlog_setup: update fmt/10.2.0 --- recipes/gegles-spdlog_setup/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py index fd9faf40ac95a..9df1297d17bd7 100644 --- a/recipes/gegles-spdlog_setup/all/conanfile.py +++ b/recipes/gegles-spdlog_setup/all/conanfile.py @@ -40,7 +40,7 @@ def layout(self): def requirements(self): self.requires("cpptoml/0.1.1") self.requires("spdlog/1.12.0") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") def package_id(self): self.info.clear() From ba7b598033e42445ed0a931eab9aaa7641951e42 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 14:41:00 +0900 Subject: [PATCH 0680/1307] (#22139) sbepp: update dependencies --- recipes/sbepp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py index 550f0466dea48..1f66b3dcaaf1b 100644 --- a/recipes/sbepp/all/conanfile.py +++ b/recipes/sbepp/all/conanfile.py @@ -69,8 +69,8 @@ def requirements(self): self.requires("fmt/9.1.0") self.requires("pugixml/1.12.1") else: - self.requires("fmt/10.1.0") - self.requires("pugixml/1.13") + self.requires("fmt/10.2.0") + self.requires("pugixml/1.14") def validate(self): if self.settings.compiler.cppstd: From df424e9cdd37a3ad95cd7d820c1255af1467702c Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 4 Jan 2024 15:14:55 +0900 Subject: [PATCH 0681/1307] (#22140) mppp: update fmt/10.2.0 --- recipes/mppp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 42fab736847a0..28146b35e0eeb 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.with_boost: self.requires("boost/1.83.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.1.1", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 82399cbbfbc6154049deec68b659a96b0b52748a Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 4 Jan 2024 12:14:53 +0300 Subject: [PATCH 0682/1307] (#22143) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 7b5cef4721454..b0622b8bf862b 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.1.tar.gz" + sha256: "61a439206e1ed2e68702c9811e3055d0adfda5945fb098ea7bfe8906c33d7b49" "2.4.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.0.tar.gz" sha256: "a53c6fb33cfef23f91cc6e967b538cd1940bb765041a0c1c4ac3aa20bf0b5c7c" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index eb83c8d481931..c2a60b2d90930 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.1": + folder: all "2.4.0": folder: all "2.3.9": From d7b80d60329bd8ee6185c15d77ebd9748bc4fafa Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Thu, 4 Jan 2024 16:37:50 +0100 Subject: [PATCH 0683/1307] (#22081) xorg: remove xvmc as dependency xvmc is the X-Video Motion Compensation API client library. The xvmc library is not referenced in any other package in conan-center-index. The libXvMC-devel has unceremoniously been removed from RHEL 9. A github search for xvmc finds 15 repositories and not one of them seem to be an important consuming application of this API. libxcb-devel contains libxcb-xvmc.so which provides an XCB based API. As the xvmc library is unused in conan-center-index, appears to be nearly unreferenced in github and has been removed from a major distribution it should not be included in xorg/system either so xorg/system can be built on RHEL 9. Documentation for the removal of libXvMC in RHEL 9: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/considerations_in_adopting_rhel_9/index --- recipes/xorg/all/conanfile.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index b8a810681f531..b43c73d5d9c1a 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -29,7 +29,7 @@ def system_requirements(self): "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", "libxext-dev", "libxfixes-dev", "libxi-dev", "libxinerama-dev", "libxkbfile-dev", "libxmu-dev", "libxmuu-dev", "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", "libxss-dev", "libxt-dev", "libxtst-dev", - "libxv-dev", "libxvmc-dev", "libxxf86vm-dev", "libxcb-render0-dev", + "libxv-dev", "libxxf86vm-dev", "libxcb-render0-dev", "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev", "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev", "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev"], update=True, check=True) @@ -39,7 +39,7 @@ def system_requirements(self): yum = package_manager.Yum(self) yum.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -47,7 +47,7 @@ def system_requirements(self): dnf = package_manager.Dnf(self) dnf.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXScrnSaver-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -55,7 +55,7 @@ def system_requirements(self): zypper = package_manager.Zypper(self) zypper.install(["libxcb-devel", "libfontenc-devel", "libXaw-devel", "libXcomposite-devel", "libXcursor-devel", "libXdmcp-devel", "libXtst-devel", "libXinerama-devel", - "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXss-devel", "libXvMC-devel", + "libxkbfile-devel", "libXrandr-devel", "libXres-devel", "libXss-devel", "xcb-util-wm-devel", "xcb-util-image-devel", "xcb-util-keysyms-devel", "xcb-util-renderutil-devel", "libXdamage-devel", "libXxf86vm-devel", "libXv-devel", "xcb-util-devel", "libuuid-devel", "xcb-util-cursor-devel"], update=True, check=True) @@ -63,19 +63,19 @@ def system_requirements(self): pacman = package_manager.PacMan(self) pacman.install(["libxcb", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", - "libxss", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", + "libxss", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", "libxxf86vm", "libxv", "xcb-util", "util-linux-libs", "xcb-util-cursor"], update=True, check=True) package_manager.Pkg(self).install(["libX11", "libfontenc", "libice", "libsm", "libxaw", "libxcomposite", "libxcursor", "libxdamage", "libxdmcp", "libxtst", "libxinerama", "libxkbfile", "libxrandr", "libxres", - "libXScrnSaver", "libxvmc", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", + "libXScrnSaver", "xcb-util-wm", "xcb-util-image", "xcb-util-keysyms", "xcb-util-renderutil", "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) def package_info(self): for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7", "xcomposite", "xcursor", "xdamage", "xdmcp", "xext", "xfixes", "xi", "xinerama", "xkbfile", "xmu", "xmuu", "xpm", "xrandr", "xrender", "xres", - "xscrnsaver", "xt", "xtst", "xv", "xvmc", "xxf86vm", + "xscrnsaver", "xt", "xtst", "xv", "xxf86vm", "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render", "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes", "xcb-xinerama", "xcb", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util", From 7fdbb2410f2b8e682bfc26aee7b6a0a53ad93bed Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Thu, 4 Jan 2024 17:13:13 +0100 Subject: [PATCH 0684/1307] (#22126) [libmysqlclient] Add include/mysql directory Signed-off-by: Uilian Ries --- recipes/libmysqlclient/all/conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/libmysqlclient/all/conanfile.py b/recipes/libmysqlclient/all/conanfile.py index 3222c3020d2f0..deb913588e58e 100644 --- a/recipes/libmysqlclient/all/conanfile.py +++ b/recipes/libmysqlclient/all/conanfile.py @@ -271,6 +271,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("pkg_config_name", "mysqlclient") self.cpp_info.libs = ["libmysql" if self.settings.os == "Windows" and self.options.shared else "mysqlclient"] + self.cpp_info.includedirs.append(os.path.join("include", "mysql")) if not self.options.shared: stdcpplib = stdcpp_library(self) if stdcpplib: From 5f6bc3e70d8610524849d6cf19c1bc72bcade6b9 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 02:58:56 +0900 Subject: [PATCH 0685/1307] (#22154) roaring: add version 2.1.1 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index ec4f98fdaba4d..355272cf62ff7 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.1": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.1.tar.gz" + sha256: "40a1c04e220bb2305c3adb5347f42b6b435c4bb4ac89dd0047ba8e73a7388dfb" "2.1.0": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.0.tar.gz" sha256: "75e2c106bf3c035f92560017b56b01602744b643a3fef08d69255c138c6c6f5c" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 8cf27c6a95cb1..0285278f20a4c 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.1": + folder: all "2.1.0": folder: all "2.0.4": From 24ffe23e9d9031ee11eef02fee99d4cbaccde0c8 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:32:41 +0900 Subject: [PATCH 0686/1307] (#22160) glaze: add version 2.0.2 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index e9aee7a044726..d3f62b78045c6 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" + sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" "2.0.1": url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b9e6d1d29e9d8..5ac32437d36ed 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "2.0.1": folder: all "2.0.0": From 4bf9cfaad8b70b26c2b7883363b332d15e9151fb Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:43:02 +0900 Subject: [PATCH 0687/1307] (#22161) fmt: add version 10.2.1 --- recipes/fmt/all/conandata.yml | 3 +++ recipes/fmt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fmt/all/conandata.yml b/recipes/fmt/all/conandata.yml index fac8f98c82639..1c4bb54e9bf65 100644 --- a/recipes/fmt/all/conandata.yml +++ b/recipes/fmt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.2.1": + url: "https://github.com/fmtlib/fmt/releases/download/10.2.1/fmt-10.2.1.zip" + sha256: "312151a2d13c8327f5c9c586ac6cf7cddc1658e8f53edae0ec56509c8fa516c9" "10.2.0": url: "https://github.com/fmtlib/fmt/releases/download/10.2.0/fmt-10.2.0.zip" sha256: "8a942861a94f8461a280f823041cde8f620a6d8b0e0aacc98c15bb5a9dd92399" diff --git a/recipes/fmt/config.yml b/recipes/fmt/config.yml index f99965fd80247..fdd60b40c6f86 100644 --- a/recipes/fmt/config.yml +++ b/recipes/fmt/config.yml @@ -1,4 +1,6 @@ versions: + "10.2.1": + folder: all "10.2.0": folder: all "10.1.1": From ff3595e77a73d1392dbc36a94319f6be9155399b Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 11:53:11 +0900 Subject: [PATCH 0688/1307] (#22163) daw_header_libraries: add version 2.97.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index f07d3ecdd0bdb..1d91b2a43cc99 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.97.0": + url: "https://github.com/beached/header_libraries/archive/v2.97.0.tar.gz" + sha256: "993cda7ff505e80f54322ce544b8a7b02bfef9673d980e43dafcbd3a9a3228d3" "2.96.1": url: "https://github.com/beached/header_libraries/archive/v2.96.1.tar.gz" sha256: "2a9a5c33baa9e3adc1d82fa13a56522638af13cc39372a0c1c8f5c5d984f1464" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index e5da3ea85fe21..6309a804a4b56 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.97.0": + folder: all "2.96.1": folder: all "2.95.0": From a7bd708f5f0ebd0bfcfa99d13f0e228e3c038df7 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 12:03:15 +0900 Subject: [PATCH 0689/1307] (#22162) uwebsockets: add version 20.55.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index c0ce42c9c6d8e..8d30e31ae6d86 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.55.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.55.0.tar.gz" + sha256: "bf6b22229fcd10c7cbd256bfd9abf31c829d44eefd56341c0f404e0fa0184f2f" "20.53.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index 2431934b0aaf1..a90f8a651f17a 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.55.0": + folder: all "20.53.0": folder: all "20.51.0": From f31f15d951179bd26550fdc12344a01e53765ee1 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Fri, 5 Jan 2024 02:57:03 -0500 Subject: [PATCH 0690/1307] (#20894) [openblas] Make build_lapack=True default for >= 0.3.21 * [openblas] Make build_lapack=True default for >= 0.3.21 Version 0.3.21 of openblas introduced the ability to build lapack from C. Make this default to enable CCI recipes to use lapack when depending on openblas. Additionally, fix an inconsistency in version constraint. Review was provided in https://github.com/conan-io/conan-center-index/pull/19808 to constrain it to 0.3.24 as this was the latest version available in CCI. However, the constraint on building lapack really applies to anything newer than 0.3.21, so this is the most appropriate model for the logic. Not modelling this accurately precludes the correct behaviour if intermediate versions are added at a later date. Closes #7361 * [openblas] Switch option change to config_options from configure Modifying defaults in configure is now prohibited and should be done in config_options instead. * [openblas] Only propagate -lgfortran when compiled with fortran * Add note to explain lapack source when no Fortran compiler is available Co-authored-by: Uilian Ries * [openblas] set TARGET for armv8 builds to facilitate architecture detection * [openblas] Add armv8 compatibility * Patch versions earlier than 0.3.24 to include hotfix of OpenMathLib/OpenBLAS#4142, which fixes detection of the armv8 architecture to ARM64 from ARM. * Refactor patches into a _patch_sources method * Revert 0bd65ec and b42908 * [openblas] Disable armv8 builds for versions lower than 0.3.24. * armv8 is not currently supported by versions lower than 0.3.24 due to a bug in the cpu architecture identification erroneously identifying a 32 bit architecture instead of 64. * [openblas] Re-add erroneously removed version check for when to build lapack This check was erroneously removed when the note about an f2c converted copy of lapack being used was added. The f2c version of lapack is only available for versions greater than or equal to 0.3.21, and versions lower than this should not build lapack by default. --------- Co-authored-by: Uilian Ries --- recipes/openblas/all/conanfile.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/openblas/all/conanfile.py b/recipes/openblas/all/conanfile.py index d3f3b247af16a..cb78919db63db 100644 --- a/recipes/openblas/all/conanfile.py +++ b/recipes/openblas/all/conanfile.py @@ -46,12 +46,21 @@ def _fortran_compiler(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) >= "0.3.21": + # INFO: When no Fortran compiler is available, OpenBLAS builds LAPACK from an f2c-converted copy of LAPACK unless the NO_LAPACK option is specified + self.options.build_lapack = True def configure(self): if self.options.shared: self.options.rm_safe("fPIC") def validate(self): + if Version(self.version) < "0.3.24" and self.settings.arch == "armv8": + # OpenBLAS fails to detect the appropriate target architecture for armv8 for versions < 0.3.24, as it matches the 32 bit variant instead of 64. + # This was fixed in https://github.com/OpenMathLib/OpenBLAS/pull/4142, which was introduced in 0.3.24. + # This would be a reasonably trivial hotfix to backport. + raise ConanInvalidConfiguration("armv8 builds are not currently supported for versions lower than 0.3.24. Contributions to support this are welcome.") + if hasattr(self, "settings_build") and cross_building(self, skip_x64_x86=True): raise ConanInvalidConfiguration("Cross-building not implemented") @@ -87,7 +96,7 @@ def generate(self): # This checks explicit user-specified fortran compiler if self.options.build_lapack: if not self._fortran_compiler: - if Version(self.version) < "0.3.24": + if Version(self.version) < "0.3.21": self.output.warning( "Building with LAPACK support requires a Fortran compiler.") else: @@ -169,7 +178,7 @@ def package_info(self): self.cpp_info.components["openblas_component"].system_libs.append("m") if self.options.use_thread: self.cpp_info.components["openblas_component"].system_libs.append("pthread") - if self.options.build_lapack: + if self.options.build_lapack and self._fortran_compiler: self.cpp_info.components["openblas_component"].system_libs.append("gfortran") self.output.info( From bc7f94ed2520cf20ada79ff2becebbc4ff07c93f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 5 Jan 2024 08:42:37 +0000 Subject: [PATCH 0691/1307] (#22146) [bot] Update authorized users list (2024-01-04) * Add/remove users to Access Request * Remove mike-solar from the list. --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 9213701100475..231ba110a0d98 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1263,3 +1263,5 @@ authorized_users: - OrianeGourdyStilla - nikitasinys - pgrossomoreira +- wu-vincent +- Inujel From 91e2066636a71a2c9c0fdc9cd664ff9f2f2c765d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 17:58:02 +0900 Subject: [PATCH 0692/1307] (#21557) json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * json-schema-validator: add version 2.3.0, downgrade nolhmann_json in older versions * remove space * Try to build on windows Signed-off-by: Uilian Ries * fix bin dir location Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/json-schema-validator/all/conandata.yml | 3 +++ recipes/json-schema-validator/all/conanfile.py | 16 ++++++++++++---- .../all/test_package/CMakeLists.txt | 2 +- recipes/json-schema-validator/config.yml | 2 ++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/json-schema-validator/all/conandata.yml b/recipes/json-schema-validator/all/conandata.yml index 122476811e03f..3c6f2f96fc4ed 100644 --- a/recipes/json-schema-validator/all/conandata.yml +++ b/recipes/json-schema-validator/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/pboettch/json-schema-validator/archive/refs/tags/2.3.0.tar.gz" + sha256: "2c00b50023c7d557cdaa71c0777f5bcff996c4efd7a539e58beaa4219fa2a5e1" "2.2.0": url: "https://github.com/pboettch/json-schema-validator/archive/refs/tags/2.2.0.tar.gz" sha256: "03897867bd757ecac1db7545babf0c6c128859655b496582a9cea4809c2260aa" diff --git a/recipes/json-schema-validator/all/conanfile.py b/recipes/json-schema-validator/all/conanfile.py index 2d269b725c767..312888fba61cb 100644 --- a/recipes/json-schema-validator/all/conanfile.py +++ b/recipes/json-schema-validator/all/conanfile.py @@ -13,10 +13,10 @@ class JsonSchemaValidatorConan(ConanFile): name = "json-schema-validator" + description = "JSON schema validator for JSON for Modern C++" license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/pboettch/json-schema-validator" - description = "JSON schema validator for JSON for Modern C++ " topics = ("modern-json", "schema-validation", "json") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -37,7 +37,6 @@ class JsonSchemaValidatorConan(ConanFile): "fPIC": True, "json_diagnostics": False, } - short_paths = True @property @@ -69,12 +68,16 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("nlohmann_json/3.11.2", transitive_headers=True) + # to support latest compilers, we have to downgrade nlohmann_json. + # https://github.com/pboettch/json-schema-validator/pull/276 + if Version(self.version) < "2.3.0": + self.requires("nlohmann_json/3.10.5", transitive_headers=True) + else: + self.requires("nlohmann_json/3.11.3", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: raise ConanInvalidConfiguration( @@ -92,6 +95,9 @@ def generate(self): else: tc.variables["JSON_VALIDATOR_BUILD_TESTS"] = False tc.variables["JSON_VALIDATOR_BUILD_EXAMPLES"] = False + tc.variables["JSON_VALIDATOR_INSTALL"] = True + tc.variables["JSON_VALIDATOR_SHARED_LIBS"] = self.options.shared + tc.variables["CMAKE_INSTALL_RUNTIMEDIR"] = "bin" if self.options.json_diagnostics: tc.preprocessor_definitions["JSON_DIAGNOSTICS"] = '1' if Version(self.version) < "2.1.0": @@ -147,6 +153,8 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs.append("m") + elif self.settings.os == "Windows" and self.options.shared: + self.cpp_info.defines.append("JSON_SCHEMA_VALIDATOR_EXPORTS=1") # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "nlohmann_json_schema_validator" diff --git a/recipes/json-schema-validator/all/test_package/CMakeLists.txt b/recipes/json-schema-validator/all/test_package/CMakeLists.txt index c2d764c121782..193d69ef33260 100644 --- a/recipes/json-schema-validator/all/test_package/CMakeLists.txt +++ b/recipes/json-schema-validator/all/test_package/CMakeLists.txt @@ -4,5 +4,5 @@ project(test_package LANGUAGES CXX) find_package(nlohmann_json_schema_validator CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} nlohmann_json_schema_validator) +target_link_libraries(${PROJECT_NAME} PRIVATE nlohmann_json_schema_validator) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/json-schema-validator/config.yml b/recipes/json-schema-validator/config.yml index ddf20dd4ca819..3d204ba702a0b 100644 --- a/recipes/json-schema-validator/config.yml +++ b/recipes/json-schema-validator/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.1.0": From b1a725a0d540c95788c27a84802686776ab0d182 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 5 Jan 2024 11:30:02 +0200 Subject: [PATCH 0693/1307] (#22055) jasper: add v4.1.1, simplify patching * jasper: add v4.1.1, simplify patching * jasper: add cmake/3.20 --- recipes/jasper/all/conandata.yml | 23 +++++++------- recipes/jasper/all/conanfile.py | 8 +++++ .../patches/2.0.33-0002-find-libjpeg.patch | 18 ----------- .../all/patches/3.0.6-0002-find-libjpeg.patch | 18 ----------- .../all/patches/4.0.0-0002-find-libjpeg.patch | 16 ---------- .../all/patches/4.1.0-0002-find-libjpeg.patch | 25 --------------- .../all/patches/4.1.1-0001-skip-rpath.patch | 31 +++++++++++++++++++ .../4.1.1-0003-deterministic-libname.patch | 13 ++++++++ recipes/jasper/config.yml | 2 ++ 9 files changed, 65 insertions(+), 89 deletions(-) delete mode 100644 recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch delete mode 100644 recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch create mode 100644 recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch create mode 100644 recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 6e9ac4e8ea75b..e552f7fe9fae8 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.1.1": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.1/jasper-4.1.1.tar.gz" + sha256: "03ba86823f8798f3f60a5a34e36f3eff9e9cbd76175643a33d4aac7c0390240a" "4.1.0": url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.0/jasper-4.1.0.tar.gz" sha256: "ffe1543d87f7ffc5039d2415afd48c314a7cc0b0c750b4982cd881d6ed4b5743" @@ -12,14 +15,19 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.1.1": + - patch_file: "patches/4.1.1-0001-skip-rpath.patch" + patch_description: "Do not enforce rpath configuration" + patch_source: "https://github.com/jasper-software/jasper/pull/347" + patch_type: "conan" + - patch_file: "patches/4.1.1-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.1.0": - patch_file: "patches/4.1.0-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/4.1.0-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/4.1.0-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -28,9 +36,6 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/4.0.0-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/4.0.0-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -39,9 +44,6 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/3.0.6-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" - patch_file: "patches/3.0.6-0003-deterministic-libname.patch" patch_description: "No generator dependent libname" patch_type: "conan" @@ -50,6 +52,3 @@ patches: patch_description: "Do not enforce rpath configuration" patch_source: "https://github.com/jasper-software/jasper/pull/347" patch_type: "conan" - - patch_file: "patches/2.0.33-0002-find-libjpeg.patch" - patch_description: "check_c_source_compilers does not work with conan gens. See https://github.com/conan-io/conan/issues/12180" - patch_type: "conan" diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 9a1c9b8badf36..758b12ef086f4 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.scm import Version import os @@ -53,10 +54,16 @@ def requirements(self): elif self.options.with_libjpeg == "mozjpeg": self.requires("mozjpeg/4.1.1") + def build_requirements(self): + if Version(self.version) >= "4.1.1": + self.tool_requires("cmake/[>=3.20 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) if Version(self.version) >= "4.0.0": tc.variables["JAS_ENABLE_PIC"] = self.options.get_safe("fPIC", True) @@ -66,6 +73,7 @@ def generate(self): tc.variables["JAS_ENABLE_SHARED"] = self.options.shared tc.variables["JAS_LIBJPEG_REQUIRED"] = "REQUIRED" tc.variables["JAS_ENABLE_LIBJPEG"] = bool(self.options.with_libjpeg) + tc.variables["JAS_HAVE_JPEGLIB_H"] = True if Version(self.version) >= "3.0.0": tc.variables["JAS_ENABLE_LIBHEIF"] = False tc.variables["JAS_ENABLE_OPENGL"] = False diff --git a/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch b/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch deleted file mode 100644 index e95e029549359..0000000000000 --- a/recipes/jasper/all/patches/2.0.33-0002-find-libjpeg.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 79081c2..38b6238 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -244,12 +244,7 @@ if (JAS_ENABLE_LIBJPEG AND JPEG_FOUND) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - set(CMAKE_REQUIRED_INCLUDES ${JPEG_INCLUDE_DIR}) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - include_directories(${JPEG_INCLUDE_DIR}) diff --git a/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch b/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch deleted file mode 100644 index 47a8350d738d4..0000000000000 --- a/recipes/jasper/all/patches/3.0.6-0002-find-libjpeg.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a0d253d..19518af 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -680,12 +680,7 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) diff --git a/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch deleted file mode 100644 index b98de65fb7adf..0000000000000 --- a/recipes/jasper/all/patches/4.0.0-0002-find-libjpeg.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -731,12 +731,7 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -+ set(JAS_HAVE_JPEGLIB_H 1) - if(JAS_HAVE_JPEGLIB_H) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) diff --git a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch b/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch deleted file mode 100644 index 05dd6ce68abe8..0000000000000 --- a/recipes/jasper/all/patches/4.1.0-0002-find-libjpeg.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6b79a94..86eb065 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -742,13 +742,13 @@ if(JAS_ENABLE_LIBJPEG) - # (e.g., stdio.h and stdint.h). So, we cannot reliably use - # check_include_file here. - jas_get_includes_from_targets(CMAKE_REQUIRED_INCLUDES JPEG::JPEG) -- check_c_source_compiles(" -- #include -- #include -- #include -- int main() {} -- " JAS_HAVE_JPEGLIB_H) -- if(JAS_HAVE_JPEGLIB_H) -+ # check_c_source_compiles(" -+ # #include -+ # #include -+ # #include -+ # int main() {} -+ # " JAS_HAVE_JPEGLIB_H) -+ if(1) - set(JAS_HAVE_LIBJPEG 1) - set(JAS_LIBJPEG_TARGET JPEG::JPEG) - list(APPEND JAS_PKGCONFIG_REQUIRES libjpeg) diff --git a/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch b/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch new file mode 100644 index 0000000000000..69c4f82817230 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.1-0001-skip-rpath.patch @@ -0,0 +1,31 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ba6f117..6b79a94 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -800,13 +800,13 @@ + + if(JAS_ENABLE_SHARED) + # use, i.e. don't skip the full RPATH for the build tree +- set(CMAKE_SKIP_BUILD_RPATH FALSE) ++# set(CMAKE_SKIP_BUILD_RPATH FALSE) + + # when building, don't use the install RPATH already + # (but later on when installing) + set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) + +- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ++# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + + # add the automatically determined parts of the RPATH + # which point to directories outside the build tree to the install RPATH +@@ -817,8 +817,8 @@ + list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES + "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) + if(isSystemDir EQUAL -1) +- set(CMAKE_INSTALL_RPATH +- "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++# set(CMAKE_INSTALL_RPATH ++# "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") + endif() + endif() + diff --git a/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..88f2faa6388a7 --- /dev/null +++ b/recipes/jasper/all/patches/4.1.1-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 86eb065..9c2da51 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -276,7 +276,7 @@ endif() + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index 70e516cc72ceb..a8896535acc48 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.1.1": + folder: all "4.1.0": folder: all "4.0.0": From b99eafe8be06f2f404ec10e5a5d47649c5e56b8d Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 5 Jan 2024 19:29:11 +0900 Subject: [PATCH 0694/1307] (#22168) uwebsockets: update libdeflate/1.19 --- recipes/uwebsockets/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 4598157564eba..374ab9a0e5e74 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -53,7 +53,7 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_libdeflate"): - self.requires("libdeflate/1.14") + self.requires("libdeflate/1.19") if Version(self.version) > "20.17.0": self.requires("usockets/0.8.6") From 90eb04735f1b812f4504ca68d7a6d8837f821b69 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 03:12:35 +0200 Subject: [PATCH 0695/1307] (#22039) tesseract: add v5.3.3, bump deps * tesseract: add v5.3.3, bump deps * tesseract: downgrade leptonica for older versions --- recipes/tesseract/all/conandata.yml | 7 +++++++ recipes/tesseract/all/conanfile.py | 9 ++++++--- .../patches/0004-control-optimizations-5.3.3.patch | 11 +++++++++++ recipes/tesseract/config.yml | 2 ++ 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch diff --git a/recipes/tesseract/all/conandata.yml b/recipes/tesseract/all/conandata.yml index 7daa1a412e05d..00a8d11156c81 100644 --- a/recipes/tesseract/all/conandata.yml +++ b/recipes/tesseract/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.3.3": + url: "https://github.com/tesseract-ocr/tesseract/archive/5.3.3.tar.gz" + sha256: "dc4329f85f41191b2d813b71b528ba6047745813474e583ccce8795ff2ff5681" "5.3.0": url: "https://github.com/tesseract-ocr/tesseract/archive/5.3.0.tar.gz" sha256: "7e70870f8341e5ea228af2836ce79a36eefa11b01b56177b4a8997f330c014b8" @@ -15,6 +18,10 @@ sources: url: "https://github.com/tesseract-ocr/tesseract/archive/4.1.1.tar.gz" sha256: "2a66ff0d8595bff8f04032165e6c936389b1e5727c3ce5a27b3e059d218db1cb" patches: + "5.3.3": + - patch_file: "patches/0004-control-optimizations-5.3.3.patch" + patch_description: "fix condition for cpu optimizations" + patch_type: "portability" "5.3.0": - patch_file: "patches/0004-control-optimizations-5.3.0.patch" patch_description: "fix condition for cpu optimizations" diff --git a/recipes/tesseract/all/conanfile.py b/recipes/tesseract/all/conanfile.py index 06e523dc19f28..861e7b6b85384 100644 --- a/recipes/tesseract/all/conanfile.py +++ b/recipes/tesseract/all/conanfile.py @@ -81,12 +81,15 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("leptonica/1.82.0") + if Version(self.version) >= "5.2.0": + self.requires("leptonica/1.83.1") + else: + self.requires("leptonica/1.82.0") if self.settings.os == "Windows" and Version(self.version) >= "5.0.0": self.requires("libtiff/4.6.0") # libarchive is required for 4.x so default value is true if self.options.get_safe("with_libarchive", default=True): - self.requires("libarchive/3.7.1") + self.requires("libarchive/3.7.2") # libcurl is not required for 4.x if self.options.get_safe("with_libcurl", default=False): self.requires("libcurl/[>=7.78.0 <9]") @@ -177,7 +180,7 @@ def _module_file_rel_path(self): def package_info(self): # Official CMake imported target is: # - libtesseract if < 5.0.0 - # - Tesseract::libtesseract if >= 5.0.0 (not yet released) + # - Tesseract::libtesseract if >= 5.0.0 # We provide both targets self.cpp_info.set_property("cmake_file_name", "Tesseract") self.cpp_info.set_property("cmake_target_name", "Tesseract::libtesseract") diff --git a/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch b/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch new file mode 100644 index 0000000000000..20b11b48bfcb9 --- /dev/null +++ b/recipes/tesseract/all/patches/0004-control-optimizations-5.3.3.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -166,7 +166,7 @@ + + message(STATUS "CMAKE_SYSTEM_PROCESSOR=<${CMAKE_SYSTEM_PROCESSOR}>") + +-if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86|x86_64|AMD64|amd64|i386|i686") ++if(ENABLE_OPTIMIZATIONS AND CMAKE_SYSTEM_PROCESSOR MATCHES "x86|x86_64|AMD64|amd64|i386|i686") + + set(HAVE_NEON FALSE) + if(MSVC) diff --git a/recipes/tesseract/config.yml b/recipes/tesseract/config.yml index 18a9581e91b42..f1f981966776b 100644 --- a/recipes/tesseract/config.yml +++ b/recipes/tesseract/config.yml @@ -1,4 +1,6 @@ versions: + "5.3.3": + folder: all "5.3.0": folder: all "5.2.0": From a6d9b39b47ff5e5d354c63f05ab764dea418e5d8 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 11:07:39 +0900 Subject: [PATCH 0696/1307] (#21986) pdf-writer: add version 4.6.2 * pdf-writer: add version 4.6.2 * create patch to remove InstallRequiredSystemLibraries --- recipes/pdf-writer/all/conandata.yml | 7 ++++++ .../all/patches/4.6.2-0001-fix-cmake.patch | 25 +++++++++++++++++++ recipes/pdf-writer/config.yml | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 396c829a1f253..9ebe345ad6840 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.2": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.2.tar.gz" + sha256: "0a36815ccc9d207028567f90039785c824b211169ba5da68de84d0c15455ab62" "4.6.1": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.1.tar.gz" sha256: "6e95fcb26ec679fa12ce6638d35a591e80960b35956a142d9a80b9a8c80ca824" @@ -6,6 +9,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.2": + - patch_file: "patches/4.6.2-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.1": - patch_file: "patches/4.5.12-0001-fix-cmake.patch" patch_description: "disable test/cpack, use cci package" diff --git a/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch b/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..ffff2588e7efa --- /dev/null +++ b/recipes/pdf-writer/all/patches/4.6.2-0001-fix-cmake.patch @@ -0,0 +1,25 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e32c883..e9ab456 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -161,13 +161,13 @@ if(PROJECT_IS_TOP_LEVEL AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/PDFWriterTesting) + ADD_SUBDIRECTORY(PDFWriterTesting) + endif() + +-include(InstallRequiredSystemLibraries) +-set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") +-set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") +-set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") +-set(CPACK_SOURCE_GENERATOR "ZIP") +-set(CPACK_GENERATOR "ZIP") +-include(CPack) ++#include(InstallRequiredSystemLibraries) ++#set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") ++#set(CPACK_PACKAGE_VERSION_MAJOR "${PDFHummus_VERSION_MAJOR}") ++#set(CPACK_PACKAGE_VERSION_MINOR "${PDFHummus_VERSION_MINOR}") ++#set(CPACK_SOURCE_GENERATOR "ZIP") ++#set(CPACK_GENERATOR "ZIP") ++#include(CPack) + + install(EXPORT PDFHummusTargets + FILE PDFHummusTargets.cmake diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index a4aeb1f1b89b4..5cbc3ea3ae8e3 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.2": + folder: all "4.6.1": folder: all "4.5.12": From 7702f9096923e621bfb62cbbb0e2e61414cabeeb Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 04:59:44 +0200 Subject: [PATCH 0697/1307] (#21922) clhep: add v2.4.7.1 --- recipes/clhep/all/conandata.yml | 13 +++++++++++++ recipes/clhep/config.yml | 2 ++ 2 files changed, 15 insertions(+) diff --git a/recipes/clhep/all/conandata.yml b/recipes/clhep/all/conandata.yml index 048d5c59d63e1..0b47cdc0ae08e 100644 --- a/recipes/clhep/all/conandata.yml +++ b/recipes/clhep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.7.1": + url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.7.1.tgz" + sha256: "1c8304a7772ac6b99195f1300378c6e3ddf4ad07c85d64a04505652abb8a55f9" "2.4.6.4": url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.6.4.tgz" sha256: "49c89330f1903ef707d3c5d79c16a7c5a6f2c90fc290e2034ee3834809489e57" @@ -6,6 +9,16 @@ sources: url: "https://proj-clhep.web.cern.ch/proj-clhep/dist1/clhep-2.4.1.3.tgz" sha256: "27c257934929f4cb1643aa60aeaad6519025d8f0a1c199bc3137ad7368245913" patches: + "2.4.7.1": + - patch_file: "patches/2.4.6.4-0001-fix-cmake.patch" + patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" + patch_type: "conan" + - patch_file: "patches/2.4.6.4-0002-mingw-support.patch" + patch_description: "allow CLHEP to build and link properly under mingw environments" + patch_type: "portability" + - patch_file: "patches/2.4.1.3-0003-msvc-2015-no-SFINAE.patch" + patch_description: "work around a compiler bug in MSVC 2015" + patch_type: "portability" "2.4.6.4": - patch_file: "patches/2.4.6.4-0001-fix-cmake.patch" patch_description: "The CLHEP build system builds BOTH shared and static by default, change that behaviour" diff --git a/recipes/clhep/config.yml b/recipes/clhep/config.yml index ad9dd349ce89d..87edeeec0d29b 100644 --- a/recipes/clhep/config.yml +++ b/recipes/clhep/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.7.1": + folder: all "2.4.6.4": folder: all "2.4.1.3": From a29c9c0f7f7df336c2bdcfdc9715af3d51ba9e2d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 05:10:29 +0200 Subject: [PATCH 0698/1307] (#21907) ode: add v0.16.4 --- recipes/ode/all/conandata.yml | 10 +++++++--- recipes/ode/all/conanfile.py | 1 + .../ode/all/patches/0003-cmake-fix-ccd-target.patch | 11 ----------- recipes/ode/config.yml | 2 ++ 4 files changed, 10 insertions(+), 14 deletions(-) delete mode 100644 recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch diff --git a/recipes/ode/all/conandata.yml b/recipes/ode/all/conandata.yml index cb490a2db9ad2..59347531ec928 100644 --- a/recipes/ode/all/conandata.yml +++ b/recipes/ode/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "0.16.4": + url: "https://bitbucket.org/odedevs/ode/downloads/ode-0.16.4.tar.gz" + sha256: "71037b8281c6c86b0a55729f90d5db697abe4cbec1d8118157e00d48ec253467" "0.16.2": url: "https://bitbucket.org/odedevs/ode/downloads/ode-0.16.2.tar.gz" sha256: "b26aebdcb015e2d89720ef48e0cb2e8a3ca77915f89d853893e7cc861f810f22" patches: + "0.16.4": + - patch_file: "patches/0002-dont-force-pic.patch" + patch_description: "Allow to build static library without PIC" + patch_type: "conan" "0.16.2": - patch_file: "patches/0001-fix-apple.patch" patch_description: "Fix cross-build to macOS, iOS, watchOS & tvOS" @@ -10,9 +17,6 @@ patches: - patch_file: "patches/0002-dont-force-pic.patch" patch_description: "Allow to build static library without PIC" patch_type: "conan" - - patch_file: "patches/0003-cmake-fix-ccd-target.patch" - patch_description: "Fix link to CMake imported target of libccd" - patch_type: "conan" - patch_file: "patches/0004-fix-include-ode-timer.patch" patch_description: "Fix casing issue in include of ode/timer.h" patch_type: "conan" diff --git a/recipes/ode/all/conanfile.py b/recipes/ode/all/conanfile.py index 380cefe469f49..0ad8a648e1978 100644 --- a/recipes/ode/all/conanfile.py +++ b/recipes/ode/all/conanfile.py @@ -82,6 +82,7 @@ def generate(self): tc.generate() deps = CMakeDeps(self) + deps.set_property("libccd", "cmake_target_name", "ccd::ccd") deps.generate() def build(self): diff --git a/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch b/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch deleted file mode 100644 index e9dd8b78218bb..0000000000000 --- a/recipes/ode/all/patches/0003-cmake-fix-ccd-target.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -572,7 +572,7 @@ if(ODE_WITH_LIBCCD) - if(ODE_WITH_LIBCCD_SYSTEM) - find_package(ccd) - target_compile_definitions(ode PRIVATE -DdLIBCCD_ENABLED -DdLIBCCD_SYSTEM) -- target_link_libraries(ODE ccd::ccd) -+ target_link_libraries(ODE PRIVATE ccd) - else() - target_compile_definitions(ODE PRIVATE -DdLIBCCD_ENABLED -DdLIBCCD_INTERNAL) - target_include_directories( diff --git a/recipes/ode/config.yml b/recipes/ode/config.yml index 62178f7b45783..86a42ef0267a1 100644 --- a/recipes/ode/config.yml +++ b/recipes/ode/config.yml @@ -1,3 +1,5 @@ versions: + "0.16.4": + folder: all "0.16.2": folder: all From d9a611d62b773198121cafac30b503b896531dc0 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 05:19:49 +0200 Subject: [PATCH 0699/1307] (#21912) microprofile: add v4.0 --- recipes/microprofile/all/conandata.yml | 13 +++++---- recipes/microprofile/all/conanfile.py | 29 +++++++++++++++---- .../all/test_package/test_package.cpp | 2 +- recipes/microprofile/config.yml | 2 ++ 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/recipes/microprofile/all/conandata.yml b/recipes/microprofile/all/conandata.yml index 144d6e5120836..8c86f1a660d74 100644 --- a/recipes/microprofile/all/conandata.yml +++ b/recipes/microprofile/all/conandata.yml @@ -1,7 +1,10 @@ sources: - "3.1": - - url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" - sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" + "4.0": + url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v4.0.tar.gz" + sha256: "59cd3ee7afd3ce5cfeb7599db62ccc0611818985a8e649353bec157122902a5c" + "3.1": + url: "https://github.com/jonasmr/microprofile/archive/refs/tags/v3.1.tar.gz" + sha256: "300e1d0d21e4c13ad1de72c5309ba02fbdb3bcbbe26e5ad9ff8b798380781527" patches: - "3.1": - - patch_file: "patches/sources_fix.patch" + "3.1": + - patch_file: "patches/sources_fix.patch" diff --git a/recipes/microprofile/all/conanfile.py b/recipes/microprofile/all/conanfile.py index 3779e90691c29..b3d0644be3113 100644 --- a/recipes/microprofile/all/conanfile.py +++ b/recipes/microprofile/all/conanfile.py @@ -5,7 +5,10 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, download, export_conandata_patches, get, save, load +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, save, load +from conan.tools.gnu import PkgConfigDeps +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -91,7 +94,13 @@ def requirements(self): if self.options.enable_timer == "gl": self.requires("opengl/system") if self.options.enable_timer == "vulkan": - self.requires("vulkan-loader/1.3.243.0") + self.requires("vulkan-loader/1.3.268.0") + if Version(self.version) >= "4.0": + self.requires("stb/cci.20230920") + + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.1.0") def _validate_int_options(self): positive_int_options = [ @@ -134,15 +143,23 @@ def validate(self): raise ConanInvalidConfiguration("microprofile:webserver_port must be between 0 and 65535.") def source(self): - get(self, **self.conan_data["sources"][self.version][0], strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) tc.variables["MP_MINIZ"] = self.options.with_miniz tc.variables["MP_GPU_TIMERS_VULKAN"] = self.options.enable_timer == "vulkan" + tc.variables["MICROPROFILE_USE_CONFIG_FILE"] = True + tc.preprocessor_definitions["STB_SPRINTF_IMPLEMENTATION"] = 1 tc.generate() - tc = CMakeDeps(self) - tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + deps = PkgConfigDeps(self) + deps.generate() def build(self): self._create_defines_file(os.path.join(self.source_folder, "microprofile.config.h")) @@ -203,6 +220,8 @@ def _create_defines_file(self, filename): def package_info(self): self.cpp_info.libs = collect_libs(self) + if Version(self.version) < "4.0": + self.cpp_info.includedirs.append(os.path.join("include", "microprofile")) if self.settings.os == "Windows": self.cpp_info.system_libs = ["ws2_32"] elif self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/microprofile/all/test_package/test_package.cpp b/recipes/microprofile/all/test_package/test_package.cpp index 2a13e33f9ca1d..ef555a9511bfa 100644 --- a/recipes/microprofile/all/test_package/test_package.cpp +++ b/recipes/microprofile/all/test_package/test_package.cpp @@ -1,6 +1,6 @@ #include -#include +#include int main() { #if MICROPROFILE_ENABLED diff --git a/recipes/microprofile/config.yml b/recipes/microprofile/config.yml index 992d10eb37c11..d0751e6458e77 100644 --- a/recipes/microprofile/config.yml +++ b/recipes/microprofile/config.yml @@ -1,3 +1,5 @@ versions: + "4.0": + folder: all "3.1": folder: all From 546214ee3e547fc19123118929924e0b1a3dfa92 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Fri, 5 Jan 2024 22:29:26 -0500 Subject: [PATCH 0700/1307] (#21798) nfrechette-acl: add version 2.1.0 --- recipes/nfrechette-acl/all/conandata.yml | 3 +++ recipes/nfrechette-acl/all/conanfile.py | 2 +- recipes/nfrechette-acl/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/nfrechette-acl/all/conandata.yml b/recipes/nfrechette-acl/all/conandata.yml index dca5b638ad1dc..191bbde1ad6d6 100644 --- a/recipes/nfrechette-acl/all/conandata.yml +++ b/recipes/nfrechette-acl/all/conandata.yml @@ -8,3 +8,6 @@ sources: "2.0.6": url: "https://github.com/nfrechette/acl/archive/v2.0.6.tar.gz" sha256: "595575d3470eb3a4a572f7c5cb986ea2205ea1271ca3b32b864c569659106311" + "2.1.0": + url: "https://github.com/nfrechette/acl/archive/v2.1.0.tar.gz" + sha256: "0ac8473cd30eb768bae1ef58558e3088242d6fef81f727ce7b5ff5af9be74fce" diff --git a/recipes/nfrechette-acl/all/conanfile.py b/recipes/nfrechette-acl/all/conanfile.py index 4a590b12eb34e..9486ab8fa1d5e 100644 --- a/recipes/nfrechette-acl/all/conanfile.py +++ b/recipes/nfrechette-acl/all/conanfile.py @@ -38,7 +38,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rtm/2.1.5") + self.requires("rtm/2.2.0") def package_id(self): self.info.clear() diff --git a/recipes/nfrechette-acl/config.yml b/recipes/nfrechette-acl/config.yml index 00fcf38029071..1a65a1cc6cec7 100644 --- a/recipes/nfrechette-acl/config.yml +++ b/recipes/nfrechette-acl/config.yml @@ -5,3 +5,5 @@ versions: folder: "all" "2.0.6": folder: "all" + "2.1.0": + folder: "all" From 232de10aac2cfd3b033c8c861f40da0d0cb6d1e0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 04:47:56 +0100 Subject: [PATCH 0701/1307] (#21776) libva/2.20.0 * libva/2.20.0 * don't use release tarball work around https://github.com/intel/libva/issues/781 * fix windows libname * fix windows debug * Update recipes/libva/all/conanfile.py Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams --- recipes/libva/all/conandata.yml | 10 ++ recipes/libva/all/conanfile.py | 144 ++++++++++++++++++ .../all/patches/0001-fix-win32-debug.patch | 27 ++++ recipes/libva/all/test_package/CMakeLists.txt | 7 + recipes/libva/all/test_package/conanfile.py | 26 ++++ recipes/libva/all/test_package/test_package.c | 10 ++ recipes/libva/config.yml | 3 + 7 files changed, 227 insertions(+) create mode 100644 recipes/libva/all/conandata.yml create mode 100644 recipes/libva/all/conanfile.py create mode 100644 recipes/libva/all/patches/0001-fix-win32-debug.patch create mode 100644 recipes/libva/all/test_package/CMakeLists.txt create mode 100644 recipes/libva/all/test_package/conanfile.py create mode 100644 recipes/libva/all/test_package/test_package.c create mode 100644 recipes/libva/config.yml diff --git a/recipes/libva/all/conandata.yml b/recipes/libva/all/conandata.yml new file mode 100644 index 0000000000000..da7a69068bfd9 --- /dev/null +++ b/recipes/libva/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "2.20.0": + url: "https://github.com/intel/libva/archive/refs/tags/2.20.0.tar.gz" + sha256: "117f8d658a5fc9ea406ca80a3eb4ae1d70b15a54807c9ed77199c812bed73b60" +patches: + "2.20.0": + - patch_file: "patches/0001-fix-win32-debug.patch" + patch_description: "Fix win32 debug build break" + patch_type: "backport" + patch_source: "https://github.com/intel/libva/pull/759" diff --git a/recipes/libva/all/conanfile.py b/recipes/libva/all/conanfile.py new file mode 100644 index 0000000000000..47a3e22f2ebe2 --- /dev/null +++ b/recipes/libva/all/conanfile.py @@ -0,0 +1,144 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +import os + + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "libva" + description = "Libva is an implementation for VA-API" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/intel/libva" + topics = ("VA-API", "Video", "Acceleration") + provides = "vaapi" + package_type = "shared-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_drm": [True, False], + "with_x11": [True, False], + "with_glx": [True, False], + "with_wayland": [True, False], + "with_win32": [True, False], + } + default_options = { + "with_drm": True, + "with_x11": True, + "with_glx": True, + "with_wayland": True, + "with_win32": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os != "Windows": + del self.options.with_win32 + + if self.settings.os not in ["Linux", "FreeBSD"]: + del self.options.with_x11 + del self.options.with_glx + del self.options.with_drm + + if self.settings.os != "Linux": + del self.options.with_wayland + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if self.options.get_safe("with_x11"): + self.requires("xorg/system") + if self.options.get_safe("with_drm"): + self.requires("libdrm/2.4.114") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + if self.options.get_safe("with_glx"): + self.requires("opengl/system") + + def validate(self): + if self.options.get_safe("with_glx") and not self.options.get_safe("with_x11"): + raise ConanInvalidConfiguration(f"{self.ref} requires x11 when glx is enabled") + if not self.options.get_safe("with_drm") and not self.options.get_safe("with_x11") and not self.options.get_safe("with_wayland") and not self.options.get_safe("with_win32"): + raise ConanInvalidConfiguration(f"{self.ref} can not be built without at least one backend dev files.") + + def build_requirements(self): + if self.options.get_safe("with_wayland"): + self.tool_requires("wayland/1.22.0") + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["disable_drm"] = not self.options.get_safe("with_drm") + for opt in ['with_x11', 'with_glx', 'with_wayland', 'with_win32']: + tc.project_options[opt] = "yes" if self.options.get_safe(opt) else "no" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + tc = VirtualBuildEnv(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + fix_apple_shared_install_name(self) + + def package_info(self): + self.cpp_info.components["libva_"].libs = ["va"] + self.cpp_info.components["libva_"].set_property("pkg_config_name", "libva") + + if self.options.get_safe("with_drm"): + self.cpp_info.components["libva-drm"].libs = ["va-drm"] + self.cpp_info.components["libva-drm"].set_property("pkg_config_name", "libva-drm") + self.cpp_info.components["libva-drm"].requires = ["libva_", "libdrm::libdrm"] + + if self.options.get_safe("with_x11"): + self.cpp_info.components["libva-x11"].libs = ["va-x11"] + self.cpp_info.components["libva-x11"].set_property("pkg_config_name", "libva-x11") + self.cpp_info.components["libva-x11"].requires = ["libva_", "xorg::xorg"] + + if self.options.get_safe("with_glx"): + self.cpp_info.components["libva-glx"].libs = ["va-glx"] + self.cpp_info.components["libva-glx"].set_property("pkg_config_name", "libva-glx") + self.cpp_info.components["libva-glx"].requires = ["libva_", "opengl::opengl"] + + if self.options.get_safe("with_wayland"): + self.cpp_info.components["libva-wayland"].libs = ["va-wayland"] + self.cpp_info.components["libva-wayland"].set_property("pkg_config_name", "libva-wayland") + self.cpp_info.components["libva-wayland"].requires = ["libva_", "wayland::wayland-client"] + + if self.options.get_safe("with_win32"): + self.cpp_info.components["libva-win32"].libs = ["va_win32"] + self.cpp_info.components["libva-win32"].set_property("pkg_config_name", "libva-win32") + self.cpp_info.components["libva-win32"].requires = ["libva_"] diff --git a/recipes/libva/all/patches/0001-fix-win32-debug.patch b/recipes/libva/all/patches/0001-fix-win32-debug.patch new file mode 100644 index 0000000000000..9a323b9c3f71a --- /dev/null +++ b/recipes/libva/all/patches/0001-fix-win32-debug.patch @@ -0,0 +1,27 @@ +From 2a1536a7d87eee3de17c27d07a40d8578cbf7cc0 Mon Sep 17 00:00:00 2001 +From: Sil Vilerino +Date: Wed, 27 Sep 2023 11:50:16 -0400 +Subject: [PATCH] win32: Fix debug build break + +Fixes: 484f128 ("win32: remove duplicate adapter_luid entry") +Signed-off-by: Sil Vilerino +--- + va/win32/va_win32.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/va/win32/va_win32.c b/va/win32/va_win32.c +index 7a6a895d3..350ee3a27 100644 +--- a/va/win32/va_win32.c ++++ b/va/win32/va_win32.c +@@ -183,9 +183,9 @@ VADisplay vaGetDisplayWin32( + LoadDriverNameFromRegistry(adapter_luid, pWin32Ctx); + #ifdef _DEBUG + if (pWin32Ctx->registry_driver_available_flag) { +- fprintf(stderr, "VA_Win32: Found driver %s in the registry for LUID %ld %ld \n", pWin32Ctx->registry_driver_name, adapter_luid.LowPart, adapter_luid.HighPart); ++ fprintf(stderr, "VA_Win32: Found driver %s in the registry for LUID %ld %ld \n", pWin32Ctx->registry_driver_name, adapter_luid->LowPart, adapter_luid->HighPart); + } else { +- fprintf(stderr, "VA_Win32: Couldn't find a driver in the registry for LUID %ld %ld. Using default driver: %s \n", adapter_luid.LowPart, adapter_luid.HighPart, VAAPI_DEFAULT_DRIVER_NAME); ++ fprintf(stderr, "VA_Win32: Couldn't find a driver in the registry for LUID %ld %ld. Using default driver: %s \n", adapter_luid->LowPart, adapter_luid->HighPart, VAAPI_DEFAULT_DRIVER_NAME); + } + #endif // _DEBUG + } diff --git a/recipes/libva/all/test_package/CMakeLists.txt b/recipes/libva/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..7b1b0ee21235e --- /dev/null +++ b/recipes/libva/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(libva REQUIRED CONFIG) + +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE libva::libva) diff --git a/recipes/libva/all/test_package/conanfile.py b/recipes/libva/all/test_package/conanfile.py new file mode 100644 index 0000000000000..abc9920da73b3 --- /dev/null +++ b/recipes/libva/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/libva/all/test_package/test_package.c b/recipes/libva/all/test_package/test_package.c new file mode 100644 index 0000000000000..2731d8afc64df --- /dev/null +++ b/recipes/libva/all/test_package/test_package.c @@ -0,0 +1,10 @@ +#include + +#include + +int main() +{ + VADisplay va_display; + printf("Display is valid: %d", vaDisplayIsValid(0)); + return 0; +} diff --git a/recipes/libva/config.yml b/recipes/libva/config.yml new file mode 100644 index 0000000000000..bb6ad1a3e3dc2 --- /dev/null +++ b/recipes/libva/config.yml @@ -0,0 +1,3 @@ +versions: + "2.20.0": + folder: all From b3f75cc6dc93c111e6fce260bf3f45c3ae4df14f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 06:09:19 +0200 Subject: [PATCH 0702/1307] (#21923) cmocka: add v1.1.7 * cmocka: add v1.1.7 * cmocka: fix static build --- recipes/cmocka/all/conandata.yml | 3 +++ recipes/cmocka/all/conanfile.py | 6 +++++- recipes/cmocka/config.yml | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/recipes/cmocka/all/conandata.yml b/recipes/cmocka/all/conandata.yml index d9ca5bcc54526..e378971eb0634 100644 --- a/recipes/cmocka/all/conandata.yml +++ b/recipes/cmocka/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.7": + url: "https://cmocka.org/files/1.1/cmocka-1.1.7.tar.xz" + sha256: "810570eb0b8d64804331f82b29ff47c790ce9cd6b163e98d47a4807047ecad82" "1.1.5": url: "https://cmocka.org/files/1.1/cmocka-1.1.5.tar.xz" sha256: "f0ccd8242d55e2fd74b16ba518359151f6f8383ff8aef4976e48393f77bba8b6" diff --git a/recipes/cmocka/all/conanfile.py b/recipes/cmocka/all/conanfile.py index 2c0c2ed7806b8..3cba1fe3283f8 100644 --- a/recipes/cmocka/all/conanfile.py +++ b/recipes/cmocka/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.scm import Version import os import textwrap @@ -95,7 +96,10 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "cmocka") self.cpp_info.set_property("pkg_config_name", "cmocka") self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) - self.cpp_info.libs = ["cmocka{}".format("" if self.options.shared else "-static")] + lib_suffix = "" + if Version(self.version) < "1.1.7" and not self.options.shared: + lib_suffix = "-static" + self.cpp_info.libs = ["cmocka" + lib_suffix] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/cmocka/config.yml b/recipes/cmocka/config.yml index e48685771bd64..3996fe27c952c 100644 --- a/recipes/cmocka/config.yml +++ b/recipes/cmocka/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.7": + folder: all "1.1.5": folder: all From 73414f68cf2ef13093093bc57e1c6932fc7a8472 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 06:18:57 +0200 Subject: [PATCH 0703/1307] (#21649) libsystemd: add v255, v253.14, bump deps * libsystemd: add v254.7, v253.14, bump deps * libsystemd: bump to v255, fix extraction of filenames with escaped chars --- recipes/libsystemd/all/conandata.yml | 19 +++++++++++------ recipes/libsystemd/all/conanfile.py | 32 +++++++++++++++++----------- recipes/libsystemd/config.yml | 6 ++++-- 3 files changed, 37 insertions(+), 20 deletions(-) diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml index 4c9f3dfcddb62..e4def90fd702a 100644 --- a/recipes/libsystemd/all/conandata.yml +++ b/recipes/libsystemd/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "255": + url: "https://github.com/systemd/systemd-stable/archive/v255.tar.gz" + sha256: "a3eb766ee96eb9f4cc25c2a6c933f3299e1b7ae22e72507dade0a5c86d92534f" + "253.14": + url: "https://github.com/systemd/systemd-stable/archive/v253.14.tar.gz" + sha256: "9c83ac26f691ff2c482659884f01f1155ef5e1bd202204f9e3076a31e54ab155" "253.10": url: "https://github.com/systemd/systemd-stable/archive/v253.10.tar.gz" sha256: "7c869513b2ad015568e8e35304942f84378b0c59972cb44de5ac905b8eea08d4" "253.6": url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz" sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e" - "253.3": - url: "https://github.com/systemd/systemd-stable/archive/v253.3.tar.gz" - sha256: "569775d77084e45d15e103004cf4fbc00d7249c33791471b80f0c3296962bbfd" "252.9": url: "https://github.com/systemd/systemd-stable/archive/v252.9.tar.gz" sha256: "c386aac4ba39fa1bca3a3c9ef9df5a737e3184c9c6a04340e34d6d0254007845" @@ -27,7 +30,11 @@ sources: url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz" sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2" patches: - "253.10": + "255": + - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch" + patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable" + patch_type: "conan" + "253.14": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" @@ -38,7 +45,7 @@ patches: patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" patch_type: "portability" - "253.6": + "253.10": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" @@ -49,7 +56,7 @@ patches: patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538" patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts" patch_type: "portability" - "253.3": + "253.6": - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch" patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script" patch_type: "conan" diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py index 4632a3731b01e..0529c3adb62c2 100644 --- a/recipes/libsystemd/all/conanfile.py +++ b/recipes/libsystemd/all/conanfile.py @@ -1,10 +1,11 @@ import os import re +import tarfile from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, replace_in_file, download, move_folder_contents from conan.tools.gnu import PkgConfigDeps from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain @@ -53,15 +54,15 @@ def layout(self): def requirements(self): self.requires("libcap/2.69") - self.requires("libmount/2.39") + self.requires("libmount/2.39.2") if Version(self.version) >= "253.6": - self.requires("libxcrypt/4.4.35") + self.requires("libxcrypt/4.4.36") if self.options.with_selinux: - self.requires("libselinux/3.3") + self.requires("libselinux/3.5") if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_xz: - self.requires("xz_utils/5.4.4") + self.requires("xz_utils/5.4.5") if self.options.with_zstd: self.requires("zstd/1.5.5") @@ -70,14 +71,19 @@ def validate(self): raise ConanInvalidConfiguration("Only Linux supported") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.0") self.tool_requires("m4/1.4.19") self.tool_requires("gperf/3.1") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + # Extract using standard Python tools due to Conan's unzip() not handling backslashes in + # 'units/system-systemd\x2dcryptsetup.slice', etc. correctly. + download(self, **self.conan_data["sources"][self.version], filename="sources.tar.gz") + with tarfile.open("sources.tar.gz", "r:gz") as tar: + tar.extractall() + move_folder_contents(self, os.path.join(self.source_folder, f"systemd-stable-{self.version}"), self.source_folder) @property def _so_version(self): @@ -126,7 +132,7 @@ def generate(self): "link-udev-shared", "link-systemctl-shared", "analyze", "pam", "link-networkd-shared", "link-timesyncd-shared", "kernel-install", "libiptc", "elfutils", "repart", "homed", "importd", "acl", - "dns-over-tls", "gnu-efi", "valgrind", "log-trace"] + "dns-over-tls", "log-trace"] if Version(self.version) >= "247.1": unrelated.append("oomd") @@ -136,6 +142,10 @@ def generate(self): unrelated.append("link-boot-shared") if Version(self.version) >= "252.1": unrelated.append("link-journalctl-shared") + if Version(self.version) < "254.7": + unrelated.extend(["gnu-efi", "valgrind"]) + else: + unrelated.extend(["passwdqc", "bootloader", "link-portabled-shared"]) for opt in unrelated: tc.project_options[opt] = "false" @@ -160,10 +170,8 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - meson_build = os.path.join(self.source_folder, "meson.build") - replace_in_file(self, meson_build, "@CONAN_SRC_REL_PATH@", - "'../{}'".format(os.path.basename(self.source_folder))) + replace_in_file(self, meson_build, "@CONAN_SRC_REL_PATH@", f"'../{self.source_path.name}'") def build(self): self._patch_sources() diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml index e30829e3e3474..53e3ab4f8fc90 100644 --- a/recipes/libsystemd/config.yml +++ b/recipes/libsystemd/config.yml @@ -1,10 +1,12 @@ versions: + "255": + folder: all + "253.14": + folder: all "253.10": folder: all "253.6": folder: all - "253.3": - folder: all "252.9": folder: all "251.15": From 698b9ce41157eb606c2b62ed699750f530556238 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 05:59:03 +0100 Subject: [PATCH 0704/1307] (#21943) qt 5.15.12 * qt 5.15.12 generated with: conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 5.15.12 * bump deps created with: conan recipe:bump-deps recipes/qt/5.x.x/ * unbump xkbcommon * disable macos on arm for qt 5.15.9 * Update conanfile.py --- recipes/qt/5.x.x/conandata.yml | 55 +++ recipes/qt/5.x.x/conanfile.py | 11 +- ...12-fix-macos-cpp-lib-memory-resource.patch | 43 +++ recipes/qt/5.x.x/qtmodules5.15.12.conf | 326 ++++++++++++++++++ recipes/qt/config.yml | 2 + 5 files changed, 433 insertions(+), 4 deletions(-) create mode 100644 recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch create mode 100644 recipes/qt/5.x.x/qtmodules5.15.12.conf diff --git a/recipes/qt/5.x.x/conandata.yml b/recipes/qt/5.x.x/conandata.yml index db92ab6d5dace..bc095a693b2c9 100644 --- a/recipes/qt/5.x.x/conandata.yml +++ b/recipes/qt/5.x.x/conandata.yml @@ -1,4 +1,29 @@ sources: + "5.15.12": + url: + - "https://download.qt.io/official_releases/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://download.qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.icm.edu.pl/packages/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.web4africa.ng/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.sau.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirror.bjtu.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/5.15/5.15.12/single/qt-everywhere-opensource-src-5.15.12.tar.xz" + sha256: "93f2c0889ee2e9cdf30c170d353c3f829de5f29ba21c119167dee5995e48ccce" "5.15.11": url: - "https://download.qt.io/official_releases/qt/5.15/5.15.11/single/qt-everywhere-opensource-src-5.15.11.tar.xz" @@ -77,6 +102,36 @@ sources: - "https://ftp.fau.de/qtproject/archive/qt/5.15/5.15.7/single/qt-everywhere-opensource-src-5.15.7.tar.xz" sha256: "8a71986676a3f37a198a9113acedbfd5bc5606a459b6b85816d951458adbe9a0" patches: + "5.15.12": + - "base_path": "qt5/qtbase" + "patch_file": "patches/aa2a39dea5.diff" + - "base_path": "qt5/qtwebengine" + "patch_file": "patches/c72097e.diff" + - "base_path": "qt5/qttools" + "patch_file": "patches/fix-macdeployqt.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/v8" + "patch_file": "patches/chromium-v8-missing-constexpr.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/chromium-skia-missing-iterator-include.patch" + - "base_path": "qt5/qtwebengine/src/3rdparty/chromium/third_party/skia" + "patch_file": "patches/skia-cd397f3.diff" + - "base_path": "qt5/qtwebengine/src/3rdparty" + "patch_file": "patches/0001-Find-fontconfig-using-pkg-config.patch" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-backtrace.diff" + - "base_path": "qt5/qtbase" + "patch_file": "patches/android-openssl.diff" + - "base_path": "qt5/qtbase" + "patch_description": "Fix qmake build with apple-clang>=15" + "patch_file": "patches/5.15.8-fix-qmake-default-libdirs-apple-clang-15.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/503916" + "patch_type": "portability" + - "base_path": "qt5/qtbase" + "patch_description": "Fix usage of memory_resource with apple-clang>=15 and deployment\ + \ target of macOS < 14" + "patch_file": "patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch" + "patch_source": "https://codereview.qt-project.org/c/qt/qtbase/+/482392" + "patch_type": "portability" "5.15.11": - "base_path": "qt5/qtbase" "patch_file": "patches/aa2a39dea5.diff" diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index a4c631120b356..c3ba904144ea5 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -338,6 +338,9 @@ def validate(self): if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("sqlite3 option enable_column_metadata must be enabled for qt") + if Version(self.version) < "5.15.9" and self.settings.os == "Macos" and self.settings.arch == "armv8": + raise ConanInvalidConfiguration("qt does not support macOS on ARM before 5.15.9 (QTBUG-85279)") + def requirements(self): self.requires("zlib/[>=1.2.11 <2]") if self.options.openssl: @@ -345,11 +348,11 @@ def requirements(self): if self.options.with_pcre2: self.requires("pcre2/10.42") if self.options.get_safe("with_vulkan"): - self.requires("vulkan-loader/1.3.239.0") + self.requires("vulkan-loader/1.3.268.0") if is_apple_os(self): self.requires("moltenvk/1.2.2") if self.options.with_glib: - self.requires("glib/2.78.0") + self.requires("glib/2.78.3") # if self.options.with_libiconv: # QTBUG-84708 # self.requires("libiconv/1.16")# QTBUG-84708 if self.options.with_doubleconversion and not self.options.multiconfiguration: @@ -359,12 +362,12 @@ def requirements(self): if self.options.get_safe("with_fontconfig", False): self.requires("fontconfig/2.14.2") if self.options.get_safe("with_icu", False): - self.requires("icu/73.2") + self.requires("icu/74.1") if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration: self.requires("harfbuzz/8.3.0") if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration: if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.1") else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: diff --git a/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch b/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch new file mode 100644 index 0000000000000..96fc7fd858e95 --- /dev/null +++ b/recipes/qt/5.x.x/patches/5.15.12-fix-macos-cpp-lib-memory-resource.patch @@ -0,0 +1,43 @@ +--- a/src/corelib/global/qcompilerdetection.h ++++ b/src/corelib/global/qcompilerdetection.h +@@ -1055,16 +1055,22 @@ + # endif // !_HAS_CONSTEXPR + # endif // !__GLIBCXX__ && !_LIBCPP_VERSION + # endif // Q_OS_QNX +-# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) && defined(__GNUC_LIBSTD__) \ +- && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) ++# if (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) ++# if defined(__GNUC_LIBSTD__) && ((__GNUC_LIBSTD__-0) * 100 + __GNUC_LIBSTD_MINOR__-0 <= 402) + // Apple has not updated libstdc++ since 2007, which means it does not have + // or std::move. Let's disable these features +-# undef Q_COMPILER_INITIALIZER_LISTS +-# undef Q_COMPILER_RVALUE_REFS +-# undef Q_COMPILER_REF_QUALIFIERS ++# undef Q_COMPILER_INITIALIZER_LISTS ++# undef Q_COMPILER_RVALUE_REFS ++# undef Q_COMPILER_REF_QUALIFIERS + // Also disable , since it's clearly not there +-# undef Q_COMPILER_ATOMICS +-# endif ++# undef Q_COMPILER_ATOMICS ++# endif ++# if defined(__cpp_lib_memory_resource) \ ++ && ((defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 140000) \ ++ || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 170000)) ++# undef __cpp_lib_memory_resource // Only supported on macOS 14 and iOS 17 ++# endif ++# endif // (defined(Q_CC_CLANG) || defined(Q_CC_INTEL)) && defined(Q_OS_MAC) + # if defined(Q_CC_CLANG) && defined(Q_CC_INTEL) && Q_CC_INTEL >= 1500 + // ICC 15.x and 16.0 have their own implementation of std::atomic, which is activated when in Clang mode + // (probably because libc++'s on OS X failed to compile), but they're missing some +--- a/src/corelib/tools/qduplicatetracker_p.h ++++ b/src/corelib/tools/qduplicatetracker_p.h +@@ -52,7 +52,7 @@ + + #include + +-#if QT_HAS_INCLUDE() && __cplusplus > 201402L ++#if defined(__cpp_lib_memory_resource) && __cplusplus > 201402L + # include + # include + #else diff --git a/recipes/qt/5.x.x/qtmodules5.15.12.conf b/recipes/qt/5.x.x/qtmodules5.15.12.conf new file mode 100644 index 0000000000000..452233655f279 --- /dev/null +++ b/recipes/qt/5.x.x/qtmodules5.15.12.conf @@ -0,0 +1,326 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 5.15 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 5.15 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtsvg + path = qtdeclarative + url = ../qtdeclarative.git + branch = 5.15 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 5.15 + status = addon +[submodule "qtscript"] + depends = qtbase + recommends = qttools + path = qtscript + url = ../qtscript.git + branch = 5.15 + status = deprecated +[submodule "qtmultimedia"] + depends = qtbase + recommends = qtdeclarative + path = qtmultimedia + url = ../qtmultimedia.git + branch = 5.15 + status = essential +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 5.15 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = 5.15 + status = deprecated +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 5.15 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtquickcontrols qtquickcontrols2 + path = qtdoc + url = ../qtdoc.git + branch = 5.15 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = master + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase + recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport + path = qtlocation + url = ../qtlocation.git + branch = 5.15 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 5.15 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtdocgallery"] + depends = qtdeclarative + path = qtdocgallery + url = ../qtdocgallery.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtconnectivity + url = ../qtconnectivity.git + branch = 5.15 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 5.15 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtimageformats qtgamepad + path = qt3d + url = ../qt3d.git + branch = 5.15 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 5.15 + status = addon +[submodule "qtgraphicaleffects"] + depends = qtdeclarative + path = qtgraphicaleffects + url = ../qtgraphicaleffects.git + branch = 5.15 + status = essential +[submodule "qtquickcontrols"] + depends = qtdeclarative + recommends = qtgraphicaleffects + path = qtquickcontrols + url = ../qtquickcontrols.git + branch = 5.15 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 5.15 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 5.15 + status = addon +[submodule "qtx11extras"] + depends = qtbase + path = qtx11extras + url = ../qtx11extras.git + branch = 5.15 + status = addon +[submodule "qtmacextras"] + depends = qtbase + path = qtmacextras + url = ../qtmacextras.git + branch = 5.15 + status = addon +[submodule "qtwinextras"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtwinextras + url = ../qtwinextras.git + branch = 5.15 + status = addon +[submodule "qtandroidextras"] + depends = qtbase + path = qtandroidextras + url = ../qtandroidextras.git + branch = 5.15 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 5.15 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 5.15 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools + path = qtwebengine + url = ../qtwebengine.git + branch = 5.15 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 5.15 + status = addon +[submodule "qtquickcontrols2"] + depends = qtgraphicaleffects + recommends = qtimageformats + path = qtquickcontrols2 + url = ../qtquickcontrols2.git + branch = 5.15 + status = essential +[submodule "qtpurchasing"] + depends = qtbase + recommends = qtdeclarative qtandroidextras + path = qtpurchasing + url = ../qtpurchasing.git + branch = 5.15 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 5.15 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 5.15 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia qtquickcontrols + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 5.15 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = 5.15 + status = addon +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 5.15 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 5.15 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 5.15 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 5.15 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = 5.15 + status = addon +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 5.15 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 5.15 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative + path = qtquick3d + url = ../qtquick3d.git + branch = 5.15 + status = addon diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index a8db7bd315aab..0a1aaa3dcf0ce 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -9,6 +9,8 @@ versions: folder: 6.x.x "6.3.2": folder: 6.x.x + "5.15.12": + folder: 5.x.x "5.15.11": folder: 5.x.x "5.15.10": From 89eb69354cd6dab67ff341a84089870bdfacd91d Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Sat, 6 Jan 2024 16:30:42 +1100 Subject: [PATCH 0705/1307] (#22167) wayland: fix cross-building tests to use correct method * Fix #22166: switch from using cross_building to using can_run so the conf option that explicitly says we must (or must not) cross build is respected correctly. --- recipes/wayland/all/conanfile.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index f863770107024..7694702f24251 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.tools.build import can_run from conan.tools.env import VirtualBuildEnv, VirtualRunEnv from conan.tools.files import copy, get, replace_in_file, rmdir from conan.tools.gnu import PkgConfigDeps @@ -61,7 +61,7 @@ def build_requirements(self): self.tool_requires("meson/1.3.0") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") - if cross_building(self): + if not can_run(self): self.tool_requires(str(self.ref)) def source(self): @@ -70,12 +70,12 @@ def source(self): def generate(self): env = VirtualBuildEnv(self) env.generate() - if not cross_building(self): + if can_run(self): env = VirtualRunEnv(self) env.generate(scope="build") pkg_config_deps = PkgConfigDeps(self) - if cross_building(self): + if not can_run(self): pkg_config_deps.build_context_activated = ["wayland"] elif self.dependencies["expat"].is_build_context: # wayland is being built as build_require # If wayland is the build_require, all its dependencies are treated as build_requires @@ -87,7 +87,7 @@ def generate(self): tc.project_options["libraries"] = self.options.enable_libraries tc.project_options["dtd_validation"] = self.options.enable_dtd_validation tc.project_options["documentation"] = False - if cross_building(self): + if not can_run(self): tc.project_options["build.pkg_config_path"] = self.generators_folder if Version(self.version) >= "1.18.91": tc.project_options["scanner"] = True From f1af6ffec63c43236d7bd647dafd0002c7609b0e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:18:04 +0200 Subject: [PATCH 0706/1307] (#21861) outcome: add v2.2.8, drop old versions --- recipes/outcome/all/conandata.yml | 21 +++------------------ recipes/outcome/config.yml | 14 ++------------ 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/recipes/outcome/all/conandata.yml b/recipes/outcome/all/conandata.yml index 68135018bb900..62d76f92e8327 100644 --- a/recipes/outcome/all/conandata.yml +++ b/recipes/outcome/all/conandata.yml @@ -1,28 +1,13 @@ sources: + "2.2.8": + url: "https://github.com/ned14/outcome/archive/v2.2.8.tar.gz" + sha256: "6ef322867aee454792bd71b61950703dd18608670a69a1780cab81be22f78a1e" "2.2.7": url: "https://github.com/ned14/outcome/archive/v2.2.7.tar.gz" sha256: "553fd03bb9684be19dfa251bfa0064e69e30a95b6b0ba9a62d68f8ec4e31662a" "2.2.4": url: "https://github.com/ned14/outcome/archive/v2.2.4.tar.gz" sha256: "29ad35c1980cf7f75294bb52df678c6a08817228e880fac8454cd6ac390fa1fc" - "2.2.3": - url: "https://github.com/ned14/outcome/archive/v2.2.3.tar.gz" - sha256: "31cc987d73b2625a70f35083ccff26d1c2634d89304f1ea606a294da36cb2958" - "2.2.2": - url: "https://github.com/ned14/outcome/archive/v2.2.2.tar.gz" - sha256: "fc16bc24f8a7d10dc24b9cc3abd1609f67b29aab2c8da546d123d518e9c29dbb" - "2.2.1": - url: "https://github.com/ned14/outcome/archive/v2.2.1.tar.gz" - sha256: "cf21a9cba8c7d943a6310012626344618923f2ea367ccee6cb499eee8bb97147" - "2.2.0": - url: "https://github.com/ned14/outcome/archive/v2.2.0.tar.gz" - sha256: "eb7a54e74c7ed7e208ab4a610a56e619c82b2797236aee7cff3303a649f24e0e" "2.1.5": url: "https://github.com/ned14/outcome/archive/v2.1.5.tar.gz" sha256: "e238e545753e2b00a7eefabeb677c9918c7a5402ad347b67de328089b4e15493" - "2.1.4": - url: "https://github.com/ned14/outcome/archive/v2.1.4.tar.gz" - sha256: "19463d2c9bb0bcdc1c0334b02b344caeb5fc723ab060155c959be8e0b551cf76" - "2.1.3": - url: "https://github.com/ned14/outcome/archive/v2.1.3.tar.gz" - sha256: "45ee2f720bd0965047c35bd0ea719656c9de51c49d13c6a82797fca325b8426a" diff --git a/recipes/outcome/config.yml b/recipes/outcome/config.yml index 08abb1cf7e40b..783025ec22c41 100644 --- a/recipes/outcome/config.yml +++ b/recipes/outcome/config.yml @@ -1,19 +1,9 @@ versions: + "2.2.8": + folder: all "2.2.7": folder: all "2.2.4": folder: all - "2.2.3": - folder: all - "2.2.2": - folder: all - "2.2.1": - folder: all - "2.2.0": - folder: all "2.1.5": folder: all - "2.1.4": - folder: all - "2.1.3": - folder: all From f89f22c6d8c0d2913344da28fabab8c159c5730b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:39:27 +0200 Subject: [PATCH 0707/1307] (#21953) libselinux: add v3.6 * libselinux: add v3.6 * libselinux: fix a missing include --- recipes/libselinux/all/conandata.yml | 10 ++++++++++ .../all/patches/0003-fix-missing-include-3.6.patch | 10 ++++++++++ recipes/libselinux/config.yml | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch diff --git a/recipes/libselinux/all/conandata.yml b/recipes/libselinux/all/conandata.yml index 3db74c02a2ca7..14380382654d7 100644 --- a/recipes/libselinux/all/conandata.yml +++ b/recipes/libselinux/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "3.6": + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.6/libselinux-3.6.tar.gz" + sha256: "ba4e0ef34b270e7672a5e5f1b523fe2beab3a40bb33d9389f4ad3a8728f21b52" + - url: "https://github.com/SELinuxProject/selinux/releases/download/3.6/libsepol-3.6.tar.gz" + sha256: "c9dc585ea94903d784d597c861cd5dce6459168f95e22b31a0eab1cdd800975a" "3.5": - url: "https://github.com/SELinuxProject/selinux/releases/download/3.5/libselinux-3.5.tar.gz" sha256: "9a3a3705ac13a2ccca2de6d652b6356fead10f36fb33115c185c5ccdf29eec19" @@ -30,6 +35,11 @@ sources: - url: "https://github.com/SELinuxProject/selinux/releases/download/20190315/libsepol-2.9.tar.gz" sha256: "a34b12b038d121e3e459b1cbaca3c9202e983137819c16baf63658390e3f1d5d" patches: + "3.6": + - patch_file: patches/0003-fix-missing-include-3.6.patch + base_path: libselinux-3.6 + patch_description: "Fix a missing #include " + patch_type: "portability" "3.0": - patch_file: patches/0001-fix-fno-common-3.0.patch base_path: libsepol-3.0 diff --git a/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch b/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch new file mode 100644 index 0000000000000..8d2025e18034b --- /dev/null +++ b/recipes/libselinux/all/patches/0003-fix-missing-include-3.6.patch @@ -0,0 +1,10 @@ +--- src/selinux_internal.c ++++ src/selinux_internal.c +@@ -1,6 +5,7 @@ + #include "selinux_internal.h" + + #include + #include + #include ++#include + diff --git a/recipes/libselinux/config.yml b/recipes/libselinux/config.yml index 761b7522ae137..901df00682822 100644 --- a/recipes/libselinux/config.yml +++ b/recipes/libselinux/config.yml @@ -1,4 +1,6 @@ versions: + "3.6": + folder: all "3.5": folder: all "3.3": From d5cea3e6996d207f79708823ed50e44ef59df3ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 09:48:33 +0200 Subject: [PATCH 0708/1307] (#21959) libgcrypt: add v1.10.3 * libgcrypt: add v1.10.3 * libgcrypt: rmdir lib/pkgconfig * libgcrypt: disable tests --- recipes/libgcrypt/all/conandata.yml | 3 +++ recipes/libgcrypt/all/conanfile.py | 8 +++++++- recipes/libgcrypt/config.yml | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/recipes/libgcrypt/all/conandata.yml b/recipes/libgcrypt/all/conandata.yml index ec37a3b999a57..7c8e4799d8c00 100644 --- a/recipes/libgcrypt/all/conandata.yml +++ b/recipes/libgcrypt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.10.3": + url: "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.3.tar.gz" + sha256: "946f7e56f795ba2ea88b842a8c6b8f469360cda42c1d3d191f7ac7e9aa8239f8" "1.8.4": url: "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.gz" sha256: "fc3c49cc8611068e6008482c3bbee6c66b9287808bbb4e14a473f4cc347b78ce" diff --git a/recipes/libgcrypt/all/conanfile.py b/recipes/libgcrypt/all/conanfile.py index 825994cdd9480..eb8e63a9f7a93 100644 --- a/recipes/libgcrypt/all/conanfile.py +++ b/recipes/libgcrypt/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import cross_building from conan.tools.env import VirtualRunEnv -from conan.tools.files import copy, get, rm, rmdir +from conan.tools.files import copy, get, rm, rmdir, save from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain from conan.tools.layout import basic_layout import os @@ -63,7 +63,12 @@ def generate(self): deps = AutotoolsDeps(self) deps.generate() + def _patch_sources(self): + # Disable the tests subdir + save(self, os.path.join(self.source_folder, "tests", "Makefile.in"), "all:\ninstall:\n") + def build(self): + self._patch_sources() autotools = Autotools(self) autotools.configure() autotools.make() @@ -73,6 +78,7 @@ def package(self): autotools = Autotools(self) autotools.install() rm(self, "*la", os.path.join(self.package_folder, "lib")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): diff --git a/recipes/libgcrypt/config.yml b/recipes/libgcrypt/config.yml index f058837ee5cb1..629c9c832f1c5 100644 --- a/recipes/libgcrypt/config.yml +++ b/recipes/libgcrypt/config.yml @@ -1,3 +1,5 @@ versions: + "1.10.3": + folder: all "1.8.4": folder: all From dbf530490b09578eefd59e5938a7127df289219d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:08:28 +0200 Subject: [PATCH 0709/1307] (#21969) libmpdclient: add v2.22 * libmpdclient: add v2.22 * libmpdclient: update license files --- recipes/libmpdclient/all/conandata.yml | 3 +++ recipes/libmpdclient/all/conanfile.py | 8 ++++++-- recipes/libmpdclient/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/libmpdclient/all/conandata.yml b/recipes/libmpdclient/all/conandata.yml index 254f101651949..45f3be3daf711 100644 --- a/recipes/libmpdclient/all/conandata.yml +++ b/recipes/libmpdclient/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.22": + url: "https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.22.tar.xz" + sha256: "eac15b82b5ba5ed0648af580221eb74657394f7fe768e966d9e9ebb27435429f" "2.20": url: "https://www.musicpd.org/download/libmpdclient/2/libmpdclient-2.20.tar.xz" sha256: "18793f68e939c3301e34d8fcadea1f7daa24143941263cecadb80126194e277d" diff --git a/recipes/libmpdclient/all/conanfile.py b/recipes/libmpdclient/all/conanfile.py index 6a838ea6cdaa3..7df400a892ea8 100644 --- a/recipes/libmpdclient/all/conanfile.py +++ b/recipes/libmpdclient/all/conanfile.py @@ -6,6 +6,7 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -14,7 +15,7 @@ class LibmpdclientConan(ConanFile): name = "libmpdclient" description = "libmpdclient is a C library which implements the Music Player Daemon protocol." - license = "BSD-3-Clause" + license = "BSD-2-Clause", "BSD-3-Clause" topics = ("music", "music-player-demon", "sound") homepage = "https://www.musicpd.org/libs/libmpdclient" url = "https://github.com/conan-io/conan-center-index" @@ -80,7 +81,10 @@ def build(self): meson.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) >= "2.22": + copy(self, "*", os.path.join(self.source_folder, "LICENSES"), os.path.join(self.package_folder, "licenses")) + else: + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) meson = Meson(self) meson.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) diff --git a/recipes/libmpdclient/config.yml b/recipes/libmpdclient/config.yml index e36906bed874c..76913be25172d 100644 --- a/recipes/libmpdclient/config.yml +++ b/recipes/libmpdclient/config.yml @@ -1,3 +1,5 @@ versions: + "2.22": + folder: "all" "2.20": folder: "all" From 00666f89fc977c1ab1620f30fb9a08911b6b6ff8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:28:55 +0200 Subject: [PATCH 0710/1307] (#21972) ldns: add v1.8.2 * ldns: add v1.8.2 * ldns: add pkgconf dependency to test_package --- recipes/ldns/all/conandata.yml | 3 +++ recipes/ldns/all/test_package/conanfile.py | 4 ++++ recipes/ldns/all/test_v1_package/conanfile.py | 4 ++++ recipes/ldns/config.yml | 6 ++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/ldns/all/conandata.yml b/recipes/ldns/all/conandata.yml index a5e4b6259dffa..44d9095cd63eb 100644 --- a/recipes/ldns/all/conandata.yml +++ b/recipes/ldns/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.2": + url: "https://nlnetlabs.nl/downloads/ldns/ldns-1.8.2.tar.gz" + sha256: "b92b001cdd382de653620a05445e42e17a827eec93d64ee587ad291a533cc1e9" "1.8.1": url: "https://nlnetlabs.nl/downloads/ldns/ldns-1.8.1.tar.gz" sha256: "958229abce4d3aaa19a75c0d127666564b17216902186e952ca4aef47c6d7fa3" diff --git a/recipes/ldns/all/test_package/conanfile.py b/recipes/ldns/all/test_package/conanfile.py index b741b0a2b795c..651afdb268a4f 100644 --- a/recipes/ldns/all/test_package/conanfile.py +++ b/recipes/ldns/all/test_package/conanfile.py @@ -14,6 +14,10 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.tool_requires("pkgconf/2.1.0") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/ldns/all/test_v1_package/conanfile.py b/recipes/ldns/all/test_v1_package/conanfile.py index 648cf88ac9c76..17fb742bffdde 100644 --- a/recipes/ldns/all/test_v1_package/conanfile.py +++ b/recipes/ldns/all/test_v1_package/conanfile.py @@ -7,6 +7,10 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" generators = "pkg_config" + def build_requirements(self): + if not self.conf.get("tools.gnu:pkg_config", check_type=str): + self.build_requires("pkgconf/2.1.0") + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/ldns/config.yml b/recipes/ldns/config.yml index c3578038cb2a3..29db722a9f041 100644 --- a/recipes/ldns/config.yml +++ b/recipes/ldns/config.yml @@ -1,3 +1,5 @@ versions: - "1.8.1": - folder: all + "1.8.2": + folder: all + "1.8.1": + folder: all From 5a3a25788bc4ad6eb21f9964a0d8b15fde662aca Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 10:48:31 +0200 Subject: [PATCH 0711/1307] (#21996) gsoap: add v2.8.132, drop old versions --- recipes/gsoap/all/conandata.yml | 17 +++++------------ recipes/gsoap/config.yml | 10 ++-------- 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/recipes/gsoap/all/conandata.yml b/recipes/gsoap/all/conandata.yml index c340912f08348..cc91f201aaee4 100644 --- a/recipes/gsoap/all/conandata.yml +++ b/recipes/gsoap/all/conandata.yml @@ -1,18 +1,11 @@ sources: + "2.8.132": + url: + - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.132.zip" + - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.132.zip" + sha256: "d6eb5d0d2c31532746f4dc9fa1ce95d4553414e918059eac23cf081d88c2aeee" "2.8.129": url: - "https://downloads.sourceforge.net/project/gsoap2/gsoap_2.8.129.zip" - "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.129.zip" sha256: "16cb8852ea791a6aec8f0213d619c15eecc8171e0c888f3b0e0c66d3ef78e20a" - "2.8.117": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.117.zip" - sha256: "7cadf8808cfd982629948fe09e4fa6cd18e23cafd40df0aaaff1b1f5b695c442" - "2.8.116": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.116.zip" - sha256: "2a41e42aaddbcd603b99004af95bb83559dbd4fd2d842920f003d24867599192" - "2.8.115": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.115.zip" - sha256: "6f6813b189d201022254a2879cc8ee005bdb1bcf126bc03238710f19ec4e7268" - "2.8.114": - url: "https://c3i.jfrog.io/artifactory/cci-sources-backup/sources/gsoap/gsoap_2.8.114.zip" - sha256: "aa70a999258100c170a3f8750c1f91318a477d440f6a28117f68bc1ded32327f" diff --git a/recipes/gsoap/config.yml b/recipes/gsoap/config.yml index 22f6a1710f735..9a5640854a072 100644 --- a/recipes/gsoap/config.yml +++ b/recipes/gsoap/config.yml @@ -1,11 +1,5 @@ versions: - "2.8.129": - folder: all - "2.8.117": - folder: all - "2.8.116": + "2.8.132": folder: all - "2.8.115": - folder: all - "2.8.114": + "2.8.129": folder: all From a2b94c4247ccd19d8d09af303e677634603e4c2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 11:09:44 +0200 Subject: [PATCH 0712/1307] (#22010) wasmer: add v4.2.5 * wasmer: add v4.2.5 * wasmer: depend on additional macOS frameworks --- recipes/wasmer/all/conandata.yml | 27 +++++++++++++++++++++++++++ recipes/wasmer/all/conanfile.py | 7 +++++-- recipes/wasmer/config.yml | 2 ++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/recipes/wasmer/all/conandata.yml b/recipes/wasmer/all/conandata.yml index 8b03fa42930cd..17a89f2c17e7b 100644 --- a/recipes/wasmer/all/conandata.yml +++ b/recipes/wasmer/all/conandata.yml @@ -1,4 +1,31 @@ sources: + "4.2.5": + Windows: + "x86_64": + "Visual Studio": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-windows-amd64.tar.gz" + sha256: "3811f1637c8f32336aca159e63a0a4e09b3c7f713da3f5a58b0b3326e0ea941c" + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-windows-gnu64.tar.gz" + sha256: "8176ae9a3d12d619aa4ef9a56ce6f669af11c4b33a900a73739f8586d3291981" + Linux: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-linux-amd64.tar.gz" + sha256: "9a21c3a60c2c1f9cdebe91ec56df2d2d753b15d9b7e0be1a67e7a29080ca75f9" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-linux-aarch64.tar.gz" + sha256: "b29117eebce282b63d49de6bb11920da439d68937bd6bc69575fb8f5f29ef293" + Macos: + "x86_64": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-darwin-amd64.tar.gz" + sha256: "77d7baa0e54cbd310c53d93128240a098bf00d787bb7bb9b9661a0a5b09f1779" + "armv8": + "gcc": + url: "https://github.com/wasmerio/wasmer/releases/download/v4.2.5/wasmer-darwin-arm64.tar.gz" + sha256: "0247863cc1546171305d556d69bf7fbad12a170b5a608ff8c9c01480a4af1ee7" "4.2.0": Windows: "x86_64": diff --git a/recipes/wasmer/all/conanfile.py b/recipes/wasmer/all/conanfile.py index 441a5c8738ad6..402e36fdcca0f 100644 --- a/recipes/wasmer/all/conanfile.py +++ b/recipes/wasmer/all/conanfile.py @@ -94,5 +94,8 @@ def package_info(self): self.cpp_info.system_libs.append("rt") elif self.settings.os == "Windows": self.cpp_info.system_libs = ["bcrypt", "userenv", "ws2_32"] - elif is_apple_os(self) and Version(self.version) >= "3.2.0": - self.cpp_info.frameworks = ["Security"] + elif is_apple_os(self): + if Version(self.version) >= "3.2.0": + self.cpp_info.frameworks += ["Security"] + if Version(self.version) >= "4.2.5": + self.cpp_info.frameworks += ["CoreFoundation", "SystemConfiguration"] diff --git a/recipes/wasmer/config.yml b/recipes/wasmer/config.yml index 1f9b03131e570..4c7ede684889d 100644 --- a/recipes/wasmer/config.yml +++ b/recipes/wasmer/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.5": + folder: "all" "4.2.0": folder: "all" "4.1.1": From 9de59b0ebd37e331229693a7959df1851b6591fd Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Sat, 6 Jan 2024 11:19:17 +0200 Subject: [PATCH 0713/1307] (#22018) meshoptimizer: add version 0.20 --- recipes/meshoptimizer/all/conandata.yml | 3 +++ recipes/meshoptimizer/all/conanfile.py | 10 ++++++---- recipes/meshoptimizer/config.yml | 2 ++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/recipes/meshoptimizer/all/conandata.yml b/recipes/meshoptimizer/all/conandata.yml index 1132907df3841..123647cd81c5f 100644 --- a/recipes/meshoptimizer/all/conandata.yml +++ b/recipes/meshoptimizer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.20": + url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.20.tar.gz" + sha256: "CF1077A83958BED3D8DA28A841CA53A6A42D871E49023EDCE64E37002A0F5A48" "0.17": url: "https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.17.tar.gz" sha256: "50f134da6739702d4398f2a3c614acb1d80afb73afed27ac68bc55c9edae64e2" diff --git a/recipes/meshoptimizer/all/conanfile.py b/recipes/meshoptimizer/all/conanfile.py index 38ff3a5d86908..ee4c17ba67a7c 100644 --- a/recipes/meshoptimizer/all/conanfile.py +++ b/recipes/meshoptimizer/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.build import stdcpp_library from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.54.0" @@ -50,10 +51,11 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - # No warnings as errors - cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") - replace_in_file(self, cmakelists, "add_compile_options(/W4 /WX)", "") - replace_in_file(self, cmakelists, "-Werror", "") + # No warnings as errors - now fine in 0.19 and up + if Version(self.version) < "0.19": + cmakelists = os.path.join(self.source_folder, "CMakeLists.txt") + replace_in_file(self, cmakelists, "add_compile_options(/W4 /WX)", "") + replace_in_file(self, cmakelists, "-Werror", "") def build(self): self._patch_sources() diff --git a/recipes/meshoptimizer/config.yml b/recipes/meshoptimizer/config.yml index 301a8d09f5b3a..31e2badfe4c2f 100644 --- a/recipes/meshoptimizer/config.yml +++ b/recipes/meshoptimizer/config.yml @@ -1,4 +1,6 @@ versions: + "0.20": + folder: all "0.17": folder: all "0.16": From 424abe01db541f277084a4bb82d15a0a8d418671 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 11:48:52 +0200 Subject: [PATCH 0714/1307] (#22024) gsl: add v2.7.1, better URLs --- recipes/gsl/all/conandata.yml | 10 ++++++++-- recipes/gsl/config.yml | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/recipes/gsl/all/conandata.yml b/recipes/gsl/all/conandata.yml index ae4c67c1283a1..d61a5f24f34f4 100644 --- a/recipes/gsl/all/conandata.yml +++ b/recipes/gsl/all/conandata.yml @@ -1,11 +1,17 @@ sources: + "2.7.1": + url: "https://ftpmirror.gnu.org/gsl/gsl-2.7.1.tar.gz" + sha256: "dcb0fbd43048832b757ff9942691a8dd70026d5da0ff85601e52687f6deeb34b" "2.7": - url: "https://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz" + url: "https://ftpmirror.gnu.org/gsl/gsl-2.7.tar.gz" sha256: "efbbf3785da0e53038be7907500628b466152dbc3c173a87de1b5eba2e23602b" "2.6": - url: "https://ftp.gnu.org/gnu/gsl/gsl-2.6.tar.gz" + url: "https://ftpmirror.gnu.org/gsl/gsl-2.6.tar.gz" sha256: "b782339fc7a38fe17689cb39966c4d821236c28018b6593ddb6fd59ee40786a8" patches: + "2.7.1": + - patch_file: "patches/0001-windows-support.patch" + - patch_file: "patches/0002-export-all-gsl_-symbols.patch" "2.7": - patch_file: "patches/0001-windows-support.patch" - patch_file: "patches/0002-export-all-gsl_-symbols.patch" diff --git a/recipes/gsl/config.yml b/recipes/gsl/config.yml index 15814520e1bfd..6bdfd995018bc 100644 --- a/recipes/gsl/config.yml +++ b/recipes/gsl/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.1": + folder: all "2.7": folder: all "2.6": From e352969a81175f54da63f50b67a04528fe891bdd Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:09:22 +0200 Subject: [PATCH 0715/1307] (#22026) lcms: add v2.16 * lcms: add v2.16 * lcms: update license file name --- recipes/lcms/all/conandata.yml | 3 +++ recipes/lcms/all/conanfile.py | 4 +++- recipes/lcms/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/lcms/all/conandata.yml b/recipes/lcms/all/conandata.yml index 5dfb1d726c592..5887ed1478b6c 100644 --- a/recipes/lcms/all/conandata.yml +++ b/recipes/lcms/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.16": + url: "https://github.com/mm2/Little-CMS/releases/download/lcms2.16/lcms2-2.16.tar.gz" + sha256: "d873d34ad8b9b4cea010631f1a6228d2087475e4dc5e763eb81acc23d9d45a51" "2.14": url: "https://github.com/mm2/Little-CMS/releases/download/lcms2.14/lcms2-2.14.tar.gz" sha256: "28474ea6f6591c4d4cee972123587001a4e6e353412a41b3e9e82219818d5740" diff --git a/recipes/lcms/all/conanfile.py b/recipes/lcms/all/conanfile.py index bc10e97d6f111..42471635a5f47 100644 --- a/recipes/lcms/all/conanfile.py +++ b/recipes/lcms/all/conanfile.py @@ -5,6 +5,7 @@ from conan.tools.layout import basic_layout from conan.tools.meson import Meson, MesonToolchain from conan.tools.microsoft import check_min_vs +from conan.tools.scm import Version import os required_conan_version = ">=1.57.0" @@ -70,7 +71,8 @@ def build(self): meson.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + license_file = "LICENSE" if Version(self.version) >= "2.16" else "COPYING" + copy(self, license_file, src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) meson = Meson(self) meson.install() rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) diff --git a/recipes/lcms/config.yml b/recipes/lcms/config.yml index 8a6c0dd7e6e99..5bef14d0c33a0 100644 --- a/recipes/lcms/config.yml +++ b/recipes/lcms/config.yml @@ -1,4 +1,6 @@ versions: + "2.16": + folder: all "2.14": folder: all "2.13.1": From ae2808e8b6b149beb845d4a4e632b9ed2fe8c8c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:41:00 +0200 Subject: [PATCH 0716/1307] (#22032) libsrtp: add v2.5.0 * libsrtp: add v2.5.0 * libsrtp: rmdir lib/cmake --- recipes/libsrtp/all/conandata.yml | 3 +++ recipes/libsrtp/all/conanfile.py | 20 ++++++++------------ recipes/libsrtp/config.yml | 2 ++ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/recipes/libsrtp/all/conandata.yml b/recipes/libsrtp/all/conandata.yml index b0630ee5a7c2f..d7ca622cbdb82 100644 --- a/recipes/libsrtp/all/conandata.yml +++ b/recipes/libsrtp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/cisco/libsrtp/archive/v2.5.0.tar.gz" + sha256: "8a43ef8e9ae2b665292591af62aa1a4ae41e468b6d98d8258f91478735da4e09" "2.4.2": url: "https://github.com/cisco/libsrtp/archive/v2.4.2.tar.gz" sha256: "3b1bcb14ebda572b04b9bdf07574a449c84cb924905414e4d94e62837d22b628" diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index 3bf9617ba21c6..0ce6d393a93eb 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, replace_in_file +from conan.tools.files import collect_libs, copy, get, save, rmdir from conan.tools.scm import Version import os @@ -62,18 +62,13 @@ def generate(self): deps = CMakeDeps(self) deps.generate() + def _patch_sources(self): + save(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "\ninstall(TARGETS srtp2 RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)\n", + append=True) + def build(self): - replace_in_file( - self, os.path.join(self.source_folder, "CMakeLists.txt"), - "install(TARGETS srtp2 DESTINATION lib)", - ( - "include(GNUInstallDirs)\n" - "install(TARGETS srtp2\n" - "RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}\n" - "LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}\n" - "ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})" - ), - ) + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -82,6 +77,7 @@ def package(self): copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.set_property("pkg_config_name", f"libsrtp{Version(self.version).major}") diff --git a/recipes/libsrtp/config.yml b/recipes/libsrtp/config.yml index d17b791c9f454..0abd910fd2126 100644 --- a/recipes/libsrtp/config.yml +++ b/recipes/libsrtp/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.2": folder: all "2.4.0": From 7919bfa38782c26bd8b350b36cda758796a5995f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 12:50:44 +0200 Subject: [PATCH 0717/1307] (#22035) make: add v4.4.1 --- recipes/make/all/conandata.yml | 5 +++++ recipes/make/all/patches/4.4.1-0001-clang.patch | 5 +++++ recipes/make/config.yml | 2 ++ 3 files changed, 12 insertions(+) create mode 100644 recipes/make/all/patches/4.4.1-0001-clang.patch diff --git a/recipes/make/all/conandata.yml b/recipes/make/all/conandata.yml index d11432dff7294..e1b821e38a6db 100644 --- a/recipes/make/all/conandata.yml +++ b/recipes/make/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.4.1": + url: "http://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz" + sha256: "dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3" "4.4": url: "http://ftpmirror.gnu.org/gnu/make/make-4.4.tar.gz" sha256: "581f4d4e872da74b3941c874215898a7d35802f03732bdccee1d4a7979105d18" @@ -9,6 +12,8 @@ sources: url: "http://ftpmirror.gnu.org/gnu/make/make-4.2.1.tar.bz2" sha256: "d6e262bf3601b42d2b1e4ef8310029e1dcf20083c5446b4b7aa67081fdffc589" patches: + "4.4.1": + - patch_file: "patches/4.4.1-0001-clang.patch" "4.4": - patch_file: "patches/4.3-0001-clang.patch" "4.3": diff --git a/recipes/make/all/patches/4.4.1-0001-clang.patch b/recipes/make/all/patches/4.4.1-0001-clang.patch new file mode 100644 index 0000000000000..3e884bebdc9ef --- /dev/null +++ b/recipes/make/all/patches/4.4.1-0001-clang.patch @@ -0,0 +1,5 @@ +--- lib/glob.c ++++ lib/glob.c +@@ -139,1 +139,1 @@ +-#if !defined __alloca && !defined __GNU_LIBRARY__ ++#if (!defined __alloca && defined __GNU_LIBRARY__ && __linux__) || (!defined __alloca && !defined __GNU_LIBRARY__) diff --git a/recipes/make/config.yml b/recipes/make/config.yml index 34673d1418b17..6c7e54ea2509c 100644 --- a/recipes/make/config.yml +++ b/recipes/make/config.yml @@ -1,4 +1,6 @@ versions: + "4.4.1": + folder: all "4.4": folder: all "4.3": From 50c73974eda00002a1fd0c49e6d4e323010faa19 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:09:35 +0200 Subject: [PATCH 0718/1307] (#22056) libmodbus: add v3.1.10 --- recipes/libmodbus/all/conandata.yml | 5 +++++ .../all/patches/3.1.10-0001-msvc-fixes.patch | 20 +++++++++++++++++++ recipes/libmodbus/config.yml | 2 ++ 3 files changed, 27 insertions(+) create mode 100644 recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch diff --git a/recipes/libmodbus/all/conandata.yml b/recipes/libmodbus/all/conandata.yml index 176711066e07f..ed5ad22d14ff2 100644 --- a/recipes/libmodbus/all/conandata.yml +++ b/recipes/libmodbus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.10": + url: "https://github.com/stephane/libmodbus/releases/download/v3.1.10/libmodbus-3.1.10.tar.gz" + sha256: "899be4e25ab7fe5799d43f9567510d6f063d2e8f56136dd726b6fd976f9b2253" "3.1.8": url: "https://github.com/stephane/libmodbus/releases/download/v3.1.8/libmodbus-3.1.8.tar.gz" sha256: "b122f2bc29f749702a22c0a760a7ca2182d541f5fa26bf25e3431f907b606f3c" @@ -6,6 +9,8 @@ sources: url: "https://libmodbus.org/releases/libmodbus-3.1.6.tar.gz" sha256: "d7d9fa94a16edb094e5fdf5d87ae17a0dc3f3e3d687fead81835d9572cf87c16" patches: + "3.1.10": + - patch_file: "patches/3.1.10-0001-msvc-fixes.patch" "3.1.8": - patch_file: "patches/3.1.8-0001-msvc-fixes.patch" "3.1.6": diff --git a/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch b/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch new file mode 100644 index 0000000000000..876ce8dc08eca --- /dev/null +++ b/recipes/libmodbus/all/patches/3.1.10-0001-msvc-fixes.patch @@ -0,0 +1,20 @@ +--- src/Makefile.in ++++ src/Makefile.in +@@ -326,7 +326,7 @@ + localstatedir = @localstatedir@ + mandir = @mandir@ + mkdir_p = @mkdir_p@ +-my_CFLAGS = @my_CFLAGS@ ++my_CFLAGS = + oldincludedir = @oldincludedir@ + pdfdir = @pdfdir@ + prefix = @prefix@ +--- src/modbus-private.h ++++ src/modbus-private.h +@@ -14,5 +14,5 @@ + #else + # include "stdint.h" + # include +-typedef int ssize_t; ++//typedef int ssize_t; + #endif diff --git a/recipes/libmodbus/config.yml b/recipes/libmodbus/config.yml index 49c098a9b7d41..98dbf2345aa1e 100644 --- a/recipes/libmodbus/config.yml +++ b/recipes/libmodbus/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.10": + folder: all "3.1.8": folder: all "3.1.6": From 655fefed56c4d046cbd3d9180eada11a2cd10e1d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:29:11 +0200 Subject: [PATCH 0719/1307] (#22058) maven: add v3.9.6, bump JDK --- recipes/maven/all/conandata.yml | 5 +++++ recipes/maven/all/conanfile.py | 2 +- recipes/maven/config.yml | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/maven/all/conandata.yml b/recipes/maven/all/conandata.yml index a0978eddc0d68..f03488696f01d 100644 --- a/recipes/maven/all/conandata.yml +++ b/recipes/maven/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "3.9.6": + url: + - "https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz" + - "https://archive.apache.org/dist/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz" + sha256: "6eedd2cae3626d6ad3a5c9ee324bd265853d64297f07f033430755bd0e0c3a4b" "3.9.4": url: - "https://dlcdn.apache.org/maven/maven-3/3.9.4/binaries/apache-maven-3.9.4-bin.tar.gz" diff --git a/recipes/maven/all/conanfile.py b/recipes/maven/all/conanfile.py index 31d963f2df4c1..4a59f21e6ca9c 100644 --- a/recipes/maven/all/conanfile.py +++ b/recipes/maven/all/conanfile.py @@ -18,7 +18,7 @@ def layout(self): pass def requirements(self): - self.requires("zulu-openjdk/11.0.19") + self.requires("zulu-openjdk/21.0.1") def package_id(self): del self.info.settings.arch diff --git a/recipes/maven/config.yml b/recipes/maven/config.yml index 95a41cd441c27..8e2950a3cb156 100644 --- a/recipes/maven/config.yml +++ b/recipes/maven/config.yml @@ -1,4 +1,6 @@ versions: + "3.9.6": + folder: all "3.9.4": folder: all "3.9.2": From ae7d62362fea919a299ed7d09751268c7bca2500 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 13:50:18 +0200 Subject: [PATCH 0720/1307] (#22059) nv-codec-headers: add v12.1.14.0 --- recipes/nv-codec-headers/all/conandata.yml | 7 +++++-- recipes/nv-codec-headers/all/conanfile.py | 2 +- recipes/nv-codec-headers/config.yml | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/nv-codec-headers/all/conandata.yml b/recipes/nv-codec-headers/all/conandata.yml index df731f0997f31..482c89e58c766 100644 --- a/recipes/nv-codec-headers/all/conandata.yml +++ b/recipes/nv-codec-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "12.1.14.0": + url: "https://github.com/FFmpeg/nv-codec-headers/archive/n12.1.14.0.tar.gz" + sha256: "2fefaa227d2a3b4170797796425a59d1dd2ed5fd231db9b4244468ba327acd0b" "12.0.16.0": url: "https://github.com/FFmpeg/nv-codec-headers/archive/n12.0.16.0.tar.gz" sha256: "2a1533b65f55f9da52956faf0627ed3b74868ac0c7f269990edd21369113b48f" @@ -6,5 +9,5 @@ sources: url: "https://github.com/FFmpeg/nv-codec-headers/archive/n11.1.5.1.tar.gz" sha256: "d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c" "9.1.23.2": - url: https://github.com/FFmpeg/nv-codec-headers/releases/download/n9.1.23.2/nv-codec-headers-9.1.23.2.tar.gz - sha256: 34c9d1aedf32dc4b9fb22e94dbb041de666b568ceb4bdb317e414b752a3f9a9a + url: "https://github.com/FFmpeg/nv-codec-headers/releases/download/n9.1.23.2/nv-codec-headers-9.1.23.2.tar.gz" + sha256: "34c9d1aedf32dc4b9fb22e94dbb041de666b568ceb4bdb317e414b752a3f9a9a" diff --git a/recipes/nv-codec-headers/all/conanfile.py b/recipes/nv-codec-headers/all/conanfile.py index b85d4da96e184..f21dc25aa7ca9 100644 --- a/recipes/nv-codec-headers/all/conanfile.py +++ b/recipes/nv-codec-headers/all/conanfile.py @@ -33,7 +33,7 @@ def package_id(self): def build_requirements(self): if self._settings_build.os == "Windows": if "CONAN_MAKE_PROGRAM" not in os.environ: - self.build_requires("make/4.2.1") + self.build_requires("make/4.4") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/nv-codec-headers/config.yml b/recipes/nv-codec-headers/config.yml index 018eb4087b892..21a0b445119b1 100644 --- a/recipes/nv-codec-headers/config.yml +++ b/recipes/nv-codec-headers/config.yml @@ -1,4 +1,6 @@ versions: + "12.1.14.0": + folder: all "12.0.16.0": folder: all "11.1.5.1": From 83b8971e5ff4a6e530b708f6501bad6c39b52d44 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 6 Jan 2024 13:00:32 +0100 Subject: [PATCH 0721/1307] (#22101) taocpp-taopq/cci.20231219: don't build tests (same as previous version) as they may fail due to Werror MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix cmake option names in cci.20231219 * simplify version comparison --------- Co-authored-by: Rubén Rincón Blanco --- recipes/taocpp-taopq/all/conanfile.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/taocpp-taopq/all/conanfile.py b/recipes/taocpp-taopq/all/conanfile.py index 9fd79f18379e3..e186bb806ba1b 100644 --- a/recipes/taocpp-taopq/all/conanfile.py +++ b/recipes/taocpp-taopq/all/conanfile.py @@ -70,8 +70,13 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["TAOPQ_BUILD_TESTS"] = False - tc.variables["TAOPQ_INSTALL_DOC_DIR"] = "licenses" + # Option names changed in https://github.com/taocpp/taopq/commit/d77896ab80369f13512a7f0ba8af818a03de1cdf + if Version(self.version) < "cci.20211017": + tc.variables["TAOPQ_BUILD_TESTS"] = False + tc.variables["TAOPQ_INSTALL_DOC_DIR"] = "licenses" + else: + tc.variables["taopq_BUILD_TESTS"] = False + tc.variables["taopq_INSTALL_DOC_DIR"] = "licenses" tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) From 2f3371226e60489e92ec4f3c9205e14e6c29b30f Mon Sep 17 00:00:00 2001 From: Thomas Sondergaard Date: Sat, 6 Jan 2024 13:10:24 +0100 Subject: [PATCH 0722/1307] (#22135) xorg: clear bindirs, includedirs, libdirs This is also done in e.g. opengl/system and egl/system. The package itself doesn't actually ship any libraries and headers. --- recipes/xorg/all/conanfile.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index b43c73d5d9c1a..423aec281a1c2 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -1,4 +1,4 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.tools.gnu import PkgConfig from conan.tools.system import package_manager from conan.errors import ConanInvalidConfiguration @@ -72,6 +72,11 @@ def system_requirements(self): "libxxf86vm", "libxv", "xkeyboard-config", "xcb-util", "xcb-util-cursor"], update=True, check=True) def package_info(self): + if conan_version.major >= 2: + self.cpp_info.bindirs = [] + self.cpp_info.includedirs = [] + self.cpp_info.libdirs = [] + for name in ["x11", "x11-xcb", "fontenc", "ice", "sm", "xau", "xaw7", "xcomposite", "xcursor", "xdamage", "xdmcp", "xext", "xfixes", "xi", "xinerama", "xkbfile", "xmu", "xmuu", "xpm", "xrandr", "xrender", "xres", @@ -88,6 +93,9 @@ def package_info(self): "pkg_config_name", name) self.cpp_info.components[name].set_property( "component_version", pkg_config.version) + self.cpp_info.components[name].bindirs = [] + self.cpp_info.components[name].includedirs = [] + self.cpp_info.components[name].libdirs = [] self.cpp_info.components[name].set_property("pkg_config_custom_content", "\n".join(f"{key}={value}" for key, value in pkg_config.variables.items() if key not in ["pcfiledir","prefix", "includedir"])) From 5421fa3bcc186d5a601457f14938dde6028b198a Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 21:29:59 +0900 Subject: [PATCH 0723/1307] (#22142) nng: add version 1.7.0, update mbedtls/3.5.1 * nng: add version 1.7.0, update mbedtls/3.5.1 * link rt, nsl --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/all/conanfile.py | 12 ++++++++++-- recipes/nng/config.yml | 2 ++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index 821ab71934ba1..de439e94ad624 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.0": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.0.tar.gz" + sha256: "668325161637a0debcf7fb4340919b81e74b66d38bc7a663e8b55b7e0abd7f57" "1.6.0": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.6.0.tar.gz" sha256: "f639e77911ef935a13e9779d4a18d45490433ba744f89752a15b84c929ce2725" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 184a8d520a4c2..418a70d42be1f 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -25,6 +25,7 @@ class NngConan(ConanFile): "tls": [True, False], "max_taskq_threads": ["ANY"], "max_expire_threads": ["ANY"], + "max_poller_threads": ["ANY"], } default_options = { "shared": False, @@ -34,6 +35,7 @@ class NngConan(ConanFile): "tls": False, "max_taskq_threads": "16", "max_expire_threads": "8", + "max_poller_threads": "8", } def export_sources(self): @@ -44,6 +46,8 @@ def config_options(self): del self.options.fPIC if Version(self.version) < "1.6.0": del self.options.max_expire_threads + if Version(self.version) < "1.7.0": + del self.options.max_poller_threads def configure(self): if self.options.shared: @@ -59,7 +63,7 @@ def requirements(self): if Version(self.version) < "1.5.2": self.requires("mbedtls/2.25.0") else: - self.requires("mbedtls/3.5.0") + self.requires("mbedtls/3.5.1") def validate(self): compiler_minimum_version = { @@ -75,6 +79,8 @@ def validate(self): raise ConanInvalidConfiguration("max_taskq_threads must be an integral number") if "max_expire_threads" in self.options and not self.options.max_expire_threads.value.isdigit(): raise ConanInvalidConfiguration("max_expire_threads must be an integral number") + if "max_poller_threads" in self.options and not self.options.max_poller_threads.value.isdigit(): + raise ConanInvalidConfiguration("max_poller_threads must be an integral number") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -88,6 +94,8 @@ def generate(self): tc.variables["NNG_MAX_TASKQ_THREADS"] = self.options.max_taskq_threads if "max_expire_threads" in self.options: tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads + if "max_poller_threads" in self.options: + tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads tc.generate() def build(self): @@ -110,7 +118,7 @@ def package_info(self): if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.system_libs.extend(["mswsock", "ws2_32"]) elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.extend(["pthread"]) + self.cpp_info.system_libs.extend(["pthread", "rt", "nsl"]) if self.options.shared: self.cpp_info.defines.append("NNG_SHARED_LIB") diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index 07341cd03187d..ec5073d25aa5c 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.0": + folder: all "1.6.0": folder: all "1.5.2": From 0ec7a357d355ce00144a7a8dee14b52cbe90f000 Mon Sep 17 00:00:00 2001 From: Inujel Date: Sat, 6 Jan 2024 13:59:22 +0100 Subject: [PATCH 0724/1307] (#22144) Remove prints from msys2 test recipes --- recipes/msys2/all/test_package/conanfile.py | 1 - recipes/msys2/all/test_v1_package/conanfile.py | 1 - 2 files changed, 2 deletions(-) diff --git a/recipes/msys2/all/test_package/conanfile.py b/recipes/msys2/all/test_package/conanfile.py index fa7d81b8ee739..e9550182abfe7 100644 --- a/recipes/msys2/all/test_package/conanfile.py +++ b/recipes/msys2/all/test_package/conanfile.py @@ -31,5 +31,4 @@ def test(self): output = StringIO() self.run('bash.exe -c "echo $PKG_CONFIG_PATH"', output) - print(output.getvalue()) assert self._secret_value in output.getvalue() diff --git a/recipes/msys2/all/test_v1_package/conanfile.py b/recipes/msys2/all/test_v1_package/conanfile.py index 9278b74eeb27b..97f1e665d30ac 100644 --- a/recipes/msys2/all/test_v1_package/conanfile.py +++ b/recipes/msys2/all/test_v1_package/conanfile.py @@ -25,5 +25,4 @@ def test(self): with tools.environment_append({"PKG_CONFIG_PATH": secret_value}): output = StringIO() self.run('bash.exe -c "echo $PKG_CONFIG_PATH"', output=output) - print(output.getvalue()) assert secret_value in output.getvalue() From a827371218712ef7d4a0eb1b4f105fa59d145b07 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:09:42 +0900 Subject: [PATCH 0725/1307] (#22175) luau: add version 0.607 --- recipes/luau/all/conandata.yml | 3 +++ recipes/luau/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml index 6f3f5ad765cc1..6eb7d47405bd9 100644 --- a/recipes/luau/all/conandata.yml +++ b/recipes/luau/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.607": + url: "https://github.com/Roblox/luau/archive/0.607.tar.gz" + sha256: "519409d7dbb43da13390131a90c831cb0f2ab9c25e337acf15508313a339bf36" "0.603": url: "https://github.com/Roblox/luau/archive/0.603.tar.gz" sha256: "97687486b0ffe8d7a4917e13648a9776ee015ca9e1c10b6da169caec6ca5b427" diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml index 80fe8362a792c..7e52185e25e09 100644 --- a/recipes/luau/config.yml +++ b/recipes/luau/config.yml @@ -1,4 +1,6 @@ versions: + "0.607": + folder: all "0.603": folder: all "0.598": From dba990329c04ef44aee860d45b1b361c4f15a4c2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:19:38 +0900 Subject: [PATCH 0726/1307] (#22176) kuba-zip: add version 0.3.1 --- recipes/kuba-zip/all/conandata.yml | 3 +++ recipes/kuba-zip/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/kuba-zip/all/conandata.yml b/recipes/kuba-zip/all/conandata.yml index a1cc22f7f211a..707848aa88e1e 100644 --- a/recipes/kuba-zip/all/conandata.yml +++ b/recipes/kuba-zip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.1": + url: "https://github.com/kuba--/zip/archive/v0.3.1.tar.gz" + sha256: "775b8a44b53e72a55c13839bf507219c2cf30b26f62e70f1a20bb727db54438f" "0.3.0": url: "https://github.com/kuba--/zip/archive/v0.3.0.tar.gz" sha256: "feb70ae0fe5948b805635b3cc2f3b7f074662c481981857bc6b5896a4343fe5e" diff --git a/recipes/kuba-zip/config.yml b/recipes/kuba-zip/config.yml index 12742f0517b7f..ab67eaba39ebb 100644 --- a/recipes/kuba-zip/config.yml +++ b/recipes/kuba-zip/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.1": + folder: "all" "0.3.0": folder: "all" "0.2.6": From f2561ba56ffc3d38a173e60c02f2e94347d67015 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 22:39:14 +0900 Subject: [PATCH 0727/1307] (#22177) toml11: add version 3.8.0 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index 473d7afa5e2db..f17e5e0f8117a 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.0": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.0.tar.gz" + sha256: "36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7" "3.7.1": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.7.1.tar.gz" sha256: "afeaa9aa0416d4b6b2cd3897ca55d9317084103077b32a852247d8efd4cf6068" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index 2a3893e072fff..c4cf097c48cb6 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.0": + folder: all "3.7.1": folder: all "3.7.0": From 91e65f9c6b56c73dcc4e2b29e42472f4699f826e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 23:32:45 +0900 Subject: [PATCH 0728/1307] (#21743) drogon: add version 1.9.1, update trantor --- recipes/drogon/all/conandata.yml | 10 ++++++++++ recipes/drogon/all/conanfile.py | 2 +- recipes/drogon/config.yml | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml index 32fb63a308bd7..746215039912d 100644 --- a/recipes/drogon/all/conandata.yml +++ b/recipes/drogon/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/drogonframework/drogon/archive/v1.9.1.tar.gz" + sha256: "0f8bab22e02681d05787c88cbef5d04b105f6644ebf7cf29898d0a52ebe959e4" "1.9.0": url: "https://github.com/drogonframework/drogon/archive/v1.9.0.tar.gz" sha256: "35793c1b64c32ebbea5a6cb3b1c22bcd0820e948674ecba92022ec05b41c848b" @@ -27,6 +30,13 @@ sources: url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz" sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6" patches: + "1.9.1": + - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" + patch_description: "remove shared libs option" + patch_type: "conan" + - patch_file: "patches/1.9.0-0002-find-cci-packages.patch" + patch_description: "Fix jsoncpp cmake target name" + patch_type: "conan" "1.9.0": - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch" patch_description: "remove shared libs option" diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py index 44120c268dd5c..89a3a646123b9 100644 --- a/recipes/drogon/all/conanfile.py +++ b/recipes/drogon/all/conanfile.py @@ -110,7 +110,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14") def requirements(self): - self.requires("trantor/1.5.14", transitive_headers=True, transitive_libs=True) + self.requires("trantor/1.5.15", transitive_headers=True, transitive_libs=True) self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]") self.requires("zlib/[>=1.2.11 <2]") diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml index fb2e690403f06..82e0951737eeb 100644 --- a/recipes/drogon/config.yml +++ b/recipes/drogon/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: "all" "1.9.0": folder: "all" "1.8.7": From f6b0b10d42db18ebc486c6ba3c0cc611676a2976 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Sat, 6 Jan 2024 15:42:23 +0100 Subject: [PATCH 0729/1307] (#21759) cpuinfo: Add cci.20231129 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/cpuinfo/all/conandata.yml | 3 +++ recipes/cpuinfo/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cpuinfo/all/conandata.yml b/recipes/cpuinfo/all/conandata.yml index 56ce9c275f3d9..5d3ebdc36307e 100644 --- a/recipes/cpuinfo/all/conandata.yml +++ b/recipes/cpuinfo/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/pytorch/cpuinfo/archive/9d809924011af8ff49dadbda1499dc5193f1659c.tar.gz" + sha256: "0d769b7e3cc7d16205f4cc8988f869910db19f2d274db005c1ed74e961936d34" "cci.20230118": url: "https://github.com/pytorch/cpuinfo/archive/3dc310302210c1891ffcfb12ae67b11a3ad3a150.tar.gz" sha256: "f2f4df6d2b01036f36c5e372954e536881cdd59f5c2461c67aa0a92c6d755c61" diff --git a/recipes/cpuinfo/config.yml b/recipes/cpuinfo/config.yml index 8e98d8506c888..a71ccd412f08d 100644 --- a/recipes/cpuinfo/config.yml +++ b/recipes/cpuinfo/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231129": + folder: all "cci.20230118": folder: all "cci.20220618": From 5da1d0537278366cbcda0bc610ca8445a8a51e24 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 6 Jan 2024 23:58:12 +0900 Subject: [PATCH 0730/1307] (#21819) fltk: add version 1.3.9, update libxft * fltk: add version 1.3.9, update libxft * add variables to use cci packages --- recipes/fltk/all/conandata.yml | 6 ++++++ recipes/fltk/all/conanfile.py | 6 +++++- recipes/fltk/config.yml | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/fltk/all/conandata.yml b/recipes/fltk/all/conandata.yml index 0f349ed128921..680f83f1fe74a 100644 --- a/recipes/fltk/all/conandata.yml +++ b/recipes/fltk/all/conandata.yml @@ -1,9 +1,15 @@ sources: + "1.3.9": + url: "https://github.com/fltk/fltk/archive/refs/tags/release-1.3.9.tar.gz" + sha256: "f30661851a61f1931eaaceb9ef4005584c85cb07fd7ffc38a645172b8e4eb3df" "1.3.8": url: "https://github.com/fltk/fltk/archive/refs/tags/release-1.3.8.tar.gz" sha256: "abddf697bf1b0a59462a0d2ec57557f4bfb9c634627e6fa50d8c664112642811" patches: + "1.3.9": + - patch_file: "patches/1.3.8-0001-remove-fluid.patch" + - patch_file: "patches/1.3.8-0003-build-static-only-on-static.patch" "1.3.8": - patch_file: "patches/1.3.8-0001-remove-fluid.patch" - patch_file: "patches/1.3.8-0002-fix-resources.patch" diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py index 4b4a216b2a0e2..98a5fa5237529 100644 --- a/recipes/fltk/all/conanfile.py +++ b/recipes/fltk/all/conanfile.py @@ -76,7 +76,7 @@ def requirements(self): self.requires("fontconfig/2.14.2") self.requires("xorg/system") if self.options.with_xft: - self.requires("libxft/2.3.6") + self.requires("libxft/2.3.8") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -93,6 +93,10 @@ def generate(self): tc.variables["OPTION_USE_XFT"] = self.options.with_xft if self.options.abi_version: tc.variables["OPTION_ABI_VERSION"] = self.options.abi_version + tc.variables["OPTION_USE_SYSTEM_LIBJPEG"] = True + tc.variables["OPTION_USE_SYSTEM_ZLIB"] = True + tc.variables["OPTION_USE_SYSTEM_LIBPNG"] = True + tc.generate() tc = CMakeDeps(self) tc.generate() diff --git a/recipes/fltk/config.yml b/recipes/fltk/config.yml index 76eba86fa7f6d..358eb3f39989f 100644 --- a/recipes/fltk/config.yml +++ b/recipes/fltk/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.9": + folder: "all" "1.3.8": folder: "all" From 489890baa3a5ba986bbd22a5df3007f23c3a0232 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 17:18:20 +0200 Subject: [PATCH 0731/1307] (#21862) vcglib: add v2023.12 --- recipes/vcglib/all/CMakeLists.txt | 4 ++-- recipes/vcglib/all/conandata.yml | 5 +++++ recipes/vcglib/config.yml | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/recipes/vcglib/all/CMakeLists.txt b/recipes/vcglib/all/CMakeLists.txt index 503836eca235b..bea5e105e4ff6 100644 --- a/recipes/vcglib/all/CMakeLists.txt +++ b/recipes/vcglib/all/CMakeLists.txt @@ -16,8 +16,8 @@ install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(DIRECTORY "${VCGLIB_SRC_DIR}/vcg" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h" PATTERN "*.ipp") install(DIRECTORY "${VCGLIB_SRC_DIR}/wrap" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp") install(DIRECTORY "${VCGLIB_SRC_DIR}/img" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN "*.h") diff --git a/recipes/vcglib/all/conandata.yml b/recipes/vcglib/all/conandata.yml index d8dc31a26ed34..f9800a56a86d4 100644 --- a/recipes/vcglib/all/conandata.yml +++ b/recipes/vcglib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12": + url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2023.12.tar.gz" + sha256: "5a84db6d596be1cb4abdc450d130dc8e2224a4c7b4198b60cd9ac55f45ac5c7b" "2022.02": url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2022.02.tar.gz" sha256: "724f5ef6ab9b9d21ff2e9e965c2ce909cc024b29f2aa7d39e2974b28ff25bc3f" @@ -6,6 +9,8 @@ sources: url: "https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/2020.12.tar.gz" sha256: "731c57435e39c4b958a1d766cadd9865d9db35e36410708f2da7818e9fa5f786" patches: + "2023.12": + - patch_file: "patches/0001-use-external-eigen.patch" "2022.02": - patch_file: "patches/0001-use-external-eigen.patch" "2020.12": diff --git a/recipes/vcglib/config.yml b/recipes/vcglib/config.yml index 8fa4c473789d6..0faefee3a8749 100644 --- a/recipes/vcglib/config.yml +++ b/recipes/vcglib/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12": + folder: all "2022.02": folder: all "2020.12": From ae142f51fa3e21c78ad19490d4ecce9a88875831 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 00:47:45 +0900 Subject: [PATCH 0732/1307] (#21679) hwdata: add version 0.377-2 * hwdata: add version 0.377-2 * update 0.378 --- recipes/hwdata/all/conandata.yml | 3 +++ recipes/hwdata/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hwdata/all/conandata.yml b/recipes/hwdata/all/conandata.yml index 8654aa367ec46..b5373423e2800 100644 --- a/recipes/hwdata/all/conandata.yml +++ b/recipes/hwdata/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.378": + url: "https://github.com/vcrhonek/hwdata/archive/v0.378.tar.gz" + sha256: "098ea8db12a50290f4b23f7f521edf9c5bab25935d2740de17e4a487110b40c8" "0.376": url: "https://github.com/vcrhonek/hwdata/archive/v0.376.tar.gz" sha256: "48d85dbf05650b2c382ffaadeb601cac1650f5a34ee5c452df8021af988ea090" diff --git a/recipes/hwdata/config.yml b/recipes/hwdata/config.yml index daf8b29da7dde..edc1993064ac3 100644 --- a/recipes/hwdata/config.yml +++ b/recipes/hwdata/config.yml @@ -1,4 +1,6 @@ versions: + "0.378": + folder: all "0.376": folder: all "0.374": From e7f48bbcc0a6db1f92e5fb0db04565dcc65c42c3 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:08:46 +0200 Subject: [PATCH 0733/1307] (#21915) drwav: add v0.13.14 * drwav: add v0.13.14 * drwav: fix URL --- recipes/drwav/all/conandata.yml | 11 ++++++----- recipes/drwav/all/conanfile.py | 2 +- recipes/drwav/config.yml | 2 ++ 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/recipes/drwav/all/conandata.yml b/recipes/drwav/all/conandata.yml index cfc31466349bc..7757121179bae 100644 --- a/recipes/drwav/all/conandata.yml +++ b/recipes/drwav/all/conandata.yml @@ -1,13 +1,14 @@ sources: # NOTE: https://github.com/mackron/dr_libs/blob/d35a3bc5efd02455d98cbe12b94647136f09b42d/dr_wav.h#L3 + "0.13.14": + url: "https://github.com/mackron/dr_libs/archive/a4b73d3d423e1cea0652b76d0806e7620337a40f.zip" + sha256: "89729a85f092a81eb6e646c1580525c7738c4780bc59890c908b9582e8e9312b" "0.13.12": - url: https://github.com/mackron/dr_libs/archive/d35a3bc5efd02455d98cbe12b94647136f09b42d.zip + url: "https://github.com/mackron/dr_libs/archive/d35a3bc5efd02455d98cbe12b94647136f09b42d.zip" sha256: "4886462b8ed26f12b8bceccb80f1447075ed5e73240089f2a78e0c32b444b370" - # NOTE: https://github.com/mackron/dr_libs/blob/4f6da71ed357ade92dc91f00e6be7301ec9a82a3/dr_wav.h#L3 "0.13.7": - url: https://github.com/mackron/dr_libs/archive/4f6da71ed357ade92dc91f00e6be7301ec9a82a3.zip + url: "https://github.com/mackron/dr_libs/archive/4f6da71ed357ade92dc91f00e6be7301ec9a82a3.zip" sha256: "0a77850ca558633e0516a68383481fb36823064256f2c50911056714420bc5b1" - # NOTE: https://github.com/mackron/dr_libs/blob/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9/dr_wav.h#L3 "0.13.6": - url: https://github.com/mackron/dr_libs/archive/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9.zip + url: "https://github.com/mackron/dr_libs/archive/15f37e3ab01654c1a3bc98cff2a9ca64e8296fa9.zip" sha256: "39ea8c1f9b60a945735dfe4a2e0a2a6bd3bc921619fa7d2612dbc284b68c2419" diff --git a/recipes/drwav/all/conanfile.py b/recipes/drwav/all/conanfile.py index 893c882ec028c..29de2c8e01806 100644 --- a/recipes/drwav/all/conanfile.py +++ b/recipes/drwav/all/conanfile.py @@ -9,7 +9,7 @@ class DrwavConan(ConanFile): name = "drwav" description = "WAV audio loader and writer." - homepage = "https://mackron.github.io/dr_wav" + homepage = "https://github.com/mackron/dr_libs" topics = ("audio", "wav", "wave", "sound") license = ("Unlicense", "MIT-0") url = "https://github.com/conan-io/conan-center-index" diff --git a/recipes/drwav/config.yml b/recipes/drwav/config.yml index b1c16872231f4..35331ff9db236 100644 --- a/recipes/drwav/config.yml +++ b/recipes/drwav/config.yml @@ -1,4 +1,6 @@ versions: + "0.13.14": + folder: all "0.13.12": folder: all "0.13.7": From b5d67d4871a34d3b659fbdd9cdda9cae4443a2e6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:38:09 +0200 Subject: [PATCH 0734/1307] (#21641) iceoryx: add version 2.0.5 * iceoryx: add v2.0.5, drop v2.0.2 * iceoryx: make fPIC patching more explicit --- recipes/iceoryx/all/conandata.yml | 6 +++--- recipes/iceoryx/all/conanfile.py | 31 ++++++++++++++++++++++++++----- recipes/iceoryx/config.yml | 4 ++-- 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/recipes/iceoryx/all/conandata.yml b/recipes/iceoryx/all/conandata.yml index 15956d577d86b..478d85f83e606 100644 --- a/recipes/iceoryx/all/conandata.yml +++ b/recipes/iceoryx/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "2.0.5": + url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.5.tar.gz" + sha256: "bf6de70e3edee71223f993a29bff5e61af95ce4871104929d8bd1729f544bafb" "2.0.3": url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.3.tar.gz" sha256: "8f391696daf2e63da9437aab8d7154371df630fc93876479f2e84c693fc1ba5a" - "2.0.2": - url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v2.0.2.tar.gz" - sha256: "99871BCAA8DA4361D1BAAE9CF1507683058DE8572AC3080EDC41E590FFBA06C0" "1.0.3": url: "https://github.com/eclipse-iceoryx/iceoryx/archive/v1.0.3.tar.gz" sha256: "566b7766fb1fabb48d1ca979f7a31082422d6aa5af014a56c1a6b605c60e33f0" diff --git a/recipes/iceoryx/all/conanfile.py b/recipes/iceoryx/all/conanfile.py index abf2fb7016360..30d23ca370fb4 100644 --- a/recipes/iceoryx/all/conanfile.py +++ b/recipes/iceoryx/all/conanfile.py @@ -107,11 +107,32 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - for cmake_file in self.source_path.rglob("CMakeLists.txt"): - # Honor fPIC option - replace_in_file(self, cmake_file, "POSITION_INDEPENDENT_CODE ON", "", strict=False) - # Use acl::acl target, since acl fails to link - replace_in_file(self, cmake_file, " acl", " acl::acl", strict=False) + if Version(self.version) >= "2.0.0": + hoofs_dir = os.path.join(self.source_folder, "iceoryx_hoofs") + else: + hoofs_dir = os.path.join(self.source_folder, "iceoryx_utils") + + # Use acl::acl target, since plain acl fails to link + replace_in_file(self, os.path.join(hoofs_dir, "CMakeLists.txt"), " acl", " acl::acl") + + # Honor fPIC option + if Version(self.version) >= "2.90": + replace_in_file(self, os.path.join(self.source_folder, "iceoryx_hoofs", "cmake", "IceoryxPackageHelper.cmake"), + "set_target_properties( ${IOX_TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON )", "") + else: + cmakelists_list = [ + os.path.join(self.source_folder, "iceoryx_dds", "CMakeLists.txt"), + os.path.join(self.source_folder, "iceoryx_posh", "CMakeLists.txt"), + os.path.join(self.source_folder, "tools", "introspection", "CMakeLists.txt"), + os.path.join(hoofs_dir, "CMakeLists.txt"), + ] + if Version(self.version) >= "2.0.0": + cmakelists_list += [ + os.path.join(self.source_folder, "iceoryx_binding_c", "CMakeLists.txt"), + os.path.join(hoofs_dir, "platform", "CMakeLists.txt"), + ] + for cmakelists in cmakelists_list: + replace_in_file(self, cmakelists, "POSITION_INDEPENDENT_CODE ON", "") def build(self): self._patch_sources() diff --git a/recipes/iceoryx/config.yml b/recipes/iceoryx/config.yml index 741dce8e70313..8a33c3c252222 100644 --- a/recipes/iceoryx/config.yml +++ b/recipes/iceoryx/config.yml @@ -1,7 +1,7 @@ versions: - "2.0.3": + "2.0.5": folder: all - "2.0.2": + "2.0.3": folder: all "1.0.3": folder: all From 8b8016c8fd1aa7c6f6708d947ce0a6d242a74293 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 18:59:07 +0200 Subject: [PATCH 0735/1307] (#21853) ls-qpack: add v2.5.4, simplify patching * ls-qpack: add v2.5.4, simplify patching * ls-qpack: make linter happy --- recipes/ls-qpack/all/CMakeLists.txt | 16 +++++++++++++ recipes/ls-qpack/all/conandata.yml | 13 ++++++----- recipes/ls-qpack/all/conanfile.py | 3 ++- .../patches/2.5.1-0001-use-cci-package.patch | 11 +++------ .../patches/2.5.1-0002-add-installer.patch | 23 ------------------- .../patches/2.5.3-0002-add-installer.patch | 23 ------------------- recipes/ls-qpack/config.yml | 2 ++ 7 files changed, 30 insertions(+), 61 deletions(-) create mode 100644 recipes/ls-qpack/all/CMakeLists.txt delete mode 100644 recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch delete mode 100644 recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch diff --git a/recipes/ls-qpack/all/CMakeLists.txt b/recipes/ls-qpack/all/CMakeLists.txt new file mode 100644 index 0000000000000..6db820d134e2e --- /dev/null +++ b/recipes/ls-qpack/all/CMakeLists.txt @@ -0,0 +1,16 @@ +cmake_minimum_required(VERSION 3.15) +project(cmake_wrapper) + +add_subdirectory(src) + +install( + TARGETS ls-qpack + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) +install(FILES src/lsqpack.h DESTINATION include) + +if(WIN32) + install(DIRECTORY src/wincompat DESTINATION include) +endif() diff --git a/recipes/ls-qpack/all/conandata.yml b/recipes/ls-qpack/all/conandata.yml index ac7d7d333e78b..e0937f2a8bc1f 100644 --- a/recipes/ls-qpack/all/conandata.yml +++ b/recipes/ls-qpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.4": + url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.4.tar.gz" + sha256: "56b96190a1943d75ef8d384b13cd4592a72e3e2d84284f78d7f8adabbc717f3e" "2.5.3": url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.3.tar.gz" sha256: "075a05efee27961eac5ac92a12a6e28a61bcd6c122a0276938ef993338577337" @@ -6,17 +9,15 @@ sources: url: "https://github.com/litespeedtech/ls-qpack/archive/refs/tags/v2.5.1.tar.gz" sha256: "dae1c159afc8541d51c12f5ad78209fe092815d37cb621b5ee46a9db049a283f" patches: - "2.5.3": + "2.5.4": - patch_file: "patches/2.5.1-0001-use-cci-package.patch" patch_description: "use cci packages" patch_type: "conan" - - patch_file: "patches/2.5.3-0002-add-installer.patch" - patch_description: "add installer" + "2.5.3": + - patch_file: "patches/2.5.1-0001-use-cci-package.patch" + patch_description: "use cci packages" patch_type: "conan" "2.5.1": - patch_file: "patches/2.5.1-0001-use-cci-package.patch" patch_description: "use cci packages" patch_type: "conan" - - patch_file: "patches/2.5.1-0002-add-installer.patch" - patch_description: "add installer" - patch_type: "conan" diff --git a/recipes/ls-qpack/all/conanfile.py b/recipes/ls-qpack/all/conanfile.py index 89421636cbe72..d1d1a2870f42b 100644 --- a/recipes/ls-qpack/all/conanfile.py +++ b/recipes/ls-qpack/all/conanfile.py @@ -26,6 +26,7 @@ class LsQpackConan(ConanFile): def export_sources(self): export_conandata_patches(self) + copy(self, "CMakeLists.txt", self.recipe_folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": @@ -61,7 +62,7 @@ def generate(self): def build(self): apply_conandata_patches(self) cmake = CMake(self) - cmake.configure() + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): diff --git a/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch index 48af51a011e2d..4dd248246392c 100644 --- a/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch +++ b/recipes/ls-qpack/all/patches/2.5.1-0001-use-cci-package.patch @@ -1,8 +1,6 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d9d9aa3..826e99b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,9 +20,10 @@ add_library(ls-qpack "") +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -20,7 +20,7 @@ add_library(ls-qpack "") target_include_directories(ls-qpack PUBLIC .) target_sources(ls-qpack PRIVATE lsqpack.c) @@ -10,8 +8,5 @@ index d9d9aa3..826e99b 100644 if(LSQPACK_XXH) + find_package(xxHash REQUIRED CONFIG) - target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) -+ # target_sources(ls-qpack PRIVATE deps/xxhash/xxhash.c) + target_link_libraries(ls-qpack PUBLIC xxHash::xxhash) endif() - - if(MSVC) diff --git a/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch deleted file mode 100644 index 1acf784e4597a..0000000000000 --- a/recipes/ls-qpack/all/patches/2.5.1-0002-add-installer.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/a/CMakeLists.txt b/b/CMakeLists.txt -index 670ea97..f2dd257 100644 ---- a/a/CMakeLists.txt -+++ b/b/CMakeLists.txt -@@ -100,3 +100,18 @@ endif() - if(LSQPACK_BIN) - add_subdirectory(bin) - endif() -+ -+include(GNUInstallDirs) -+ -+install( -+ TARGETS ls-qpack -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+ -+install(FILES lsqpack.h DESTINATION include) -+ -+if(WIN32) -+ install(DIRECTORY wincompat DESTINATION include) -+endif() diff --git a/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch b/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch deleted file mode 100644 index bc34f0724108a..0000000000000 --- a/recipes/ls-qpack/all/patches/2.5.3-0002-add-installer.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7f7cd40..70e8fa8 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -102,3 +102,18 @@ endif() - if(LSQPACK_BIN) - add_subdirectory(bin) - endif() -+ -+include(GNUInstallDirs) -+ -+install( -+ TARGETS ls-qpack -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+) -+ -+install(FILES lsqpack.h DESTINATION include) -+ -+if(WIN32) -+ install(DIRECTORY wincompat DESTINATION include) -+endif() diff --git a/recipes/ls-qpack/config.yml b/recipes/ls-qpack/config.yml index cbd3f0133afbb..7b62b895ae661 100644 --- a/recipes/ls-qpack/config.yml +++ b/recipes/ls-qpack/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.4": + folder: all "2.5.3": folder: all "2.5.1": From 6bdf8fe2a5b6306cab27edb72b413dd7cccbceae Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 19:18:29 +0200 Subject: [PATCH 0736/1307] (#21858) reactiveplusplus: add v2.0.0 * reactiveplusplus: add v2.0.0 * reactiveplusplus: update min compiler versions * reactiveplusplus: add missing includes to test_package_v2.cpp --- recipes/reactiveplusplus/all/conandata.yml | 3 ++ recipes/reactiveplusplus/all/conanfile.py | 33 +++++++++++-------- .../all/test_package/CMakeLists.txt | 6 +++- .../all/test_package/test_package_v2.cpp | 18 ++++++++++ recipes/reactiveplusplus/config.yml | 2 ++ 5 files changed, 48 insertions(+), 14 deletions(-) create mode 100644 recipes/reactiveplusplus/all/test_package/test_package_v2.cpp diff --git a/recipes/reactiveplusplus/all/conandata.yml b/recipes/reactiveplusplus/all/conandata.yml index 9e638abe5d43a..a8ee60a2f8197 100644 --- a/recipes/reactiveplusplus/all/conandata.yml +++ b/recipes/reactiveplusplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.0": + url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v2.0.0.tar.gz" + sha256: "8950fe579aea23be1a6affd4ec8845c78016454aaf875dbae6a52d10eeb6df02" "0.2.3": url: "https://github.com/victimsnino/ReactivePlusPlus/archive/v0.2.3.tar.gz" sha256: "9542419f8d7da98126ba2c6ae08fab287b4b3798d89cf75ed9bed2a9e3ec1678" diff --git a/recipes/reactiveplusplus/all/conanfile.py b/recipes/reactiveplusplus/all/conanfile.py index d8d1eb5567b3d..44a04efc93ad3 100644 --- a/recipes/reactiveplusplus/all/conanfile.py +++ b/recipes/reactiveplusplus/all/conanfile.py @@ -3,6 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.50.0" @@ -28,13 +29,23 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return { - "Visual Studio": "16.10", - "msvc": "192", - "gcc": "10", - "clang": "12", - "apple-clang": "14", - } + if Version(self.version) >= "2.0.0": + # For 'consteval' support + return { + "Visual Studio": "17", + "msvc": "193", + "gcc": "12", + "clang": "14", + "apple-clang": "14", + } + else: + return { + "Visual Studio": "16.10", + "msvc": "192", + "gcc": "10", + "clang": "12", + "apple-clang": "14", + } def layout(self): basic_layout(self, src_folder="src") @@ -47,10 +58,7 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) def loose_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and loose_lt_semver(str(self.settings.compiler.version), minimum_version): @@ -59,8 +67,7 @@ def loose_lt_semver(v1, v2): ) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): pass diff --git a/recipes/reactiveplusplus/all/test_package/CMakeLists.txt b/recipes/reactiveplusplus/all/test_package/CMakeLists.txt index 96e89147f81a9..1809dd95e5019 100644 --- a/recipes/reactiveplusplus/all/test_package/CMakeLists.txt +++ b/recipes/reactiveplusplus/all/test_package/CMakeLists.txt @@ -3,6 +3,10 @@ project(test_package LANGUAGES CXX) find_package(RPP REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) +if(RPP_VERSION VERSION_GREATER_EQUAL 2) + add_executable(${PROJECT_NAME} test_package_v2.cpp) +else() + add_executable(${PROJECT_NAME} test_package.cpp) +endif() target_link_libraries(${PROJECT_NAME} PRIVATE RPP::rpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp b/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp new file mode 100644 index 0000000000000..392c29a4ae623 --- /dev/null +++ b/recipes/reactiveplusplus/all/test_package/test_package_v2.cpp @@ -0,0 +1,18 @@ +// Source: https://github.com/victimsnino/ReactivePlusPlus/tree/v2/docs#operators + +#include + +#include +#include +#include + +int main() +{ + rpp::source::from_callable(&::getchar) + | rpp::operators::repeat() + | rpp::operators::take_while([](char v) { return v != '0'; }) + | rpp::operators::filter(std::not_fn(&::isdigit)) + | rpp::operators::map(&::toupper); + + return 0; +} diff --git a/recipes/reactiveplusplus/config.yml b/recipes/reactiveplusplus/config.yml index 34b32de1aab11..feccf8f451435 100644 --- a/recipes/reactiveplusplus/config.yml +++ b/recipes/reactiveplusplus/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.0": + folder: all "0.2.3": folder: all "0.2.1": From 0e4c7f14f8cad789051ccaa3280361fd8ccfe33a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 19:38:50 +0200 Subject: [PATCH 0737/1307] (#21997) hdf4: add v4.2.16-2 --- recipes/hdf4/all/conandata.yml | 5 +++++ recipes/hdf4/all/conanfile.py | 5 ++++- recipes/hdf4/config.yml | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/recipes/hdf4/all/conandata.yml b/recipes/hdf4/all/conandata.yml index b74cc986517d2..b92568111eedd 100644 --- a/recipes/hdf4/all/conandata.yml +++ b/recipes/hdf4/all/conandata.yml @@ -1,4 +1,9 @@ sources: + "4.2.16-2": + url: + - "https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF4/HDF4.2.16-2/src/hdf-4.2.16-2.tar.bz2" + - "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.16-2/src/hdf-4.2.16-2.tar.bz2" + sha256: "c5c3234b5012258aef2e4432f649b31c21b26015afba1857ad83640c3f2b692c" "4.2.15": url: "https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.gz" sha256: "dbeeef525af7c2d01539906c28953f0fdab7dba603d1bc1ec4a5af60d002c459" diff --git a/recipes/hdf4/all/conanfile.py b/recipes/hdf4/all/conanfile.py index 161143820d862..daa7c6c3b6c69 100644 --- a/recipes/hdf4/all/conanfile.py +++ b/recipes/hdf4/all/conanfile.py @@ -3,7 +3,8 @@ from conan import ConanFile from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save, move_folder_contents +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -64,6 +65,8 @@ def requirements(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + if Version(self.version) > "4.2.15": + move_folder_contents(self, os.path.join(self.source_folder, f"hdf-{self.version}"), self.source_folder) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/hdf4/config.yml b/recipes/hdf4/config.yml index 64a8c610990e2..da09b79435da4 100644 --- a/recipes/hdf4/config.yml +++ b/recipes/hdf4/config.yml @@ -1,3 +1,5 @@ versions: + "4.2.16-2": + folder: all "4.2.15": folder: all From 2caea7e94c2eea1a5a92d03b7773d80dcd7269e5 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Sat, 6 Jan 2024 19:58:33 +0200 Subject: [PATCH 0738/1307] (#22016) reflect-cpp: new recipe * Add reflect-cpp, locally tested * Update to 0.5.0 Specify gcc 11.4 as minimum specifically * Change to 0.6.0 * Change options from get_safe to direct check --- recipes/reflect-cpp/all/conandata.yml | 4 + recipes/reflect-cpp/all/conanfile.py | 92 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++ .../reflect-cpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 15 +++ .../all/test_v1_package/CMakeLists.txt | 9 ++ .../all/test_v1_package/conanfile.py | 18 ++++ recipes/reflect-cpp/config.yml | 3 + 8 files changed, 175 insertions(+) create mode 100644 recipes/reflect-cpp/all/conandata.yml create mode 100644 recipes/reflect-cpp/all/conanfile.py create mode 100644 recipes/reflect-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/reflect-cpp/all/test_package/conanfile.py create mode 100644 recipes/reflect-cpp/all/test_package/test_package.cpp create mode 100644 recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/reflect-cpp/all/test_v1_package/conanfile.py create mode 100644 recipes/reflect-cpp/config.yml diff --git a/recipes/reflect-cpp/all/conandata.yml b/recipes/reflect-cpp/all/conandata.yml new file mode 100644 index 0000000000000..e8f0dda436088 --- /dev/null +++ b/recipes/reflect-cpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.6.0": + url: "https://github.com/getml/reflect-cpp/archive/v0.6.0.tar.gz" + sha256: "D8231B91989397A67E841B56A0673FDCDF969DBE956D54BB629F14100B030664" diff --git a/recipes/reflect-cpp/all/conanfile.py b/recipes/reflect-cpp/all/conanfile.py new file mode 100644 index 0000000000000..4952fc02f03a6 --- /dev/null +++ b/recipes/reflect-cpp/all/conanfile.py @@ -0,0 +1,92 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.51.1" + +class ReflectCppConan(ConanFile): + name = "reflect-cpp" + description = "C++-20 library for fast serialization, deserialization and validation using reflection" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/getml/reflect-cpp" + topics = ("reflection", "serialization", "memory", "json", "xml", "flatbuffers", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_json" : [True, False], + "with_xml" : [True, False], + "with_flatbuffers" : [True, False], + "with_yaml": [True, False], + } + default_options = { + "with_json" : False, + "with_xml" : False, + "with_flatbuffers" : False, + "with_yaml" : False, + } + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "17", + "msvc": "193", + "gcc": "11.4", + "clang": "16", + "apple-clang": "15", + } + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + if self.options.with_json: + self.requires("yyjson/0.8.0", transitive_headers=True) + if self.options.with_xml: + self.requires("pugixml/1.14", transitive_headers=True) + if self.options.with_flatbuffers: + self.requires("flatbuffers/23.5.26", transitive_headers=True) + if self.options.with_yaml: + self.requires("yaml-cpp/0.8.0", transitive_headers=True) + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + apply_conandata_patches(self) + + def package(self): + copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.hpp", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/reflect-cpp/all/test_package/CMakeLists.txt b/recipes/reflect-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..66b58d7b20ff5 --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(reflect-cpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE reflect-cpp::reflect-cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/reflect-cpp/all/test_package/conanfile.py b/recipes/reflect-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/reflect-cpp/all/test_package/test_package.cpp b/recipes/reflect-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..04e4309cba5ea --- /dev/null +++ b/recipes/reflect-cpp/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include + +struct TestStruct { + int x; + std::string name; +}; + +int main(void) { + for (const auto& f : rfl::fields()) { + (void) f.name(); + (void) f.type(); + } + return 0; +} diff --git a/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt b/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..9652e22fc19d5 --- /dev/null +++ b/recipes/reflect-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.12) + +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/reflect-cpp/all/test_v1_package/conanfile.py b/recipes/reflect-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..5a05af3c2dfd2 --- /dev/null +++ b/recipes/reflect-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +from conans import ConanFile, CMake +from conan.tools.build import cross_building +import os + + +class TestPackageV1Conan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/reflect-cpp/config.yml b/recipes/reflect-cpp/config.yml new file mode 100644 index 0000000000000..7d9ba9dbc8ac9 --- /dev/null +++ b/recipes/reflect-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.6.0": + folder: all From 3f2c69324b2097427861e9c77f328f86d8c1d3c4 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:18:45 +0200 Subject: [PATCH 0739/1307] (#22037) miniupnpc: add v2.2.5, do not run upnpDiscover() in test_package * miniupnpc: add v2.2.5, do not run upnpDiscover() in test_package * miniupnpc: rmdir lib/cmake, lib/pkgconfig * miniupnpc: rmdir share/ * miniupnpc: fix LICENSE installation --- recipes/miniupnpc/all/conandata.yml | 3 +++ recipes/miniupnpc/all/conanfile.py | 14 ++++++++++---- recipes/miniupnpc/all/test_package/test_package.c | 4 +++- recipes/miniupnpc/config.yml | 2 ++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/recipes/miniupnpc/all/conandata.yml b/recipes/miniupnpc/all/conandata.yml index c414f1ae3f3a4..a75cdc40ec5d3 100644 --- a/recipes/miniupnpc/all/conandata.yml +++ b/recipes/miniupnpc/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.5": + url: "https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_2_2_5.tar.gz" + sha256: "feb2ce11c548115f6e7dead7a523790aceeca92b9fca718f26e5b22303af313c" "2.2.2": url: "https://github.com/miniupnp/miniupnp/archive/refs/tags/miniupnpc_2_2_2.tar.gz" sha256: "a598890cad635170dfce6281d71fc3052dee5c8220da0109281542156267c762" diff --git a/recipes/miniupnpc/all/conanfile.py b/recipes/miniupnpc/all/conanfile.py index 23ce55638aada..46bacdb3551ec 100644 --- a/recipes/miniupnpc/all/conanfile.py +++ b/recipes/miniupnpc/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -41,8 +42,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -67,11 +67,17 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", src=os.path.join(self.source_folder, "miniupnpc"), - dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) >= "2.2.4": + copy(self, "LICENSE", src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + else: + copy(self, "LICENSE", src=os.path.join(self.source_folder, "miniupnpc"), + dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "miniupnpc") diff --git a/recipes/miniupnpc/all/test_package/test_package.c b/recipes/miniupnpc/all/test_package/test_package.c index b7ba38ffbf1f2..43b44d24b83f2 100644 --- a/recipes/miniupnpc/all/test_package/test_package.c +++ b/recipes/miniupnpc/all/test_package/test_package.c @@ -7,6 +7,8 @@ int main(void) { int ipv6 = 0; unsigned char ttl = 2; int error = 0; - struct UPNPDev *devlist = upnpDiscover(2000, multicastif, minissdpdpath, localport, ipv6, ttl, &error); + if (0) { + struct UPNPDev *devlist = upnpDiscover(2000, multicastif, minissdpdpath, localport, ipv6, ttl, &error); + } return 0; } diff --git a/recipes/miniupnpc/config.yml b/recipes/miniupnpc/config.yml index 6d6cfc66eae07..e89bcaea7727b 100644 --- a/recipes/miniupnpc/config.yml +++ b/recipes/miniupnpc/config.yml @@ -1,3 +1,5 @@ versions: + "2.2.5": + folder: all "2.2.2": folder: all From bd9f282cc401f1573b48ede977e2795114364439 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:38:44 +0200 Subject: [PATCH 0740/1307] (#22041) uchardet: add v0.0.8 * uchardet: add v0.0.8 * uchardet: rmdir lib/cmake --- recipes/uchardet/all/conandata.yml | 5 ++++- recipes/uchardet/all/conanfile.py | 34 ++++++++++-------------------- recipes/uchardet/config.yml | 2 ++ 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/recipes/uchardet/all/conandata.yml b/recipes/uchardet/all/conandata.yml index 30099f9e54a80..8d50fe442e1ff 100644 --- a/recipes/uchardet/all/conandata.yml +++ b/recipes/uchardet/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.8": + url: "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.8.tar.xz" + sha256: "e97a60cfc00a1c147a674b097bb1422abd9fa78a2d9ce3f3fdcc2e78a34ac5f0" "0.0.7": - url: https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz + url: "https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.7.tar.xz" sha256: "3fc79408ae1d84b406922fa9319ce005631c95ca0f34b205fad867e8b30e45b1" diff --git a/recipes/uchardet/all/conanfile.py b/recipes/uchardet/all/conanfile.py index dc6c7c2cfb327..38d486d7a2d81 100644 --- a/recipes/uchardet/all/conanfile.py +++ b/recipes/uchardet/all/conanfile.py @@ -3,7 +3,8 @@ from conan import ConanFile from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.files import copy, get, replace_in_file, rmdir, save +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -62,28 +63,14 @@ def generate(self): tc.generate() def _patch_sources(self): - # the following fixes that apply to uchardet version 0.0.7 - # fix broken cmake - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "${CMAKE_BINARY_DIR}", - "${CMAKE_CURRENT_BINARY_DIR}", - ) - # fix problem with mac os - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)", - 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)', - ) - # disable building tests - replace_in_file( - self, - os.path.join(self.source_folder, "CMakeLists.txt"), - "add_subdirectory(test)", - "#add_subdirectory(test)", - ) + if Version(self.version) < "0.0.8": + # fix problem with macOS + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "string(TOLOWER ${CMAKE_SYSTEM_PROCESSOR} TARGET_ARCHITECTURE)", + 'string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" TARGET_ARCHITECTURE)') + # disable building of tests + save(self, os.path.join(self.source_folder, "doc", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "test", "CMakeLists.txt"), "") def build(self): self._patch_sources() @@ -97,6 +84,7 @@ def package(self): src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "share")) fix_apple_shared_install_name(self) diff --git a/recipes/uchardet/config.yml b/recipes/uchardet/config.yml index 3b1adbf0ba92f..1c066f06099c5 100644 --- a/recipes/uchardet/config.yml +++ b/recipes/uchardet/config.yml @@ -1,3 +1,5 @@ versions: + "0.0.8": + folder: all "0.0.7": folder: all From 1db3952da2223d4c4e7e10c85c809308962b2a74 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 6 Jan 2024 20:59:07 +0200 Subject: [PATCH 0741/1307] (#22042) wasmtime: add v16.0.0, drop old versions --- recipes/wasmtime/all/conandata.yml | 174 +++++------------------------ recipes/wasmtime/config.yml | 12 +- 2 files changed, 32 insertions(+), 154 deletions(-) diff --git a/recipes/wasmtime/all/conandata.yml b/recipes/wasmtime/all/conandata.yml index c449ffc3965a6..59585bd0e0f08 100644 --- a/recipes/wasmtime/all/conandata.yml +++ b/recipes/wasmtime/all/conandata.yml @@ -1,4 +1,34 @@ sources: + "16.0.0": + Windows: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-windows-c-api.zip" + sha256: "c832e904f0bf0e3958a82efd45f025bfa94bb5629825effb1c5700d47df79629" + MinGW: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-mingw-c-api.zip" + sha256: "dc6ea5781edaa1155cf38da30bf691d543010cb2a0c3c597d75a8e11df96ed25" + Linux: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-linux-c-api.tar.xz" + sha256: "5c67576f977c4373b77fc1304ff56b426a27b3f3ac481437ee51d5e915d43f7b" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-linux-c-api.tar.xz" + sha256: "373b2def51a2ba7d1f73e82a5adf62dcf8dfba27149f6ff6ff69cb6bd97a1bfc" + "s390x": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-s390x-linux-c-api.tar.xz" + sha256: "2340ca3abaaf0acf7185fe2e262e492c4b85c8d72fa9f8285ba58eb08418616b" + Macos: + "x86_64": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-x86_64-macos-c-api.tar.xz" + sha256: "f9e4b9df2993f6b0eb6a642b10fc38342e33fb3a9d5deb25dbf765b098bb9069" + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-macos-c-api.tar.xz" + sha256: "fff9a7516ea3befc23a0d7dcff6b2b23dbccc3674fb27359f2b2798242890943" + Android: + "armv8": + url: "https://github.com/bytecodealliance/wasmtime/releases/download/v16.0.0/wasmtime-v16.0.0-aarch64-linux-c-api.tar.xz" + sha256: "373b2def51a2ba7d1f73e82a5adf62dcf8dfba27149f6ff6ff69cb6bd97a1bfc" "12.0.2": Windows: "x86_64": @@ -29,36 +59,6 @@ sources: "armv8": url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.2/wasmtime-v12.0.2-aarch64-linux-c-api.tar.xz" sha256: "daf6ca147b288cf915978f064853f403ca163b52806ae0a52ddd5bd91a5a2507" - "12.0.1": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-windows-c-api.zip" - sha256: "e5da4752260ffd38e28cc56fc1db6f3cec65f9bf352b5e9757a92873e5a6f408" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-mingw-c-api.zip" - sha256: "7b7a6c7d3e2603ec51837c28ec5c9306d599d44b707d052faa5102c691e07685" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-linux-c-api.tar.xz" - sha256: "7f09952cba8e92ff3bd18ad59b847fb353a6cd6c9069b38c1b9763610616347f" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" - sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-s390x-linux-c-api.tar.xz" - sha256: "4482d42cf683f5ee4213fcb1c69f0b5fa7b4d948186d26ae6f647cc92ac4e779" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-x86_64-macos-c-api.tar.xz" - sha256: "89059ed138cb59c8c1f9008053da848d3d9e15c5edfe1a3f2f2d7c0c5bbf9597" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-macos-c-api.tar.xz" - sha256: "8dca391f22cf53ae4b19a689e3a2cce87541bb4575a98d2f402f36402be419f7" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v12.0.1/wasmtime-v12.0.1-aarch64-linux-c-api.tar.xz" - sha256: "fd7080f59413aca47e473e2f2517fbd75ef16d963925a7333c09d0621c81b449" "9.0.1": Windows: "x86_64": @@ -329,117 +329,3 @@ sources: "armv8": url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.39.1/wasmtime-v0.39.1-aarch64-linux-c-api.tar.xz" sha256: "3fb770e9afa3114c3ffe9f60e696ba3e4a74d34e4b50b59cce27c3d118f215b1" - "0.38.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-windows-c-api.zip" - sha256: "69b28fe9a89451e4561c628341c960c08d369caecfc319650660586dcf8c0c61" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-mingw-c-api.zip" - sha256: "926177b45afe208e64011a2cb68dc73e064c25391269982ca74678eeade30faf" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-linux-c-api.tar.xz" - sha256: "a4dfe18391feb807ae9c219734bc084ff11c1f2f26762dfb5252f5299cee434e" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-linux-c-api.tar.xz" - sha256: "01dd81ac4eeff128ff762b6f2e61336b723a78b940006cd405f135e509046c4e" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-s390x-linux-c-api.tar.xz" - sha256: "552c991ab894fa250a5be296befb1c9f44c115de760ffe80b9ddf430f3e30ec0" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-x86_64-macos-c-api.tar.xz" - sha256: "651c41d4de8958caf80086bab46d0f326bbfa0f328f544a632df52b050f2776c" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-macos-c-api.tar.xz" - sha256: "1e424122c73418c972287043a50555569afb09dc721fb6630503bf455cbd2856" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.38.0/wasmtime-v0.38.0-aarch64-linux-c-api.tar.xz" - sha256: "01dd81ac4eeff128ff762b6f2e61336b723a78b940006cd405f135e509046c4e" - "0.37.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-windows-c-api.zip" - sha256: "1e2db8ccb86d2da0607aca783bb3c929562e4fa688a94452dffa745867494a2d" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-mingw-c-api.zip" - sha256: "62966da16277aaf3312525c1e5ce08202d56c8450855bfaf7b319ffa4355fd52" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-linux-c-api.tar.xz" - sha256: "7b8de351808eb4dd3186bcc18b8f54d6c486ec1f21961521be49d02d38833696" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-linux-c-api.tar.xz" - sha256: "926c4736cc79835f880f5b6f193891960a4fc32464ca00871ffd7228605387d9" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-s390x-linux-c-api.tar.xz" - sha256: "cdcefd0394cfaefdac9eba9417016c7a916a063f567b483d6df09b883d9b5976" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-x86_64-macos-c-api.tar.xz" - sha256: "0f785932fc69105dcecbb2d7c1ceb0cd63dffa5e4b0b3f198c4c56118bdb4ecd" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-macos-c-api.tar.xz" - sha256: "0a0f5fd2283f52b3ab725650a5dfc77a8bf53de962344fabc37418af9e5e407a" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.37.0/wasmtime-v0.37.0-aarch64-linux-c-api.tar.xz" - sha256: "926c4736cc79835f880f5b6f193891960a4fc32464ca00871ffd7228605387d9" - "0.36.0": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-windows-c-api.zip" - sha256: "7c0cc05d73b376bce31964c99720cecd9f595fc4a338e4a45bbc04cca5780508" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-mingw-c-api.zip" - sha256: "c4a6d3f0e428f3c912bef930c2d332fe09939b01b59f37a16ec6f4f7a89119e4" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-linux-c-api.tar.xz" - sha256: "c82c9fd1449a4a78710b8ada47db7386edb1caafcb8baa7cdedb79539fedb372" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-aarch64-linux-c-api.tar.xz" - sha256: "865e73764fca8552734eea72d990d32a670e8e7079f8fc5f15d70cb03ef3c8d9" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-s390x-linux-c-api.tar.xz" - sha256: "ec36bacf5b24b9da5ef1cdc979caf224412146d683ed6021f3bbd75adcb3754e" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-x86_64-macos-c-api.tar.xz" - sha256: "8a97dfce791d9ad0acb346cdd6aa8f0f9ca85a94aa4c456ac9534c1994867dbf" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.36.0/wasmtime-v0.36.0-aarch64-linux-c-api.tar.xz" - sha256: "865e73764fca8552734eea72d990d32a670e8e7079f8fc5f15d70cb03ef3c8d9" - "0.35.1": - Windows: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-windows-c-api.zip" - sha256: "055d0fead69eaf906bb68dd758fe4d59ee3638888503832142857f35feaba782" - MinGW: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-mingw-c-api.zip" - sha256: "aee0f5f58915921191c4f9defda1a7172c6ca76c95e8d562e4cbefc5f0e1fff0" - Linux: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-linux-c-api.tar.xz" - sha256: "dd6ec4a87eed1a34ad386ca950ef01a7e9300b713beb38da8e51dd3f92ece002" - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-aarch64-linux-c-api.tar.xz" - sha256: "8e263a62919a8dc8a7789abe3cfc69bdc0d6ea14b0cabee7a988bac250436785" - "s390x": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-s390x-linux-c-api.tar.xz" - sha256: "ed84e8b4c10c22ee5de3908aa006884bc1c38122e4a020cb9d91d86ed597d8a4" - Macos: - "x86_64": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-x86_64-macos-c-api.tar.xz" - sha256: "e32b46a537cf4311435477336cbcd30d68099097963b55c62ec5c12834326560" - Android: - "armv8": - url: "https://github.com/bytecodealliance/wasmtime/releases/download/v0.35.1/wasmtime-v0.35.1-aarch64-linux-c-api.tar.xz" - sha256: "8e263a62919a8dc8a7789abe3cfc69bdc0d6ea14b0cabee7a988bac250436785" diff --git a/recipes/wasmtime/config.yml b/recipes/wasmtime/config.yml index e5ce53b819caa..53f9ed2965380 100644 --- a/recipes/wasmtime/config.yml +++ b/recipes/wasmtime/config.yml @@ -1,7 +1,7 @@ versions: - "12.0.2": + "16.0.0": folder: all - "12.0.1": + "12.0.2": folder: all "9.0.1": folder: all @@ -21,11 +21,3 @@ versions: folder: all "0.39.1": folder: all - "0.38.0": - folder: all - "0.37.0": - folder: all - "0.36.0": - folder: all - "0.35.1": - folder: all From 53813eb7e80298e3e407bb5563d01cff612a5d88 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 04:20:20 +0900 Subject: [PATCH 0742/1307] (#22178) mold: add version 2.4.0 --- recipes/mold/all/conandata.yml | 3 +++ recipes/mold/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/mold/all/conandata.yml b/recipes/mold/all/conandata.yml index 3cb117fe8e4d9..27fad647a9723 100644 --- a/recipes/mold/all/conandata.yml +++ b/recipes/mold/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.0": + url: "https://github.com/rui314/mold/archive/refs/tags/v2.4.0.tar.gz" + sha256: "be65f3d785d32ece7b3204ecaa57810847fdd25c232cf704cbfff2dafb1ac107" "2.0.0": url: "https://github.com/rui314/mold/archive/refs/tags/v2.0.0.tar.gz" sha256: "2ae8a22db09cbff626df74c945079fa29c1e5f60bbe02502dcf69191cf43527b" diff --git a/recipes/mold/config.yml b/recipes/mold/config.yml index eb4087643c784..b4070800652f5 100644 --- a/recipes/mold/config.yml +++ b/recipes/mold/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.0": + folder: all "2.0.0": folder: all "1.4.2": From c40d0f76a875093a85b4484d70b95729816cdfaf Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 04:29:52 +0900 Subject: [PATCH 0743/1307] (#22181) stringzilla: add version 2.0.4 --- recipes/stringzilla/all/conandata.yml | 3 +++ recipes/stringzilla/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/stringzilla/all/conandata.yml b/recipes/stringzilla/all/conandata.yml index 63892a4c139d3..182ba818238f7 100644 --- a/recipes/stringzilla/all/conandata.yml +++ b/recipes/stringzilla/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.4": + url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.4.tar.gz" + sha256: "440d3d586f8cfe96bc7648f01f2d3c514c4e2dc22446caeb50599383d1970ed2" "2.0.3": url: "https://github.com/ashvardanian/StringZilla/archive/refs/tags/v2.0.3.tar.gz" sha256: "6b52a7b4eb8383cbcf83608eaa08e5ba588a378449439b73584713a16d8920e3" diff --git a/recipes/stringzilla/config.yml b/recipes/stringzilla/config.yml index bb807cfa42498..c0ea771b63446 100644 --- a/recipes/stringzilla/config.yml +++ b/recipes/stringzilla/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.4": + folder: all "2.0.3": folder: all "2.0.1": From 4c2f6c4ea3ea353947a545c2227c8d8adaa0a608 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sat, 6 Jan 2024 22:38:15 +0100 Subject: [PATCH 0744/1307] (#21770) Opentdf/all: bump deps * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * opentdf-client/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py * Update conanfile.py --- recipes/opentdf-client/all/conanfile.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/recipes/opentdf-client/all/conanfile.py b/recipes/opentdf-client/all/conanfile.py index fe131a8a2f728..1709d84e6a285 100644 --- a/recipes/opentdf-client/all/conanfile.py +++ b/recipes/opentdf-client/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, replace_in_file, get, copy +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version @@ -41,8 +41,8 @@ def _minimum_cpp_standard(self): @property def _minimum_compilers_version(self): return { - "Visual Studio": "17" if Version(self.version) < "1.1.5" else "15", - "msvc": "193" if Version(self.version) < "1.1.5" else "191", + "Visual Studio": "15", + "msvc": "191", "gcc": "7.5", "clang": "12", "apple-clang": "12", @@ -155,8 +155,6 @@ def package_info(self): ] if Version(self.version) >= "1.4.0": self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") - if Version(self.version) < "1.1.0": - self.cpp_info.components["libopentdf"].requires.append("libarchive::libarchive") if Version(self.version) >= "1.4.0": self.cpp_info.components["libopentdf"].requires.append("magic_enum::magic_enum") From d5308f47a74acee8ad7f3e42dc3f15ba0aebd0e2 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 7 Jan 2024 14:50:55 +0900 Subject: [PATCH 0745/1307] (#22179) toml11: add package_type --- recipes/toml11/all/conanfile.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/recipes/toml11/all/conanfile.py b/recipes/toml11/all/conanfile.py index 72284ac7310c2..7d770d91572aa 100644 --- a/recipes/toml11/all/conanfile.py +++ b/recipes/toml11/all/conanfile.py @@ -9,11 +9,12 @@ class Toml11Conan(ConanFile): name = "toml11" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://github.com/ToruNiina/toml11" description = "TOML for Modern C++" - topics = ("toml", "c-plus-plus-11", "c-plus-plus", "parser", "serializer") license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ToruNiina/toml11" + topics = ("toml", "c-plus-plus-11", "c-plus-plus", "parser", "serializer", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -28,11 +29,7 @@ def validate(self): check_min_cppstd(self, 11) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) - - def build(self): - pass + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): copy(self, "toml.hpp", src=self.source_folder, dst=os.path.join(self.package_folder, "include", "toml11")) From 06b64f7c3933112a0bcf2e15b9a240b15139dea0 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Sun, 7 Jan 2024 08:53:08 +0100 Subject: [PATCH 0746/1307] (#22182) Bump/cyclonedds/all * cyclonedds/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * cyclonedds/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/cyclonedds/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/cyclonedds/all/conanfile.py b/recipes/cyclonedds/all/conanfile.py index f35480b98cba1..18f0542a85ec8 100644 --- a/recipes/cyclonedds/all/conanfile.py +++ b/recipes/cyclonedds/all/conanfile.py @@ -77,7 +77,7 @@ def layout(self): def requirements(self): if self.options.with_shm: - self.requires("iceoryx/2.0.2") + self.requires("iceoryx/2.0.5") if self.options.with_ssl: self.requires("openssl/[>=1.1 <4]") From 1e5b0a43622f3f092cb1f0376dcd25fd3ae54e7e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 7 Jan 2024 14:04:58 +0200 Subject: [PATCH 0747/1307] (#21929) openmesh: add v10.0 * openmesh: add v10.0.0 * openmesh: rename to v10.0 * openmesh: ensure cppstd is set * openmesh: libc++ requires C++14 * openmesh: add a patch to fix C++11 compatibility --- recipes/openmesh/all/conandata.yml | 8 ++++++++ recipes/openmesh/all/conanfile.py | 10 ++++++++-- .../patches/restore-cxx11-compatibility.patch | 17 +++++++++++++++++ recipes/openmesh/config.yml | 2 ++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 recipes/openmesh/all/patches/restore-cxx11-compatibility.patch diff --git a/recipes/openmesh/all/conandata.yml b/recipes/openmesh/all/conandata.yml index da3df78a47023..a2b42f64b8c89 100644 --- a/recipes/openmesh/all/conandata.yml +++ b/recipes/openmesh/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.0": + url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/10.0/OpenMesh-10.0.0.tar.bz2" + sha256: "af22520a474bb6a3b355eb0867449c6b995126f97632d1ee5ff9c7ebd322fedb" "9.0": url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/9.0/OpenMesh-9.0.tar.gz" sha256: "b9574c921482798ce75a8bf578345a84b928ca26ee759219d21b310e2db9d006" @@ -6,6 +9,11 @@ sources: url: "https://www.graphics.rwth-aachen.de/media/openmesh_static/Releases/8.1/OpenMesh-8.1.tar.gz" sha256: "0953777f483d47ea9fa00c329838443a7a09dde8be77bf7de188001cb9e768a7" patches: + "10.0": + - patch_file: "patches/cmake-install_9.0.patch" + - patch_file: "patches/restore-cxx11-compatibility.patch" + patch_description: "Revert a minor change that broke C++11 compatibility for libc++" + patch_type: "portability" "9.0": - patch_file: "patches/cmake-install_9.0.patch" "8.1": diff --git a/recipes/openmesh/all/conanfile.py b/recipes/openmesh/all/conanfile.py index 36d307d2c5111..0c47f08b1897f 100644 --- a/recipes/openmesh/all/conanfile.py +++ b/recipes/openmesh/all/conanfile.py @@ -1,5 +1,5 @@ from conan import ConanFile -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.microsoft import is_msvc @@ -29,6 +29,10 @@ class OpenmeshConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 11 + def export_sources(self): export_conandata_patches(self) @@ -45,7 +49,7 @@ def layout(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -56,6 +60,8 @@ def generate(self): tc.variables["OPENMESH_BUILD_SHARED"] = self.options.shared tc.variables["BUILD_APPS"] = False tc.variables["OPENMESH_DOCS"] = False + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() def build(self): diff --git a/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch b/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch new file mode 100644 index 0000000000000..144df56809a27 --- /dev/null +++ b/recipes/openmesh/all/patches/restore-cxx11-compatibility.patch @@ -0,0 +1,17 @@ +Partial revert of https://gitlab.vci.rwth-aachen.de:9000/OpenMesh/OpenMesh/-/commit/998eec1390dcabbb502dc1ac1bc17cd09a16e343 +for compatibility with C++11. + +https://web.archive.org/web/20151001014443/http://en.cppreference.com/w/cpp/container/vector/emplace_back +"The specialization std::vector did not have emplace_back() member until C++14." + +--- src/OpenMesh/Core/Utils/Property.hh ++++ src/OpenMesh/Core/Utils/Property.hh +@@ -250,7 +250,7 @@ + virtual void reserve(size_t _n) override { data_.reserve(_n); } + virtual void resize(size_t _n) override { data_.resize(_n); } + virtual void clear() override { data_.clear(); vector_type().swap(data_); } +- virtual void push_back() override { data_.emplace_back(); } ++ virtual void push_back() override { data_.push_back(bool()); } + virtual void swap(size_t _i0, size_t _i1) override + { bool t(data_[_i0]); data_[_i0]=data_[_i1]; data_[_i1]=t; } + virtual void copy(size_t _i0, size_t _i1) override diff --git a/recipes/openmesh/config.yml b/recipes/openmesh/config.yml index 6b3545daffc92..a5f8255a5ed2a 100644 --- a/recipes/openmesh/config.yml +++ b/recipes/openmesh/config.yml @@ -1,4 +1,6 @@ versions: + "10.0": + folder: all "9.0": folder: all "8.1": From f174071b1e873360c644b401e61a66bd3c8f9aac Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 8 Jan 2024 08:43:28 +0200 Subject: [PATCH 0748/1307] (#21933) plf_list: add v2.70 * plf_list: add v2.70 * plf_list: C++17 is required for latest version --- recipes/plf_list/all/conandata.yml | 3 ++ recipes/plf_list/all/conanfile.py | 31 +++++++++++++++++-- .../plf_list/all/test_package/CMakeLists.txt | 3 ++ recipes/plf_list/config.yml | 2 ++ 4 files changed, 37 insertions(+), 2 deletions(-) diff --git a/recipes/plf_list/all/conandata.yml b/recipes/plf_list/all/conandata.yml index 69ea21b761e16..6f1a0b798e6f8 100644 --- a/recipes/plf_list/all/conandata.yml +++ b/recipes/plf_list/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.70": + url: "https://github.com/mattreecebentley/plf_list/archive/c48d271caad535a783a37e418e1f146040934a30.tar.gz" + sha256: "d6bd1dfb4e7e02804ad91c5a06c9d6f3a3512499ce5c3c0a633eba5e67e90930" "2.57": url: "https://github.com/mattreecebentley/plf_list/archive/d7a06d7497dc01261dd2c2fe675a8b605acb7a56.tar.gz" sha256: "4297c7578fe5ea2c6346541b28a57d87ec311522fa55bc8a5ab069921fc073e9" diff --git a/recipes/plf_list/all/conanfile.py b/recipes/plf_list/all/conanfile.py index 93c3eafa9a2e2..a5286712197f8 100644 --- a/recipes/plf_list/all/conanfile.py +++ b/recipes/plf_list/all/conanfile.py @@ -1,8 +1,12 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get, apply_conandata_patches, export_conandata_patches from conan.tools.layout import basic_layout +from conan.tools.scm import Version import os + required_conan_version = ">=1.50.0" @@ -15,6 +19,20 @@ class PlflistConan(ConanFile): homepage = "https://github.com/mattreecebentley/plf_list" settings = "os", "arch", "compiler", "build_type" + @property + def _min_cppstd(self): + return 17 + + @property + def _minimum_compilers_version(self): + return { + "gcc": "7", + "clang": "5", + "apple-clang": "9", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -24,9 +42,18 @@ def package_id(self): def layout(self): basic_layout(self, src_folder="src") + def validate(self): + if Version(self.version) >= "2.70": + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.", + ) + def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) diff --git a/recipes/plf_list/all/test_package/CMakeLists.txt b/recipes/plf_list/all/test_package/CMakeLists.txt index 9871eca4a6f1f..0ca253af213ab 100644 --- a/recipes/plf_list/all/test_package/CMakeLists.txt +++ b/recipes/plf_list/all/test_package/CMakeLists.txt @@ -5,3 +5,6 @@ find_package(plf_list REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE plf_list::plf_list) +if (plf_list_VERSION VERSION_GREATER_EQUAL 2.70) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +endif() diff --git a/recipes/plf_list/config.yml b/recipes/plf_list/config.yml index ca1f4fbf159c4..2dc3d36de7cf2 100644 --- a/recipes/plf_list/config.yml +++ b/recipes/plf_list/config.yml @@ -1,4 +1,6 @@ versions: + "2.70": + folder: all "2.57": folder: all "2.52": From ae049ca082b77e7c1c596150cd995acee350e9eb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 8 Jan 2024 18:49:11 +0100 Subject: [PATCH 0749/1307] (#20943) libtool: use `host_version` for automake and fix conanv1 build with 2 profiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/libtool/all/conanfile.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libtool/all/conanfile.py b/recipes/libtool/all/conanfile.py index d832ae4219971..ff73256ddebc0 100644 --- a/recipes/libtool/all/conanfile.py +++ b/recipes/libtool/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.errors import ConanException from conan.tools.apple import is_apple_os, fix_apple_shared_install_name -from conan.tools.env import Environment +from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rename, replace_in_file, rmdir from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout @@ -11,7 +11,8 @@ import re import shutil -required_conan_version = ">=1.57.0" +required_conan_version = ">=1.60.0 <2 || >=2.0.5" + class LibtoolConan(ConanFile): name = "libtool" @@ -33,6 +34,10 @@ class LibtoolConan(ConanFile): "fPIC": True, } + @property + def _has_dual_profiles(self): + return hasattr(self, "settings_build") + def export_sources(self): export_conandata_patches(self) @@ -61,8 +66,8 @@ def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if hasattr(self, "settings_build"): - self.tool_requires("automake/1.16.5") + if self._has_dual_profiles: + self.tool_requires("automake/") self.tool_requires("m4/1.4.19") # Needed by configure self.tool_requires("gnu-config/cci.20210814") @@ -79,6 +84,10 @@ def _datarootdir(self): return os.path.join(self.package_folder, "res") def generate(self): + VirtualBuildEnv(self).generate() + if not self._has_dual_profiles: + VirtualRunEnv(self).generate(scope="build") + if is_msvc(self): # __VSCMD_ARG_NO_LOGO: this test_package has too many invocations, # this avoids printing the logo everywhere From edf1c5a297df013a55cb2d6ac7bf284681a86f33 Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Tue, 9 Jan 2024 07:20:28 +0100 Subject: [PATCH 0750/1307] (#21500) jwt-cpp: add package_type & cleanup recipe a little bit * add package_type & cleanup recipe a little bit * limit diff after resolving conflicts --- recipes/jwt-cpp/all/conanfile.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/recipes/jwt-cpp/all/conanfile.py b/recipes/jwt-cpp/all/conanfile.py index 9d87ec3c326fb..1e09b3d6625c7 100644 --- a/recipes/jwt-cpp/all/conanfile.py +++ b/recipes/jwt-cpp/all/conanfile.py @@ -13,8 +13,8 @@ class JwtCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/Thalhammer/jwt-cpp" topics = ("json", "jwt", "jws", "jwe", "jwk", "jwks", "jose", "header-only") + package_type = "header-library" settings = "os", "arch", "compiler", "build_type" - no_copy_source = True @property def _supports_generic_json(self): @@ -35,8 +35,7 @@ def package_id(self): self.info.clear() def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def build(self): apply_conandata_patches(self) @@ -55,7 +54,3 @@ def package_info(self): if self._supports_generic_json: self.cpp_info.defines.append("JWT_DISABLE_PICOJSON") - - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "jwt-cpp" - self.cpp_info.names["cmake_find_package_multi"] = "jwt-cpp" From 1c1162e7ffbb5d93f3f95f605f59215a0668d787 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 9 Jan 2024 11:06:59 +0000 Subject: [PATCH 0751/1307] (#22216) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 2eebaa6113069..13d3b1783e5d0 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -141,6 +141,7 @@ required_for_references: - cargs - cassandra-cpp-driver - catch2 +- cc65 - ccache - cccl - ccfits @@ -752,6 +753,7 @@ required_for_references: - libuuid - libuv - libuvc +- libva - libvault - libverto - libvips @@ -1121,6 +1123,7 @@ required_for_references: - redboltz-mqtt_cpp - redis-plus-plus - refl-cpp +- reflect-cpp - replxx - resource_pool - restbed From a1390a65975fb5c98e3e825cd23cc73e611c819a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 15:35:31 +0200 Subject: [PATCH 0752/1307] (#22021) flac: add v1.4.3, simplify patching --- recipes/flac/all/conandata.yml | 7 ++-- recipes/flac/all/conanfile.py | 9 ++++- .../flac/all/patches/fix-cmake-1.3.3.patch | 18 --------- .../flac/all/patches/fix-cmake-1.4.2.patch | 38 ------------------- recipes/flac/config.yml | 2 + 5 files changed, 12 insertions(+), 62 deletions(-) delete mode 100644 recipes/flac/all/patches/fix-cmake-1.4.2.patch diff --git a/recipes/flac/all/conandata.yml b/recipes/flac/all/conandata.yml index b0d1e5271b850..e2b6d7651827c 100644 --- a/recipes/flac/all/conandata.yml +++ b/recipes/flac/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.3": + url: "https://github.com/xiph/flac/releases/download/1.4.3/flac-1.4.3.tar.xz" + sha256: "6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70" "1.4.2": url: "https://github.com/xiph/flac/releases/download/1.4.2/flac-1.4.2.tar.xz" sha256: "e322d58a1f48d23d9dd38f432672865f6f79e73a6f9cc5a5f57fcaa83eb5a8e4" @@ -6,10 +9,6 @@ sources: url: "https://github.com/xiph/flac/archive/1.3.3.tar.gz" sha256: "668cdeab898a7dd43cf84739f7e1f3ed6b35ece2ef9968a5c7079fe9adfe1689" patches: - "1.4.2": - - patch_file: "patches/fix-cmake-1.4.2.patch" - patch_description: "Adapts find_package commands and install destination paths in CMakeLists.txt files." - patch_type: "conan" "1.3.3": - patch_file: "patches/fix-cmake-1.3.3.patch" patch_description: "Various adaptations in CMakeLists.txt files to improve compatibility with Conan." diff --git a/recipes/flac/all/conanfile.py b/recipes/flac/all/conanfile.py index e8e39c9a71f0a..e8bc14ed2a18c 100644 --- a/recipes/flac/all/conanfile.py +++ b/recipes/flac/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file from conan.tools.scm import Version import os @@ -63,8 +63,13 @@ def generate(self): envbuild = VirtualBuildEnv(self) envbuild.generate(scope="build") - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + replace_in_file(self, os.path.join(self.source_folder, "src", "share", "getopt", "CMakeLists.txt"), + "find_package(Intl)", "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/flac/all/patches/fix-cmake-1.3.3.patch b/recipes/flac/all/patches/fix-cmake-1.3.3.patch index ec7db2f2d00aa..3c5a864e8bbd4 100644 --- a/recipes/flac/all/patches/fix-cmake-1.3.3.patch +++ b/recipes/flac/all/patches/fix-cmake-1.3.3.patch @@ -1,14 +1,5 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -13,7 +13,7 @@ option(BUILD_EXAMPLES "Build and install examples" ON) - option(WITH_OGG "ogg support (default: test for libogg)" ON) - - if(WITH_OGG) -- find_package(OGG REQUIRED) -+ find_package(Ogg REQUIRED CONFIG) - endif() - - if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") @@ -25,9 +25,6 @@ endif() if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef") @@ -55,12 +46,3 @@ install(TARGETS metaflac EXPORT targets - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/share/getopt/CMakeLists.txt -+++ b/src/share/getopt/CMakeLists.txt -@@ -1,6 +1,5 @@ - check_include_file("string.h" HAVE_STRING_H) - --find_package(Intl) - - add_library(getopt STATIC getopt.c getopt1.c) - diff --git a/recipes/flac/all/patches/fix-cmake-1.4.2.patch b/recipes/flac/all/patches/fix-cmake-1.4.2.patch deleted file mode 100644 index bd5a0ebdb6997..0000000000000 --- a/recipes/flac/all/patches/fix-cmake-1.4.2.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -43,7 +43,7 @@ if(WITH_OGG) - endif() - else() - if(NOT TARGET Ogg::ogg) -- find_package(Ogg REQUIRED) -+ find_package(Ogg REQUIRED CONFIG) - else() - set(OGG_FOUND 1 CACHE INTERNAL "ogg has already been built") - endif() ---- a/src/flac/CMakeLists.txt -+++ b/src/flac/CMakeLists.txt -@@ -21,4 +21,4 @@ target_link_libraries(flacapp - utf8) - - install(TARGETS flacapp EXPORT targets -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -+ DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/metaflac/CMakeLists.txt -+++ b/src/metaflac/CMakeLists.txt -@@ -14,4 +14,4 @@ add_executable(metaflac - target_link_libraries(metaflac FLAC getopt utf8) - - install(TARGETS metaflac EXPORT targets -- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -+ DESTINATION "${CMAKE_INSTALL_BINDIR}") ---- a/src/share/getopt/CMakeLists.txt -+++ b/src/share/getopt/CMakeLists.txt -@@ -1,8 +1,7 @@ - check_include_file("string.h" HAVE_STRING_H) - - if(NOT WIN32) -- find_package(Intl) - endif() - - add_library(getopt STATIC getopt.c getopt1.c) - diff --git a/recipes/flac/config.yml b/recipes/flac/config.yml index fac8ae5f33f51..05362b19fb86b 100644 --- a/recipes/flac/config.yml +++ b/recipes/flac/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.3": + folder: all "1.4.2": folder: all "1.3.3": From 2f01b4dec10f3d65404c17132694d7f8b1503242 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 15:43:05 +0200 Subject: [PATCH 0753/1307] (#21642) z3: add version 4.12.4 * z3: add version 4.12.3 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) * z3: bump deps, do not override CMAKE_CXX_FLAGS * z3: bump to v4.12.4 * z3: restore the stdlib hack --------- Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/z3/all/CMakeLists.txt | 7 ---- recipes/z3/all/conandata.yml | 3 ++ recipes/z3/all/conanfile.py | 62 +++++++++++++++++------------------ recipes/z3/config.yml | 2 ++ 4 files changed, 36 insertions(+), 38 deletions(-) delete mode 100644 recipes/z3/all/CMakeLists.txt diff --git a/recipes/z3/all/CMakeLists.txt b/recipes/z3/all/CMakeLists.txt deleted file mode 100644 index 9304b61295329..0000000000000 --- a/recipes/z3/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS KEEP_RPATHS) - -add_subdirectory(source_subfolder) diff --git a/recipes/z3/all/conandata.yml b/recipes/z3/all/conandata.yml index 8720c1e15bb24..f57877f85f54a 100644 --- a/recipes/z3/all/conandata.yml +++ b/recipes/z3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.12.4": + url: "https://github.com/Z3Prover/z3/archive/z3-4.12.4.tar.gz" + sha256: "25e9b18d04ee22f1d872dfe0daaf4c39034744525214e34fedd206e25140e96e" "4.12.2": url: "https://github.com/Z3Prover/z3/archive/refs/tags/z3-4.12.2.tar.gz" sha256: "9f58f3710bd2094085951a75791550f547903d75fe7e2fcb373c5f03fc761b8f" diff --git a/recipes/z3/all/conanfile.py b/recipes/z3/all/conanfile.py index b8fb69514925d..6d143a07d34f6 100644 --- a/recipes/z3/all/conanfile.py +++ b/recipes/z3/all/conanfile.py @@ -1,11 +1,12 @@ +import os + from conan import ConanFile -from conan.tools.microsoft import check_min_vs -from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import export_conandata_patches, apply_conandata_patches, replace_in_file, get, copy, rmdir, save +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import get, copy, rmdir from conan.tools.scm import Version -from conan.errors import ConanInvalidConfiguration -import os required_conan_version = ">=1.53.0" @@ -18,6 +19,7 @@ class Z3Conan(ConanFile): homepage = "https://github.com/Z3Prover/z3" license = "MIT" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,21 +36,19 @@ class Z3Conan(ConanFile): @property def _min_cppstd(self): - return "17" + return 17 @property def _compilers_minimum_version(self): + # Z3 requires C++17, and it is recommended to use VS2019 or later # Compiling z3 with GCC 7 results in a segfault return { - "17": { - "gcc": "8", - "clang": "5", - "apple-clang": "9.1", - }, - }.get(self._min_cppstd, {}) - - def export_sources(self): - export_conandata_patches(self) + "gcc": "8", + "clang": "5", + "apple-clang": "9", + "msvc": "192", + "Visual Studio": "16", + } def config_options(self): if self.settings.os == "Windows": @@ -63,12 +63,9 @@ def layout(self): def requirements(self): if self.options.use_gmp: - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") def validate(self): - # Z3 requires C++17, and it is recommended to use VS2019 or later - check_min_vs(self, "192") - if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) @@ -78,10 +75,16 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + venv = VirtualBuildEnv(self) + venv.generate() + tc = CMakeToolchain(self) tc.variables["Z3_USE_LIB_GMP"] = self.options.use_gmp tc.variables["Z3_SINGLE_THREADED"] = not self.options.multithreaded @@ -96,20 +99,19 @@ def generate(self): stdlib = f" -stdlib={self.settings.compiler.libcxx}".rstrip("1") tc.variables["CMAKE_CXX_FLAGS"] = tc.variables.get("CMAKE_CXX_FLAGS", "") + stdlib tc.generate() - tc = CMakeDeps(self) + + deps = CMakeDeps(self) # Override the target name of the GMP library provided by Conan Center - if self.options.use_gmp: - tc.set_property("gmp", "cmake_target_name", "GMP::GMP") - tc.generate() + deps.set_property("gmp", "cmake_target_name", "GMP::GMP") + deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() def package(self): - copy(self, "LICENSE.txt", src=os.path.join(self.source_folder), dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.txt", os.path.join(self.source_folder), os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -120,12 +122,10 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "z3::libz3") # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed - self.cpp_info.components["libz3"].libs = [ - "libz3" if self.settings.os == "Windows" else "z3"] - if not self.options.shared: - if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["libz3"]\ - .system_libs.extend(["pthread", "m"]) + self.cpp_info.components["libz3"].libs = ["libz3" if self.settings.os == "Windows" else "z3"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["libz3"].system_libs.extend(["pthread", "m"]) + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "Z3" self.cpp_info.filenames["cmake_find_package_multi"] = "Z3" diff --git a/recipes/z3/config.yml b/recipes/z3/config.yml index 16c46b24354e5..3fad1114f7caf 100644 --- a/recipes/z3/config.yml +++ b/recipes/z3/config.yml @@ -1,4 +1,6 @@ versions: + "4.12.4": + folder: "all" "4.12.2": folder: "all" "4.12.1": From 66e6642f62ef6255a1b781bf62a7888bf0e47334 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 9 Jan 2024 16:15:37 +0200 Subject: [PATCH 0754/1307] (#22061) ptex: add v2.4.2 --- recipes/ptex/all/conandata.yml | 7 ++++++- recipes/ptex/all/conanfile.py | 14 ++++++++++++-- ...cmake.patch => 2.4.0-0001-fix-cmake.patch} | 8 -------- .../all/patches/2.4.2-0001-fix-cmake.patch | 19 +++++++++++++++++++ recipes/ptex/config.yml | 2 ++ 5 files changed, 39 insertions(+), 11 deletions(-) rename recipes/ptex/all/patches/{0001-fix-cmake.patch => 2.4.0-0001-fix-cmake.patch} (90%) create mode 100644 recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch diff --git a/recipes/ptex/all/conandata.yml b/recipes/ptex/all/conandata.yml index 7a294e96324ee..6d50d86a6dad6 100644 --- a/recipes/ptex/all/conandata.yml +++ b/recipes/ptex/all/conandata.yml @@ -1,7 +1,12 @@ sources: + "2.4.2": + url: "https://github.com/wdas/ptex/archive/refs/tags/v2.4.2.tar.gz" + sha256: "c8235fb30c921cfb10848f4ea04d5b662ba46886c5e32ad5137c5086f3979ee1" "2.4.0": url: "https://github.com/wdas/ptex/archive/refs/tags/v2.4.0.tar.gz" sha256: "690d66b72f34a92488d63134ad1f5736078677356b0004070b0169b9e3240f8e" patches: + "2.4.2": + - patch_file: "patches/2.4.2-0001-fix-cmake.patch" "2.4.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/2.4.0-0001-fix-cmake.patch" diff --git a/recipes/ptex/all/conanfile.py b/recipes/ptex/all/conanfile.py index 48fcf6593c820..83f58340ae19c 100644 --- a/recipes/ptex/all/conanfile.py +++ b/recipes/ptex/all/conanfile.py @@ -1,8 +1,11 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save import os +from conan.tools.gnu import PkgConfigDeps + required_conan_version = ">=1.53.0" @@ -54,8 +57,15 @@ def generate(self): cd = CMakeDeps(self) cd.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # disable subdirs + save(self, os.path.join(self.source_folder, "src", "utils", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "src", "tests", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "src", "doc", "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/ptex/all/patches/0001-fix-cmake.patch b/recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch similarity index 90% rename from recipes/ptex/all/patches/0001-fix-cmake.patch rename to recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch index f6481be77aa84..df8361be35c65 100644 --- a/recipes/ptex/all/patches/0001-fix-cmake.patch +++ b/recipes/ptex/all/patches/2.4.0-0001-fix-cmake.patch @@ -28,14 +28,6 @@ # Detect the build type from the $FLAVOR environment variable # Default to optimized Release builds when unspecified. if ("$ENV{FLAVOR}" MATCHES "debug") -@@ -116,7 +121,4 @@ endif () - include_directories(src/ptex) - - add_subdirectory(src/ptex) --add_subdirectory(src/utils) --add_subdirectory(src/tests) --add_subdirectory(src/doc) - add_subdirectory(src/build) --- a/src/ptex/CMakeLists.txt +++ b/src/ptex/CMakeLists.txt @@ -21,6 +21,7 @@ if(PTEX_BUILD_STATIC_LIBS) diff --git a/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch b/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch new file mode 100644 index 0000000000000..cfb56ff285af6 --- /dev/null +++ b/recipes/ptex/all/patches/2.4.2-0001-fix-cmake.patch @@ -0,0 +1,19 @@ +--- a/src/ptex/CMakeLists.txt ++++ b/src/ptex/CMakeLists.txt +@@ -22,6 +22,7 @@ if(PTEX_BUILD_STATIC_LIBS) + $ + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}) ++ target_compile_definitions(Ptex_static PUBLIC PTEX_STATIC) + target_link_libraries(Ptex_static + PUBLIC Threads::Threads ZLIB::ZLIB) + install(TARGETS Ptex_static EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) +@@ -40,7 +41,7 @@ if(PTEX_BUILD_SHARED_LIBS) + target_compile_definitions(Ptex_dynamic PRIVATE PTEX_EXPORTS) + target_link_libraries(Ptex_dynamic + PUBLIC Threads::Threads ZLIB::ZLIB) +- install(TARGETS Ptex_dynamic EXPORT Ptex DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ install(TARGETS Ptex_dynamic EXPORT Ptex RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + install(FILES diff --git a/recipes/ptex/config.yml b/recipes/ptex/config.yml index e1d4aed9fe78f..a61c26db894b1 100644 --- a/recipes/ptex/config.yml +++ b/recipes/ptex/config.yml @@ -1,3 +1,5 @@ versions: + "2.4.2": + folder: all "2.4.0": folder: all From c5a7a88b62151458ca280d14f2b5047cbfb77bfe Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 9 Jan 2024 23:26:45 +0900 Subject: [PATCH 0755/1307] (#22123) cppcommon: update fmt/10.2.0 --- recipes/cppcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 9e2726f3581c5..9677a5747f306 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -62,9 +62,9 @@ def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": self.requires("fmt/8.1.1") else: - self.requires("fmt/10.1.0", transitive_headers=True) + self.requires("fmt/10.2.0", transitive_headers=True) if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39") + self.requires("util-linux-libuuid/2.39.2") def validate(self): if self.settings.compiler.get_safe("cppstd"): From 55636cc2458e4f1e364c8884a386763b5d3f6a1b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 00:29:46 +0900 Subject: [PATCH 0756/1307] (#21879) poco: add version 1.13.0 * poco: add version 1.13.0 * Disable net tests Signed-off-by: Uilian Ries * Disable test tests on Conan 1.x Signed-off-by: Uilian Ries * Add comment about manual file copy --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/poco/all/conandata.yml | 10 ++ recipes/poco/all/conanfile.py | 29 +++- .../patches/1.13.0-0002-mysql-include.patch | 143 ++++++++++++++++++ recipes/poco/all/patches/1.13.0.patch | 39 +++++ recipes/poco/all/test_package/conanfile.py | 4 +- recipes/poco/all/test_v1_package/conanfile.py | 4 +- recipes/poco/config.yml | 2 + 7 files changed, 226 insertions(+), 5 deletions(-) create mode 100644 recipes/poco/all/patches/1.13.0-0002-mysql-include.patch create mode 100644 recipes/poco/all/patches/1.13.0.patch diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index 44d50ff4a064f..c2db4d028c469 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.0": + url: "https://github.com/pocoproject/poco/archive/poco-1.13.0-release.tar.gz" + sha256: "0135160663795901f317215272fadf71f3b526f38daacb2ae8d6b07ad11d319b" "1.12.5p2": url: "https://github.com/pocoproject/poco/archive/poco-1.12.5p2-release.tar.gz" sha256: "08d201bb287cb59e13577901758aeb3ced7ea44627c79f5c162eb60323812685" @@ -24,6 +27,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.13.0": + - patch_file: patches/1.13.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.13.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.12.5p2": - patch_file: patches/1.12.3.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index 6ede924a2f329..4f4346cde29c2 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -29,12 +29,14 @@ class PocoConan(ConanFile): "fPIC": [True, False], "enable_fork": [True, False], "enable_active_record": [True, False, "deprecated"], + "with_sql_parser": [True, False], } default_options = { "shared": False, "fPIC": True, "enable_fork": True, "enable_active_record": "deprecated", + "with_sql_parser": True, } _PocoComponent = namedtuple("_PocoComponent", ("option", "default_option", "dependencies", "external_dependencies", "is_lib")) @@ -83,7 +85,13 @@ def _min_cppstd(self): # https://github.com/pocoproject/poco/releases/tag/poco-1.10.0-release # But poco uses C++11 features only until 1.12.5 # https://github.com/pocoproject/poco/commit/886b76f4faa2007cc0c09dad81f8dcdee6fcb4ac - return "11" if Version(self.version) < "1.12.5" else "14" + if Version(self.version) < "1.12.5": + return "11" + # Since 1.13.0, poco requires C++17 + # https://github.com/pocoproject/poco/releases/tag/poco-1.13.0-release + if Version(self.version) < "1.13.0": + return "14" + return "17" @property def _compilers_minimum_version(self): @@ -95,6 +103,13 @@ def _compilers_minimum_version(self): "Visual Studio": "15", "msvc": "191", }, + "17": { + "gcc": "8", + "clang": "7", + "apple-clang": "12", + "Visual Studio": "16", + "msvc": "192", + }, }.get(self._min_cppstd, {}) def export_sources(self): @@ -108,6 +123,8 @@ def config_options(self): del self.options.enable_netssl_win if Version(self.version) < "1.12.0": del self.options.enable_prometheus + if Version(self.version) < "1.13.0": + del self.options.with_sql_parser def configure(self): if self.options.enable_active_record != "deprecated": @@ -224,6 +241,8 @@ def generate(self): # Disable fork if not self.options.get_safe("enable_fork", True): tc.variables["POCO_NO_FORK_EXEC"] = True + if self.options.get_safe("with_sql_parser", None) is False: + tc.variables["POCO_DATA_NO_SQL_PARSER"] = True # Disable automatic linking on MSVC tc.preprocessor_definitions["POCO_NO_AUTOMATIC_LIBS"] = "1" # Picked up from conan v1 CMake wrapper, don't know the rationale @@ -293,6 +312,14 @@ def package(self): rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) rmdir(self, os.path.join(self.package_folder, "cmake")) rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + # INFO: missing headers https://github.com/pocoproject/poco/issues/4378 + if self.options.get_safe("with_sql_parser", False): + copy( + self, + "*.h", + os.path.join(self.source_folder, "Data", "src"), + os.path.join(self.package_folder, "include"), + ) def package_info(self): self.cpp_info.set_property("cmake_file_name", "Poco") diff --git a/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch b/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch new file mode 100644 index 0000000000000..259dda55b0a96 --- /dev/null +++ b/recipes/poco/all/patches/1.13.0-0002-mysql-include.patch @@ -0,0 +1,143 @@ +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Binder.h b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +index 82fa617..dd7bf60 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Binder.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Binder.h +@@ -22,7 +22,7 @@ + #include "Poco/Data/AbstractBinder.h" + #include "Poco/Data/LOB.h" + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +index 2386590..ba0fa3f 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQL.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQL.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Foundation.h" +-#include ++#include + + + // +diff --git a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +index 67692df..2d28da3 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/MySQLException.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/DataException.h" +-#include ++#include + #include + #include + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +index 8b45e2a..caee854 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/ResultMetadata.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MetaColumn.h" +-#include ++#include + #include + + +diff --git a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +index ebfb73e..68ed74e 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/SessionHandle.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +index 6767b68..55f0991 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/StatementExecutor.h +@@ -19,7 +19,7 @@ + + + #include "Poco/Data/MySQL/MySQLException.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/include/Poco/Data/MySQL/Utility.h b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +index d6d9b40..1e46074 100644 +--- a/Data/MySQL/include/Poco/Data/MySQL/Utility.h ++++ b/Data/MySQL/include/Poco/Data/MySQL/Utility.h +@@ -20,7 +20,7 @@ + + #include "Poco/Data/MySQL/MySQL.h" + #include "Poco/Data/Session.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Connector.cpp b/Data/MySQL/src/Connector.cpp +index b90abab..43e2432 100644 +--- a/Data/MySQL/src/Connector.cpp ++++ b/Data/MySQL/src/Connector.cpp +@@ -16,7 +16,7 @@ + #include "Poco/Data/MySQL/SessionImpl.h" + #include "Poco/Data/SessionFactory.h" + #include "Poco/Exception.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/StatementExecutor.cpp b/Data/MySQL/src/StatementExecutor.cpp +index b7e8dbc..d1b512d 100644 +--- a/Data/MySQL/src/StatementExecutor.cpp ++++ b/Data/MySQL/src/StatementExecutor.cpp +@@ -14,7 +14,7 @@ + + #include "Poco/Data/MySQL/StatementExecutor.h" + #include "Poco/Format.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/src/Utility.cpp b/Data/MySQL/src/Utility.cpp +index 84e5cfc..b711901 100644 +--- a/Data/MySQL/src/Utility.cpp ++++ b/Data/MySQL/src/Utility.cpp +@@ -15,7 +15,7 @@ + + + #include "Poco/Data/MySQL/Utility.h" +-#include ++#include + + + namespace Poco { +diff --git a/Data/MySQL/testsuite/src/SQLExecutor.cpp b/Data/MySQL/testsuite/src/SQLExecutor.cpp +index 3803223..2a6110f 100644 +--- a/Data/MySQL/testsuite/src/SQLExecutor.cpp ++++ b/Data/MySQL/testsuite/src/SQLExecutor.cpp +@@ -31,7 +31,7 @@ + #endif + + +-#include ++#include + #include + #include + diff --git a/recipes/poco/all/patches/1.13.0.patch b/recipes/poco/all/patches/1.13.0.patch new file mode 100644 index 0000000000000..063b45f860b0f --- /dev/null +++ b/recipes/poco/all/patches/1.13.0.patch @@ -0,0 +1,39 @@ +diff --git a/Foundation/CMakeLists.txt b/Foundation/CMakeLists.txt +index 41ba999..f4a1fe9 100644 +--- a/Foundation/CMakeLists.txt ++++ b/Foundation/CMakeLists.txt +@@ -99,7 +99,7 @@ set_target_properties(Foundation + ) + + if(POCO_UNBUNDLED) +- target_link_libraries(Foundation PUBLIC Pcre2::Pcre2 ZLIB::ZLIB) ++ target_link_libraries(Foundation PUBLIC PCRE2::8BIT ZLIB::ZLIB) + target_compile_definitions(Foundation PUBLIC POCO_UNBUNDLED) + endif(POCO_UNBUNDLED) + +diff --git a/NetSSL_Win/CMakeLists.txt b/NetSSL_Win/CMakeLists.txt +index c0e1768..32a1187 100644 +--- a/NetSSL_Win/CMakeLists.txt ++++ b/NetSSL_Win/CMakeLists.txt +@@ -21,7 +21,7 @@ set_target_properties(NetSSLWin + DEFINE_SYMBOL NetSSL_Win_EXPORTS + ) + +-target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util Crypt32.lib) ++target_link_libraries(NetSSLWin PUBLIC Poco::Net Poco::Util crypt32 ws2_32) + target_include_directories(NetSSLWin + PUBLIC + $ +diff --git a/cmake/PocoMacros.cmake b/cmake/PocoMacros.cmake +index 2ef58c5..5d7d7fa 100644 +--- a/cmake/PocoMacros.cmake ++++ b/cmake/PocoMacros.cmake +@@ -40,7 +40,7 @@ if(WIN32) + endforeach() + endif(X64) + endif() +- find_program(CMAKE_MC_COMPILER mc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} ++ find_program(CMAKE_MC_COMPILER NAMES mc.exe windmc.exe HINTS "${sdk_bindir}" "${kit_bindir}" "${kit81_bindir}" ${kit10_bindir} + DOC "path to message compiler") + if(NOT CMAKE_MC_COMPILER) + message(FATAL_ERROR "message compiler not found: required to build") diff --git a/recipes/poco/all/test_package/conanfile.py b/recipes/poco/all/test_package/conanfile.py index db2773f5ca2c2..155f2e533fc71 100644 --- a/recipes/poco/all/test_package/conanfile.py +++ b/recipes/poco/all/test_package/conanfile.py @@ -20,8 +20,8 @@ def generate(self): poco_options = self.dependencies["poco"].options tc.variables["TEST_CRYPTO"] = poco_options.enable_crypto tc.variables["TEST_UTIL"] = poco_options.enable_util - tc.variables["TEST_NET"] = poco_options.enable_net - tc.variables["TEST_NETSSL"] = poco_options.get_safe("enable_netssl") or poco_options.get_safe("enable_netssl_win") + tc.variables["TEST_NET"] = False + tc.variables["TEST_NETSSL"] = False tc.variables["TEST_SQLITE"] = poco_options.enable_data_sqlite tc.variables["TEST_ENCODINGS"] = poco_options.get_safe("enable_encodings", False) tc.variables["TEST_JWT"] = poco_options.get_safe("enable_jwt", False) diff --git a/recipes/poco/all/test_v1_package/conanfile.py b/recipes/poco/all/test_v1_package/conanfile.py index 3bca6441d5a9a..ef9bd9175eadb 100644 --- a/recipes/poco/all/test_v1_package/conanfile.py +++ b/recipes/poco/all/test_v1_package/conanfile.py @@ -16,8 +16,8 @@ def build(self): cmake = CMake(self) cmake.definitions["TEST_CRYPTO"] = self.options["poco"].enable_crypto cmake.definitions["TEST_UTIL"] = self.options["poco"].enable_util - cmake.definitions["TEST_NET"] = self.options["poco"].enable_net - cmake.definitions["TEST_NETSSL"] = self._poco_option("enable_netssl", False) or self._poco_option("enable_netssl_win", False) + cmake.definitions["TEST_NET"] = False + cmake.definitions["TEST_NETSSL"] = False cmake.definitions["TEST_SQLITE"] = self.options["poco"].enable_data_sqlite cmake.definitions["TEST_ENCODINGS"] = self._poco_option("enable_encodings", False) cmake.definitions["TEST_JWT"] = self._poco_option("enable_jwt", False) diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index c50a32bedbc58..a59a7f8e7171f 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.0": + folder: all "1.12.5p2": folder: all "1.12.5p1": From 75ee447f7153da38bac34c0f9d0c5c7a0c4bd6a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Tue, 9 Jan 2024 17:12:13 +0100 Subject: [PATCH 0757/1307] (#22223) Add cppstd 23 for gcc --- .c3i/config_v2.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 712dcc277de49..14bd7fa1314b4 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -123,7 +123,7 @@ cppstd: apple-clang: "13": ["17", "gnu17", "20", "gnu20"] gcc: - "11": ["17", "gnu17", "20", "gnu20"] + "11": ["17", "gnu17", "20", "gnu20", "23", "gnu23"] msvc: "192": ["14", "17", "20"] "193": ["14", "17", "20"] From 1ba5c4da20551d2aeaf1889140f934ad387fed77 Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 9 Jan 2024 17:39:15 +0100 Subject: [PATCH 0758/1307] (#21881) onnxruntime: bump wil --- recipes/onnxruntime/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py index 8861b22e93f76..b91cf5d0a83f9 100644 --- a/recipes/onnxruntime/all/conanfile.py +++ b/recipes/onnxruntime/all/conanfile.py @@ -96,7 +96,7 @@ def requirements(self): if self.settings.os != "Windows": self.requires("nsync/1.26.0") else: - self.requires("wil/1.0.231028.1") + self.requires("wil/1.0.231216.1") if self.options.with_xnnpack: self.requires("xnnpack/cci.20220801") From ea275b658a6a7dfb9b4b900c7569b198d558dc30 Mon Sep 17 00:00:00 2001 From: Mi-La Date: Tue, 9 Jan 2024 18:10:02 +0100 Subject: [PATCH 0759/1307] (#21869) Zserio 2.13.0 * zserio: Add ZserioCppRuntime as a static library, provide also zserio.jar * zserio: Provide simplified cmake funciton zserio_generate_cpp * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * Update recipes/zserio/all/conanfile.py Co-authored-by: Uilian Ries * zserio: Improve zserio_generate_cpp cmake function * zserio: Change the package_type to "library" * zserio: Package LICENSE from GitHub sources * zserio: Support conan < 2.0 * zserio: Set builddirs correctly * zserio: Fix topics to conform to conan hooks * zserio: Make it static-library again and support fPIC * zserio: Allow only Windows and Linux * zserio: Fix missing import of ConanInvalidConfiguration error * zserio: Package the static library correctly on Windows (keep_path=False) * zserio: Move license link to conandata.yml * zserio: Stop using collect_libs * zserio: Do not modify downloaded sources * zserio: Switch package_type to 'library' and forbid shared configuration * zserio: Try to support Macos (experimentally) * zserio: Remove forgotten imports * zserio: Use short_paths on Windows * remove shared option Signed-off-by: Uilian Ries * zserio: Fix LICENSE packaging --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/zserio/all/conandata.yml | 11 +++ recipes/zserio/all/conanfile.py | 99 +++++++++++++++++++ .../zserio/all/test_package/CMakeLists.txt | 21 ++++ recipes/zserio/all/test_package/conanfile.py | 26 +++++ .../zserio/all/test_package/test_package.cpp | 15 +++ recipes/zserio/all/zserio_compiler.cmake | 69 +++++++++++++ recipes/zserio/config.yml | 3 + 7 files changed, 244 insertions(+) create mode 100644 recipes/zserio/all/conandata.yml create mode 100644 recipes/zserio/all/conanfile.py create mode 100644 recipes/zserio/all/test_package/CMakeLists.txt create mode 100644 recipes/zserio/all/test_package/conanfile.py create mode 100644 recipes/zserio/all/test_package/test_package.cpp create mode 100644 recipes/zserio/all/zserio_compiler.cmake create mode 100644 recipes/zserio/config.yml diff --git a/recipes/zserio/all/conandata.yml b/recipes/zserio/all/conandata.yml new file mode 100644 index 0000000000000..9a65ed8b0e67c --- /dev/null +++ b/recipes/zserio/all/conandata.yml @@ -0,0 +1,11 @@ +sources: + "2.13.0": + runtime: + url: "https://github.com/ndsev/zserio/releases/download/v2.13.0/zserio-2.13.0-runtime-libs.zip" + sha256: "a720bd3208190f44b232296c11f1a3880154431f2f005e7db8f07ab01c9d235d" + compiler: + url: "https://github.com/ndsev/zserio/releases/download/v2.13.0/zserio-2.13.0-bin.zip" + sha256: "be5cf2a08aa91adac034f12609ea0a697d9f3ef7a00c1c38e6b997f9455dacd4" + license: + url: "https://raw.githubusercontent.com/ndsev/zserio/v2.13.0/LICENSE" + sha256: "7049b75154737fd45754917ba3d1027ad0b00beac15cb8931edaee4de40978ac" diff --git a/recipes/zserio/all/conanfile.py b/recipes/zserio/all/conanfile.py new file mode 100644 index 0000000000000..34e9e0b178ab6 --- /dev/null +++ b/recipes/zserio/all/conanfile.py @@ -0,0 +1,99 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import copy, download, get +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout + +required_conan_version = ">=1.54.0" + +class ZserioConanFile(ConanFile): + name = "zserio" + description = "Zserio C++ Runtime Library" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index/" + homepage = "https://zserio.org" + topics = ("zserio", "cpp", "c++", "serialization") + package_type = "static-library" + settings = "os", "arch", "compiler", "build_type" + short_paths = True # TODO: remove in conan v2 + options = { + "fPIC": [True, False] + } + default_options = { + "fPIC": False + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + copy(self, "zserio_compiler.cmake", self.recipe_folder, self.export_sources_folder) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.os not in ["Linux", "Windows", "Macos"]: + raise ConanInvalidConfiguration(f"{self.ref} doesn't support '{self.settings.os}'.") + + # experimental Macos support + if self.settings.os == "Macos": + self.output.warning("Macos is support is experimental! It's not (yet) supported by the upstream!") + + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + + def source(self): + sources = self.conan_data["sources"][self.version] + get(self, **sources["runtime"], strip_root=True) + download(self, filename="LICENSE", **sources["license"]) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure(build_script_folder="cpp") + cmake.build() + sources = self.conan_data["sources"][self.version] + get(self, **sources["compiler"], pattern="zserio.jar") + + @property + def _cmake_module_path(self): + return os.path.join("lib", "cmake", "zserio") + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + + include_dir = os.path.join(self.package_folder, "include") + lib_dir = os.path.join(self.package_folder, "lib") + copy(self, "*.h", os.path.join(self.source_folder, "cpp"), include_dir) + copy(self, "*.lib", self.build_folder, lib_dir, keep_path=False) + copy(self, "*.a", self.build_folder, lib_dir, keep_path=False) + + copy(self, "zserio.jar", self.build_folder, os.path.join(self.package_folder, "bin")) + copy(self, "zserio_compiler.cmake", self.export_sources_folder, + os.path.join(self.package_folder, self._cmake_module_path)) + + def package_info(self): + self.cpp_info.libs = ["ZserioCppRuntime"] + self.cpp_info.set_property("cmake_target_name", "zserio::ZserioCppRuntime") + + zserio_jar_file = os.path.join(self.package_folder, "bin", "zserio.jar") + self.buildenv_info.define("ZSERIO_JAR_FILE", zserio_jar_file) + + self.cpp_info.builddirs.append(self._cmake_module_path) + zserio_compiler_module = os.path.join(self.package_folder, self._cmake_module_path, + "zserio_compiler.cmake") + self.cpp_info.set_property("cmake_build_modules", [zserio_compiler_module]) + + # TODO: remove in conan v2 + self.env_info.ZSERIO_JAR_FILE = zserio_jar_file diff --git a/recipes/zserio/all/test_package/CMakeLists.txt b/recipes/zserio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..e3ab3ca5ca033 --- /dev/null +++ b/recipes/zserio/all/test_package/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(zserio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE zserio::ZserioCppRuntime) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +# check that ZSERIO_JAR_FILE exists +if (NOT DEFINED ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "ZSERIO_JAR_FILE in not defined!") +endif () +if (NOT EXISTS $ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "ZSERIO_JAR_FILE '$ENV{ZSERIO_JAR_FILE}' does not exist!") +endif () +# check that zserio_generate_cpp function is available +if (NOT COMMAND zserio_generate_cpp) + message(FATAL_ERROR("Function 'zserio_generate_cpp' is not available!")) +endif () diff --git a/recipes/zserio/all/test_package/conanfile.py b/recipes/zserio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..174d5cb36b6e7 --- /dev/null +++ b/recipes/zserio/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + +class ZserioTestPackageConanFile(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualBuildEnv", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zserio/all/test_package/test_package.cpp b/recipes/zserio/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..b1416a5ae2ec0 --- /dev/null +++ b/recipes/zserio/all/test_package/test_package.cpp @@ -0,0 +1,15 @@ +#include +#include + +int main(int argc, char* argv[]) +{ + zserio::BitBuffer bitBuffer(64); + zserio::BitStreamWriter writer(bitBuffer); + const uint64_t value = UINT64_MAX; + writer.writeBits64(value, 64); + + zserio::BitStreamReader reader(writer.getWriteBuffer(), writer.getBitPosition(), zserio::BitsTag()); + const uint64_t readValue = reader.readBits64(64); + + return value == readValue ? 0 : 1; +} diff --git a/recipes/zserio/all/zserio_compiler.cmake b/recipes/zserio/all/zserio_compiler.cmake new file mode 100644 index 0000000000000..7d82a869042ee --- /dev/null +++ b/recipes/zserio/all/zserio_compiler.cmake @@ -0,0 +1,69 @@ +function(zserio_generate_cpp) + find_program(JAVA java) + if (NOT JAVA) + message(FATAL_ERROR "Could not find java!") + endif() + if (NOT DEFINED ENV{ZSERIO_JAR_FILE} OR NOT EXISTS $ENV{ZSERIO_JAR_FILE}) + message(FATAL_ERROR "Could not fine zserio.jar!") + endif() + + cmake_parse_arguments(ZSERIO_GENERATE + "" + "TARGET;SRC_DIR;MAIN_ZS;GEN_DIR" + "EXTRA_ARGS" + ${ARGN}) + + # check required arguments + foreach (ARG TARGET GEN_DIR) + if (NOT DEFINED ZSERIO_GENERATE_${ARG}) + message(FATAL_ERROR "No value defined for required argument ${ARG}!") + endif () + endforeach () + + # default values + if (NOT DEFINED ZSERIO_GENERATE_SRC_DIR) + set(ZSERIO_GENERATE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + endif () + if (NOT DEFINED ZSERIO_GENERATE_MAIN_ZS) + # try to get a single main zs + get_target_property(ZS_SOURCES ${ZSERIO_GENERATE_TARGET} SOURCES) + list(FILTER ZS_SOURCES INCLUDE REGEX "\\.zs$") + list(LENGTH ZS_SOURCES ZS_SOURCES_LENGTH) + if (${ZS_SOURCES_LENGTH} EQUAL 1) + list(GET ZS_SOURCES 0 ZSERIO_GENERATE_MAIN_ZS) + message(STATUS "Found main '*.zs' file: '${ZSERIO_GENERATE_MAIN_ZS}'") + else () + message(FATAL_ERROR "Main '*.zs* file not specifid and cannot be detected!") + endif () + endif () + + set(ZSERIO_COMMAND + ${JAVA} -jar $ENV{ZSERIO_JAR_FILE} + -src ${ZSERIO_GENERATE_SRC_DIR} ${ZSERIO_GENERATE_MAIN_ZS} + -cpp ${ZSERIO_GENERATE_GEN_DIR} + ${ZSERIO_GENERATE_EXTRA_ARGS} + ) + + # run the generator during configure phase, zserio has built in support to prevent sources re-generation + # and thus it should't make problems when cmake reconfigure is triggered from another reason + execute_process( + COMMAND ${ZSERIO_COMMAND} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + RESULT_VARIABLE ZSERIO_GENERATE_RESULT) + + if (NOT ${ZSERIO_GENERATE_RESULT} EQUAL 0) + message(FATAL_ERROR "Zserio generator failed!") + endif () + + # ensure cmake reconfigure when zserio sources are changed + file(GLOB_RECURSE ZSERIO_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + "${ZSERIO_GENERATE_SRC_DIR}/*.zs") + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${ZSERIO_SOURCES} $ENV{ZSERIO_JAR_FILE}) + + file(GLOB_RECURSE GENERATED_SOURCES RELATIVE "${CMAKE_CURRENT_BINARY_DIR}" + "${ZSERIO_GENERATE_GEN_DIR}/*.h" + "${ZSERIO_GENERATE_GEN_DIR}/*.cpp") + + set_source_files_properties(${GENERATED_SOURCES} PROPERTIES GENERATED TRUE) + target_sources(${ZSERIO_GENERATE_TARGET} PRIVATE ${GENERATED_SOURCES}) +endfunction() diff --git a/recipes/zserio/config.yml b/recipes/zserio/config.yml new file mode 100644 index 0000000000000..319f45f887837 --- /dev/null +++ b/recipes/zserio/config.yml @@ -0,0 +1,3 @@ +versions: + "2.13.0": + folder: all From 8b7f62502ec90c4bea39492251fe9b09112ac666 Mon Sep 17 00:00:00 2001 From: nikitasinys <41003678+nikitasinys@users.noreply.github.com> Date: Tue, 9 Jan 2024 18:20:35 +0100 Subject: [PATCH 0760/1307] (#22211) (#22210) bazel: add version 5.4.1 Reason: The tensorflow_cc package does not support current versions and requires versions >= 4.2.2 and <= 5.99.0 --- recipes/bazel/all/conandata.yml | 26 ++++++++++++++++++++++++++ recipes/bazel/config.yml | 2 ++ 2 files changed, 28 insertions(+) diff --git a/recipes/bazel/all/conandata.yml b/recipes/bazel/all/conandata.yml index 30dcb9273146b..243efd0d24b9d 100644 --- a/recipes/bazel/all/conandata.yml +++ b/recipes/bazel/all/conandata.yml @@ -51,6 +51,32 @@ sources: url: "https://github.com/bazelbuild/bazel/releases/download/6.2.0/bazel-6.2.0-windows-arm64.exe" sha256: "3c23fccd3815933452c859e8482864598b6903d3143f9f18589915bf2c0dd2d4" + "5.4.1": + license: + url: "https://raw.githubusercontent.com/bazelbuild/bazel/5.4.1/LICENSE" + sha256: "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30" + Macos: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-darwin-x86_64" + sha256: "e8f796d67e9e4b54183c465443158dfb38bfe7df3626c1cfa0a6a3d9866047f9" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-darwin-arm64" + sha256: "f2443a2131e832c2f12d448e673be7dad9cd2822066b4e2d4bd2d634bb2495e6" + Linux: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-linux-x86_64" + sha256: "5d90515f84b5ee1fd6ec22ee9e83103e77ed1a907ee5eec198fef3a5b45abf13" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-linux-arm64" + sha256: "431dfaf5c0bd264b5753ae7a57f262137394c214c5e83651218887a9155dd010" + Windows: + x86_64: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-x86_64.exe" + sha256: "f44329c91ee0ca2ea8526f9c0fecb65f1aa483e658f9b09831b16a0e70e16b51" + armv8: + url: "https://github.com/bazelbuild/bazel/releases/download/5.4.1/bazel-5.4.1-windows-arm64.exe" + sha256: "1e273c20dfa8493bf21b002614592a6cb3aa9eabe8b30eda96f8a517fca1a619" + "4.0.0": license: url: "https://raw.githubusercontent.com/bazelbuild/bazel/4.0.0/LICENSE" diff --git a/recipes/bazel/config.yml b/recipes/bazel/config.yml index 94ee5cce25feb..e9824e01dcd11 100644 --- a/recipes/bazel/config.yml +++ b/recipes/bazel/config.yml @@ -3,5 +3,7 @@ versions: folder: all "6.2.0": folder: all + "5.4.1": + folder: all "4.0.0": folder: all From e1502b204eaf2f63300b03e194ca3ff896ff86ab Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 02:30:44 +0900 Subject: [PATCH 0761/1307] (#22226) toml11: add version 3.8.1 --- recipes/toml11/all/conandata.yml | 3 +++ recipes/toml11/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/toml11/all/conandata.yml b/recipes/toml11/all/conandata.yml index f17e5e0f8117a..4af534aa325d5 100644 --- a/recipes/toml11/all/conandata.yml +++ b/recipes/toml11/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.8.1": + url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.1.tar.gz" + sha256: "6a3d20080ecca5ea42102c078d3415bef80920f6c4ea2258e87572876af77849" "3.8.0": url: "https://github.com/ToruNiina/toml11/archive/refs/tags/v3.8.0.tar.gz" sha256: "36ce64b09f9151b57ba1970f12a591006fcae17b751ba011314c1f5518e77bc7" diff --git a/recipes/toml11/config.yml b/recipes/toml11/config.yml index c4cf097c48cb6..cc2a74e6a20e3 100644 --- a/recipes/toml11/config.yml +++ b/recipes/toml11/config.yml @@ -1,4 +1,6 @@ versions: + "3.8.1": + folder: all "3.8.0": folder: all "3.7.1": From cc0e2bc29e5145f40b36df76f80ce71ebf740072 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 9 Jan 2024 19:05:36 +0100 Subject: [PATCH 0762/1307] (#22202) at-spi2-core 2.51.0 --- recipes/at-spi2-core/config.yml | 2 ++ recipes/at-spi2-core/new/conandata.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/recipes/at-spi2-core/config.yml b/recipes/at-spi2-core/config.yml index f0d6f514974e4..f37e219eb66cb 100644 --- a/recipes/at-spi2-core/config.yml +++ b/recipes/at-spi2-core/config.yml @@ -23,3 +23,5 @@ versions: folder: new "2.50.0": folder: new + "2.51.0": + folder: new diff --git a/recipes/at-spi2-core/new/conandata.yml b/recipes/at-spi2-core/new/conandata.yml index b27bb3ef5a258..58e8f4f097094 100644 --- a/recipes/at-spi2-core/new/conandata.yml +++ b/recipes/at-spi2-core/new/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.51.0": + sha256: 8dd07c6160e3115f4f77e2205963449def6822a3dc85d495c5db389f56663037 + url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.51/at-spi2-core-2.51.0.tar.xz "2.50.0": sha256: e9f5a8c8235c9dd963b2171de9120301129c677dde933955e1df618b949c4adc url: https://ftp.gnome.org/pub/gnome/sources/at-spi2-core/2.50/at-spi2-core-2.50.0.tar.xz From 29de1ad97517624c4642e3df1bb0ce09d6ff0d43 Mon Sep 17 00:00:00 2001 From: Hossein Moein <31854960+hosseinmoein@users.noreply.github.com> Date: Tue, 9 Jan 2024 13:40:02 -0500 Subject: [PATCH 0763/1307] (#22172) Upgrading C++ DataFrame to version 2.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Upgrading C++ DataFrame to version 2.3.0 * Fixed python error --------- Co-authored-by: Rubén Rincón Blanco --- recipes/dataframe/all/conandata.yml | 3 +++ recipes/dataframe/all/conanfile.py | 14 +++++++++++++- recipes/dataframe/all/test_package/CMakeLists.txt | 3 +++ recipes/dataframe/config.yml | 2 ++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml index 6ea3f55c476e4..8299cf452cbdd 100644 --- a/recipes/dataframe/all/conandata.yml +++ b/recipes/dataframe/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/v2.3.0.tar.gz" + sha256: "d671a3d47c2ef250cadddbae545b1b7bee51f9411836b627b7860e187c868a72" "2.2.0": url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/2.2.0.tar.gz" sha256: "289e8f86c9d468ee62508167c202c34d662915922582af73b9d31691feb2b0af" diff --git a/recipes/dataframe/all/conanfile.py b/recipes/dataframe/all/conanfile.py index 33deb412912f9..f523ba86724db 100644 --- a/recipes/dataframe/all/conanfile.py +++ b/recipes/dataframe/all/conanfile.py @@ -50,7 +50,12 @@ class DataFrameConan(ConanFile): @property def _min_cppstd(self): - return "20" if Version(self.version) >= "2.1.0" else "17" + if Version(self.version) < "2.1.0": + return "17" + elif Version(self.version) <= "2.2.0": + return "20" + else: + return "23" @property def _minimum_compilers_version(self): @@ -69,6 +74,13 @@ def _minimum_compilers_version(self): "clang": "12", "apple-clang": "13", }, + "23": { + "Visual Studio": "17", + "msvc": "192", + "gcc": "13", + "clang": "15", + "apple-clang": "15", + }, }.get(self._min_cppstd, {}) def export_sources(self): diff --git a/recipes/dataframe/all/test_package/CMakeLists.txt b/recipes/dataframe/all/test_package/CMakeLists.txt index b1fa419a617f6..f0af8e717acbf 100644 --- a/recipes/dataframe/all/test_package/CMakeLists.txt +++ b/recipes/dataframe/all/test_package/CMakeLists.txt @@ -10,3 +10,6 @@ if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.1.0") else() target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) endif() +if (DataFrame_VERSION VERSION_GREATER_EQUAL "2.3.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_23) +endif() diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml index 7972770297f04..aca71224e11e1 100644 --- a/recipes/dataframe/config.yml +++ b/recipes/dataframe/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: all "2.2.0": folder: all "2.1.0": From fa3829b57566a77ec8092534249018c422cce974 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 05:52:02 +0900 Subject: [PATCH 0764/1307] (#22233) glaze: add version 2.0.3 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index d3f62b78045c6..c00d61094fdb5 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.3": + url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" + sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" "2.0.2": url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5ac32437d36ed..a06406120e257 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.3": + folder: all "2.0.2": folder: all "2.0.1": From 5231449deb69f6067ac2f31bd9a484fcf9128183 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 12:17:03 +0200 Subject: [PATCH 0765/1307] (#21332) opentelemetry-cpp: add v1.12.0, drop old versions, update and fix options, fix build requirements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * opentelemetry-cpp: drop old versions, bump deps * opentelemetry-cpp: fix with_otlp=False handling * opentelemetry-cpp: fix opentelemetry-proto usage Fixes #18967. * opentelemetry-cpp: simplify patching * opentelemetry-cpp: add v1.12.0, update options * opentelemetry-cpp: add transitive_headers=True * opentelemetry-cpp: rmdir lib/pkgconfig * opentelemetry-cpp: disable failing configuration * Apply suggestions from code review Co-authored-by: Uilian Ries * opentelemetry-cpp: fix formatting --------- Co-authored-by: Francisco Ramírez Co-authored-by: Daniel Co-authored-by: Uilian Ries --- recipes/opentelemetry-cpp/all/conandata.yml | 65 +--- recipes/opentelemetry-cpp/all/conanfile.py | 282 ++++++++---------- .../all/patches/1.0.1-0001-fix-cmake.patch | 28 -- .../all/patches/1.2.0-0001-fix-cmake.patch | 15 - .../all/patches/1.3.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.4.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.6.1-0001-fix-cmake.patch | 27 -- .../all/patches/1.7.0-0001-fix-cmake.patch | 27 -- .../all/patches/1.8.1-0001-fix-cmake.patch | 27 -- .../all/patches/1.9.1-0001-fix-cmake.patch | 27 -- recipes/opentelemetry-cpp/config.yml | 16 +- 11 files changed, 139 insertions(+), 429 deletions(-) delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch delete mode 100644 recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch diff --git a/recipes/opentelemetry-cpp/all/conandata.yml b/recipes/opentelemetry-cpp/all/conandata.yml index 2342d2e0da093..fb4e67647e394 100644 --- a/recipes/opentelemetry-cpp/all/conandata.yml +++ b/recipes/opentelemetry-cpp/all/conandata.yml @@ -1,66 +1,13 @@ sources: + "1.12.0": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.12.0.tar.gz" + sha256: "09c208a21fb1159d114a3ea15dc1bcc5dee28eb39907ba72a6012d2c7b7564a0" "1.9.1": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.9.1.tar.gz" sha256: "668de24f81c8d36d75092ad9dcb02a97cd41473adbe72485ece05e336db48249" - "1.8.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.1.tar.gz" - sha256: "3d640201594b07f08dade9cd1017bd0b59674daca26223b560b9bb6bf56264c2" + "1.8.3": + url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.8.3.tar.gz" + sha256: "b23d3c80d2e0012734ea343d2be69b2a7139ec5545453c503b13e629eb8fbe05" "1.7.0": url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.7.0.tar.gz" sha256: "2ad0911cdc94fe84a93334773bef4789a38bd1f01e39560cabd4a5c267e823c3" - "1.6.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.6.1.tar.gz" - sha256: "1fc371be049b3220b8b9571c8b713f03e9a84f3c5684363f64ccc814638391a5" - "1.4.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.4.1.tar.gz" - sha256: "301b1ab74a664723560f46c29f228360aff1e2d63e930b963755ea077ae67524" - "1.4.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.4.0.tar.gz" - sha256: "110f4fb2e38dcc72a421647631cfbb9429afd3c77c6c98829cc1d11bd0c72563" - "1.3.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.3.0.tar.gz" - sha256: "6a4c43b9c9f753841ebc0fe2717325271f02e2a1d5ddd0b52735c35243629ab3" - "1.2.0": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.2.0.tar.gz" - sha256: "7a6420f9e4fa44b81a5b06e30e5e116da71decc9086e5cc4f126e1efc8a397c2" - "1.0.1": - url: "https://github.com/open-telemetry/opentelemetry-cpp/archive/refs/tags/v1.0.1.tar.gz" - sha256: "32f12ff15ec257e3462883f84bc291c2d5dc30055604c12ec4b46a36dfa3f189" - -patches: - "1.9.1": - - patch_file: "patches/1.9.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.8.1": - - patch_file: "patches/1.8.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.7.0": - - patch_file: "patches/1.7.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.6.1": - - patch_file: "patches/1.6.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.4.1": - - patch_file: "patches/1.4.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.4.0": - - patch_file: "patches/1.4.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.3.0": - - patch_file: "patches/1.3.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.2.0": - - patch_file: "patches/1.2.0-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" - "1.0.1": - - patch_file: "patches/1.0.1-0001-fix-cmake.patch" - patch_description: "fix lack of linking libraries due to conan not generating the variables that are expected" - patch_type: "conan" diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py index 7d1799e99839a..e13d0077e219b 100644 --- a/recipes/opentelemetry-cpp/all/conanfile.py +++ b/recipes/opentelemetry-cpp/all/conanfile.py @@ -1,16 +1,15 @@ -from conan import ConanFile +from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, replace_in_file, save +from conan.tools.files import get, copy, rmdir, replace_in_file, save from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.microsoft import check_min_vs -from conan.tools.env import Environment +from conan.tools.env import VirtualRunEnv, VirtualBuildEnv import os import textwrap -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.56.0 <2 || >=2.0.6" class OpenTelemetryCppConan(ConanFile): name = "opentelemetry-cpp" @@ -28,7 +27,7 @@ class OpenTelemetryCppConan(ConanFile): "with_stl": [True, False], "with_gsl": [True, False], "with_abseil": [True, False], - "with_otlp": [True, False], + "with_otlp": ["deprecated", True, False], "with_otlp_grpc": [True, False], "with_otlp_http": [True, False], "with_zipkin": [True, False], @@ -50,7 +49,7 @@ class OpenTelemetryCppConan(ConanFile): "with_stl": False, "with_gsl": False, "with_abseil": True, - "with_otlp": True, + "with_otlp": "deprecated", "with_otlp_grpc": True, "with_otlp_http": True, "with_zipkin": True, @@ -67,23 +66,39 @@ class OpenTelemetryCppConan(ConanFile): short_paths = True @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): + if self.options.with_abseil and Version(self.dependencies["abseil"].ref.version) >= "20230125": + return 14 return 11 - def export_sources(self): - export_conandata_patches(self) + @property + def _compilers_minimum_version(self): + if self._min_cppstd == 14: + return { + "gcc": "6", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "16", + "msvc": "192", + } + else: + return { + "Visual Studio": "16", + "msvc": "192", + } def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") + if Version(self.version) >= "1.10": + del self.options.with_jaeger def configure(self): if self.options.shared: self.options.rm_safe("fPIC") - - if not self.options.with_otlp: - self.options.rm_safe("with_otlp_grpc") - self.options.rm_safe("with_otlp_http") + if self.options.with_otlp != "deprecated": + self.output.warning(f"{self.ref}:with_otlp option is deprecated, do not use anymore. " + "Please, consider with_otlp_grpc or with_otlp_http instead.") def layout(self): cmake_layout(self, src_folder="src") @@ -93,21 +108,15 @@ def requirements(self): self.requires("ms-gsl/4.0.0") if self.options.with_abseil: - self.requires("abseil/20220623.0", transitive_headers=True) + self.requires("abseil/20230125.3", transitive_headers=True) - if self.options.with_otlp: - self.requires("protobuf/3.21.9") - if Version(self.version) <= "1.4.1": - self.requires("opentelemetry-proto/0.11.0") - else: - self.requires("opentelemetry-proto/0.20.0") - - if self.options.get_safe("with_otlp_grpc"): - self.requires("grpc/1.50.1") + if self.options.with_otlp_grpc: + self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True) + self.requires("grpc/1.54.3", transitive_headers=True, transitive_libs=True) if (self.options.with_zipkin or self.options.with_elasticsearch or - self.options.get_safe("with_otlp_http") or + self.options.with_otlp_http or self.options.with_etw ): self.requires("nlohmann_json/3.11.2") @@ -115,38 +124,34 @@ def requirements(self): if (self.options.with_zipkin or self.options.with_elasticsearch or - self.options.get_safe("with_otlp_http") + self.options.with_otlp_http ): - self.requires("libcurl/8.1.1") + self.requires("libcurl/[>=7.78.0 <9]") if self.options.with_prometheus: self.requires("prometheus-cpp/1.1.0") - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): self.requires("thrift/0.17.0") - - if Version(self.version) >= "1.3.0": - self.requires("boost/1.82.0") + self.requires("boost/1.82.0") @property def _required_boost_components(self): - return ["locale"] if self.options.with_jaeger and Version(self.version) >= "1.3.0" else [] + return ["locale"] if self.options.get_safe("with_jaeger") else [] def validate(self): - if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) - check_min_vs(self, "192") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.os != "Linux" and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} supports building shared libraries only on Linux") - if self.options.get_safe("with_otlp_grpc") and not self.options.with_otlp: - raise ConanInvalidConfiguration("Option 'with_otlp_grpc' requires 'with_otlp'") - - if self.options.get_safe("with_otlp_http") and not self.options.with_otlp: - raise ConanInvalidConfiguration("Option 'with_otlp_http' requires 'with_otlp'") - - if self.options.get_safe("with_otlp_grpc"): + if self.options.with_otlp_grpc: if not self.dependencies["grpc"].options.cpp_plugin: raise ConanInvalidConfiguration(f"{self.ref} requires grpc with cpp_plugin=True") @@ -159,11 +164,16 @@ def validate(self): f"{', '.join(self._required_boost_components)}" ) + if conan_version.major == 1 and self.settings.compiler == "apple-clang" and Version(self.version) >= "1.12.0": + # Only fails on apple-clang in this configuration for some reason: + # https://github.com/conan-io/conan-center-index/pull/21332#issuecomment-1830766894 + raise ConanInvalidConfiguration("opentelemetry-cpp >= 1.12.0 does not support Apple Clang on Conan v1") + def build_requirements(self): - if self.options.with_otlp: - self.tool_requires("protobuf/3.21.9") - if self.options.get_safe("with_otlp_grpc"): - self.tool_requires("grpc/1.50.1") + if self.options.with_otlp_grpc: + self.tool_requires("opentelemetry-proto/1.0.0") + self.tool_requires("protobuf/") + self.tool_requires("grpc/") def _create_cmake_module_variables(self, module_file): content = textwrap.dedent("""\ @@ -176,72 +186,68 @@ def _create_cmake_module_variables(self, module_file): """) save(self, module_file, content) + def package_id(self): + # deprecated + del self.info.options.with_otlp + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): - tc = CMakeToolchain(self) + VirtualBuildEnv(self).generate(scope="build") + VirtualRunEnv(self).generate(scope="build") - tc.variables["BUILD_TESTING"] = False - tc.variables["BUILD_BENCHMARK"] = False - - tc.variables["WITH_EXAMPLES"] = False - tc.variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code - tc.variables["WITH_STL"] = self.options.with_stl - tc.variables["WITH_GSL"] = self.options.with_gsl - tc.variables["WITH_ABSEIL"] = self.options.with_abseil - tc.variables["WITH_OTLP"] = self.options.with_otlp - tc.variables["WITH_OTLP_GRPC"] = self.options.get_safe("with_otlp_grpc") - tc.variables["WITH_OTLP_HTTP"] = self.options.get_safe("with_otlp_http") - tc.variables["WITH_ZIPKIN"] = self.options.with_zipkin - tc.variables["WITH_PROMETHEUS"] = self.options.with_prometheus - tc.variables["WITH_ELASTICSEARCH"] = self.options.with_elasticsearch - tc.variables["WITH_ZPAGES"] = self.options.with_zpages - tc.variables["WITH_JAEGER"] = self.options.with_jaeger - tc.variables["WITH_NO_GETENV"] = self.options.with_no_getenv - tc.variables["WITH_ETW"] = self.options.with_etw - tc.variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview - tc.variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview - tc.variables["WITH_METRICS_EXEMPLAR_PREVIEW"] = self.options.with_metrics_exemplar_preview + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_TESTING"] = False + tc.cache_variables["BUILD_BENCHMARK"] = False + tc.cache_variables["WITH_EXAMPLES"] = False + tc.cache_variables["WITH_NO_DEPRECATED_CODE"] = self.options.with_no_deprecated_code + tc.cache_variables["WITH_STL"] = self.options.with_stl + tc.cache_variables["WITH_GSL"] = self.options.with_gsl + tc.cache_variables["WITH_ABSEIL"] = self.options.with_abseil + if Version(self.version) < "1.10": + tc.cache_variables["WITH_OTLP"] = self.options.with_otlp_grpc or self.options.with_otlp_http + tc.cache_variables["WITH_OTLP_GRPC"] = self.options.with_otlp_grpc + tc.cache_variables["WITH_OTLP_HTTP"] = self.options.with_otlp_http + tc.cache_variables["WITH_ZIPKIN"] = self.options.with_zipkin + tc.cache_variables["WITH_PROMETHEUS"] = self.options.with_prometheus + tc.cache_variables["WITH_ELASTICSEARCH"] = self.options.with_elasticsearch + tc.cache_variables["WITH_ZPAGES"] = self.options.with_zpages + tc.cache_variables["WITH_JAEGER"] = self.options.get_safe("with_jaeger", False) + tc.cache_variables["WITH_NO_GETENV"] = self.options.with_no_getenv + tc.cache_variables["WITH_ETW"] = self.options.with_etw + tc.cache_variables["WITH_LOGS_PREVIEW"] = self.options.with_logs_preview + tc.cache_variables["WITH_ASYNC_EXPORT_PREVIEW"] = self.options.with_async_export_preview + tc.cache_variables["WITH_METRICS_EXEMPLAR_PREVIEW"] = self.options.with_metrics_exemplar_preview + tc.cache_variables["OPENTELEMETRY_INSTALL"] = True + if not self.settings.compiler.cppstd: + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd tc.generate() - tc = CMakeDeps(self) - tc.generate() + deps = CMakeDeps(self) - if self.settings.os == "Linux": - env = Environment() - if self.dependencies["grpc"].options.shared: - env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["grpc"].package_folder, "lib")) - if self.dependencies["protobuf"].options.shared: - env.append_path("LD_LIBRARY_PATH", os.path.join(self.dependencies["protobuf"].package_folder, "lib")) - env.vars(self).save_script("conanbuild_loadpath") + deps.generate() def _patch_sources(self): - protos_path = self.dependencies["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") - protos_cmake_path = os.path.join( - self.source_folder, - "cmake", - "opentelemetry-proto.cmake") - if Version(self.version) >= "1.1.0": - replace_in_file(self, - protos_cmake_path, - "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", - "if(1)") - if Version(self.version) < "1.9.0": - replace_in_file(self, - protos_cmake_path, - "set(PROTO_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", - f"set(PROTO_PATH \"{protos_path}\")") - else: - replace_in_file(self, - protos_cmake_path, - "\"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto\")", - f"\"{protos_path}\")") + if self.options.with_otlp_http or self.options.with_otlp_grpc: + protos_path = self.dependencies.build["opentelemetry-proto"].conf_info.get("user.opentelemetry-proto:proto_root").replace("\\", "/") + protos_cmake_path = os.path.join(self.source_folder, "cmake", "opentelemetry-proto.cmake") + replace_in_file(self, protos_cmake_path, + "if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto/.git)", + "if(1)") + if Version(self.version) < "1.8.3": + replace_in_file(self, protos_cmake_path, + 'set(PROTO_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', + f'set(PROTO_PATH "{protos_path}")') + else: + replace_in_file(self, protos_cmake_path, + '"${CMAKE_CURRENT_SOURCE_DIR}/third_party/opentelemetry-proto")', + f'"{protos_path}")') + if self.options.with_otlp_grpc and Version(self.version) < "1.9.1": + save(self, protos_cmake_path, "\ntarget_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++)", append=True) rmdir(self, os.path.join(self.source_folder, "api", "include", "opentelemetry", "nostd", "absl")) - apply_conandata_patches(self) - def build(self): self._patch_sources() cmake = CMake(self) @@ -253,6 +259,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) self._create_cmake_module_variables( os.path.join(self.package_folder, self._otel_cmake_variables_path) ) @@ -272,7 +279,7 @@ def _otel_build_modules(self): @property def _http_client_name(self): - return "http_client_curl" if Version(self.version) < "1.3.0" else "opentelemetry_http_client_curl" + return "opentelemetry_http_client_curl" @property def _otel_libraries(self): @@ -285,64 +292,41 @@ def _otel_libraries(self): "opentelemetry_trace", "opentelemetry_version", ] - - if self.options.with_otlp: + if self.options.with_otlp_grpc or self.options.with_otlp_http: libraries.extend([ "opentelemetry_proto", "opentelemetry_otlp_recordable", ]) - - if self.options.get_safe("with_otlp_grpc"): + if self.options.with_otlp_grpc: libraries.append("opentelemetry_exporter_otlp_grpc") - - if Version(self.version) >= "1.5.0": - libraries.append("opentelemetry_exporter_otlp_grpc_metrics") - + libraries.append("opentelemetry_exporter_otlp_grpc_metrics") if Version(self.version) >= "1.7.0": libraries.append("opentelemetry_exporter_otlp_grpc_client") - if self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_grpc_log") - - if self.options.get_safe("with_otlp_http"): + if self.options.with_otlp_http: libraries.append("opentelemetry_exporter_otlp_http") - - if Version(self.version) >= "1.1.0": - libraries.append("opentelemetry_exporter_otlp_http_client") - - if Version(self.version) >= "1.5.0": - libraries.append("opentelemetry_exporter_otlp_http_metric") - + libraries.append("opentelemetry_exporter_otlp_http_client") + libraries.append("opentelemetry_exporter_otlp_http_metric") if self.options.with_logs_preview: libraries.append("opentelemetry_exporter_otlp_http_log") - if self.options.with_prometheus: libraries.append("opentelemetry_exporter_prometheus") - if self.options.with_elasticsearch and self.options.with_logs_preview: libraries.append("opentelemetry_exporter_elasticsearch_logs") - if self.options.with_zipkin: libraries.append("opentelemetry_exporter_zipkin_trace") - - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): libraries.append("opentelemetry_exporter_jaeger_trace") - - if Version(self.version) >= "1.2.0": - libraries.append("opentelemetry_metrics") - - if Version(self.version) >= "1.4.0": - libraries.append("opentelemetry_exporter_ostream_metrics") - + libraries.append("opentelemetry_metrics") + libraries.append("opentelemetry_exporter_ostream_metrics") if self.options.with_logs_preview: libraries.extend([ "opentelemetry_logs", "opentelemetry_exporter_ostream_logs", ]) - if self.settings.os == "Windows" and self.options.with_etw: libraries.append("opentelemetry_exporter_etw") - return libraries def package_info(self): @@ -391,20 +375,16 @@ def package_info(self): self.cpp_info.components["opentelemetry_common"].defines.append("HAVE_ABSEIL") self.cpp_info.components["opentelemetry_common"].requires.append("abseil::abseil") - if self.options.with_otlp: - self.cpp_info.components["opentelemetry_proto"].requires.extend([ - "opentelemetry-proto::opentelemetry-proto", - "protobuf::protobuf", - ]) - + if self.options.with_otlp_http or self.options.with_otlp_grpc: + self.cpp_info.components["opentelemetry_proto"].requires.append("protobuf::protobuf") self.cpp_info.components["opentelemetry_otlp_recordable"].requires.extend([ "opentelemetry_proto", "opentelemetry_resources", "opentelemetry_trace", ]) - if self.options.get_safe("with_otlp_grpc"): - if Version(self.version) >= "1.5.0" and Version(self.version) < "1.7.0": + if self.options.with_otlp_grpc: + if "1.5.0" <= Version(self.version) < "1.7.0": self.cpp_info.components["opentelemetry_exporter_otlp_grpc_metrics"].requires.extend([ "grpc::grpc++", "opentelemetry_otlp_recordable", @@ -438,14 +418,14 @@ def package_info(self): "opentelemetry_exporter_otlp_grpc_client", ]) - if (self.options.get_safe("with_otlp_http") or + if (self.options.with_otlp_http or self.options.with_zipkin or self.options.with_elasticsearch ): self.cpp_info.components[self._http_client_name].requires.append("libcurl::libcurl") self.cpp_info.components[self._http_client_name].requires.append("openssl::openssl") - if self.options.get_safe("with_otlp_http"): + if self.options.with_otlp_http: self.cpp_info.components["opentelemetry_exporter_otlp_http_client"].requires.extend([ self._http_client_name, "nlohmann_json::nlohmann_json", @@ -457,11 +437,10 @@ def package_info(self): "opentelemetry_exporter_otlp_http_client", ]) - if Version(self.version) >= "1.5.0": - self.cpp_info.components["opentelemetry_exporter_otlp_http_metric"].requires.extend([ - "opentelemetry_otlp_recordable", - "opentelemetry_exporter_otlp_http_client" - ]) + self.cpp_info.components["opentelemetry_exporter_otlp_http_metric"].requires.extend([ + "opentelemetry_otlp_recordable", + "opentelemetry_exporter_otlp_http_client" + ]) if self.options.with_logs_preview: self.cpp_info.components["opentelemetry_exporter_otlp_http_log"].requires.extend([ @@ -476,7 +455,7 @@ def package_info(self): "opentelemetry_trace", ]) - if self.options.with_jaeger: + if self.options.get_safe("with_jaeger"): self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.extend([ self._http_client_name, "openssl::openssl", @@ -484,10 +463,9 @@ def package_info(self): "thrift::thrift", ]) - if Version(self.version) >= "1.3.0": - self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.append( - "boost::locale" - ) + self.cpp_info.components["opentelemetry_exporter_jaeger_trace"].requires.append( + "boost::locale" + ) if self.settings.os == "Windows" and self.options.with_etw: self.cpp_info.components["opentelemetry_exporter_etw"].libs = [] diff --git a/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch deleted file mode 100644 index ecdbb0cf0f9fc..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.0.1-0001-fix-cmake.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 9fb6f49..1f1547e 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -162,6 +162,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() -diff --git a/exporters/zipkin/CMakeLists.txt b/exporters/zipkin/CMakeLists.txt -index 2316860..8995b31 100644 ---- a/exporters/zipkin/CMakeLists.txt -+++ b/exporters/zipkin/CMakeLists.txt -@@ -21,7 +21,7 @@ add_library(opentelemetry_exporter_zipkin_trace src/zipkin_exporter.cc - src/recordable.cc) - - target_link_libraries(opentelemetry_exporter_zipkin_trace -- PUBLIC opentelemetry_trace http_client_curl) -+ PUBLIC opentelemetry_trace http_client_curl nlohmann_json::nlohmann_json) - - install( - TARGETS opentelemetry_exporter_zipkin_trace diff --git a/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch deleted file mode 100644 index 275e2c9b44a66..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.2.0-0001-fix-cmake.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 8d8f868..2a78f98 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -214,6 +214,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch deleted file mode 100644 index ce868fbedca22..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.3.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 09c21fd..a8d7d16 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -203,7 +203,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 8d8f868..2a78f98 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -214,6 +214,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch deleted file mode 100644 index 1fcf5a0427738..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.4.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6d2b274..4611a6b 100755 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -208,7 +208,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 37d45da..89395c0 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -215,6 +215,10 @@ else() - ${METRICS_SERVICE_PB_CPP_FILE}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(needs_proto_download) - add_dependencies(opentelemetry_proto opentelemetry-proto) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch deleted file mode 100644 index b3391855652c4..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.6.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a1b6934..d4f5251 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -209,7 +209,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 629ea81..3b09b92 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -242,6 +242,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch deleted file mode 100644 index e5e3898386303..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.7.0-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e7597fc8..d880a90d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -217,7 +217,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 629ea815..3b09b92e 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -242,6 +242,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch deleted file mode 100644 index 5c4fcae46b11b..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.8.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 9b9710d..6eb42bb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -222,7 +222,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 47f57a6..ebf5869 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -280,6 +280,10 @@ else() # cmake 3.8 or lower - target_link_libraries(opentelemetry_proto INTERFACE ${Protobuf_LIBRARIES}) - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - set_property(TARGET opentelemetry_proto PROPERTY POSITION_INDEPENDENT_CODE ON) - endif() diff --git a/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch b/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch deleted file mode 100644 index 6deba6e434af5..0000000000000 --- a/recipes/opentelemetry-cpp/all/patches/1.9.1-0001-fix-cmake.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dbfb6a2..83c92cc 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -299,7 +299,6 @@ if(WITH_JAEGER) - find_package(Thrift QUIET) - if(Thrift_FOUND) - find_package(Boost REQUIRED) -- include_directories(${Boost_INCLUDE_DIR}) - else() - # Install Thrift and propagate via vcpkg toolchain file - if(WIN32 AND (NOT DEFINED CMAKE_TOOLCHAIN_FILE)) -diff --git a/cmake/opentelemetry-proto.cmake b/cmake/opentelemetry-proto.cmake -index 34b33d3..19e67e9 100644 ---- a/cmake/opentelemetry-proto.cmake -+++ b/cmake/opentelemetry-proto.cmake -@@ -311,6 +311,10 @@ if(WITH_OTLP_GRPC) - endif() - endif() - -+if(TARGET gRPC::grpc++) -+ target_link_libraries(opentelemetry_proto PUBLIC gRPC::grpc++) -+endif() -+ - if(BUILD_SHARED_LIBS) - foreach(proto_target ${OPENTELEMETRY_PROTO_TARGETS}) - set_property(TARGET ${proto_target} PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/recipes/opentelemetry-cpp/config.yml b/recipes/opentelemetry-cpp/config.yml index 8429e67e0bca0..ea5fa8db677c4 100644 --- a/recipes/opentelemetry-cpp/config.yml +++ b/recipes/opentelemetry-cpp/config.yml @@ -1,19 +1,9 @@ versions: + "1.12.0": + folder: all "1.9.1": folder: all - "1.8.1": + "1.8.3": folder: all "1.7.0": folder: all - "1.6.1": - folder: all - "1.4.1": - folder: all - "1.4.0": - folder: all - "1.3.0": - folder: all - "1.2.0": - folder: all - "1.0.1": - folder: all From 5c6cae59995de472798e98bbec054371f6d032fd Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:15:56 +0100 Subject: [PATCH 0766/1307] (#22082) highs: fix installation for mingw & simplify recipe in the meantime * drop 1.4.2 * rely on CMake for installation * explicit cmake & pkgconfig names * more explicit options to cmake * remove dead code * fix include in test package * Revert "fix include in test package" This reverts commit 71e49fcff391271460e554b7050c43570bc3e20c. * fix cpp_info.includedirs --- recipes/highs/all/conandata.yml | 9 --- recipes/highs/all/conanfile.py | 69 ++++++++----------- .../0001-missing-includes-msvc15-1.4.2.patch | 48 ------------- recipes/highs/config.yml | 2 - 4 files changed, 28 insertions(+), 100 deletions(-) delete mode 100644 recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch diff --git a/recipes/highs/all/conandata.yml b/recipes/highs/all/conandata.yml index c88418f873ba7..72761292a635a 100644 --- a/recipes/highs/all/conandata.yml +++ b/recipes/highs/all/conandata.yml @@ -5,12 +5,3 @@ sources: "1.5.3": url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.5.3.tar.gz" sha256: "ce1a7d2f008e60cc69ab06f8b16831bd0fcd5f6002d3bbebae9d7a3513a1d01d" - "1.4.2": - url: "https://github.com/ERGO-Code/HiGHS/archive/refs/tags/v1.4.2.tar.gz" - sha256: "29330e284491143cd53a547c23178221df46423679a98f6684251e65cc384d2b" -patches: - "1.4.2": - - patch_file: "patches/0001-missing-includes-msvc15-1.4.2.patch" - patch_description: "Add missing includes for std::tolower and std::max in MSVC15" - patch_type: portability - patch_source: "https://github.com/ERGO-Code/HiGHS/pull/1152" diff --git a/recipes/highs/all/conanfile.py b/recipes/highs/all/conanfile.py index bba181cddafd7..0094aa110e305 100644 --- a/recipes/highs/all/conanfile.py +++ b/recipes/highs/all/conanfile.py @@ -1,12 +1,10 @@ +import os + from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get -from conan.tools.microsoft import is_msvc -from conan.tools.scm import Version -from os.path import join +from conan.tools.files import copy, get, rmdir -required_conan_version = ">=1.53.0" +required_conan_version = ">=1.54.0" class HiGHSConan(ConanFile): @@ -16,6 +14,7 @@ class HiGHSConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.highs.dev/" topics = ("simplex", "interior point", "solver", "linear", "programming") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -26,12 +25,6 @@ class HiGHSConan(ConanFile): "fPIC": True, } - def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) - - def export_sources(self): - export_conandata_patches(self) - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -40,52 +33,46 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): self.requires("zlib/[>=1.2.11 <2]") - def layout(self): - cmake_layout(self, src_folder="src") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["SHARED"] = self.options.shared + tc.variables["FAST_BUILD"] = True tc.variables["BUILD_TESTING"] = False tc.variables["PYTHON"] = False tc.variables["FORTRAN"] = False tc.variables["CSHARP"] = False + tc.variables["EXP"] = False + tc.variables["BUILD_EXAMPLES"] = False + tc.variables["JULIA"] = False tc.generate() - tc = CMakeDeps(self) - tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): - apply_conandata_patches(self) cmake = CMake(self) cmake.configure() - cmake.build(target="highs") + cmake.build() def package(self): - copy(self, pattern="LICENSE", src=self.source_folder, dst=join(self.package_folder, "licenses")) - copy(self, pattern="*.h", src=join(self.source_folder, "src"), dst=join(self.package_folder, "include")) - copy(self, pattern="HConfig.h", src=self.build_folder, dst=join(self.package_folder, "include")) - if self.options.shared: - copy(self, pattern="*.so*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.dylib*", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) - copy(self, pattern="*.dll", src=self.build_folder, dst=join(self.package_folder, "bin"), keep_path=False) - else: - copy(self, pattern="*.a", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib")) - if Version(self.version) >= Version("1.5.3"): - # https://github.com/ERGO-Code/HiGHS/commit/2c24b4cb6ecece98ed807dbeff9b27a2fbba8d37 - copy(self, pattern="*.lib", src=self.build_folder, dst=join(self.package_folder, "lib"), keep_path=False) - else: - copy(self, pattern="*.lib", src=join(self.build_folder, "lib"), dst=join(self.package_folder, "lib"), keep_path=False) - fix_apple_shared_install_name(self) + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): - self.cpp_info.libs = collect_libs(self) + self.cpp_info.set_property("cmake_file_name", "highs") + self.cpp_info.set_property("cmake_target_name", "highs::highs") + self.cpp_info.set_property("pkg_config_name", "highs") + self.cpp_info.libs = ["highs"] + self.cpp_info.includedirs = [os.path.join("include", "highs")] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.system_libs.append("m") - self.cpp_info.system_libs.append("pthread") - if is_msvc(self) and Version(self.version) < Version("1.5.3"): - # https://github.com/ERGO-Code/HiGHS/commit/7d784db29ab22003670b8b2eb494ab1a97f1815b - self.cpp_info.defines.append("_ITERATOR_DEBUG_LEVEL=0") + self.cpp_info.system_libs.extend(["m", "pthread"]) diff --git a/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch b/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch deleted file mode 100644 index 83c7f865fb734..0000000000000 --- a/recipes/highs/all/patches/0001-missing-includes-msvc15-1.4.2.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/extern/filereaderlp/reader.cpp b/extern/filereaderlp/reader.cpp -index 86151120..71f6747a 100644 ---- a/extern/filereaderlp/reader.cpp -+++ b/extern/filereaderlp/reader.cpp -@@ -2,6 +2,7 @@ - - #include "builder.hpp" - -+#include - #include - #include - #include -diff --git a/src/lp_data/HighsOptions.cpp b/src/lp_data/HighsOptions.cpp -index 903a7c71..6e66e78e 100644 ---- a/src/lp_data/HighsOptions.cpp -+++ b/src/lp_data/HighsOptions.cpp -@@ -17,6 +17,7 @@ - - #include - #include -+#include - - // void setLogOptions(); - -diff --git a/src/presolve/ICrash.cpp b/src/presolve/ICrash.cpp -index 12a6fc3f..e7bf86a4 100644 ---- a/src/presolve/ICrash.cpp -+++ b/src/presolve/ICrash.cpp -@@ -14,6 +14,7 @@ - #include "presolve/ICrash.h" - - #include -+#include - #include - #include - #include -diff --git a/src/util/HighsTimer.h b/src/util/HighsTimer.h -index 6f1d3047..cabef8c4 100644 ---- a/src/util/HighsTimer.h -+++ b/src/util/HighsTimer.h -@@ -16,6 +16,7 @@ - #ifndef UTIL_HIGHSTIMER_H_ - #define UTIL_HIGHSTIMER_H_ - -+#include - #include - #include - #include diff --git a/recipes/highs/config.yml b/recipes/highs/config.yml index ba8bd2230d031..f48a692b61e92 100644 --- a/recipes/highs/config.yml +++ b/recipes/highs/config.yml @@ -3,5 +3,3 @@ versions: folder: all "1.5.3": folder: all - "1.4.2": - folder: all From 799f47ab1903fe96084b5fca48e010c39f524948 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 10 Jan 2024 20:27:50 +0900 Subject: [PATCH 0767/1307] (#21695) quickjs: add version 2023-12-09 * quickjs: add version 2023-12-09 * make USE_BIGNUM as always True on 2023-12-09 --- recipes/quickjs/all/CMakeLists.txt | 4 +++ recipes/quickjs/all/conandata.yml | 3 +++ recipes/quickjs/all/conanfile.py | 25 +++++++------------ .../quickjs/all/test_package/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 +++--- recipes/quickjs/config.yml | 2 ++ 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/recipes/quickjs/all/CMakeLists.txt b/recipes/quickjs/all/CMakeLists.txt index bd4c048f85e13..bcb68cb57eccd 100644 --- a/recipes/quickjs/all/CMakeLists.txt +++ b/recipes/quickjs/all/CMakeLists.txt @@ -42,6 +42,10 @@ set_target_properties(quickjs PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) +if(USE_BIGNUM) + target_compile_definitions(quickjs PRIVATE CONFIG_BIGNUM) +endif() + find_library(LIBM m) target_link_libraries(quickjs PRIVATE $<$:${LIBM}>) diff --git a/recipes/quickjs/all/conandata.yml b/recipes/quickjs/all/conandata.yml index b6c326416c7bf..2aeb216a1e5d0 100644 --- a/recipes/quickjs/all/conandata.yml +++ b/recipes/quickjs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023-12-09": + url: "https://bellard.org/quickjs/quickjs-2023-12-09.tar.xz" + sha256: "e8afe386f875d0e52310ea91aa48e2b0e04182e821f19147794e3e272f4c8d8c" "2021-03-27": url: "https://bellard.org/quickjs/quickjs-2021-03-27.tar.xz" sha256: "a45bface4c3379538dea8533878d694e289330488ea7028b105f72572fe7fe1a" diff --git a/recipes/quickjs/all/conanfile.py b/recipes/quickjs/all/conanfile.py index 8e68a544366f1..6d4979abaf7f7 100644 --- a/recipes/quickjs/all/conanfile.py +++ b/recipes/quickjs/all/conanfile.py @@ -6,7 +6,7 @@ import os -required_conan_version = ">=1.47.0" +required_conan_version = ">=1.53.0" class QuickJSConan(ConanFile): name = "quickjs" @@ -35,21 +35,14 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if self.version >= "2023-12-09": + del self.options.use_bignum def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass - try: - del self.settings.compiler.libcxx - except Exception: - pass - try: - del self.settings.compiler.cppstd - except Exception: - pass + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def validate(self): # TODO: there are forked repository to support MSVC. (https://github.com/c-smile/quickjspp) @@ -60,12 +53,12 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["QUICKJS_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["USE_BIGNUM"] = self.options.use_bignum + tc.variables["USE_BIGNUM"] = self.options.get_safe("use_bignum", True) tc.variables["DUMP_LEAKS"] = self.options.dump_leaks tc.generate() @@ -82,7 +75,7 @@ def package(self): def package_info(self): self.cpp_info.libs = ["quickjs"] - if self.options.use_bignum == True: + if self.options.get_safe("use_bignum", True): self.cpp_info.defines.append("CONFIG_BIGNUM") if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/quickjs/all/test_package/CMakeLists.txt b/recipes/quickjs/all/test_package/CMakeLists.txt index e6ebd1f3afdc4..d1a90ff4e16f0 100644 --- a/recipes/quickjs/all/test_package/CMakeLists.txt +++ b/recipes/quickjs/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(test_package C) +project(test_package LANGUAGES C) find_package(quickjs REQUIRED CONFIG) diff --git a/recipes/quickjs/all/test_v1_package/CMakeLists.txt b/recipes/quickjs/all/test_v1_package/CMakeLists.txt index 4c0436c623e76..2162b4d53343a 100644 --- a/recipes/quickjs/all/test_v1_package/CMakeLists.txt +++ b/recipes/quickjs/all/test_v1_package/CMakeLists.txt @@ -1,10 +1,8 @@ cmake_minimum_required(VERSION 3.0) -project(test_package C) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(quickjs REQUIRED CONFIG) - -add_executable(${PROJECT_NAME} ../test_package/test_package.c) -target_link_libraries(${PROJECT_NAME} PRIVATE quickjs::quickjs) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/quickjs/config.yml b/recipes/quickjs/config.yml index 4110c6ceb7c0f..ee7d61b2fc03e 100644 --- a/recipes/quickjs/config.yml +++ b/recipes/quickjs/config.yml @@ -1,3 +1,5 @@ versions: + "2023-12-09": + folder: "all" "2021-03-27": folder: "all" From a3d5eb90b479fc0e0a7284ab745f5699336d00c8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 13:50:19 +0200 Subject: [PATCH 0768/1307] (#22105) llvm-openmp: add v17.0.6, relax OS/compiler checks * llvm-openmp: add v17.0.6 * llvm-openmp: relax OS/compiler checks * llvm-openmp: add v17.0.6 to config.yml --- recipes/llvm-openmp/all/conandata.yml | 7 +++++++ recipes/llvm-openmp/all/conanfile.py | 19 +++++++------------ recipes/llvm-openmp/config.yml | 2 ++ 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/recipes/llvm-openmp/all/conandata.yml b/recipes/llvm-openmp/all/conandata.yml index ce869816491ae..cb5f1104f3fc9 100644 --- a/recipes/llvm-openmp/all/conandata.yml +++ b/recipes/llvm-openmp/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "17.0.6": + openmp: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/openmp-17.0.6.src.tar.xz" + sha256: "74334cbb4dc8b73a768448a7561d5a3540404940b2267b1fb9813a6464b320de" + cmake: + url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/cmake-17.0.6.src.tar.xz" + sha256: "807f069c54dc20cb47b21c1f6acafdd9c649f3ae015609040d6182cab01140f4" "17.0.4": openmp: url: "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.4/openmp-17.0.4.src.tar.xz" diff --git a/recipes/llvm-openmp/all/conanfile.py b/recipes/llvm-openmp/all/conanfile.py index 14e375a798b6c..a885645ea3471 100644 --- a/recipes/llvm-openmp/all/conanfile.py +++ b/recipes/llvm-openmp/all/conanfile.py @@ -8,6 +8,7 @@ from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, save, move_folder_contents, rmdir +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -45,15 +46,6 @@ class LLVMOpenMpConan(ConanFile): ) } - def _supports_compiler(self): - supported_compilers_by_os = { - "Linux": ["clang", "gcc", "intel-cc"], - "Macos": ["apple-clang", "clang", "gcc", "intel-cc"], - "Windows": ["intel-cc"], - } - the_compiler, the_os = self.settings.compiler.value, self.settings.os.value - return the_compiler in supported_compilers_by_os.get(the_os, []) - @property def _compilers_minimum_version(self): return { @@ -85,9 +77,12 @@ def layout(self): cmake_layout(self, src_folder="src") def validate(self): - if not self._supports_compiler(): - raise ConanInvalidConfiguration("llvm-openmp doesn't support compiler: " - f"{self.settings.compiler} on OS: {self.settings.os}.") + if is_msvc(self): + raise ConanInvalidConfiguration("llvm-openmp is not compatible with MSVC") + if self.settings.compiler not in ["apple-clang", "clang", "gcc", "intel-cc"]: + raise ConanInvalidConfiguration( + f"{self.settings.compiler} is not supported by this recipe. Contributions are welcome!" + ) if self._version_major >= 17: if self.settings.compiler.cppstd: check_min_cppstd(self, 17) diff --git a/recipes/llvm-openmp/config.yml b/recipes/llvm-openmp/config.yml index 99c6f0e0e936a..2f6f02e2e7d3f 100644 --- a/recipes/llvm-openmp/config.yml +++ b/recipes/llvm-openmp/config.yml @@ -1,4 +1,6 @@ versions: + "17.0.6": + folder: all "17.0.4": folder: all "16.0.6": From e0fc689ee545d2bb64ee1782c888d4a75b3f26e9 Mon Sep 17 00:00:00 2001 From: Gareth Andrew Lloyd Date: Wed, 10 Jan 2024 12:03:28 +0000 Subject: [PATCH 0769/1307] (#22171) RocksDB v8.8.1 --- recipes/rocksdb/all/conandata.yml | 3 +++ recipes/rocksdb/all/conanfile.py | 23 ++++++++++++++++++- .../rocksdb/all/test_package/CMakeLists.txt | 6 ++++- recipes/rocksdb/config.yml | 2 ++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml index af19cfe0abbd7..1792c3284fadc 100644 --- a/recipes/rocksdb/all/conandata.yml +++ b/recipes/rocksdb/all/conandata.yml @@ -8,6 +8,9 @@ sources: "6.20.3": url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz" sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca" + "8.8.1": + url: "https://github.com/facebook/rocksdb/archive/refs/tags/v8.8.1.tar.gz" + sha256: "056c7e21ad8ae36b026ac3b94b9d6e0fcc60e1d937fc80330921e4181be5c36e" patches: "6.29.5": - patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch" diff --git a/recipes/rocksdb/all/conanfile.py b/recipes/rocksdb/all/conanfile.py index 5962da8487f2b..09425b9f86390 100644 --- a/recipes/rocksdb/all/conanfile.py +++ b/recipes/rocksdb/all/conanfile.py @@ -51,6 +51,20 @@ class RocksDBConan(ConanFile): "use_rtti": False, } + @property + def _min_cppstd(self): + return "11" if Version(self.version) < "8.8.1" else "17" + + @property + def _compilers_minimum_version(self): + return {} if self._min_cppstd == "11" else { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -87,7 +101,13 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 11) + check_min_cppstd(self, self._min_cppstd) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) if self.settings.arch not in ["x86_64", "ppc64le", "ppc64", "mips64", "armv8"]: raise ConanInvalidConfiguration("Rocksdb requires 64 bits") @@ -174,6 +194,7 @@ def package(self): self._remove_static_libraries() self._remove_cpp_headers() # Force stable ABI for shared libraries rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): cmake_target = "rocksdb-shared" if self.options.shared else "rocksdb" diff --git a/recipes/rocksdb/all/test_package/CMakeLists.txt b/recipes/rocksdb/all/test_package/CMakeLists.txt index 81aa571c924fc..b23ea40acdad9 100644 --- a/recipes/rocksdb/all/test_package/CMakeLists.txt +++ b/recipes/rocksdb/all/test_package/CMakeLists.txt @@ -14,6 +14,10 @@ else() add_executable(${PROJECT_NAME}_cpp test_package.cpp) target_link_libraries(${PROJECT_NAME}_cpp PRIVATE RocksDB::rocksdb) - target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + if(RocksDB_VERSION VERSION_LESS "8.8.1") + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_11) + else() + target_compile_features(${PROJECT_NAME}_cpp PRIVATE cxx_std_17) + endif() add_test(NAME ${PROJECT_NAME}_cpp COMMAND ${PROJECT_NAME}_cpp) endif() diff --git a/recipes/rocksdb/config.yml b/recipes/rocksdb/config.yml index c4e32f27c353e..3691365f4f4a3 100644 --- a/recipes/rocksdb/config.yml +++ b/recipes/rocksdb/config.yml @@ -5,3 +5,5 @@ versions: folder: all "6.20.3": folder: all + "8.8.1": + folder: all From 19512768de572ca2cece91fdc68dd83f7b7bfbd6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 14:51:11 +0200 Subject: [PATCH 0770/1307] (#22188) wolfssl: add version 5.6.6 Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot) Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/) Co-authored-by: Quentin Chateau via Conan Center Bot --- recipes/wolfssl/all/conandata.yml | 3 +++ recipes/wolfssl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wolfssl/all/conandata.yml b/recipes/wolfssl/all/conandata.yml index 07a88deb272d2..0a393b28e8b4a 100644 --- a/recipes/wolfssl/all/conandata.yml +++ b/recipes/wolfssl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "5.6.6": + url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.6-stable.tar.gz" + sha256: "3d2ca672d41c2c2fa667885a80d6fa03c3e91f0f4f72f87aef2bc947e8c87237" "5.6.4": url: "https://github.com/wolfSSL/wolfssl/archive/v5.6.4-stable.tar.gz" sha256: "031691906794ff45e1e792561cf31759f5d29ac74936bc8dffb8b14f16d820b4" diff --git a/recipes/wolfssl/config.yml b/recipes/wolfssl/config.yml index 1d558dac0d232..e099f310174af 100644 --- a/recipes/wolfssl/config.yml +++ b/recipes/wolfssl/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.6": + folder: all "5.6.4": folder: all "5.6.3": From 797c09d63ff53560532bfa5f96391223bf4a58f6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 15:03:17 +0200 Subject: [PATCH 0771/1307] (#22192) openblas: add v0.3.26 --- recipes/openblas/all/conandata.yml | 3 +++ recipes/openblas/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openblas/all/conandata.yml b/recipes/openblas/all/conandata.yml index f79b91170955a..d0f076aeb8032 100644 --- a/recipes/openblas/all/conandata.yml +++ b/recipes/openblas/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.26": + url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.26.tar.gz" + sha256: "4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68" "0.3.25": url: "https://github.com/xianyi/OpenBLAS/archive/v0.3.25.tar.gz" sha256: "4c25cb30c4bb23eddca05d7d0a85997b8db6144f5464ba7f8c09ce91e2f35543" diff --git a/recipes/openblas/config.yml b/recipes/openblas/config.yml index 84e082765ab47..e0275b7ea815a 100644 --- a/recipes/openblas/config.yml +++ b/recipes/openblas/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.26": + folder: all "0.3.25": folder: all "0.3.24": From 373684723daf66013220c612637cf577f31abcf8 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 15:17:19 +0200 Subject: [PATCH 0772/1307] (#22194) libsass: add v3.6.6 --- recipes/libsass/all/conandata.yml | 3 +++ recipes/libsass/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libsass/all/conandata.yml b/recipes/libsass/all/conandata.yml index a3583eec521db..0d7398fa561ea 100644 --- a/recipes/libsass/all/conandata.yml +++ b/recipes/libsass/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6.6": + url: "https://github.com/sass/libsass/archive/3.6.6.tar.gz" + sha256: "11f0bb3709a4f20285507419d7618f3877a425c0131ea8df40fe6196129df15d" "3.6.5": url: "https://github.com/sass/libsass/archive/3.6.5.tar.gz" sha256: "89d8f2c46ae2b1b826b58ce7dde966a176bac41975b82e84ad46b01a55080582" diff --git a/recipes/libsass/config.yml b/recipes/libsass/config.yml index dad090706c27e..58097450a200c 100644 --- a/recipes/libsass/config.yml +++ b/recipes/libsass/config.yml @@ -1,4 +1,6 @@ versions: + "3.6.6": + folder: all "3.6.5": folder: all "3.6.4": From 7ab2d429dbfe39183128332e87b0406b64a418ee Mon Sep 17 00:00:00 2001 From: Mi-La Date: Wed, 10 Jan 2024 14:45:38 +0100 Subject: [PATCH 0773/1307] (#22234) zserio: Hotfix default for -fPIC option to be True --- recipes/zserio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zserio/all/conanfile.py b/recipes/zserio/all/conanfile.py index 34e9e0b178ab6..2ab5a23336294 100644 --- a/recipes/zserio/all/conanfile.py +++ b/recipes/zserio/all/conanfile.py @@ -22,7 +22,7 @@ class ZserioConanFile(ConanFile): "fPIC": [True, False] } default_options = { - "fPIC": False + "fPIC": True } @property From 4d7bb0c2c42c9a21b86659e7f2a0837a00ce9c0f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 Jan 2024 17:33:46 +0100 Subject: [PATCH 0774/1307] (#22239) thrift: bump deps * thrift: bump deps * bump qt --- recipes/thrift/all/conanfile.py | 4 +- recipes/thrift/all/patches/cmake-0.13.0.patch | 80 ------------------- 2 files changed, 2 insertions(+), 82 deletions(-) delete mode 100644 recipes/thrift/all/patches/cmake-0.13.0.patch diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 3f576411eeb0d..81c5ea92e7246 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -75,11 +75,11 @@ def requirements(self): if self.options.with_libevent: self.requires("libevent/2.1.12") if self.options.with_qt5: - self.requires("qt/5.15.9") + self.requires("qt/5.15.12") def build_requirements(self): if self._settings_build.os == "Windows": - self.tool_requires("winflexbison/2.5.24") + self.tool_requires("winflexbison/2.5.25") else: self.tool_requires("flex/2.6.4") self.tool_requires("bison/3.8.2") diff --git a/recipes/thrift/all/patches/cmake-0.13.0.patch b/recipes/thrift/all/patches/cmake-0.13.0.patch deleted file mode 100644 index 1acf18b419ac5..0000000000000 --- a/recipes/thrift/all/patches/cmake-0.13.0.patch +++ /dev/null @@ -1,80 +0,0 @@ ---- a/build/cmake/DefineOptions.cmake -+++ b/build/cmake/DefineOptions.cmake -@@ -39,10 +39,6 @@ option(BUILD_LIBRARIES "Build Thrift libraries" ON) - # and enables the library if all are found. This means the default is to build as - # much as possible but leaving out libraries if their dependencies are not met. - --if (NOT Boost_USE_STATIC_LIBS) -- add_definitions(-DBOOST_ALL_DYN_LINK) -- add_definitions(-DBOOST_TEST_DYN_LINK) --endif() - - # as3 - option(WITH_AS3 "Build ActionScript 3 Thrift Library" ON) -@@ -118,7 +114,12 @@ CMAKE_DEPENDENT_OPTION(BUILD_HASKELL "Build GHC library" ON - # Common library options - # https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html - # Default on Windows is static, shared mode library support needs work... --CMAKE_DEPENDENT_OPTION(BUILD_SHARED_LIBS "Build shared libraries" OFF "WIN32" ON) -+if(WIN32) -+ set(DEFAULT_BUILD_SHARED_LIBS ON) -+else() -+ set(DEFAULT_BUILD_SHARED_LIBS OFF) -+endif() -+option(BUILD_SHARED_LIBS "Build shared libraries" ${DEFAULT_BUILD_SHARED_LIBS}) - - if (WITH_SHARED_LIB) - message(WARNING "WITH_SHARED_LIB is deprecated; use -DBUILD_SHARED_LIBS=ON instead") ---- a/lib/c_glib/CMakeLists.txt -+++ b/lib/c_glib/CMakeLists.txt -@@ -59,13 +59,13 @@ set(thrift_c_glib_SOURCES - ) - - # If OpenSSL is not found just ignore the OpenSSL stuff --find_package(OpenSSL) --if(OPENSSL_FOUND AND WITH_OPENSSL) -+if(WITH_OPENSSL) -+ find_package(OpenSSL REQUIRED) - list( APPEND thrift_c_glib_SOURCES - src/thrift/c_glib/transport/thrift_ssl_socket.c - ) -- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -- list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}") -+ #include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -+ list(APPEND SYSLIBS OpenSSL::SSL OpenSSL::Crypto) - endif() - - ---- a/lib/cpp/CMakeLists.txt -+++ b/lib/cpp/CMakeLists.txt -@@ -98,13 +98,13 @@ else() - endif() - - # If OpenSSL is not found or disabled just ignore the OpenSSL stuff --if(OPENSSL_FOUND AND WITH_OPENSSL) -+if(WITH_OPENSSL) - list( APPEND thriftcpp_SOURCES - src/thrift/transport/TSSLSocket.cpp - src/thrift/transport/TSSLServerSocket.cpp - ) -- include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -- list(APPEND SYSLIBS "${OPENSSL_LIBRARIES}") -+ #include_directories(SYSTEM "${OPENSSL_INCLUDE_DIR}") -+ list(APPEND SYSLIBS OpenSSL::SSL OpenSSL::Crypto) - endif() - - if(UNIX) -@@ -152,11 +152,11 @@ ADD_PKGCONFIG_THRIFT(thrift) - - if(WITH_LIBEVENT) - find_package(Libevent REQUIRED) # Libevent comes with CMake support form upstream -- include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS}) -+ #include_directories(SYSTEM ${LIBEVENT_INCLUDE_DIRS}) - - ADD_LIBRARY_THRIFT(thriftnb ${thriftcppnb_SOURCES}) - LINK_AGAINST_THRIFT_LIBRARY(thriftnb thrift) -- TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} ${LIBEVENT_LIBRARIES}) -+ TARGET_LINK_LIBRARIES_THRIFT(thriftnb ${SYSLIBS} libevent::core libevent::extra) - ADD_PKGCONFIG_THRIFT(thrift-nb) - endif() - From 710c0804cf172a3a594991c33b9c4c4fc9a17394 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 10 Jan 2024 18:44:30 +0200 Subject: [PATCH 0775/1307] (#22191) open62541: add v1.3.9 --- recipes/open62541/all/conandata.yml | 7 +++++++ recipes/open62541/all/submoduledata.yml | 5 +++++ recipes/open62541/config.yml | 2 ++ 3 files changed, 14 insertions(+) diff --git a/recipes/open62541/all/conandata.yml b/recipes/open62541/all/conandata.yml index 41d18d560523a..8fd6ed73c8578 100644 --- a/recipes/open62541/all/conandata.yml +++ b/recipes/open62541/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.9": + url: "https://github.com/open62541/open62541/archive/v1.3.9.tar.gz" + sha256: "71764d4a060cfa07eae7aaabd176da38b155ef01c63103513339699fd8026e2f" "1.3.8": url: "https://github.com/open62541/open62541/archive/v1.3.8.tar.gz" sha256: "b6943b564787c4953b77ca8d7f987c4b896b3f3e91f45d9f13e9056b6148bc1d" @@ -12,6 +15,10 @@ sources: url: "https://github.com/open62541/open62541/archive/v1.0.6.tar.gz" sha256: "299940025c14929533064abe0044d5805ea50d52b32d05ad9bc0e6996569c2a6" patches: + "1.3.9": + - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" + patch_description: "Disable static code analysis" + patch_type: "conan" "1.3.8": - patch_file: "patches/0001-disable-sanitizers-1_3_x.patch" patch_description: "Disable static code analysis" diff --git a/recipes/open62541/all/submoduledata.yml b/recipes/open62541/all/submoduledata.yml index 1de1304b65b1e..f60651d6c51ea 100644 --- a/recipes/open62541/all/submoduledata.yml +++ b/recipes/open62541/all/submoduledata.yml @@ -19,3 +19,8 @@ submodules: sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip archive_pattern: "UA-Nodeset-{version}" + "1.3.9": + deps/ua-nodeset: + sha256: 032c93e3f7c335bbb2d2d699804a804c9cdce2a2ecc3fe7cde552f2130982c26 + url: https://github.com/OPCFoundation/UA-Nodeset/archive/Glass=1.0.0-2022-01-01.zip + archive_pattern: "UA-Nodeset-{version}" diff --git a/recipes/open62541/config.yml b/recipes/open62541/config.yml index 6a69381fdd40f..02f8b3e330035 100644 --- a/recipes/open62541/config.yml +++ b/recipes/open62541/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.9": + folder: all "1.3.8": folder: all "1.2.6": From 1ae3e2b664f39c5d8f25229f69611b0b021becbf Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 10 Jan 2024 20:20:00 +0300 Subject: [PATCH 0776/1307] (#22243) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index b0622b8bf862b..ed5be88770bcf 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.2.tar.gz" + sha256: "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2" "2.4.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.1.tar.gz" sha256: "61a439206e1ed2e68702c9811e3055d0adfda5945fb098ea7bfe8906c33d7b49" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c2a60b2d90930..b4f96dd428767 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.2": + folder: all "2.4.1": folder: all "2.4.0": From 9ef0c5aca866044cd665ba90c6bdcdec0eb8748c Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Wed, 10 Jan 2024 18:51:24 +0100 Subject: [PATCH 0777/1307] (#22245) vulkan-validationlayers/all: bump deps * vulkan-validationlayers/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * remove unused patches --- .../vulkan-validationlayers/all/conanfile.py | 2 +- .../all/patches/1.2.182-0001-fix-cmake.patch | 83 ------------------- .../patches/1.2.189.2-0001-fix-cmake.patch | 75 ----------------- .../patches/1.2.198.0-0001-fix-cmake.patch | 75 ----------------- 4 files changed, 1 insertion(+), 234 deletions(-) delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch delete mode 100644 recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch diff --git a/recipes/vulkan-validationlayers/all/conanfile.py b/recipes/vulkan-validationlayers/all/conanfile.py index c2830d5f99a6c..8d5cc5e6efcf4 100644 --- a/recipes/vulkan-validationlayers/all/conanfile.py +++ b/recipes/vulkan-validationlayers/all/conanfile.py @@ -137,7 +137,7 @@ def loose_lt_semver(v1, v2): def build_requirements(self): if self._needs_pkg_config and not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if Version(self.version) >= "1.3.239": self.tool_requires("cmake/[>=3.17.2 <4]") diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch deleted file mode 100644 index 1df1151c34367..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.182-0001-fix-cmake.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -102,7 +102,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -154,7 +154,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -237,13 +237,10 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - --if(BUILD_TESTS OR BUILD_LAYERS) -+if(BUILD_TESTS) - - set(GLSLANG_INSTALL_DIR "GLSLANG-NOTFOUND" CACHE PATH "Absolute path to a glslang install directory") - if(NOT GLSLANG_INSTALL_DIR AND NOT DEFINED ENV{GLSLANG_INSTALL_DIR} AND NOT TARGET glslang) -@@ -302,8 +299,14 @@ if(BUILD_TESTS OR BUILD_LAYERS) - set(GLSLANG_SPIRV_INCLUDE_DIR "${glslang_SOURCE_DIR}" CACHE PATH "Path to glslang spirv headers") - set(GLSLANG_LIBRARIES glslang SPIRV SPVRemapper) - endif() -+endif() - -+if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -389,7 +392,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -291,9 +291,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch deleted file mode 100644 index a5cb883c9cc3a..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.189.2-0001-fix-cmake.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,7 +111,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -163,7 +163,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -240,10 +240,7 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - - if(BUILD_TESTS) -@@ -307,6 +304,10 @@ endif() - - if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -375,7 +376,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -297,9 +297,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled diff --git a/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch b/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch deleted file mode 100644 index e482c6be482cf..0000000000000 --- a/recipes/vulkan-validationlayers/all/patches/1.2.198.0-0001-fix-cmake.patch +++ /dev/null @@ -1,75 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -108,7 +108,7 @@ if (TARGET Vulkan::Headers) - get_target_property(VulkanHeaders_INCLUDE_DIRS Vulkan::Headers INTERFACE_INCLUDE_DIRECTORIES) - get_target_property(VulkanRegistry_DIR Vulkan::Registry INTERFACE_INCLUDE_DIRECTORIES) - else() -- find_package(VulkanHeaders REQUIRED) -+ find_package(VulkanHeaders REQUIRED MODULE) - - # xxxnsubtil: this should eventually be replaced by exported targets - add_library(Vulkan-Headers INTERFACE) -@@ -160,7 +160,7 @@ if(UNIX AND NOT APPLE) # i.e. Linux - endif() - - if(BUILD_WSI_WAYLAND_SUPPORT) -- find_package(Wayland REQUIRED) -+ find_package(Wayland REQUIRED MODULE) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) - endif() - endif() -@@ -237,10 +237,7 @@ option(BUILD_LAYERS "Build layers" ON) - option(BUILD_LAYER_SUPPORT_FILES "Generate layer files" OFF) # For generating files when not building layers - option(USE_ROBIN_HOOD_HASHING "Use robin-hood-hashing" ON) - if (USE_ROBIN_HOOD_HASHING) -- if(NOT ROBIN_HOOD_HASHING_INSTALL_DIR) -- set(ROBIN_HOOD_HASHING_INSTALL_DIR $ENV{ROBIN_HOOD_HASHING_INSTALL_DIR} PATH "Path to robin-hood-hashing repository") -- endif() -- set(ROBIN_HOOD_HASHING_INCLUDE_DIR "${ROBIN_HOOD_HASHING_INSTALL_DIR}/src/include" PATH "Path to robin-hood-hashing/src/include") -+ find_package(robin_hood REQUIRED CONFIG) - endif() - - if(BUILD_TESTS) -@@ -304,6 +301,10 @@ endif() - - if(BUILD_TESTS OR BUILD_LAYERS) - # spirv-tools -+ find_package(SPIRV-Tools REQUIRED CONFIG) -+ if(NOT TARGET SPIRV-Tools-opt) -+ find_package(SPIRV-Tools-opt REQUIRED CONFIG) -+ endif() - if (NOT TARGET SPIRV-Tools) - if(NOT SPIRV_TOOLS_INSTALL_DIR) - set(SPIRV_TOOLS_INSTALL_DIR "${GLSLANG_INSTALL_DIR}") -@@ -372,7 +373,7 @@ target_include_directories(VkLayer_utils - ${VulkanHeaders_INCLUDE_DIR}) - - if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_utils PUBLIC ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -+ target_link_libraries(VkLayer_utils PUBLIC robin_hood::robin_hood) - target_compile_definitions(VkLayer_utils PUBLIC USE_ROBIN_HOOD_HASHING) - endif() - ---- a/cmake/FindVulkanHeaders.cmake -+++ b/cmake/FindVulkanHeaders.cmake -@@ -62,7 +62,7 @@ if(DEFINED VULKAN_HEADERS_INSTALL_DIR) - NO_CMAKE_FIND_ROOT_PATH) - find_path(VulkanRegistry_DIR - NAMES vk.xml -- HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry -+ HINTS ${VULKAN_HEADERS_INSTALL_DIR}/share/vulkan/registry ${VULKAN_HEADERS_INSTALL_DIR}/res/vulkan/registry - NO_CMAKE_FIND_ROOT_PATH) - else() - # If VULKAN_HEADERS_INSTALL_DIR, or one of its variants was not specified, ---- a/layers/CMakeLists.txt -+++ b/layers/CMakeLists.txt -@@ -301,9 +301,6 @@ if(BUILD_LAYERS) - if(INSTRUMENT_OPTICK) - target_include_directories(VkLayer_khronos_validation PRIVATE ${OPTICK_SOURCE_DIR}) - endif() -- if (USE_ROBIN_HOOD_HASHING) -- target_include_directories(VkLayer_khronos_validation PRIVATE ${ROBIN_HOOD_HASHING_INCLUDE_DIR}) -- endif() - target_link_libraries(VkLayer_khronos_validation PRIVATE ${SPIRV_TOOLS_LIBRARIES}) - - # The output file needs Unix "/" separators or Windows "\" separators On top of that, Windows separators actually need to be doubled From 53710fdfe41b57394f9297959ccfbfb2e12ec248 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 03:43:17 +0900 Subject: [PATCH 0778/1307] (#22247) libmaxmind: add version 1.9.1 --- recipes/libmaxminddb/all/conandata.yml | 3 +++ recipes/libmaxminddb/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libmaxminddb/all/conandata.yml b/recipes/libmaxminddb/all/conandata.yml index f8c6fb1bee557..6267e2c13434f 100644 --- a/recipes/libmaxminddb/all/conandata.yml +++ b/recipes/libmaxminddb/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.1": + url: "https://github.com/maxmind/libmaxminddb/releases/download/1.9.1/libmaxminddb-1.9.1.tar.gz" + sha256: "a80682a89d915fdf60b35d316232fb04ebf36fff27fda9bd39fe8a38d3cd3f12" "1.8.0": url: "https://github.com/maxmind/libmaxminddb/releases/download/1.8.0/libmaxminddb-1.8.0.tar.gz" sha256: "1107799f77be6aa3b9796ad0eed8ffcc334bf45f8bd18e6a984d8adf3e719c6d" diff --git a/recipes/libmaxminddb/config.yml b/recipes/libmaxminddb/config.yml index 376c8bc0f36ac..0a05d03a9c3a0 100644 --- a/recipes/libmaxminddb/config.yml +++ b/recipes/libmaxminddb/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.1": + folder: all "1.8.0": folder: all "1.7.1": From 757a1f6dc54d6e15ded5c803a57a2cf262441780 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 01:02:31 +0200 Subject: [PATCH 0779/1307] (#18901) mpdecimal/2.4.2: migrate to Conan v2 * mpdecimal/2.4.2: migrate to Conan v2 * mpdecimal: restore VirtualRunEnv in test_package * mpdecimal/2.4.2: fix MSVC build * mpdecimal/2.5.x: make use of self.*_path variables * mpdecimal/2.5.x: fix and simplify test_package * mpdecimal/2.4.2: fix Windows lib name * mpdecimal/2.4.2: fix_apple_shared_install_name() --- recipes/mpdecimal/2.4.2/conandata.yml | 6 +- recipes/mpdecimal/2.4.2/conanfile.py | 321 ++++++++++-------- .../2.4.2/test_package/CMakeLists.txt | 7 +- .../mpdecimal/2.4.2/test_package/conanfile.py | 20 +- .../2.4.2/test_v1_package/CMakeLists.txt | 8 + .../2.4.2/test_v1_package/conanfile.py | 16 + recipes/mpdecimal/2.5.x/conanfile.py | 73 ++-- .../2.5.x/test_package/CMakeLists.txt | 4 +- .../mpdecimal/2.5.x/test_package/conanfile.py | 9 +- .../2.5.x/test_v1_package/CMakeLists.txt | 2 +- .../2.5.x/test_v1_package/conanfile.py | 2 +- 11 files changed, 267 insertions(+), 201 deletions(-) create mode 100644 recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt create mode 100644 recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py diff --git a/recipes/mpdecimal/2.4.2/conandata.yml b/recipes/mpdecimal/2.4.2/conandata.yml index 41a874b9a4e1b..c08ade0abc061 100644 --- a/recipes/mpdecimal/2.4.2/conandata.yml +++ b/recipes/mpdecimal/2.4.2/conandata.yml @@ -4,7 +4,5 @@ sources: url: "http://www.bytereef.org/software/mpdecimal/releases/mpdecimal-2.4.2.tar.gz" patches: "2.4.2": - - base_path: "source_subfolder" - patch_file: "patches/0001-msvc-fixes.patch" - - base_path: "source_subfolder" - patch_file: "patches/0002-disable-vcstdint-h-vs2015.patch" + - patch_file: "patches/0001-msvc-fixes.patch" + - patch_file: "patches/0002-disable-vcstdint-h-vs2015.patch" diff --git a/recipes/mpdecimal/2.4.2/conanfile.py b/recipes/mpdecimal/2.4.2/conanfile.py index e0edbd2d2f318..c1e944ec6366b 100644 --- a/recipes/mpdecimal/2.4.2/conanfile.py +++ b/recipes/mpdecimal/2.4.2/conanfile.py @@ -1,19 +1,30 @@ -from conans import ConanFile, AutoToolsBuildEnvironment, tools -from conans.errors import ConanInvalidConfiguration import os -import shutil + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rmdir, mkdir, rename +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, VCVars, NMakeDeps, NMakeToolchain + +required_conan_version = ">=1.53.0" class MpdecimalConan(ConanFile): name = "mpdecimal" - version = "2.4.2" - description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." + description = ( + "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." + ) license = "BSD-2-Clause" - topics = ("mpdecimal", "multiprecision", "library") url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.bytereef.org/mpdecimal" - settings = "os", "compiler", "build_type", "arch" - exports_sources = "patches/**" + topics = ("multiprecision", "library") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -23,42 +34,72 @@ class MpdecimalConan(ConanFile): "fPIC": True, } - _autotools = None - @property - def _source_subfolder(self): - return "source_subfolder" + def _settings_build(self): + return getattr(self, "setings_build", self.settings) - @property - def _is_msvc(self): - return str(self.settings.compiler) in ["Visual Studio", "msvc"] - - def configure(self): - if self._is_msvc and self.settings.arch not in ("x86", "x86_64"): - raise ConanInvalidConfiguration("Arch is unsupported") - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - if self.options.shared: - del self.options.fPIC + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + def configure(self): + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + basic_layout(self, src_folder="src") + + def validate(self): + if is_msvc(self) and self.settings.arch not in ("x86", "x86_64"): + raise ConanInvalidConfiguration( + f"{self.ref} currently does not supported {self.settings.arch}. Contributions are welcomed") + + def build_requirements(self): + if is_msvc(self): + self.tool_requires("automake/1.16.5") + else: + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - _shared_ext_mapping = { - "Linux": ".so", - "Windows": ".dll", - "Macos": ".dylib", - } + def generate(self): + if is_msvc(self): + vcvars = VCVars(self) + vcvars.generate() + + deps = NMakeDeps(self) + deps.generate() + + tc = NMakeToolchain(self) + tc.generate() + else: + env = VirtualBuildEnv(self) + env.generate() + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + + tc = AutotoolsToolchain(self) + tc.generate() + + deps = AutotoolsDeps(self) + if is_apple_os(self) and self.settings.arch == "armv8": + deps.environment.append("LDFLAGS", ["-arch arm64"]) + deps.environment.append("LDXXFLAGS", ["-arch arm64"]) + deps.generate() def _patch_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - if not self._is_msvc: + apply_conandata_patches(self) + if not is_msvc(self): """ Using autotools: - Build only shared libraries when shared == True @@ -66,142 +107,140 @@ def _patch_sources(self): ! This is more complicated on Windows because when shared=True, an implicit static library has to be built """ - shared_ext = self._shared_ext_mapping[str(self.settings.os)] + shared_ext_mapping = { + "Linux": ".so", + "Windows": ".dll", + "Macos": ".dylib", + } + shared_ext = shared_ext_mapping[str(self.settings.os)] static_ext = ".a" main_version, _ = self.version.split(".", 1) - tools.replace_in_file(os.path.join(self._source_subfolder, "configure"), - "libmpdec.a", - "libmpdec{}".format(static_ext)) - tools.replace_in_file(os.path.join(self._source_subfolder, "configure"), - "libmpdec.so", - "libmpdec{}".format(shared_ext)) - - makefile_in = os.path.join(self._source_subfolder, "Makefile.in") - mpdec_makefile_in = os.path.join(self._source_subfolder, "libmpdec", "Makefile.in") - tools.replace_in_file(makefile_in, - "libdir = @libdir@", - "libdir = @libdir@\n" - "bindir = @bindir@") + replace_in_file(self, os.path.join(self.source_folder, "configure"), + "libmpdec.a", f"libmpdec{static_ext}") + replace_in_file(self, os.path.join(self.source_folder, "configure"), + "libmpdec.so", f"libmpdec{shared_ext}") + + makefile_in = os.path.join(self.source_folder, "Makefile.in") + mpdec_makefile_in = os.path.join(self.source_folder, "libmpdec", "Makefile.in") + replace_in_file(self, makefile_in, "libdir = @libdir@", "libdir = @libdir@\nbindir = @bindir@") if self.options.shared: if self.settings.os == "Windows": - tools.replace_in_file(makefile_in, - "LIBSHARED = @LIBSHARED@", - "LIBSHARED = libmpdec-{}{}".format(main_version, shared_ext)) - tools.replace_in_file(makefile_in, - "install: FORCE", - "install: FORCE\n" - "\t$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)") - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(bindir)\n") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", - "") + replace_in_file(self, makefile_in, + "LIBSHARED = @LIBSHARED@", + f"LIBSHARED = libmpdec-{main_version}{shared_ext}") + replace_in_file(self, makefile_in, + "install: FORCE", + "install: FORCE\n\t$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)") + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(bindir)\n") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", + "") else: - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)\n", - "") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so", - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec{}".format(shared_ext)) + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 644 libmpdec/$(LIBSTATIC) $(DESTDIR)$(libdir)\n", + "") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so", + f"\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec{shared_ext}") else: - tools.replace_in_file(makefile_in, - "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", - "") - tools.replace_in_file(makefile_in, - "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", - "") + replace_in_file(self, makefile_in, + "\t$(INSTALL) -m 755 libmpdec/$(LIBSHARED) $(DESTDIR)$(libdir)\n", + "") + replace_in_file(self, makefile_in, + "\tcd $(DESTDIR)$(libdir) && ln -sf $(LIBSHARED) $(LIBSONAME) && ln -sf $(LIBSHARED) libmpdec.so\n", + "") - tools.replace_in_file(mpdec_makefile_in, - "default: $(LIBSTATIC) $(LIBSHARED)", - "default: $({})".format("LIBSHARED" if self.options.shared else "LIBSTATIC")) + replace_in_file(self, mpdec_makefile_in, + "default: $(LIBSTATIC) $(LIBSHARED)", + "default: $({})".format("LIBSHARED" if self.options.shared else "LIBSTATIC")) if self.settings.os == "Windows": - tools.replace_in_file(mpdec_makefile_in, - "LIBSHARED = @LIBSHARED@", - "LIBSHARED = libmpdec-{}{}".format(main_version, shared_ext)) - tools.replace_in_file(mpdec_makefile_in, - "\tln -sf $(LIBSHARED) libmpdec.so", - "") - tools.replace_in_file(mpdec_makefile_in, - "\tln -sf $(LIBSHARED) $(LIBSONAME)", - "") - tools.replace_in_file(mpdec_makefile_in, - "CONFIGURE_LDFLAGS =", - "CONFIGURE_LDFLAGS = -Wl,--out-implib,libmpdec{}".format(static_ext)) + replace_in_file(self, mpdec_makefile_in, + "LIBSHARED = @LIBSHARED@", + f"LIBSHARED = libmpdec-{main_version}{shared_ext}") + replace_in_file(self, mpdec_makefile_in, "\tln -sf $(LIBSHARED) libmpdec.so", "") + replace_in_file(self, mpdec_makefile_in, "\tln -sf $(LIBSHARED) $(LIBSONAME)", "") + replace_in_file(self, mpdec_makefile_in, + "CONFIGURE_LDFLAGS =", + f"CONFIGURE_LDFLAGS = -Wl,--out-implib,libmpdec{static_ext}") else: - tools.replace_in_file(mpdec_makefile_in, - "libmpdec.so", - "libmpdec{}".format(shared_ext)) + replace_in_file(self, mpdec_makefile_in, "libmpdec.so", f"libmpdec{shared_ext}") - def _build_msvc(self): - libmpdec_folder = os.path.join(self.build_folder, self._source_subfolder, "libmpdec") - vcbuild_folder = os.path.join(self.build_folder, self._source_subfolder, "vcbuild") - arch_ext = "{}".format(32 if self.settings.arch == "x86" else 64) - dist_folder = os.path.join(vcbuild_folder, "dist{}".format(arch_ext)) - os.mkdir(dist_folder) - - shutil.copy(os.path.join(libmpdec_folder, "Makefile.vc"), os.path.join(libmpdec_folder, "Makefile")) - - autotools = AutoToolsBuildEnvironment(self) - - with tools.chdir(libmpdec_folder): - with tools.vcvars(self.settings): - self.run("""nmake /nologo MACHINE={machine} DLL={dll} CONAN_CFLAGS="{cflags}" CONAN_LDFLAGS="{ldflags}" """.format( - machine="ppro" if self.settings.arch == "x86" else "x64", - dll="1" if self.options.shared else "0", - cflags=" ".join(autotools.flags), - ldflags=" ".join(autotools.link_flags), - )) - - shutil.copy("mpdecimal.h", dist_folder) - if self.options.shared: - shutil.copy("libmpdec-{}.dll".format(self.version), os.path.join(dist_folder, "libmpdec-{}.dll".format(self.version))) - shutil.copy("libmpdec-{}.dll.exp".format(self.version), os.path.join(dist_folder, "libmpdec-{}.exp".format(self.version))) - shutil.copy("libmpdec-{}.dll.lib".format(self.version), os.path.join(dist_folder, "libmpdec-{}.lib".format(self.version))) - else: - shutil.copy("libmpdec-{}.lib".format(self.version), dist_folder) + @property + def _libmpdec_folder(self): + return self.source_path / "libmpdec" + + @property + def _dist_folder(self): + vcbuild_folder = self.build_path / "vcbuild" + arch_ext = "32" if self.settings.arch == "x86" else "64" + return vcbuild_folder / f"dist{arch_ext}" - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - if self.settings.os == "Macos" and self.settings.arch == "armv8": - self._autotools.link_flags.append("-arch arm64") - self._autotools .configure() - return self._autotools + def _build_msvc(self): + libmpdec_folder = self._libmpdec_folder + copy(self, "Makefile.vc", libmpdec_folder, self.build_path) + rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") + + ext = "dll" if self.options.shared else "lib" + mpdec_target = f"libmpdec-{self.version}.{ext}" + + with chdir(self, libmpdec_folder): + self.run("nmake -f Makefile.vc {target} MACHINE={machine} DEBUG={debug} DLL={dll}".format( + target=mpdec_target, + machine={"x86": "ppro", "x86_64": "x64"}[str(self.settings.arch)], + # FIXME: else, use ansi32 and ansi64 + debug="1" if self.settings.build_type == "Debug" else "0", + dll="1" if self.options.shared else "0", + )) + + dist_folder = self._dist_folder + mkdir(self, dist_folder) + copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) + if self.options.shared: + copy(self, "*.dll", libmpdec_folder, dist_folder) + copy(self, "*.dll.exp", libmpdec_folder, dist_folder) + copy(self, "*.dll.lib", libmpdec_folder, dist_folder) + else: + copy(self, "*.lib", libmpdec_folder, dist_folder) def build(self): self._patch_sources() - if self._is_msvc: + if is_msvc(self): self._build_msvc() else: - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.configure() autotools.make() def package(self): - self.copy("LICENSE.txt", src=self._source_subfolder, dst="licenses") - if self._is_msvc: - distfolder = os.path.join(self.build_folder, self._source_subfolder, "vcbuild", "dist{}".format(32 if self.settings.arch == "x86" else 64)) - self.copy("vc*.h", src=os.path.join(self.build_folder, self._source_subfolder, "libmpdec"), dst="include") - self.copy("*.h", src=distfolder, dst="include") - self.copy("*.lib", src=distfolder, dst="lib") - self.copy("*.dll", src=distfolder, dst="bin") + copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if is_msvc(self): + dist_folder = self._dist_folder + copy(self, "vc*.h", src=self._libmpdec_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "*.h", src=dist_folder, dst=os.path.join(self.package_folder, "include")) + copy(self, "*.lib", src=dist_folder, dst=os.path.join(self.package_folder, "lib")) + copy(self, "*.dll", src=dist_folder, dst=os.path.join(self.package_folder, "bin")) else: - with tools.chdir(os.path.join(self.build_folder, self._source_subfolder)): - autotools = self._configure_autotools() + with chdir(self, os.path.join(self.source_folder)): + autotools = Autotools(self) autotools.install() - tools.rmdir(os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "share")) + fix_apple_shared_install_name(self) def package_info(self): - if self._is_msvc: - self.cpp_info.libs = ["libmpdec-{}".format(self.version)] + if is_msvc(self): + if self.options.shared: + self.cpp_info.libs = [f"libmpdec-{self.version}.dll"] + else: + self.cpp_info.libs = [f"libmpdec-{self.version}"] else: self.cpp_info.libs = ["mpdec"] if self.options.shared: - if self._is_msvc: + if is_msvc(self): self.cpp_info.defines = ["USE_DLL"] else: if self.settings.os in ["Linux", "FreeBSD"]: diff --git a/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt b/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt index 3a403dc404b41..fecc277bff235 100644 --- a/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.4.2/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(mpdecimal REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE mpdecimal::mpdecimal) diff --git a/recipes/mpdecimal/2.4.2/test_package/conanfile.py b/recipes/mpdecimal/2.4.2/test_package/conanfile.py index 97c415cdb0a2a..694bc86329208 100644 --- a/recipes/mpdecimal/2.4.2/test_package/conanfile.py +++ b/recipes/mpdecimal/2.4.2/test_package/conanfile.py @@ -1,10 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,5 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - self.run("{} 13 100".format(os.path.join("bin", "test_package")), run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(f"{bin_path} 13 100", env="conanrun") diff --git a/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt b/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/mpdecimal/2.4.2/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py b/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fa100896a6cfb --- /dev/null +++ b/recipes/mpdecimal/2.4.2/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +import os +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + self.run("{} 13 100".format(os.path.join("bin", "test_package")), run_environment=True) diff --git a/recipes/mpdecimal/2.5.x/conanfile.py b/recipes/mpdecimal/2.5.x/conanfile.py index 5d90356bfd228..ce8610550b172 100644 --- a/recipes/mpdecimal/2.5.x/conanfile.py +++ b/recipes/mpdecimal/2.5.x/conanfile.py @@ -8,7 +8,6 @@ from conan.tools.apple import is_apple_os from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -import pathlib required_conan_version = ">=1.55.0" @@ -17,10 +16,11 @@ class MpdecimalConan(ConanFile): name = "mpdecimal" description = "mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic." license = "BSD-2-Clause" - topics = ("mpdecimal", "multiprecision", "library") + topics = ("multiprecision", "library") url = "https://github.com/conan-io/conan-center-index" homepage = "http://www.bytereef.org/mpdecimal" - settings = "os", "compiler", "build_type", "arch" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], @@ -64,9 +64,9 @@ def validate(self): def build_requirements(self): if is_msvc(self): - self.tool_requires("automake/1.16.4") + self.tool_requires("automake/1.16.5") else: - # required to suppport windows as a build machine + # required to support windows as a build machine if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -110,18 +110,18 @@ def generate(self): deps.environment.append("LDXXFLAGS", ["-arch arm64"]) deps.generate() + @property + def _dist_folder(self): + vcbuild_folder = self.build_path / "vcbuild" + arch_ext = "32" if self.settings.arch == "x86" else "64" + return vcbuild_folder / f"dist{arch_ext}" + def _build_msvc(self): - source_dir = pathlib.Path(self.source_folder) - build_dir = pathlib.Path(self.build_folder) - libmpdec_folder = source_dir / "libmpdec" - libmpdecpp_folder = source_dir / "libmpdec++" - vcbuild_folder = build_dir / "vcbuild" - arch_ext = "{}".format(32 if self.settings.arch == "x86" else 64) - dist_folder = vcbuild_folder / "dist{}".format(arch_ext) - mkdir(self, dist_folder) + libmpdec_folder = self.source_path / "libmpdec" + libmpdecpp_folder = self.source_path / "libmpdec++" - copy(self, "Makefile.vc", libmpdec_folder, build_dir) - rename(self, build_dir / "Makefile.vc", libmpdec_folder / "Makefile") + copy(self, "Makefile.vc", libmpdec_folder, self.build_path) + rename(self, self.build_path / "Makefile.vc", libmpdec_folder / "Makefile") mpdec_target = "libmpdec-{}.{}".format(self.version, "dll" if self.options.shared else "lib") mpdecpp_target = "libmpdec++-{}.{}".format(self.version, "dll" if self.options.shared else "lib") @@ -140,16 +140,18 @@ def _build_msvc(self): dll="1" if self.options.shared else "0", )) + dist_folder = self._dist_folder + mkdir(self, dist_folder) copy(self, "mpdecimal.h", libmpdec_folder, dist_folder) if self.options.shared: - copy(self, "libmpdec-{}.dll".format(self.version), libmpdec_folder, dist_folder) - copy(self, "libmpdec-{}.dll.exp".format(self.version), libmpdec_folder, dist_folder) - copy(self, "libmpdec-{}.dll.lib".format(self.version), libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll", libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll.exp", libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.dll.lib", libmpdec_folder, dist_folder) else: - copy(self, "libmpdec-{}.lib".format(self.version), libmpdec_folder, dist_folder) + copy(self, f"libmpdec-{self.version}.lib", libmpdec_folder, dist_folder) if self.options.cxx: copy(self, "decimal.hh", libmpdecpp_folder, dist_folder) - copy(self, "libmpdec++-{}.lib".format(self.version), libmpdecpp_folder, dist_folder) + copy(self, f"libmpdec++-{self.version}.lib", libmpdecpp_folder, dist_folder) @property def _shared_suffix(self): @@ -162,10 +164,13 @@ def _shared_suffix(self): @property def _target_names(self): libsuffix = self._shared_suffix if self.options.shared else ".a" - versionsuffix = ".{}".format(self.version) if self.options.shared else "" - suffix = "{}{}".format(versionsuffix, libsuffix) if is_apple_os( - self) or self.settings.os == "Windows" else "{}{}".format(libsuffix, versionsuffix) - return "libmpdec{}".format(suffix), "libmpdec++{}".format(suffix) + versionsuffix = f".{self.version}" if self.options.shared else "" + suffix = ( + f"{versionsuffix}{libsuffix}" + if is_apple_os(self) or self.settings.os == "Windows" + else f"{libsuffix}{versionsuffix}" + ) + return f"libmpdec{suffix}", f"libmpdec++{suffix}" def build(self): apply_conandata_patches(self) @@ -176,32 +181,28 @@ def build(self): autotools.configure() # self.output.info(load(self, pathlib.Path("libmpdec", "Makefile"))) libmpdec, libmpdecpp = self._target_names - copy(self, "*", pathlib.Path(self.source_folder, "libmpdec"), pathlib.Path(self.build_folder, "libmpdec")) + copy(self, "*", self.source_path / "libmpdec", self.build_path / "libmpdec") with chdir(self, "libmpdec"): autotools.make(target=libmpdec) if self.options.cxx: - copy(self, "*", pathlib.Path(self.source_folder, "libmpdec++"), - pathlib.Path(self.build_folder, "libmpdec++")) + copy(self, "*", self.source_path / "libmpdec++", self.build_path / "libmpdec++") with chdir(self, "libmpdec++"): autotools.make(target=libmpdecpp) def package(self): - source_dir = pathlib.Path(self.source_folder) - pkg_dir = pathlib.Path(self.package_folder) + pkg_dir = self.package_path copy(self, "LICENSE.txt", src=self.source_folder, dst=pkg_dir / "licenses") if is_msvc(self): - build_dir = pathlib.Path(self.build_folder) - distfolder = build_dir / "vcbuild" / "dist{}".format(32 if self.settings.arch == "x86" else 64) - copy(self, "vc*.h", src=source_dir / "libmpdec", dst=pkg_dir / "include") + distfolder = self._dist_folder + copy(self, "vc*.h", src=self.source_path / "libmpdec", dst=pkg_dir / "include") copy(self, "*.h", src=distfolder, dst=pkg_dir / "include") if self.options.cxx: copy(self, "*.hh", src=distfolder, dst=pkg_dir / "include") copy(self, "*.lib", src=distfolder, dst=pkg_dir / "lib") copy(self, "*.dll", src=distfolder, dst=pkg_dir / "bin") else: - build_dir = pathlib.Path(self.build_folder) - mpdecdir = build_dir / "libmpdec" - mpdecppdir = build_dir / "libmpdec++" + mpdecdir = self.build_path / "libmpdec" + mpdecppdir = self.build_path / "libmpdec++" copy(self, "mpdecimal.h", src=mpdecdir, dst=pkg_dir / "include") if self.options.cxx: copy(self, "decimal.hh", src=mpdecppdir, dst=pkg_dir / "include") @@ -218,7 +219,7 @@ def package(self): def package_info(self): lib_pre_suf = ("", "") if is_msvc(self): - lib_pre_suf = ("lib", "-{}".format(self.version)) + lib_pre_suf = ("lib", f"-{self.version}") elif self.settings.os == "Windows": if self.options.shared: lib_pre_suf = ("", ".dll") diff --git a/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt b/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt index f5aa7762f69b0..fd62443b2dbe5 100644 --- a/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.5.x/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(test_package) +project(test_package LANGUAGES CXX C) enable_testing() @@ -10,7 +10,7 @@ add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE mpdecimal::libmpdecimal) add_test(NAME test_package COMMAND test_package 10 13) -if(MPDECIMAL_CXX) +if(TARGET mpdecimal::libmpdecimal++) add_executable(${PROJECT_NAME}_cpp test_package.cpp) set_propertY(TARGET ${PROJECT_NAME}_cpp PROPERTY CXX_STANDARD 11) target_link_libraries(${PROJECT_NAME}_cpp PRIVATE mpdecimal::libmpdecimal++) diff --git a/recipes/mpdecimal/2.5.x/test_package/conanfile.py b/recipes/mpdecimal/2.5.x/test_package/conanfile.py index 6ee5b409e31d8..24cabf72b9327 100644 --- a/recipes/mpdecimal/2.5.x/test_package/conanfile.py +++ b/recipes/mpdecimal/2.5.x/test_package/conanfile.py @@ -1,11 +1,11 @@ from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.cmake import CMake, cmake_layout from conan.tools.build import can_run, build_jobs class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "VirtualRunEnv", "CMakeDeps" + generators = "VirtualRunEnv", "CMakeToolchain", "CMakeDeps" test_type = "explicit" def layout(self): @@ -14,11 +14,6 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) - def generate(self): - tc = CMakeToolchain(self) - tc.variables["MPDECIMAL_CXX"] = self.dependencies["mpdecimal"].options.cxx - tc.generate() - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt b/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt index c23ed5cfe6d98..4c6b75fcc1914 100644 --- a/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt +++ b/recipes/mpdecimal/2.5.x/test_v1_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_v1_package) enable_testing() diff --git a/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py b/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py index 39414f0a3b89d..9f63e99aff76f 100644 --- a/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py +++ b/recipes/mpdecimal/2.5.x/test_v1_package/conanfile.py @@ -4,7 +4,7 @@ class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + generators = "cmake", "cmake_find_package_multi" def build(self): cmake = CMake(self) From 4cf16895170b1ac3caa80e0abde359dc1841cadd Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 11 Jan 2024 00:34:31 +0000 Subject: [PATCH 0780/1307] (#22212) [bot] Update authorized users list (2024-01-08) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Do not add mike-solar. Changed username --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 231ba110a0d98..fc765593075be 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1265,3 +1265,4 @@ authorized_users: - pgrossomoreira - wu-vincent - Inujel +- keszegrobert From 2450b3524a166d12883fc69f428f9fe5742e1dd4 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 11:59:08 +0900 Subject: [PATCH 0781/1307] (#22251) glaze: add version 2.0.5 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index c00d61094fdb5..453113b4c53e7 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.5": + url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" + sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" "2.0.3": url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index a06406120e257..b0766039668ce 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.5": + folder: all "2.0.3": folder: all "2.0.2": From 58a8d2e28230b04d4cbc9b4abafd57da69ba1a48 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 11 Jan 2024 12:14:41 +0900 Subject: [PATCH 0782/1307] (#22250) base64: add version 0.5.2 --- recipes/base64/all/conandata.yml | 3 +++ recipes/base64/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/base64/all/conandata.yml b/recipes/base64/all/conandata.yml index 05002bdfb4f04..f8a16e7db8b32 100644 --- a/recipes/base64/all/conandata.yml +++ b/recipes/base64/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.5.2": + url: "https://github.com/aklomp/base64/archive/v0.5.2.tar.gz" + sha256: "723a0f9f4cf44cf79e97bcc315ec8f85e52eb104c8882942c3f2fba95acc080d" "0.5.1": url: "https://github.com/aklomp/base64/archive/v0.5.1.tar.gz" sha256: "35fd9400ce85ba5fc5455b3f1c8d0078d084ad246bd808315fd01ea8f2876dbf" diff --git a/recipes/base64/config.yml b/recipes/base64/config.yml index f6f488a641c0d..7e8cf882c17d0 100644 --- a/recipes/base64/config.yml +++ b/recipes/base64/config.yml @@ -1,4 +1,6 @@ versions: + "0.5.2": + folder: all "0.5.1": folder: all "0.5.0": From 2a3e1f19a4619dad971ca1772815305c65af7c33 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 08:59:22 +0200 Subject: [PATCH 0783/1307] (#22193) pixman: add v0.43.0 * pixman: add v0.43.0 * pixman: add source mirrors due to instability of cairographics.org --- recipes/pixman/all/conandata.yml | 17 ++++++++++++++--- recipes/pixman/config.yml | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/recipes/pixman/all/conandata.yml b/recipes/pixman/all/conandata.yml index 4a6a13bbe99c7..64d7ea0c4a642 100644 --- a/recipes/pixman/all/conandata.yml +++ b/recipes/pixman/all/conandata.yml @@ -1,12 +1,23 @@ sources: + "0.43.0": + url: + - "https://www.cairographics.org/releases/pixman-0.43.0.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.43.0.tar.gz" + sha256: "a65c28209858fb16bee50d809c80f90a8e415c0e4fd8321078a1822785a5560a" "0.42.2": - url: "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.42.2.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.42.2.tar.gz" sha256: "ea1480efada2fd948bc75366f7c349e1c96d3297d09a3fe62626e38e234a625e" "0.40.0": - url: "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.40.0.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.40.0.tar.gz" sha256: "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc" "0.38.4": - url: "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" + url: + - "https://www.cairographics.org/releases/pixman-0.38.4.tar.gz" + - "https://www.x.org/releases/individual/lib/pixman-0.38.4.tar.gz" sha256: "da66d6fd6e40aee70f7bd02e4f8f76fc3f006ec879d346bae6a723025cfbdde7" patches: "0.42.2": diff --git a/recipes/pixman/config.yml b/recipes/pixman/config.yml index 6f0c577480090..1daaad4889538 100644 --- a/recipes/pixman/config.yml +++ b/recipes/pixman/config.yml @@ -1,4 +1,6 @@ versions: + "0.43.0": + folder: "all" "0.42.2": folder: "all" "0.40.0": From e712a504b6dd9fa2603c0cff61cb60eb465f5c3c Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Thu, 11 Jan 2024 02:48:08 -0500 Subject: [PATCH 0784/1307] (#20611) andreasbuhr-cppcoro: Conan 2.0 support * cppcoro conan2 support * cppcoro: conan2 cleanup * Lint fixes * cppcoro: Review suggestions and other PR changes * Add andreasbuhr-cppcoro cci.20230629 * cppcoro does not work with clang<14+libstdc++ * Remove cppcoro 20210113 * Add cppcoro windows system deps * Simplify cppcoro v1 test package * cppcoro: Misc hook fixes + misc improvements * Miscellaneous clang testing/fixes * Fix MSVC build * = -> == --- .../andreasbuhr-cppcoro/all/CMakeLists.txt | 7 - recipes/andreasbuhr-cppcoro/all/conandata.yml | 6 +- recipes/andreasbuhr-cppcoro/all/conanfile.py | 139 +++++++++++------- .../all/test_package/CMakeLists.txt | 5 +- .../all/test_package/conanfile.py | 22 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 +++ recipes/andreasbuhr-cppcoro/config.yml | 2 +- 8 files changed, 129 insertions(+), 77 deletions(-) delete mode 100644 recipes/andreasbuhr-cppcoro/all/CMakeLists.txt create mode 100644 recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py diff --git a/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt deleted file mode 100644 index fe06f4e0b9505..0000000000000 --- a/recipes/andreasbuhr-cppcoro/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.4) -project(cmake_wrapper CXX) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/andreasbuhr-cppcoro/all/conandata.yml b/recipes/andreasbuhr-cppcoro/all/conandata.yml index 8db5685072de7..be3ba151d034d 100644 --- a/recipes/andreasbuhr-cppcoro/all/conandata.yml +++ b/recipes/andreasbuhr-cppcoro/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20210113": - url: "https://github.com/andreasbuhr/cppcoro/archive/7cc9433436fe8f2482138019cfaafce8e1d7a896.zip" - sha256: "5edc72bb19616ae5b794c7d83f9a5d4973f32c966f1966ab81779d3a38b36a2c" + "cci.20230629": + url: "https://github.com/andreasbuhr/cppcoro/archive/a3082f56ba135a659f7386b00ff797ba441207ba.zip" + sha256: "8c3283dd7587cdd18b871b290fda9394f262110140685e6de3760ede3b505736" diff --git a/recipes/andreasbuhr-cppcoro/all/conanfile.py b/recipes/andreasbuhr-cppcoro/all/conanfile.py index 2acc06b34e08b..ecc6306553632 100644 --- a/recipes/andreasbuhr-cppcoro/all/conanfile.py +++ b/recipes/andreasbuhr-cppcoro/all/conanfile.py @@ -1,21 +1,24 @@ import os -from conans import ConanFile, tools, CMake -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import rmdir, get, copy +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.53.0" class AndreasbuhrCppCoroConan(ConanFile): name = "andreasbuhr-cppcoro" description = "A library of C++ coroutine abstractions for the coroutines TS" - topics = ("conan", "cpp", "async", "coroutines") + topics = ("cpp", "async", "coroutines") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/andreasbuhr/cppcoro" license = "MIT" settings = "os", "compiler", "build_type", "arch" provides = "cppcoro" - - exports_sources = "CMakeLists.txt" - generators = "cmake" + package_type = "library" options = { "shared": [True, False], @@ -26,87 +29,111 @@ class AndreasbuhrCppCoroConan(ConanFile): "fPIC": True, } - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - @property def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "gcc": "10", "clang": "8", "apple-clang": "10", } + @property + def _min_cppstd(self): + # Clang with libstdc++ always requires C++20 + # Clang 17+ always requires C++20 + # Otherwise, require C++17 + compiler = self.settings.compiler + requires_cpp20 = compiler == "clang" and ("libstdc++" in compiler.get_safe("libcxx", "") or compiler.version >= Version("17")) + return 20 if requires_cpp20 else 17 + + def layout(self): + cmake_layout(self, src_folder="src") + def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + # We can't simply check for C++20, because clang and MSVC support the coroutine TS despite not having labeled (__cplusplus macro) C++20 support min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) if not min_version: - self.output.warn("{} recipe lacks information about the {} compiler support.".format( - self.name, self.settings.compiler)) + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") else: - if tools.Version(self.settings.compiler.version) < min_version: - raise ConanInvalidConfiguration("{} requires coroutine TS support. The current compiler {} {} does not support it.".format( - self.name, self.settings.compiler, self.settings.compiler.version)) - - # Currently clang expects coroutine to be implemented in a certain way (under std::experiemental::), while libstdc++ puts them under std:: - # There are also other inconsistencies, see https://bugs.llvm.org/show_bug.cgi?id=48172 - # This should be removed after both gcc and clang implements the final coroutine TS - if self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") == "libstdc++": - raise ConanInvalidConfiguration("{} does not support clang with libstdc++. Use libc++ instead.".format(self.name)) + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires coroutine TS support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it." + ) + + # Older versions of clang expects coroutine to be put under std::experimental::, while libstdc++ puts them under std::, + # See https://bugs.llvm.org/show_bug.cgi?id=48172 for more context. + if self.settings.compiler == "clang" and "libstdc++" in self.settings.compiler.get_safe("libcxx", ""): + if self.settings.compiler.version < Version("14"): + raise ConanInvalidConfiguration("{self.name} does not support clang<14 with libstdc++. Use libc++ or upgrade to clang 14+ instead.") + if self.settings.compiler.version == Version("14"): + self.output.warning("This build may fail if using libstdc++13 or greater") def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def _configure_cmake(self): - if not self._cmake: - self._cmake = CMake(self) - if self.settings.os == "Windows" and self.options.shared: - self._cmake.definitions["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = "ON" - self._cmake.configure() - return self._cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = "ON" + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - def package_info(self): - self.cpp_info.filenames["cmake_find_package"] = "cppcoro" - self.cpp_info.filenames["cmake_find_package_multi"] = "cppcoro" - self.cpp_info.names["cmake_find_package"] = "cppcoro" - self.cpp_info.names["cmake_find_package_multi"] = "cppcoro" + @property + def _needs_fcoroutines_ts_flag(self): + version = Version(self.settings.compiler.version) + if self.settings.compiler == "clang": + # clang 5: Coroutines support added + # somewhere between clang 5 and 11: the requirement to add -fcoroutines-ts was dropped, at least in the context of this recipe. + return version < 11 + elif self.settings.compiler == "apple-clang": + # At some point before apple-clang 13, in the context of this recipe, the requirement for this flag was dropped. + return version < 13 + else: + return False - comp = self.cpp_info.components["cppcoro"] - comp.names["cmake_find_package"] = "cppcoro" - comp.names["cmake_find_package_multi"] = "cppcoro" - comp.libs = ["cppcoro"] + def package_info(self): + self.cpp_info.libs = ["cppcoro"] - if self.settings.os == "Linux" and self.options.shared: - comp.system_libs = ["pthread"] + if self.settings.os in ["Linux", "FreeBSD"] and self.options.shared: + self.cpp_info.system_libs = ["pthread", "m"] if self.settings.os == "Windows": - comp.system_libs = ["synchronization"] + self.cpp_info.system_libs = ["synchronization", "ws2_32", "mswsock"] - if self.settings.compiler == "Visual Studio": - comp.cxxflags.append("/await") + if is_msvc(self): + self.cpp_info.cxxflags.append("/await") elif self.settings.compiler == "gcc": - comp.cxxflags.append("-fcoroutines") - comp.defines.append("CPPCORO_COMPILER_SUPPORTS_SYMMETRIC_TRANSFER=1") - elif self.settings.compiler == "clang" or self.settings.compiler == "apple-clang": - comp.cxxflags.append("-fcoroutines-ts") + self.cpp_info.cxxflags.append("-fcoroutines") + self.cpp_info.defines.append("CPPCORO_COMPILER_SUPPORTS_SYMMETRIC_TRANSFER=1") + elif self._needs_fcoroutines_ts_flag: + self.cpp_info.cxxflags.append("-fcoroutines-ts") + + self.cpp_info.set_property("cmake_file_name", "cppcoro") + self.cpp_info.set_property("cmake_target_name", "cppcoro::cppcoro") + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.filenames["cmake_find_package"] = "cppcoro" + self.cpp_info.filenames["cmake_find_package_multi"] = "cppcoro" + self.cpp_info.names["cmake_find_package"] = "cppcoro" + self.cpp_info.names["cmake_find_package_multi"] = "cppcoro" diff --git a/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt index 7c6a625130a35..656a3690c2777 100644 --- a/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt +++ b/recipes/andreasbuhr-cppcoro/all/test_package/CMakeLists.txt @@ -1,9 +1,6 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - find_package(cppcoro CONFIG REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) diff --git a/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py b/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py index 910ae60d10438..0a6bc68712d90 100644 --- a/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py +++ b/recipes/andreasbuhr-cppcoro/all/test_package/conanfile.py @@ -1,9 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os -from conans import ConanFile, CMake, tools + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt b/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/andreasbuhr-cppcoro/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py b/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/andreasbuhr-cppcoro/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/andreasbuhr-cppcoro/config.yml b/recipes/andreasbuhr-cppcoro/config.yml index 1ae5eab0b9b8f..1b221bd98d9e3 100644 --- a/recipes/andreasbuhr-cppcoro/config.yml +++ b/recipes/andreasbuhr-cppcoro/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20210113": + "cci.20230629": folder: "all" From 1c560e385ab4719b5a894ead817398e85c359064 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 10:25:06 +0100 Subject: [PATCH 0785/1307] (#22240) boost 1.83.0: fix windows without NOMINMAX --- recipes/boost/all/conandata.yml | 4 ++++ .../all/patches/1.83.0-locale-msvc.patch | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 recipes/boost/all/patches/1.83.0-locale-msvc.patch diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml index ee7228b61bc72..3ffdd91d528ab 100644 --- a/recipes/boost/all/conandata.yml +++ b/recipes/boost/all/conandata.yml @@ -67,6 +67,10 @@ patches: - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" patch_type: "conan" + - patch_file: "patches/1.83.0-locale-msvc.patch" + patch_description: "Fix compilation on windows when NOMINMAX is not defined" + patch_type: "official" + patch_source: "https://github.com/boostorg/locale/pull/189" "1.82.0": - patch_file: "patches/1.82.0-locale-iconv-library-option.patch" patch_description: "Optional flag to specify iconv from either libc of libiconv" diff --git a/recipes/boost/all/patches/1.83.0-locale-msvc.patch b/recipes/boost/all/patches/1.83.0-locale-msvc.patch new file mode 100644 index 0000000000000..acb9510e6eb2f --- /dev/null +++ b/recipes/boost/all/patches/1.83.0-locale-msvc.patch @@ -0,0 +1,22 @@ +From 0552ffc29ff11e4fe130b7143ea6ac2bee7b15c6 Mon Sep 17 00:00:00 2001 +From: wevsty +Date: Sat, 12 Aug 2023 22:13:48 +0800 +Subject: [PATCH] fix build error on MSVC + +--- + boost/locale/util/string.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/boost/locale/util/string.hpp b/boost/locale/util/string.hpp +index 9ab9521c..ba066bd4 100644 +--- a/boost/locale/util/string.hpp ++++ b/boost/locale/util/string.hpp +@@ -38,7 +38,7 @@ namespace boost { namespace locale { namespace util { + /// Cast an unsigned char to a (possibly signed) char avoiding implementation defined behavior + constexpr char to_char(unsigned char c) + { +- return static_cast((c - std::numeric_limits::min()) + std::numeric_limits::min()); ++ return static_cast((c - (std::numeric_limits::min)()) + (std::numeric_limits::min)()); + } + + }}} // namespace boost::locale::util From 8ccef8791c36835b752e4bb5ba403e7a35542012 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Thu, 11 Jan 2024 16:10:09 +0200 Subject: [PATCH 0786/1307] (#22189) xerces-c: add v3.2.5, simplify patching * xerces-c: add v3.2.5 * xerces-c: simplify patching * xerces-c: bump icu --- recipes/xerces-c/all/conandata.yml | 8 +++--- recipes/xerces-c/all/conanfile.py | 12 ++++++--- .../0001-remove-test-samples-324.patch | 27 ------------------- .../patches/0001-remove-test-samples.patch | 27 ------------------- recipes/xerces-c/config.yml | 2 ++ 5 files changed, 16 insertions(+), 60 deletions(-) delete mode 100644 recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch delete mode 100644 recipes/xerces-c/all/patches/0001-remove-test-samples.patch diff --git a/recipes/xerces-c/all/conandata.yml b/recipes/xerces-c/all/conandata.yml index b384861145f6b..42c60fa48a45e 100644 --- a/recipes/xerces-c/all/conandata.yml +++ b/recipes/xerces-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.5": + url: "https://github.com/apache/xerces-c/archive/v3.2.5.tar.gz" + sha256: "4042f6f11c9eba745dc0e5f8035d98b442097ee4efc69e4853410e4737a987f8" "3.2.4": url: "https://github.com/apache/xerces-c/archive/v3.2.4.tar.gz" sha256: "8dfaa30d6a641bda113625ef65e43c433e8ffd94fadd3b8d39dfe6faf450f26d" @@ -9,12 +12,11 @@ sources: url: "https://github.com/apache/xerces-c/archive/v3.2.2.tar.gz" sha256: "7fe5af7d7ad9d4a06503c15fb5bb0aa5f2ba7959700d16c21b8bd183ca542e7f" patches: + "3.2.5": + - patch_file: "patches/0002-find-icu-programs.patch" "3.2.4": - - patch_file: "patches/0001-remove-test-samples-324.patch" - patch_file: "patches/0002-find-icu-programs.patch" "3.2.3": - - patch_file: "patches/0001-remove-test-samples.patch" - patch_file: "patches/0002-find-icu-programs.patch" "3.2.2": - - patch_file: "patches/0001-remove-test-samples.patch" - patch_file: "patches/0002-find-icu-programs.patch" diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index ea827bcd4bbeb..915980e982b8c 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv, VirtualRunEnv -from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir, save from conan.tools.scm import Version import os @@ -70,7 +70,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): - self.requires("icu/74.1") + self.requires("icu/74.2") if self.options.network_accessor == "curl": self.requires("libcurl/[>=7.78.0 <9]") @@ -129,8 +129,14 @@ def generate(self): deps = CMakeDeps(self) deps.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Disable subdirectories + for subdir in ["doc", "tests", "samples"]: + save(self, os.path.join(self.source_folder, subdir, "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch b/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch deleted file mode 100644 index 248d7401136e7..0000000000000 --- a/recipes/xerces-c/all/patches/0001-remove-test-samples-324.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 02f819bfda7f01d53d986db1c14ec704dd290b7b Mon Sep 17 00:00:00 2001 -From: Chris Mc -Date: Fri, 3 Sep 2021 20:30:03 -0400 -Subject: [PATCH] disable extra junk - ---- - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 33bc40f..ebd70c1 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -164,10 +164,10 @@ install( - COMPONENT "development") - - # Process subdirectories --add_subdirectory(doc) -+#add_subdirectory(doc) - add_subdirectory(src) --add_subdirectory(tests) --add_subdirectory(samples) -+#add_subdirectory(tests) -+#add_subdirectory(samples) - - # Display configuration summary - message(STATUS "") diff --git a/recipes/xerces-c/all/patches/0001-remove-test-samples.patch b/recipes/xerces-c/all/patches/0001-remove-test-samples.patch deleted file mode 100644 index 9b610bf94fb8e..0000000000000 --- a/recipes/xerces-c/all/patches/0001-remove-test-samples.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 02f819bfda7f01d53d986db1c14ec704dd290b7b Mon Sep 17 00:00:00 2001 -From: Chris Mc -Date: Fri, 3 Sep 2021 20:30:03 -0400 -Subject: [PATCH] disable extra junk - ---- - CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4254f89bb..dfd4bb01b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -175,10 +175,10 @@ install( - COMPONENT "development") - - # Process subdirectories --add_subdirectory(doc) -+#add_subdirectory(doc) - add_subdirectory(src) --add_subdirectory(tests) --add_subdirectory(samples) -+#add_subdirectory(tests) -+#add_subdirectory(samples) - - # Display configuration summary - message(STATUS "") diff --git a/recipes/xerces-c/config.yml b/recipes/xerces-c/config.yml index 795ad892ef369..a8902c8d470c0 100644 --- a/recipes/xerces-c/config.yml +++ b/recipes/xerces-c/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.5": + folder: all "3.2.4": folder: all "3.2.3": From 094242f88fa5cbfc9fc87e4c3d2d179237513f9d Mon Sep 17 00:00:00 2001 From: Oleksandr Koval <37271580+OleksandrKvl@users.noreply.github.com> Date: Thu, 11 Jan 2024 17:36:55 +0200 Subject: [PATCH 0787/1307] (#22196) recipe for `sbepp/1.2.0` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * recipe for `sbepp/1.2.0` * make recipe and tests backward compatible * import `CMakeToolchain` from `conan.tools.cmake` * remove unused `CMakeDeps` module --------- Co-authored-by: Rubén Rincón Blanco --- recipes/sbepp/all/conandata.yml | 3 ++ recipes/sbepp/all/conanfile.py | 9 +++- recipes/sbepp/all/test_package/CMakeLists.txt | 44 ++++++++++++------- recipes/sbepp/all/test_package/conanfile.py | 9 +++- .../sbepp/all/test_v1_package/conanfile.py | 6 +++ recipes/sbepp/config.yml | 2 + 6 files changed, 53 insertions(+), 20 deletions(-) diff --git a/recipes/sbepp/all/conandata.yml b/recipes/sbepp/all/conandata.yml index 82c17d19658b7..2993d854f596e 100644 --- a/recipes/sbepp/all/conandata.yml +++ b/recipes/sbepp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.2.0.tar.gz" + sha256: "068cb8bc940316f8817af8da5c8de577ab49281308b2125c30f2f4e00431a68a" "1.1.0": url: "https://github.com/OleksandrKvl/sbepp/archive/refs/tags/1.1.0.tar.gz" sha256: "a5787c7204a2509c8d1eb6c65f0143020d7c7ceadd4a53d2cb9a64dc4f6b9e9a" diff --git a/recipes/sbepp/all/conanfile.py b/recipes/sbepp/all/conanfile.py index 1f66b3dcaaf1b..f1cab17bf2649 100644 --- a/recipes/sbepp/all/conanfile.py +++ b/recipes/sbepp/all/conanfile.py @@ -111,16 +111,23 @@ def package(self): copy(self, "sbeppcTargets.cmake", src=os.path.join(self.source_folder, os.pardir, "cmake"), dst=os.path.join(self.package_folder, self._module_path)) + if Version(self.version) >= "1.2.0": + copy(self, "sbeppcHelpers.cmake", + src=os.path.join(self.source_folder, "cmake"), + dst=os.path.join(self.package_folder, self._module_path)) @property def _module_path(self): return os.path.join("lib", "cmake") def package_info(self): - # provide sbepp::sbeppc target + # provide sbepp::sbeppc target and CMake helpers from sbeppcHelpers.cmake build_modules = [ os.path.join(self._module_path, "sbeppcTargets.cmake") ] + if Version(self.version) >= "1.2.0": + build_modules.append(os.path.join(self._module_path, "sbeppcHelpers.cmake")) + self.cpp_info.builddirs.append(self._module_path) self.cpp_info.set_property("cmake_build_modules", build_modules) diff --git a/recipes/sbepp/all/test_package/CMakeLists.txt b/recipes/sbepp/all/test_package/CMakeLists.txt index 0d65c50caeceb..de42d2a9dbead 100644 --- a/recipes/sbepp/all/test_package/CMakeLists.txt +++ b/recipes/sbepp/all/test_package/CMakeLists.txt @@ -9,27 +9,37 @@ if(TARGET sbepp::sbeppc) set(sbeppc_test_name "test_sbeppc") set(schema "test_schema") set(schema_path "${CMAKE_CURRENT_LIST_DIR}/${schema}.xml") - set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${schema}/${schema}.hpp") - - add_custom_command( - OUTPUT ${output_file} - COMMAND $ ${schema_path} - DEPENDS ${schema_path} - ) - - add_custom_target(compile_schema DEPENDS ${output_file}) add_executable(${sbeppc_test_name}) - add_dependencies(${sbeppc_test_name} compile_schema) target_sources(${sbeppc_test_name} PRIVATE test_sbeppc.cpp) - - target_include_directories(${sbeppc_test_name} - SYSTEM PRIVATE - ${CMAKE_CURRENT_BINARY_DIR} - ) - - target_link_libraries(${sbeppc_test_name} PRIVATE sbepp::sbepp) target_compile_features(${sbeppc_test_name} PRIVATE cxx_std_11) + + # `sbeppc_compile_schema` was introduced only in `1.2.0` + if(SBEPP_VERSION VERSION_GREATER_EQUAL "1.2.0") + sbeppc_compile_schema( + TARGET_NAME compiled_schema + SCHEMA_FILE "${schema_path}" + ) + + target_link_libraries(${sbeppc_test_name} PRIVATE compiled_schema) + else() + set(output_file "${CMAKE_CURRENT_BINARY_DIR}/${schema}/${schema}.hpp") + + add_custom_command( + OUTPUT "${output_file}" + COMMAND $ "${schema_path}" + DEPENDS "${schema_path}" + ) + + add_custom_target(compile_schema DEPENDS "${output_file}") + add_dependencies(${sbeppc_test_name} compile_schema) + target_include_directories(${sbeppc_test_name} + SYSTEM PRIVATE + "${CMAKE_CURRENT_BINARY_DIR}" + ) + + target_link_libraries(${sbeppc_test_name} PRIVATE sbepp::sbepp) + endif() endif() # test `sbepp::sbepp` header-only library diff --git a/recipes/sbepp/all/test_package/conanfile.py b/recipes/sbepp/all/test_package/conanfile.py index 1111583fea732..f673d7c44446b 100644 --- a/recipes/sbepp/all/test_package/conanfile.py +++ b/recipes/sbepp/all/test_package/conanfile.py @@ -1,13 +1,13 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import cmake_layout, CMake +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os # It will become the standard on Conan 2.x class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def requirements(self): @@ -16,6 +16,11 @@ def requirements(self): def layout(self): cmake_layout(self) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SBEPP_VERSION"] = self.dependencies["sbepp"].ref.version + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sbepp/all/test_v1_package/conanfile.py b/recipes/sbepp/all/test_v1_package/conanfile.py index c492184eec19c..f15a1e8fcf232 100644 --- a/recipes/sbepp/all/test_v1_package/conanfile.py +++ b/recipes/sbepp/all/test_v1_package/conanfile.py @@ -1,4 +1,5 @@ from conans import ConanFile, CMake +from conan.tools.cmake import CMakeToolchain from conan.tools.build import cross_building import os @@ -8,6 +9,11 @@ class TestPackageV1Conan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" + def generate(self): + tc = CMakeToolchain(self) + tc.variables["SBEPP_VERSION"] = self.deps_cpp_info["sbepp"].version + tc.generate() + def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sbepp/config.yml b/recipes/sbepp/config.yml index 20ec1c9e2bdee..be97eb7c8428b 100644 --- a/recipes/sbepp/config.yml +++ b/recipes/sbepp/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.1": From c268811795299b0820b4b1d351b5cba69aa3e236 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Thu, 11 Jan 2024 21:30:39 +0300 Subject: [PATCH 0788/1307] (#22261) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index ed5be88770bcf..1c84fc42f125f 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.3.tar.gz" + sha256: "b899a290c09ab073341d8924ebbd43694226d9122e0e174264d3a3770814bb15" "2.4.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.2.tar.gz" sha256: "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index b4f96dd428767..c13479acc9168 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.3": + folder: all "2.4.2": folder: all "2.4.1": From f26fec75d74be6b540c58243ac76b00ffca9a26b Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 21:44:38 +0100 Subject: [PATCH 0789/1307] (#22254) sfml/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/sfml/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/sfml/all/conanfile.py b/recipes/sfml/all/conanfile.py index c29aef0d78113..ca66440dcf795 100644 --- a/recipes/sfml/all/conanfile.py +++ b/recipes/sfml/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): self.requires("freetype/2.13.2") self.requires("stb/cci.20230920") if self.options.audio: - self.requires("flac/1.4.2") + self.requires("flac/1.4.3") self.requires("openal-soft/1.22.2") self.requires("vorbis/1.3.7") if Version(self.version) >= "2.6.0": From eb09c9ccac22df0a1e177e04720bec8f07cd5970 Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Thu, 11 Jan 2024 22:16:22 +0100 Subject: [PATCH 0790/1307] (#22264) perfetto: Bump version: 41.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index d490b5c402d8e..7fcc5a39bf3d7 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "41.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v41.0.tar.gz" + sha256: "4c8fe8a609fcc77ca653ec85f387ab6c3a048fcd8df9275a1aa8087984b89db8" "40.0": url: "https://github.com/google/perfetto/archive/refs/tags/v40.0.tar.gz" sha256: "bd78f0165e66026c31c8c39221ed2863697a8bba5cd39b12e4b43d0b7f71626f" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 52841e460eedc..441b287e9826f 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "41.0": + folder: all "40.0": folder: all "39.0": From 05a6ed5795ff503fe0b258f2e45b47f783bca668 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 11 Jan 2024 23:03:56 +0100 Subject: [PATCH 0791/1307] (#22253) thrift: bump boost --- recipes/thrift/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py index 81c5ea92e7246..312d6788c54a2 100644 --- a/recipes/thrift/all/conanfile.py +++ b/recipes/thrift/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0", transitive_headers=True) + self.requires("boost/1.83.0", transitive_headers=True) if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]") if self.options.with_zlib: From 3d13f57134259ad4fec34664c8dee4c028c9b28a Mon Sep 17 00:00:00 2001 From: Guillaume Egles Date: Thu, 11 Jan 2024 14:49:30 -0800 Subject: [PATCH 0792/1307] (#22268) restinio: bump to `fmt/10.2.0` --- recipes/restinio/v0.7/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py index b56146cd43b19..29aee97b93a3d 100644 --- a/recipes/restinio/v0.7/conanfile.py +++ b/recipes/restinio/v0.7/conanfile.py @@ -36,7 +36,7 @@ def layout(self): def requirements(self): self.requires("llhttp/9.1.3") - self.requires("fmt/10.1.1") + self.requires("fmt/10.2.0") self.requires("expected-lite/0.6.3") if self.options.asio == "standalone": From 45f7661f62fb086c671ea513ab46aacf8fe85e71 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 Jan 2024 15:49:22 +0900 Subject: [PATCH 0793/1307] (#22270) zlig-nb: add version 2.1.6 --- recipes/zlib-ng/all/conandata.yml | 3 +++ recipes/zlib-ng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/zlib-ng/all/conandata.yml b/recipes/zlib-ng/all/conandata.yml index 7e85151017f0d..c46c2b8a3621f 100644 --- a/recipes/zlib-ng/all/conandata.yml +++ b/recipes/zlib-ng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.6": + url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.6.tar.gz" + sha256: "a5d504c0d52e2e2721e7e7d86988dec2e290d723ced2307145dedd06aeb6fef2" "2.1.5": url: "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.1.5.tar.gz" sha256: "3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04" diff --git a/recipes/zlib-ng/config.yml b/recipes/zlib-ng/config.yml index b48f6e22e71f3..2b7d8b2941104 100644 --- a/recipes/zlib-ng/config.yml +++ b/recipes/zlib-ng/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.6": + folder: all "2.1.5": folder: all "2.1.4": From 2fc0f1319fb865e25b3b563879f2658ee461958a Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 12 Jan 2024 19:55:44 +0900 Subject: [PATCH 0794/1307] (#22186) roaring: add version 2.1.2 --- recipes/roaring/all/conandata.yml | 3 +++ recipes/roaring/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/roaring/all/conandata.yml b/recipes/roaring/all/conandata.yml index 355272cf62ff7..edc3ffb72f6d6 100644 --- a/recipes/roaring/all/conandata.yml +++ b/recipes/roaring/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.2": + url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.2.tar.gz" + sha256: "a53d2f540f78ddae31e30c573b1b7fd41d7257d6a090507ba35d9c398712e5ad" "2.1.1": url: "https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/v2.1.1.tar.gz" sha256: "40a1c04e220bb2305c3adb5347f42b6b435c4bb4ac89dd0047ba8e73a7388dfb" diff --git a/recipes/roaring/config.yml b/recipes/roaring/config.yml index 0285278f20a4c..cc4a150b9e961 100644 --- a/recipes/roaring/config.yml +++ b/recipes/roaring/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.2": + folder: all "2.1.1": folder: all "2.1.0": From 71e8de439b57449c44a3bc946d917b3831e6ca71 Mon Sep 17 00:00:00 2001 From: Bruce Emehiser Date: Fri, 12 Jan 2024 04:42:15 -0800 Subject: [PATCH 0795/1307] (#22138) rapidjson/* Specify that rapidjson is a header-only library. * rapidjson/* Specify that rapidjson is a header-only library. * Add package_type and package_id_embed_mode options. --- recipes/rapidjson/all/conanfile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/recipes/rapidjson/all/conanfile.py b/recipes/rapidjson/all/conanfile.py index 01002651291b6..49a4bd4e70fd7 100644 --- a/recipes/rapidjson/all/conanfile.py +++ b/recipes/rapidjson/all/conanfile.py @@ -13,11 +13,13 @@ class RapidjsonConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "http://rapidjson.org" license = "MIT" + package_type = "header-library" + package_id_embed_mode = "minor" settings = "os", "arch", "compiler", "build_type" no_copy_source = True def layout(self): - basic_layout(self) + basic_layout(self, src_folder="src") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True, @@ -33,6 +35,8 @@ def package_id(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "RapidJSON") self.cpp_info.set_property("cmake_target_name", "rapidjson") + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "RapidJSON" From 65da40abc3e9bb08a8ccc2aee8ab18fc1869cd88 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 12 Jan 2024 14:47:32 +0200 Subject: [PATCH 0796/1307] (#18947) libest: migrate to Conan v2 * libest: migrate to Conan v2 * libest: transitive_libs=True * libest: strip binaries for Release builds * libest: run autoreconf To hopefully fix configure: error: cannot run C compiled programs. * libest: fix OpenSSL dependency configuration * libest: OpenSSL flags * libest: use version range for openssl Co-authored-by: Uilian Ries * libest: openssl v3 is not supported * libest: revert openssl dep version --------- Co-authored-by: Uilian Ries --- recipes/libest/all/conandata.yml | 2 - recipes/libest/all/conanfile.py | 120 ++++++++++-------- .../libest/all/test_package/CMakeLists.txt | 7 +- recipes/libest/all/test_package/conanfile.py | 24 +++- .../libest/all/test_v1_package/CMakeLists.txt | 8 ++ .../libest/all/test_v1_package/conanfile.py | 16 +++ 6 files changed, 114 insertions(+), 63 deletions(-) create mode 100644 recipes/libest/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libest/all/test_v1_package/conanfile.py diff --git a/recipes/libest/all/conandata.yml b/recipes/libest/all/conandata.yml index b9d0db8b23c2b..eaebe131cc296 100644 --- a/recipes/libest/all/conandata.yml +++ b/recipes/libest/all/conandata.yml @@ -5,6 +5,4 @@ sources: patches: "3.2.0": - patch_file: "patches/0001-examples-are-broken-don-t-build-them.patch" - base_path: "source_subfolder" - patch_file: "patches/0002-add-extern.patch" - base_path: "source_subfolder" diff --git a/recipes/libest/all/conanfile.py b/recipes/libest/all/conanfile.py index c3b2b423c3d32..ba0d7ffd16a68 100644 --- a/recipes/libest/all/conanfile.py +++ b/recipes/libest/all/conanfile.py @@ -1,80 +1,100 @@ import os -from conans import ConanFile, tools, AutoToolsBuildEnvironment -from conans.errors import ConanInvalidConfiguration + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import cross_building +from conan.tools.env import VirtualRunEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file +from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.53.0" class LibEstConan(ConanFile): name = "libest" - license = "BSD-3-Clause" description = "EST is used for secure certificate enrollment" - topics = ("conan", "EST", "RFC 7030", "certificate enrollment") - homepage = "https://github.com/cisco/libest" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" - settings = "os", "compiler", "build_type", "arch" - exports_sources = "patches/**" - options = {"shared": [True, False], "fPIC": [True, False]} - default_options = {"shared": False, "fPIC": True} - - _autotools = None + homepage = "https://github.com/cisco/libest" + topics = ("EST", "RFC 7030", "certificate enrollment") - @property - def _source_subfolder(self): - return "source_subfolder" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } - @property - def _build_subfolder(self): - return "build_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): - if self.settings.os in ("Windows", "Macos"): - raise ConanInvalidConfiguration( - "Platform is currently not supported by this recipe") + if self.settings.os == "Windows" or is_apple_os(self): + raise ConanInvalidConfiguration("Platform is currently not supported by this recipe") if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + basic_layout(self, src_folder="src") def requirements(self): - self.requires("openssl/1.1.1q") + self.requires("openssl/1.1.1w", transitive_headers=True, transitive_libs=True) + + def build_requirements(self): + self.tool_requires("libtool/2.4.7") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - extracted_dir = self.name + "-r" + self.version - os.rename(extracted_dir, self._source_subfolder) - - def _configure_autotools(self): - if not self._autotools: - self._autotools = AutoToolsBuildEnvironment(self) - # TODO: - # - Static only build: https://github.com/cisco/libest/blob/70824ddc09bee661329b9416082d88566efefb32/intro.txt#L140 - # - Release build: https://github.com/cisco/libest/blob/70824ddc09bee661329b9416082d88566efefb32/intro.txt#L253 - args = [] - if self.options.shared: - args.extend(["--enable-shared", "--disable-static"]) - else: - args.extend(["--disable-shared", "--enable-static"]) - self._autotools.configure(args=args) - return self._autotools + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + if not cross_building(self): + env = VirtualRunEnv(self) + env.generate(scope="build") + tc = AutotoolsToolchain(self) + tc.generate() + deps = AutotoolsDeps(self) + deps.generate() + + def _patch_sources(self): + apply_conandata_patches(self) + # Remove duplicate AM_INIT_AUTOMAKE + replace_in_file(self, os.path.join(self.source_folder, "configure.ac"), + "AM_INIT_AUTOMAKE\n", "") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() + self._patch_sources() + with chdir(self, self.source_folder): + autotools = Autotools(self) + autotools.autoreconf() + autotools.configure() autotools.make() def package(self): - self.copy("*LICENSE", src=self._source_subfolder, dst="licenses") - with tools.chdir(self._source_subfolder): - autotools = self._configure_autotools() - autotools.install() + copy(self, "*LICENSE", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + autotools = Autotools(self) + if self.settings.build_type in ["Release", "MinSizeRel"]: + # https://github.com/cisco/libest/blob/r3.2.0/intro.txt#L244-L254 + autotools.install(target="install-strip") + else: + autotools.install() os.unlink(os.path.join(self.package_folder, "lib", "libest.la")) def package_info(self): self.cpp_info.libs = ["est"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["dl", "pthread"] diff --git a/recipes/libest/all/test_package/CMakeLists.txt b/recipes/libest/all/test_package/CMakeLists.txt index 48b855b8a30aa..38cd9db26265b 100644 --- a/recipes/libest/all/test_package/CMakeLists.txt +++ b/recipes/libest/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(PackageTest C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(libest REQUIRED CONFIG) add_executable(example example.c) -target_link_libraries(example ${CONAN_LIBS}) +target_link_libraries(example PRIVATE libest::libest) diff --git a/recipes/libest/all/test_package/conanfile.py b/recipes/libest/all/test_package/conanfile.py index 9f2b070b59136..8d52b7021efe1 100644 --- a/recipes/libest/all/test_package/conanfile.py +++ b/recipes/libest/all/test_package/conanfile.py @@ -1,9 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class CAresTestConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -11,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "example") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/libest/all/test_v1_package/CMakeLists.txt b/recipes/libest/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libest/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libest/all/test_v1_package/conanfile.py b/recipes/libest/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..2978938836233 --- /dev/null +++ b/recipes/libest/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class CAresTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "example") + self.run(bin_path, run_environment=True) From bb3af7d70b23e054b1e4d72b682b741356048528 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 14:10:24 +0100 Subject: [PATCH 0797/1307] (#22236) libvdpau 1.5 --- recipes/libvdpau/all/conandata.yml | 4 + recipes/libvdpau/all/conanfile.py | 85 +++++++++++++++++++ .../libvdpau/all/test_package/CMakeLists.txt | 7 ++ .../libvdpau/all/test_package/conanfile.py | 26 ++++++ .../libvdpau/all/test_package/test_package.c | 46 ++++++++++ recipes/libvdpau/config.yml | 3 + 6 files changed, 171 insertions(+) create mode 100644 recipes/libvdpau/all/conandata.yml create mode 100644 recipes/libvdpau/all/conanfile.py create mode 100644 recipes/libvdpau/all/test_package/CMakeLists.txt create mode 100644 recipes/libvdpau/all/test_package/conanfile.py create mode 100644 recipes/libvdpau/all/test_package/test_package.c create mode 100644 recipes/libvdpau/config.yml diff --git a/recipes/libvdpau/all/conandata.yml b/recipes/libvdpau/all/conandata.yml new file mode 100644 index 0000000000000..8273f43ccd712 --- /dev/null +++ b/recipes/libvdpau/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.5": + url: "https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/1.5/libvdpau-1.5.tar.bz2" + sha256: "a5d50a42b8c288febc07151ab643ac8de06a18446965c7241f89b4e810821913" diff --git a/recipes/libvdpau/all/conanfile.py b/recipes/libvdpau/all/conanfile.py new file mode 100644 index 0000000000000..09d0c693c5905 --- /dev/null +++ b/recipes/libvdpau/all/conanfile.py @@ -0,0 +1,85 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.gnu import PkgConfigDeps +from conan.tools.layout import basic_layout +from conan.tools.meson import Meson, MesonToolchain +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version +import os + + +required_conan_version = ">=1.53.0" + + +class PackageConan(ConanFile): + name = "libvdpau" + description = "Video Decode and Presentation API for UNIX" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://www.freedesktop.org/wiki/Software/VDPAU/" + topics = ("video", "decode", "presentation") + package_type = "shared-library" + provides = "vdpau" + settings = "os", "arch", "compiler", "build_type" + options = { + "with_dri2": [True, False], + } + default_options = { + "with_dri2": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def configure(self): + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires("xorg/system") + + def build_requirements(self): + self.tool_requires("meson/1.2.3") + if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): + self.tool_requires("pkgconf/2.0.3") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = MesonToolchain(self) + tc.project_options["dri2"] = "true" if self.options.with_dri2 else "false" + tc.project_options["documentation"] = "false" + tc.project_options["sysconfdir"] = "share" + tc.generate() + tc = PkgConfigDeps(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + meson = Meson(self) + meson.configure() + meson.build() + + def package(self): + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) + meson = Meson(self) + meson.install() + + # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["vdpau"] + self.cpp_info.set_property("pkg_config_name", "vdpau") + self.cpp_info.system_libs.extend(["pthread", "dl"]) diff --git a/recipes/libvdpau/all/test_package/CMakeLists.txt b/recipes/libvdpau/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..d19c6aa2e9305 --- /dev/null +++ b/recipes/libvdpau/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(libvdpau REQUIRED CONFIG) + +add_executable(test_package test_package.c) +target_link_libraries(test_package PRIVATE libvdpau::libvdpau) diff --git a/recipes/libvdpau/all/test_package/conanfile.py b/recipes/libvdpau/all/test_package/conanfile.py new file mode 100644 index 0000000000000..abc9920da73b3 --- /dev/null +++ b/recipes/libvdpau/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeToolchain", "CMakeDeps", "VirtualBuildEnv", "VirtualRunEnv" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + cmd = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/libvdpau/all/test_package/test_package.c b/recipes/libvdpau/all/test_package/test_package.c new file mode 100644 index 0000000000000..f3468bb4d0800 --- /dev/null +++ b/recipes/libvdpau/all/test_package/test_package.c @@ -0,0 +1,46 @@ +#include +#include + +#include + +#include + +int main() +{ + VdpDevice device; + VdpGetProcAddress * get_proc_address; + VdpGetInformationString * get_information_string; + VdpGetApiVersion * get_api_version; + VdpStatus status; + Display * display = XOpenDisplay(NULL); + if (!display) + { + printf("XOpenDisplay failed!\n"); + return 0; + } + status = vdp_device_create_x11(display, 0, &device, &get_proc_address); + if (status != VDP_STATUS_OK) + { + XCloseDisplay(display); + printf("vdp_device_create_x11 failed\n"); + return 0; + } + status = get_proc_address(device, VDP_FUNC_ID_GET_INFORMATION_STRING, (void**) &get_information_string); + if (status == VDP_STATUS_OK) + { + char const * information_string; + status = get_information_string(&information_string); + if (status == VDP_STATUS_OK) + printf("VDPAU information string: %s\n", information_string); + } + status = get_proc_address(device, VDP_FUNC_ID_GET_API_VERSION, (void**) &get_api_version); + if (status == VDP_STATUS_OK) + { + uint32_t api_version; + status = get_api_version(&api_version); + if (status == VDP_STATUS_OK) + printf("VDPAU API version: %d\n", api_version); + } + XCloseDisplay(display); + return 0; +} diff --git a/recipes/libvdpau/config.yml b/recipes/libvdpau/config.yml new file mode 100644 index 0000000000000..289ff2f2a0c3c --- /dev/null +++ b/recipes/libvdpau/config.yml @@ -0,0 +1,3 @@ +versions: + "1.5": + folder: all From 3a67b15269816ec021e75ee20ee81a2d6fdd67c8 Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Fri, 12 Jan 2024 15:20:50 +0200 Subject: [PATCH 0798/1307] (#22262) gdcm: add 3.0.23 and update zlib-ng * gdcm: add 3.0.23 * gdcm: bump zlib-ng to 2.1.6 --- recipes/gdcm/all/conandata.yml | 22 +++++++++ recipes/gdcm/all/conanfile.py | 2 +- .../all/patches/0002-3.0.23-openjpeg.patch | 22 +++++++++ .../all/patches/0004-3.0.23-find-expat.patch | 11 +++++ .../all/patches/0007-3.0.23-find-json.patch | 45 +++++++++++++++++++ .../patches/0008-3.0.23-find-libuuid.patch | 40 +++++++++++++++++ recipes/gdcm/config.yml | 2 + 7 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch create mode 100644 recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch create mode 100644 recipes/gdcm/all/patches/0007-3.0.23-find-json.patch create mode 100644 recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch diff --git a/recipes/gdcm/all/conandata.yml b/recipes/gdcm/all/conandata.yml index 793cf97224a83..117073eddcaea 100644 --- a/recipes/gdcm/all/conandata.yml +++ b/recipes/gdcm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.0.23": + url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.23/gdcm-3.0.23.tar.bz2" + sha256: "711d155ae4ad84a99a38f3b705b5243da346360232c85fe3e2ca575e57e372a1" "3.0.22": url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.22/gdcm-3.0.22.tar.bz2" sha256: "40a20aa21d6f5b9710020920a9fbd43ac76149b1097f0fab6f9787513a7a7434" @@ -12,6 +15,25 @@ sources: url: "https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%203.0.9/gdcm-3.0.9.tar.bz2" sha256: "1d518b0e4709cecfb7330c9bd9b3a73cfd01ffe70d1c178f36a4c847283c4672" patches: + "3.0.23": + - patch_file: "patches/0002-3.0.23-openjpeg.patch" + patch_description: "fix variable names for openjpeg" + patch_type: "conan" + - patch_file: "patches/0004-3.0.23-find-expat.patch" + patch_description: "enforce usage of FindEXPAT.cmake" + patch_type: "conan" + - patch_file: "patches/0005-3.0.20-openssl.patch" + patch_description: "skip check_cxx_source_compiles usage for openssl" + patch_type: "conan" + - patch_file: "patches/0006-json.patch" + patch_description: "skip check_cxx_source_compiles usage for json-c" + patch_type: "conan" + - patch_file: "patches/0007-3.0.23-find-json.patch" + patch_description: "fix find_package for json-c" + patch_type: "conan" + - patch_file: "patches/0008-3.0.23-find-libuuid.patch" + patch_description: "fix find_package for libuuid" + patch_type: "conan" "3.0.22": - patch_file: "patches/0001-3.0.20-find-charls.patch" patch_description: "allow using charls >= 2.2.0" diff --git a/recipes/gdcm/all/conanfile.py b/recipes/gdcm/all/conanfile.py index d65646a1f9550..5a0b267df427d 100644 --- a/recipes/gdcm/all/conanfile.py +++ b/recipes/gdcm/all/conanfile.py @@ -60,7 +60,7 @@ def requirements(self): self.requires("expat/2.5.0") self.requires("openjpeg/2.5.0") if self.options.with_zlibng: - self.requires("zlib-ng/2.1.3") + self.requires("zlib-ng/2.1.6") else: self.requires("zlib/[>=1.2.11 <2]") if self.settings.os != "Windows": diff --git a/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch b/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch new file mode 100644 index 0000000000000..eeab7fc906123 --- /dev/null +++ b/recipes/gdcm/all/patches/0002-3.0.23-openjpeg.patch @@ -0,0 +1,22 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -361,7 +361,7 @@ endif() + + if(GDCM_USE_SYSTEM_OPENJPEG) + find_package(OpenJPEG 2.0.0 REQUIRED) +- set(GDCM_OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARIES}) ++ set(GDCM_OPENJPEG_LIBRARIES ${OpenJPEG_LIBRARIES}) + else() + set(GDCM_OPENJPEG_LIBRARIES gdcmopenjp2) + endif() +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -161,7 +161,7 @@ else() + ) + endif() + if(GDCM_USE_SYSTEM_OPENJPEG) +- include_directories(${OPENJPEG_INCLUDE_DIRS} ) ++ include_directories(${OpenJPEG_INCLUDE_DIRS} ) + else() + include_directories( + "${GDCM_BINARY_DIR}/Utilities/gdcmopenjpeg" diff --git a/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch b/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch new file mode 100644 index 0000000000000..17f0337ed9cbf --- /dev/null +++ b/recipes/gdcm/all/patches/0004-3.0.23-find-expat.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -420,7 +420,7 @@ endif() + + if(GDCM_USE_SYSTEM_EXPAT) + # If user say so, then this is a requirement ! +- find_package(EXPAT REQUIRED) ++ find_package(EXPAT REQUIRED MODULE) + set(GDCM_EXPAT_LIBRARIES ${EXPAT_LIBRARIES}) + else() + set(GDCM_EXPAT_LIBRARIES "gdcmexpat") diff --git a/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch b/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch new file mode 100644 index 0000000000000..0dc527b8151cf --- /dev/null +++ b/recipes/gdcm/all/patches/0007-3.0.23-find-json.patch @@ -0,0 +1,45 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -427,7 +427,7 @@ else() + endif() + + if(GDCM_USE_SYSTEM_JSON) +- find_package(JSON REQUIRED) ++ find_package(json-c REQUIRED CONFIG) + endif() + if(GDCM_USE_SYSTEM_PAPYRUS3) + find_package(PAPYRUS3 REQUIRED) +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -187,11 +187,6 @@ else() + ) + set(GDCMUUID gdcmuuid) + endif() +-if(GDCM_USE_SYSTEM_JSON) +- include_directories( +- ${JSON_INCLUDE_DIRS} +- ) +-endif() + + add_library(gdcmMSFF ${MSFF_SRCS}) + # gdcmPVRGCodec calls gdcmjpeg +@@ -226,7 +221,7 @@ else() + target_link_libraries(gdcmMSFF LINK_PRIVATE ${GDCMUUID}) + endif() + if(GDCM_USE_SYSTEM_JSON) +- target_link_libraries(gdcmMSFF LINK_PRIVATE ${JSON_LIBRARIES}) ++ target_link_libraries(gdcmMSFF PRIVATE json-c::json-c) + endif() + if(UNIX) + find_package(Iconv) +--- a/Source/MediaStorageAndFileFormat/gdcmJSON.cxx ++++ b/Source/MediaStorageAndFileFormat/gdcmJSON.cxx +@@ -18,7 +18,7 @@ + #include "gdcmSystem.h" + + #ifdef GDCM_USE_SYSTEM_JSON +-#include ++#include + #endif + + #ifdef GDCM_HAVE_JSON_OBJECT_OBJECT_GET_EX diff --git a/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch b/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch new file mode 100644 index 0000000000000..25a30c12ea4d4 --- /dev/null +++ b/recipes/gdcm/all/patches/0008-3.0.23-find-libuuid.patch @@ -0,0 +1,40 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -412,7 +412,7 @@ endif() + + if(GDCM_USE_SYSTEM_UUID) + # If user say so, then this is a requirement ! +- find_package(UUID REQUIRED) ++ find_package(libuuid REQUIRED) + set(GDCM_UUID_LIBRARIES ${UUID_LIBRARIES}) + else() + set(GDCM_UUID_LIBRARIES "gdcmuuid") +--- a/Source/MediaStorageAndFileFormat/CMakeLists.txt ++++ b/Source/MediaStorageAndFileFormat/CMakeLists.txt +@@ -176,17 +176,6 @@ if(NOT GDCM_USE_SYSTEM_ZLIB) + "${GDCM_BINARY_DIR}/Utilities/gdcmzlib" + ) + endif() +-if(GDCM_USE_SYSTEM_UUID) +- include_directories( +- ${UUID_INCLUDE_DIR} +- ) +- set(GDCMUUID ${UUID_LIBRARIES}) +-else() +- include_directories( +- "${GDCM_BINARY_DIR}/Utilities/gdcmuuid" # uuid_mangle.h +- ) +- set(GDCMUUID gdcmuuid) +-endif() + + add_library(gdcmMSFF ${MSFF_SRCS}) + # gdcmPVRGCodec calls gdcmjpeg +@@ -218,7 +207,7 @@ if(WIN32) + target_link_libraries(gdcmMSFF LINK_PRIVATE rpcrt4) + #endif() + else() +- target_link_libraries(gdcmMSFF LINK_PRIVATE ${GDCMUUID}) ++ target_link_libraries(gdcmMSFF LINK_PRIVATE libuuid::libuuid) + endif() + if(GDCM_USE_SYSTEM_JSON) + target_link_libraries(gdcmMSFF PRIVATE json-c::json-c) diff --git a/recipes/gdcm/config.yml b/recipes/gdcm/config.yml index 675075c6ed71e..2cf37e22fa2ab 100644 --- a/recipes/gdcm/config.yml +++ b/recipes/gdcm/config.yml @@ -1,4 +1,6 @@ versions: + "3.0.23": + folder: "all" "3.0.22": folder: "all" "3.0.21": From bde9a7ce1e87ff5464222f3eb44fd83a4696556a Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 12 Jan 2024 16:30:25 +0300 Subject: [PATCH 0799/1307] (#22276) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 1c84fc42f125f..3ca452d0f1089 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.4.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.4.tar.gz" + sha256: "03995edbfe6047d047bcd3c5bb4824c3644927437bb60a95f8a3a9c7096ae981" "2.4.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.3.tar.gz" sha256: "b899a290c09ab073341d8924ebbd43694226d9122e0e174264d3a3770814bb15" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index c13479acc9168..b4eee974a862d 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.4.4": + folder: all "2.4.3": folder: all "2.4.2": From 6e33808aa3b4e19a911f1dccbdc12ace8a92746d Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 14:49:50 +0100 Subject: [PATCH 0800/1307] (#22277) libva/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libva/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/libva/all/conanfile.py b/recipes/libva/all/conanfile.py index 47a3e22f2ebe2..4020db9e7c63e 100644 --- a/recipes/libva/all/conanfile.py +++ b/recipes/libva/all/conanfile.py @@ -63,7 +63,7 @@ def requirements(self): if self.options.get_safe("with_x11"): self.requires("xorg/system") if self.options.get_safe("with_drm"): - self.requires("libdrm/2.4.114") + self.requires("libdrm/2.4.119") if self.options.get_safe("with_wayland"): self.requires("wayland/1.22.0") if self.options.get_safe("with_glx"): @@ -78,9 +78,9 @@ def validate(self): def build_requirements(self): if self.options.get_safe("with_wayland"): self.tool_requires("wayland/1.22.0") - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From e287853160ae1923f367221ce88b80abb8376e8a Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 12 Jan 2024 16:32:37 +0100 Subject: [PATCH 0801/1307] (#22280) libvdpau/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) --- recipes/libvdpau/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libvdpau/all/conanfile.py b/recipes/libvdpau/all/conanfile.py index 09d0c693c5905..0ef3234f8182e 100644 --- a/recipes/libvdpau/all/conanfile.py +++ b/recipes/libvdpau/all/conanfile.py @@ -46,9 +46,9 @@ def requirements(self): self.requires("xorg/system") def build_requirements(self): - self.tool_requires("meson/1.2.3") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) From eb116c8d208735267bac93d2940c60f2dead7255 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 02:02:56 +0900 Subject: [PATCH 0802/1307] (#22283) opentelemetry-proto: add version 1.1.0 --- recipes/opentelemetry-proto/all/conandata.yml | 3 +++ recipes/opentelemetry-proto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opentelemetry-proto/all/conandata.yml b/recipes/opentelemetry-proto/all/conandata.yml index 94ffeec1c7831..818f6d6956d04 100644 --- a/recipes/opentelemetry-proto/all/conandata.yml +++ b/recipes/opentelemetry-proto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.1.0.tar.gz" + sha256: "df491a05f3fcbf86cc5ba5c9de81f6a624d74d4773d7009d573e37d6e2b6af64" "1.0.0": url: "https://github.com/open-telemetry/opentelemetry-proto/archive/v1.0.0.tar.gz" sha256: "a13a1a7b76a1f22a0ca2e6c293e176ffef031413ab8ba653a82a1dbc286a3a33" diff --git a/recipes/opentelemetry-proto/config.yml b/recipes/opentelemetry-proto/config.yml index 64c1fc73aecec..471fe8eea644f 100644 --- a/recipes/opentelemetry-proto/config.yml +++ b/recipes/opentelemetry-proto/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.0": folder: all "0.20.0": From bc7ddaa1dc6d6a72502dea68e1117e3a89b74a82 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 02:33:11 +0900 Subject: [PATCH 0803/1307] (#22282) spdlog: add version 1.13.0 --- recipes/spdlog/all/conandata.yml | 3 +++ recipes/spdlog/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/spdlog/all/conandata.yml b/recipes/spdlog/all/conandata.yml index f320d3a0e0568..be20cdd979110 100644 --- a/recipes/spdlog/all/conandata.yml +++ b/recipes/spdlog/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.0": + url: "https://github.com/gabime/spdlog/archive/v1.13.0.tar.gz" + sha256: "534f2ee1a4dcbeb22249856edfb2be76a1cf4f708a20b0ac2ed090ee24cfdbc9" "1.12.0": url: "https://github.com/gabime/spdlog/archive/v1.12.0.tar.gz" sha256: "4dccf2d10f410c1e2feaff89966bfc49a1abb29ef6f08246335b110e001e09a9" diff --git a/recipes/spdlog/config.yml b/recipes/spdlog/config.yml index 0228f28a93d75..86f1d33d1c720 100644 --- a/recipes/spdlog/config.yml +++ b/recipes/spdlog/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.0": + folder: "all" "1.12.0": folder: "all" "1.11.0": From e8ca0789a973084c74e8ea36f835d9baca5141d2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 03:10:32 +0900 Subject: [PATCH 0804/1307] (#22248) uwebsockets: add version 20.56.0 --- recipes/uwebsockets/all/conandata.yml | 3 +++ recipes/uwebsockets/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 8d30e31ae6d86..2e1be00494550 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.56.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.56.0.tar.gz" + sha256: "bbac3e317eabf4e558dffe9bfeab4f5ae2d23affcc6df54fb8e580a9e0372767" "20.55.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.55.0.tar.gz" sha256: "bf6b22229fcd10c7cbd256bfd9abf31c829d44eefd56341c0f404e0fa0184f2f" diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index a90f8a651f17a..1af0d5c400e72 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.56.0": + folder: all "20.55.0": folder: all "20.53.0": From 5818bddcc8d190b2d7a0768860d572cdef404278 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 03:29:22 +0900 Subject: [PATCH 0805/1307] (#22199) redis-plus-plus: add version 1.3.11 --- recipes/redis-plus-plus/all/conandata.yml | 7 +++++++ recipes/redis-plus-plus/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml index fb21e925b3beb..eb42b97f78519 100644 --- a/recipes/redis-plus-plus/all/conandata.yml +++ b/recipes/redis-plus-plus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.11": + url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.11.tar.gz" + sha256: "bb4990eed60d3654cd6902b9e67b3ab43e52557e84315560660b0c9e64b6ff77" "1.3.10": url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.10.tar.gz" sha256: "85d9d9ff84c873c4a14bd28bee569a1f311285fad8d4f2fb0e472f65d4bb842a" @@ -18,6 +21,10 @@ sources: url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz" sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea" patches: + "1.3.11": + - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" + patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" + patch_type: "conan" "1.3.10": - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch" patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake" diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml index 38a930c3be65e..973c54194e222 100644 --- a/recipes/redis-plus-plus/config.yml +++ b/recipes/redis-plus-plus/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.11": + folder: all "1.3.10": folder: all "1.3.8": From 024f068c2f4e70da239f3afe3782453ed2faf61a Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Sat, 13 Jan 2024 01:39:00 +0100 Subject: [PATCH 0806/1307] (#22198) libsrtp: disable warnings as errors in 2.5.0 --- recipes/libsrtp/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/libsrtp/all/conanfile.py b/recipes/libsrtp/all/conanfile.py index 0ce6d393a93eb..8a081d12ab6ba 100644 --- a/recipes/libsrtp/all/conanfile.py +++ b/recipes/libsrtp/all/conanfile.py @@ -58,6 +58,8 @@ def generate(self): if Version(self.version) < "2.4.0": # Relocatable shared libs on Macos tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + if Version(self.version) >= "2.5.0": + tc.cache_variables["BUILD_WITH_WARNINGS"] = False tc.generate() deps = CMakeDeps(self) deps.generate() From a207fe2c203cde9b33e1580e061fca5acd2f44a5 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 11:20:47 +0400 Subject: [PATCH 0807/1307] (#22215) opencl-headers: v2023.12.14 --- recipes/opencl-headers/all/conandata.yml | 3 +++ recipes/opencl-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-headers/all/conandata.yml b/recipes/opencl-headers/all/conandata.yml index d57be7c7026e9..c12029431ef1b 100644 --- a/recipes/opencl-headers/all/conandata.yml +++ b/recipes/opencl-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "407d5e109a70ec1b6cd3380ce357c21e3d3651a91caae6d0d8e1719c69a1791d" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-Headers/archive/refs/tags/v2023.04.17.tar.gz" sha256: "0ce992f4167f958f68a37918dec6325be18f848dee29a4521c633aae3304915d" diff --git a/recipes/opencl-headers/config.yml b/recipes/opencl-headers/config.yml index 2bf575fcc9451..33facd761b66c 100644 --- a/recipes/opencl-headers/config.yml +++ b/recipes/opencl-headers/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 4022e64fbf5ca334114dc2b6efa74eedb899933e Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 12:19:19 +0400 Subject: [PATCH 0808/1307] (#22287) opencl-clhpp-headers: v2023.12.14 --- recipes/opencl-clhpp-headers/all/conandata.yml | 3 +++ recipes/opencl-clhpp-headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-clhpp-headers/all/conandata.yml b/recipes/opencl-clhpp-headers/all/conandata.yml index 8181b741f827c..dccc1bdf6f829 100644 --- a/recipes/opencl-clhpp-headers/all/conandata.yml +++ b/recipes/opencl-clhpp-headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "9106700634e79cfa0935ebd67197f64689ced24c42da702acf18fa8435bd8a82" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-CLHPP/archive/refs/tags/v2023.04.17.tar.gz" sha256: "179243843c620ef6f78b52937aaaa0a742c6ff415f9aaefe3c20225ee283b357" diff --git a/recipes/opencl-clhpp-headers/config.yml b/recipes/opencl-clhpp-headers/config.yml index 2bf575fcc9451..33facd761b66c 100644 --- a/recipes/opencl-clhpp-headers/config.yml +++ b/recipes/opencl-clhpp-headers/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 92e860d8fcb11a9d08c370d81206483a313201fb Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Sat, 13 Jan 2024 13:10:12 +0400 Subject: [PATCH 0809/1307] (#22288) opencl-icd-loader: v2023.12.14 --- recipes/opencl-icd-loader/all/conandata.yml | 3 +++ recipes/opencl-icd-loader/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/opencl-icd-loader/all/conandata.yml b/recipes/opencl-icd-loader/all/conandata.yml index 5deceedd582f2..41da7d924af19 100644 --- a/recipes/opencl-icd-loader/all/conandata.yml +++ b/recipes/opencl-icd-loader/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2023.12.14": + url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.12.14.tar.gz" + sha256: "af8df96f1e1030329e8d4892ba3aa761b923838d4c689ef52d97822ab0bd8917" "2023.04.17": url: "https://github.com/KhronosGroup/OpenCL-ICD-Loader/archive/refs/tags/v2023.04.17.tar.gz" sha256: "173bdc4f321d550b6578ad2aafc2832f25fbb36041f095e6221025f74134b876" diff --git a/recipes/opencl-icd-loader/config.yml b/recipes/opencl-icd-loader/config.yml index 48faee001ea5a..59d020bde1e4e 100644 --- a/recipes/opencl-icd-loader/config.yml +++ b/recipes/opencl-icd-loader/config.yml @@ -1,4 +1,6 @@ versions: + "2023.12.14": + folder: all "2023.04.17": folder: all "2023.02.06": From 07aaf3ee284b06e1657c87dbe280246efb8dcbde Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 13 Jan 2024 21:30:11 +0900 Subject: [PATCH 0810/1307] (#22292) glaze: add version 2.0.6 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 453113b4c53e7..5df1ea4417f3b 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.6": + url: "https://github.com/stephenberry/glaze/archive/v2.0.6.tar.gz" + sha256: "aa5d4921382e9781998ebbf6d36964556daa3367a2aef5ca814122502b450abc" "2.0.5": url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b0766039668ce..74e4ebae7e752 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.6": + folder: all "2.0.5": folder: all "2.0.3": From 042afe8cf58bf4161cb00d572ca62afd59375abf Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 17:10:39 +0200 Subject: [PATCH 0811/1307] (#22296) lely-core: add v2.3.3 --- recipes/lely-core/all/conandata.yml | 3 +++ recipes/lely-core/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/lely-core/all/conandata.yml b/recipes/lely-core/all/conandata.yml index cc7e4931e5ec2..365fdf916f614 100644 --- a/recipes/lely-core/all/conandata.yml +++ b/recipes/lely-core/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.3": + url: "https://gitlab.com/lely_industries/lely-core/-/archive/v2.3.3/lely-core-v2.3.3.tar.gz" + sha256: "6d0810f9e835543f0aeb5f86dcdc7a24578041f5d0a714bf5a14db2cb24ce373" "2.3.2": url: "https://gitlab.com/lely_industries/lely-core/-/archive/v2.3.2/lely-core-v2.3.2.tar.gz" sha256: "c37eb6f004ad1a1ec1f891e31a09b72f588da361fa92888e8edfcf215a1d707a" diff --git a/recipes/lely-core/config.yml b/recipes/lely-core/config.yml index aee8de619ec30..5ca4acfdc4f7b 100644 --- a/recipes/lely-core/config.yml +++ b/recipes/lely-core/config.yml @@ -1,3 +1,5 @@ versions: + "2.3.3": + folder: all "2.3.2": folder: all From 078d2c41ee9dc108318af93ce6f17be4490be5f6 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 17:52:23 +0200 Subject: [PATCH 0812/1307] (#22298) libnuma: add v2.0.16 --- recipes/libnuma/all/conandata.yml | 3 +++ recipes/libnuma/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libnuma/all/conandata.yml b/recipes/libnuma/all/conandata.yml index 0c573279e69f1..34ddb5ae1b18a 100644 --- a/recipes/libnuma/all/conandata.yml +++ b/recipes/libnuma/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.16": + url: "https://github.com/numactl/numactl/releases/download/v2.0.16/numactl-2.0.16.tar.gz" + sha256: "1b242f893af977a1d31af6ce9d6b8dafdd2d8ec3dc9207f7c2dc0d3446e7c7c8" "2.0.14": url: "https://github.com/numactl/numactl/releases/download/v2.0.14/numactl-2.0.14.tar.gz" sha256: "826bd148c1b6231e1284e42a4db510207747484b112aee25ed6b1078756bcff6" diff --git a/recipes/libnuma/config.yml b/recipes/libnuma/config.yml index 819ebd6fb8395..e2f73008d4e9a 100644 --- a/recipes/libnuma/config.yml +++ b/recipes/libnuma/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.16": + folder: all "2.0.14": folder: all From 67fc22cd0c446016e70029d430667075bdf082cd Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 02:44:18 +0900 Subject: [PATCH 0813/1307] (#22304) quill: update fmt/10.2.1 --- recipes/quill/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/quill/all/conanfile.py b/recipes/quill/all/conanfile.py index f231e678169af..96693e04b9fe8 100644 --- a/recipes/quill/all/conanfile.py +++ b/recipes/quill/all/conanfile.py @@ -69,7 +69,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def validate(self): supported_archs = ["x86", "x86_64", "armv6", "armv7", "armv7hf", "armv8"] From 3fed93b559b1875468948cac022130ea88da6009 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 03:20:51 +0900 Subject: [PATCH 0814/1307] (#22301) mppp: update fmt/10.2.1 --- recipes/mppp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mppp/all/conanfile.py b/recipes/mppp/all/conanfile.py index 28146b35e0eeb..9510faa71b6c8 100644 --- a/recipes/mppp/all/conanfile.py +++ b/recipes/mppp/all/conanfile.py @@ -69,7 +69,7 @@ def requirements(self): if self.options.with_boost: self.requires("boost/1.83.0") if self.options.get_safe("with_fmt"): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 1e6b4e1f4ef2db4cd5c44f9eab57370b6413ffc2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sat, 13 Jan 2024 20:30:49 +0200 Subject: [PATCH 0815/1307] (#22305) ecos: add v2.0.10 --- recipes/ecos/all/conandata.yml | 5 +++++ recipes/ecos/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/ecos/all/conandata.yml b/recipes/ecos/all/conandata.yml index 3034805590c75..d01723bbcc421 100644 --- a/recipes/ecos/all/conandata.yml +++ b/recipes/ecos/all/conandata.yml @@ -1,8 +1,13 @@ sources: + "2.0.10": + url: "https://github.com/embotech/ecos/archive/refs/tags/v2.0.10.tar.gz" + sha256: "1aa24b5782b84fa33df2987510fb8f60f5f999cc2d3a5c73cfc3eb5e5f3b46af" "2.0.8": url: "https://github.com/embotech/ecos/archive/refs/tags/v2.0.8.tar.gz" sha256: "d905d16599efd927a75b29852c3476ff1ffd0b97ab27d5b8ad63bb4ff2ad8130" patches: + "2.0.10": + - patch_file: "patches/0001-fix-cmake.patch" "2.0.8": - patch_file: "patches/0001-fix-cmake.patch" - patch_file: "patches/0002-missing-include.patch" diff --git a/recipes/ecos/config.yml b/recipes/ecos/config.yml index ebde7c07fe491..c6ba7fd0862f2 100644 --- a/recipes/ecos/config.yml +++ b/recipes/ecos/config.yml @@ -1,3 +1,5 @@ versions: + "2.0.10": + folder: all "2.0.8": folder: all From 05d8425871a3bccbcb47ad5ff891ecb9efaeaaf7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 00:36:07 +0200 Subject: [PATCH 0816/1307] (#22310) tgbot: add v1.7.2 --- recipes/tgbot/all/conandata.yml | 3 +++ recipes/tgbot/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/tgbot/all/conandata.yml b/recipes/tgbot/all/conandata.yml index e2625bd0a2fbb..1279fcb4b2148 100644 --- a/recipes/tgbot/all/conandata.yml +++ b/recipes/tgbot/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.7.2.tar.gz" + sha256: "3a41c25c5e4b60bda3f278550a380f1c7c382fd50ea1ab1801edc837d1535462" "1.5": url: "https://github.com/reo7sp/tgbot-cpp/archive/v1.5.tar.gz" sha256: "ecd5a21ea45b890828aba1639ac49401cfdd5b30f791322cb1ba84c9ac77647c" diff --git a/recipes/tgbot/config.yml b/recipes/tgbot/config.yml index 39a996dda935d..02741b3fbce3e 100644 --- a/recipes/tgbot/config.yml +++ b/recipes/tgbot/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.5": folder: all "1.3": From 40fe704e47dd922bc85737b65b7439e954866589 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 01:09:45 +0200 Subject: [PATCH 0817/1307] (#22317) hdrhistogram-c: add v0.11.8 --- recipes/hdrhistogram-c/all/conandata.yml | 3 +++ recipes/hdrhistogram-c/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hdrhistogram-c/all/conandata.yml b/recipes/hdrhistogram-c/all/conandata.yml index ed9d533f37715..7332bd3995031 100644 --- a/recipes/hdrhistogram-c/all/conandata.yml +++ b/recipes/hdrhistogram-c/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.8": + url: "https://github.com/HdrHistogram/HdrHistogram_c/archive/0.11.8.tar.gz" + sha256: "bb95351a6a8b242dc9be1f28562761a84d4cf0a874ffc90a9b630770a6468e94" "0.11.6": url: "https://github.com/HdrHistogram/HdrHistogram_c/archive/0.11.6.tar.gz" sha256: "b9bb6425d9b0ac5424f6d2286a1295900edab0170d1f50767decb00196785de3" diff --git a/recipes/hdrhistogram-c/config.yml b/recipes/hdrhistogram-c/config.yml index 7e06391938f78..9f7269d8ddea4 100644 --- a/recipes/hdrhistogram-c/config.yml +++ b/recipes/hdrhistogram-c/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.8": + folder: all "0.11.6": folder: all "0.11.1": From 00ce907b910d0d772f1c73bb699971c141c423c1 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Sun, 14 Jan 2024 02:19:35 +0200 Subject: [PATCH 0818/1307] (#22321) godot_headers: add v3.5.3 --- recipes/godot_headers/all/conandata.yml | 3 +++ recipes/godot_headers/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/godot_headers/all/conandata.yml b/recipes/godot_headers/all/conandata.yml index de60664696e4b..8f004a1d2a043 100644 --- a/recipes/godot_headers/all/conandata.yml +++ b/recipes/godot_headers/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.3": + url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.3-stable.tar.gz" + sha256: "98bf368ab07cac91b864e983bffa50757aabf2a8156d3e9f4d81ecbcea77ebd7" "3.5.2": url: "https://github.com/godotengine/godot-headers/archive/godot-3.5.2-stable.tar.gz" sha256: "42e97953d3f193db01cccd856dff0430a6737d47b8496a70e7df34387d870a6e" diff --git a/recipes/godot_headers/config.yml b/recipes/godot_headers/config.yml index 07764b9a8e270..6aadd92e7a3d8 100644 --- a/recipes/godot_headers/config.yml +++ b/recipes/godot_headers/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.3": + folder: all "3.5.2": folder: all "3.5.1": From 754634a8ce1b1eac5139855ae63bab059b86ef7c Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 23:42:31 +0900 Subject: [PATCH 0819/1307] (#22328) libbigwig: update zlib-ng/2.1.6 --- recipes/libbigwig/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libbigwig/all/conanfile.py b/recipes/libbigwig/all/conanfile.py index e242d7f2f554c..2795e50cf9841 100644 --- a/recipes/libbigwig/all/conanfile.py +++ b/recipes/libbigwig/all/conanfile.py @@ -47,7 +47,7 @@ def requirements(self): # https://github.com/dpryan79/libBigWig/blob/master/bigWigIO.h#L5 self.requires("libcurl/[>=7.78.0 <9]", transitive_headers=True) if self.options.with_zlibng: - self.requires("zlib-ng/2.1.5") + self.requires("zlib-ng/2.1.6") else: self.requires("zlib/[>=1.2.11 <2]") From 1a70504aacb82b02bd359ecf6d98fa9ab0c7f860 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 14 Jan 2024 23:54:06 +0900 Subject: [PATCH 0820/1307] (#22326) pdf-writer: add version 4.6.3 --- recipes/pdf-writer/all/conandata.yml | 7 +++++++ recipes/pdf-writer/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/pdf-writer/all/conandata.yml b/recipes/pdf-writer/all/conandata.yml index 9ebe345ad6840..b1b2eb4b8f3ff 100644 --- a/recipes/pdf-writer/all/conandata.yml +++ b/recipes/pdf-writer/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.3": + url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.3.tar.gz" + sha256: "3b5d9ba4b49d0380678e8172f27cdb8eda196ea448e7f1cdd79620066d082ab9" "4.6.2": url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.6.2.tar.gz" sha256: "0a36815ccc9d207028567f90039785c824b211169ba5da68de84d0c15455ab62" @@ -9,6 +12,10 @@ sources: url: "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v4.5.12.tar.gz" sha256: "40fcbaa66fc46fcb588ceda119ba8839ff6d2c886191ac5e68ed702475c7336e" patches: + "4.6.3": + - patch_file: "patches/4.6.2-0001-fix-cmake.patch" + patch_description: "disable cpack" + patch_type: "conan" "4.6.2": - patch_file: "patches/4.6.2-0001-fix-cmake.patch" patch_description: "disable cpack" diff --git a/recipes/pdf-writer/config.yml b/recipes/pdf-writer/config.yml index 5cbc3ea3ae8e3..44bc3d66897b6 100644 --- a/recipes/pdf-writer/config.yml +++ b/recipes/pdf-writer/config.yml @@ -1,4 +1,6 @@ versions: + "4.6.3": + folder: all "4.6.2": folder: all "4.6.1": From 936f5754d9f5bf3757eb92ad3a5f2d469bc48a8a Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 00:16:45 +0900 Subject: [PATCH 0821/1307] (#22225) usockets: add version 0.8.7 --- recipes/usockets/all/conandata.yml | 7 +++++++ recipes/usockets/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml index 1e162a7179edd..df56cdd674867 100644 --- a/recipes/usockets/all/conandata.yml +++ b/recipes/usockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.7": + url: "https://github.com/uNetworking/uSockets/archive/v0.8.7.tar.gz" + sha256: "920313a2ae42bbda17bded6fc83b3df635af24cc9abefc87905ad60fdc596edf" "0.8.6": url: "https://github.com/uNetworking/uSockets/archive/v0.8.6.tar.gz" sha256: "16eba133dd33eade2f5f8dd87612c04b5dd711066e0471c60d641a2f6a988f16" @@ -24,6 +27,10 @@ sources: url: "https://github.com/uNetworking/uSockets/archive/v0.4.0.tar.gz" sha256: "f9f15b395def578cc79a5b32abc64fa9cff5dac873062911f515b984b90f7cc2" patches: + "0.8.7": + - patch_file: "patches/0001-makefile_0.8.6.patch" + patch_description: "remove lto options" + patch_type: "portability" "0.8.6": - patch_file: "patches/0001-makefile_0.8.6.patch" patch_description: "remove lto options" diff --git a/recipes/usockets/config.yml b/recipes/usockets/config.yml index ed2a319a00e8b..c71afbcfba697 100644 --- a/recipes/usockets/config.yml +++ b/recipes/usockets/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.7": + folder: all "0.8.6": folder: all "0.8.5": From 577566f5e40a832aa122d137a0d2f50ac9248370 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 00:26:54 +0900 Subject: [PATCH 0822/1307] (#22330) daw_header_libraries: add version 2.98.5 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index 1d91b2a43cc99..e2ae0afea2244 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.98.5": + url: "https://github.com/beached/header_libraries/archive/v2.98.5.tar.gz" + sha256: "2d548a6f7a860917e2f743ee75e82733cbf0d3720b7296da023c5a17a9010c9a" "2.97.0": url: "https://github.com/beached/header_libraries/archive/v2.97.0.tar.gz" sha256: "993cda7ff505e80f54322ce544b8a7b02bfef9673d980e43dafcbd3a9a3228d3" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index 6309a804a4b56..a97facd0bf9ff 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.98.5": + folder: all "2.97.0": folder: all "2.96.1": From 312be141f29808c59e3afb4848fc8f771e7d36fd Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Sun, 14 Jan 2024 16:37:56 +0100 Subject: [PATCH 0823/1307] (#20762) [sentry-native] Stop depending other sentry-breakpad/sentry-crashpad recipes * [sentry-native] Stop depending other sentry-breakpad/sentry-crashpad recipes * Remove test_v1_package * Add patches * Improve component management * Works on macos: - Fix global cmake_file_name property - Remove include directories from components since it is not deployed by the install script - Link crashpad::client in test_package * Proper crashpad testing * Fix breakpad * test_package: Link breakpad on Linux * Add patches to conandata.yml * Remove patches were located at the wrong place * Remove gcc < 7 support for breakpad backend * Use C++17 for MSVC and breakpad backend * Remove breakpad include dir * Fix test_package linking for crashpad and breakpad * fixup! Fix test_package linking for crashpad and breakpad * Add cmake_target_name to breakpad component * Remove breakpad linking in test_package * Proper breakpad_client linking on Linux * Use version range for libcurl dependency * Revert "Proper breakpad_client linking on Linux" This reverts commit 1adfb42a9752d9d2dc3cfed8a00c7be01170e927. * Apply conandata patches * Remove patch installing breakpad headers * Add internal components requirements * Remove patch for lss * Remove pkg-config dependency for breakpad backend * Remove breakpad component * Revert "Remove breakpad component" This reverts commit 76c27e3d666ea4c27b54a8a5719fd9ffd4e2ca77. * Add breakpad_client library only when building shared * Revert "Remove patch installing breakpad headers" This reverts commit 7ea13867746d7f7687e85229c49151866ff8aea9. * Fix sentry component dependencies * Remove patch installing breakpad headers * Add breakpad_client to breakpad component even if shared is false * Add breakpad_client library only for static builds * Don't add crashpad libs to cpp_info.libs if shared --- recipes/sentry-native/all/conandata.yml | 7 + recipes/sentry-native/all/conanfile.py | 183 +++++++++++++++--- .../patches/0.6.5-0001-fix-for-gcc13.patch | 20 ++ .../all/test_package/conanfile.py | 17 +- .../all/test_v1_package/CMakeLists.txt | 8 - .../all/test_v1_package/conanfile.py | 17 -- 6 files changed, 200 insertions(+), 52 deletions(-) create mode 100644 recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch delete mode 100644 recipes/sentry-native/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/sentry-native/all/test_v1_package/conanfile.py diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index ced5e36dba275..26aa302e7bd27 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -14,3 +14,10 @@ sources: "0.4.18": url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" + +patches: + "0.6.5": + - patch_file: "patches/0.6.5-0001-fix-for-gcc13.patch" + patch_type: "backport" + patch_description: "Extra header required for gcc13" + patch_source: "https://chromium-review.googlesource.com/c/chromium/mini_chromium/+/4847514" diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 35bd2e66caa37..8964b109c4ad8 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -4,8 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy, get, rm, rmdir -from conan.tools.gnu import PkgConfigDeps +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -34,6 +33,7 @@ class SentryNativeConan(ConanFile): "transport": ["none", "curl", "winhttp"], "qt": [True, False], "with_crashpad": ["google", "sentry"], + "crashpad_with_tls": ["openssl", False], "with_breakpad": ["google", "sentry"], "wer" : [True, False], } @@ -44,6 +44,7 @@ class SentryNativeConan(ConanFile): "transport": "curl", # overwritten in config_options "qt": False, "with_crashpad": "sentry", + "crashpad_with_tls": "openssl", "with_breakpad": "sentry", "wer": False } @@ -52,18 +53,26 @@ class SentryNativeConan(ConanFile): def _min_cppstd(self): if is_msvc(self): return "17" + if self.options.get_safe("backend") == "breakpad" and Version(self.version) >= "0.5.4": + return 17 return "14" @property def _minimum_compilers_version(self): + minimum_gcc_version = "5" + if self.options.get_safe("backend") == "breakpad": + minimum_gcc_version = "7" return { "Visual Studio": "15", "msvc": "191", - "gcc": "5", + "gcc": minimum_gcc_version, "clang": "3.4", "apple-clang": "5.1", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -89,6 +98,8 @@ def config_options(self): self.options.backend = "inproc" else: self.options.backend = "inproc" + if self.settings.os not in ("Linux", "Android") or self.options.backend != "crashpad" or self.options.with_crashpad != "sentry": + del self.options.crashpad_with_tls def configure(self): if self.options.shared: @@ -105,13 +116,15 @@ def requirements(self): if self.options.transport == "curl": self.requires("libcurl/[>=7.78.0 <9]") if self.options.backend == "crashpad": - if self.options.with_crashpad == "sentry": - self.requires(f"sentry-crashpad/{self.version}") if self.options.with_crashpad == "google": self.requires("crashpad/cci.20220219") + else: + self.requires("zlib/[>=1.2.11 <2]") + if self.settings.os in ("Linux", "FreeBSD"): + self.requires("libcurl/[>=7.78.0 <9]") + if self.options.get_safe("crashpad_with_tls"): + self.requires("openssl/[>=1.1 <4]") elif self.options.backend == "breakpad": - if self.options.with_breakpad == "sentry": - self.requires(f"sentry-breakpad/{self.version}") if self.options.with_breakpad == "google": self.requires("breakpad/cci.20210521") if self.options.get_safe("qt"): @@ -135,9 +148,6 @@ def validate(self): def build_requirements(self): if self.settings.os == "Windows": self.tool_requires("cmake/[>=3.16.4 <4]") - if self.options.backend == "breakpad": - if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/2.0.3") def source(self): get(self, **self.conan_data["sources"][self.version]) @@ -146,8 +156,10 @@ def generate(self): VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["SENTRY_BACKEND"] = self.options.backend - tc.variables["SENTRY_CRASHPAD_SYSTEM"] = True - tc.variables["SENTRY_BREAKPAD_SYSTEM"] = True + if self.options.backend == "crashpad": + tc.variables["SENTRY_CRASHPAD_SYSTEM"] = self.options.with_crashpad == "google" + if self.options.backend == "breakpad": + tc.variables["SENTRY_BREAKPAD_SYSTEM"] = self.options.with_breakpad == "google" tc.variables["SENTRY_ENABLE_INSTALL"] = True tc.variables["SENTRY_TRANSPORT"] = self.options.transport tc.variables["SENTRY_PIC"] = self.options.get_safe("fPIC", True) @@ -158,10 +170,9 @@ def generate(self): tc.variables["CRASHPAD_WER_ENABLED"] = True tc.generate() CMakeDeps(self).generate() - if self.options.backend == "breakpad": - PkgConfigDeps(self).generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() @@ -175,24 +186,148 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "sentry") - self.cpp_info.set_property("cmake_target_name", "sentry::sentry") - self.cpp_info.libs = ["sentry"] + + self.cpp_info.components["sentry"].set_property("cmake_target_name", "sentry::sentry") + self.cpp_info.components["sentry"].libs = ["sentry"] + if self.settings.os in ("Android", "FreeBSD", "Linux"): - self.cpp_info.exelinkflags = ["-Wl,-E,--build-id=sha1"] - self.cpp_info.sharedlinkflags = ["-Wl,-E,--build-id=sha1"] + self.cpp_info.components["sentry"].exelinkflags = ["-Wl,-E,--build-id=sha1"] + self.cpp_info.components["sentry"].sharedlinkflags = ["-Wl,-E,--build-id=sha1"] if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs = ["pthread", "dl"] + self.cpp_info.components["sentry"].system_libs = ["pthread", "dl"] elif is_apple_os(self): - self.cpp_info.frameworks = ["CoreGraphics", "CoreText"] + self.cpp_info.components["sentry"].frameworks = ["CoreGraphics", "CoreText"] elif self.settings.os == "Android": - self.cpp_info.system_libs = ["dl", "log"] + self.cpp_info.components["sentry"].system_libs = ["dl", "log"] elif self.settings.os == "Windows": - self.cpp_info.system_libs = ["shlwapi", "dbghelp", "version"] + self.cpp_info.components["sentry"].system_libs = ["shlwapi", "dbghelp", "version"] if self.options.transport == "winhttp": - self.cpp_info.system_libs.append("winhttp") + self.cpp_info.components["sentry"].system_libs.append("winhttp") + if self.options.transport == "curl": + self.cpp_info.components["sentry"].requires.extend(["libcurl::libcurl"]) + if self.options.get_safe("qt"): + self.cpp_info.components["sentry"].requires.extend(["qt::qt", "openssl::openssl"]) if not self.options.shared: - self.cpp_info.defines = ["SENTRY_BUILD_STATIC"] + self.cpp_info.components["sentry"].defines = ["SENTRY_BUILD_STATIC"] + + if self.options.backend == "breakpad" and self.options.with_breakpad == "sentry": + self.cpp_info.components["breakpad"].set_property("cmake_target_name", "breakpad_client") + self.cpp_info.components["breakpad"].libs = [] if self.options.shared else ["breakpad_client"] + if is_apple_os(self): + self.cpp_info.components["breakpad"].frameworks.append("CoreFoundation") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["breakpad"].system_libs.append("pthread") + + self.cpp_info.components["sentry"].requires.append("breakpad") + + if self.options.backend == "crashpad" and self.options.with_crashpad == "sentry": + # mini_chromium + self.cpp_info.components["crashpad_mini_chromium"].set_property("cmake_target_name", "crashpad::mini_chromium") + self.cpp_info.components["crashpad_mini_chromium"].libs = [] if self.options.shared else ["mini_chromium"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_mini_chromium"].system_libs.append("pthread") + elif is_apple_os(self): + self.cpp_info.components["crashpad_mini_chromium"].frameworks = ["CoreFoundation", "Foundation", "Security"] + if self.settings.os == "Macos": + self.cpp_info.components["crashpad_mini_chromium"].frameworks.extend(["ApplicationServices", "IOKit"]) + else: # iOS + self.cpp_info.components["crashpad_mini_chromium"].frameworks.extend(["CoreGraphics", "CoreText"]) + + # compat + self.cpp_info.components["crashpad_compat"].set_property("cmake_target_name", "crashpad::compat") + # On Apple crashpad_compat is an interface library + if not is_apple_os(self): + self.cpp_info.components["crashpad_compat"].libs = [] if self.options.shared else ["crashpad_compat"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_compat"].system_libs.append("dl") + + # util + self.cpp_info.components["crashpad_util"].set_property("cmake_target_name", "crashpad::util") + self.cpp_info.components["crashpad_util"].libs = [] if self.options.shared else ["crashpad_util"] + self.cpp_info.components["crashpad_util"].requires = ["crashpad_compat", "crashpad_mini_chromium", "zlib::zlib"] + if self.settings.os in ("Linux", "FreeBSD"): + self.cpp_info.components["crashpad_util"].system_libs.extend(["pthread", "rt"]) + # Requires libcurl https://github.com/getsentry/crashpad/blob/2237d97ee2c38c930c07001e660be57324f69a37/util/CMakeLists.txt#L256 + self.cpp_info.components["crashpad_util"].requires.extend(["libcurl::libcurl"]) + elif self.settings.os == "Windows": + self.cpp_info.components["crashpad_util"].system_libs.append("winhttp") + elif self.settings.os == "Macos": + self.cpp_info.components["crashpad_util"].frameworks.extend(["CoreFoundation", "Foundation", "IOKit"]) + self.cpp_info.components["crashpad_util"].system_libs.append("bsm") + if self.options.get_safe("crashpad_with_tls") == "openssl": + self.cpp_info.components["crashpad_util"].requires.append("openssl::openssl") + + # client + self.cpp_info.components["crashpad_client"].set_property("cmake_target_name", "crashpad::client") + self.cpp_info.components["crashpad_client"].libs = [] if self.options.shared else ["crashpad_client"] + self.cpp_info.components["crashpad_client"].requires = ["crashpad_util", "crashpad_mini_chromium"] + + self.cpp_info.components["sentry"].requires.append("crashpad_client") + + # snapshot + self.cpp_info.components["crashpad_snapshot"].set_property("cmake_target_name", "crashpad::snapshot") + self.cpp_info.components["crashpad_snapshot"].libs = [] if self.options.shared else ["crashpad_snapshot"] + self.cpp_info.components["crashpad_snapshot"].requires = [ + "crashpad_client", "crashpad_compat", + "crashpad_util", "crashpad_mini_chromium", + ] + if self.settings.os == "Windows": + self.cpp_info.components["snapshot"].system_libs.append("powrprof") + + # minidump + self.cpp_info.components["crashpad_minidump"].set_property("cmake_target_name", "crashpad::minidump") + self.cpp_info.components["crashpad_minidump"].libs = [] if self.options.shared else ["crashpad_minidump"] + self.cpp_info.components["crashpad_minidump"].requires = [ + "crashpad_compat", "crashpad_snapshot", + "crashpad_util", "crashpad_mini_chromium", + ] + + if self.settings.os == "Windows": + # getopt + self.cpp_info.components["crashpad_getopt"].set_property("cmake_target_name", "crashpad::getopt") + self.cpp_info.components["crashpad_getopt"].libs = [] if self.options.shared else ["crashpad_getopt"] + + # handler + self.cpp_info.components["crashpad_handler"].set_property("cmake_target_name", "crashpad::handler") + self.cpp_info.components["crashpad_handler"].libs = [] if self.options.shared else ["crashpad_handler_lib"] + self.cpp_info.components["crashpad_handler"].requires = [ + "crashpad_compat", "crashpad_minidump", "crashpad_snapshot", + "crashpad_util", "crashpad_mini_chromium", + ] + if self.settings.os == "Windows": + self.cpp_info.components["crashpad_handler"].requires.append("crashpad_getopt") + + # tools + self.cpp_info.components["crashpad_tools"].set_property("cmake_target_name", "crashpad::tools") + self.cpp_info.components["crashpad_tools"].libs = [] if self.options.shared else ["crashpad_tools"] + + bin_path = os.path.join(self.package_folder, "bin") + self.output.info(f"Appending PATH environment variable: {bin_path}") + self.env_info.PATH.append(bin_path) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.names["cmake_find_package"] = "crashpad" + self.cpp_info.names["cmake_find_package_multi"] = "crashpad" + self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package"] = "mini_chromium" + self.cpp_info.components["crashpad_mini_chromium"].names["cmake_find_package_multi"] = "mini_chromium" + self.cpp_info.components["crashpad_compat"].names["cmake_find_package"] = "compat" + self.cpp_info.components["crashpad_compat"].names["cmake_find_package_multi"] = "compat" + self.cpp_info.components["crashpad_util"].names["cmake_find_package"] = "util" + self.cpp_info.components["crashpad_util"].names["cmake_find_package_multi"] = "util" + self.cpp_info.components["crashpad_client"].names["cmake_find_package"] = "client" + self.cpp_info.components["crashpad_client"].names["cmake_find_package_multi"] = "client" + self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package"] = "snapshot" + self.cpp_info.components["crashpad_snapshot"].names["cmake_find_package_multi"] = "snapshot" + self.cpp_info.components["crashpad_minidump"].names["cmake_find_package"] = "minidump" + self.cpp_info.components["crashpad_minidump"].names["cmake_find_package_multi"] = "minidump" + if self.settings.os == "Windows": + self.cpp_info.components["crashpad_getopt"].names["cmake_find_package"] = "getopt" + self.cpp_info.components["crashpad_getopt"].names["cmake_find_package_multi"] = "getopt" + self.cpp_info.components["crashpad_handler"].names["cmake_find_package"] = "handler" + self.cpp_info.components["crashpad_handler"].names["cmake_find_package_multi"] = "handler" + self.cpp_info.components["crashpad_tools"].names["cmake_find_package"] = "tools" + self.cpp_info.components["crashpad_tools"].names["cmake_find_package_multi"] = "tools" # TODO: to remove in conan v2 once cmake_find_package* generators removed self.cpp_info.names["cmake_find_package"] = "sentry" diff --git a/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch b/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch new file mode 100644 index 0000000000000..b3a766009b3a7 --- /dev/null +++ b/recipes/sentry-native/all/patches/0.6.5-0001-fix-for-gcc13.patch @@ -0,0 +1,20 @@ +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 09:55:27.677142704 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/logging.h 2023-08-25 10:06:01.654142494 +0800 +@@ -11,6 +11,7 @@ + #include + #include + #include ++#include + + #include "base/check.h" + #include "base/check_op.h" +--- a/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 10:11:28.084886020 +0800 ++++ b/external/crashpad/third_party/mini_chromium/mini_chromium/base/strings/utf_string_conversion_utils.h 2023-08-25 11:06:37.044297949 +0800 +@@ -6,6 +6,7 @@ + #define MINI_CHROMIUM_BASE_STRINGS_UTF_STRING_CONVERSION_UTILS_H_ + + #include ++#include + + namespace base { + diff --git a/recipes/sentry-native/all/test_package/conanfile.py b/recipes/sentry-native/all/test_package/conanfile.py index 0a6bc68712d90..9c636a97657a4 100644 --- a/recipes/sentry-native/all/test_package/conanfile.py +++ b/recipes/sentry-native/all/test_package/conanfile.py @@ -1,12 +1,13 @@ from conan import ConanFile from conan.tools.build import can_run -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.files import mkdir, save, load +from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + generators = "CMakeDeps", "VirtualRunEnv" test_type = "explicit" def layout(self): @@ -15,6 +16,13 @@ def layout(self): def requirements(self): self.requires(self.tested_reference_str) + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + handler_exe = "crashpad_handler.exe" if self.settings.os == "Windows" else "crashpad_handler" + handler_bin_path = os.path.join(self.dependencies[self.tested_reference_str].package_folder, "bin", handler_exe) + save(self, os.path.join(self.build_folder, "handler_bin_path"), handler_bin_path) + def build(self): cmake = CMake(self) cmake.configure() @@ -22,5 +30,8 @@ def build(self): def test(self): if can_run(self): + test_env_dir = "test_env" + mkdir(self, test_env_dir) bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") - self.run(bin_path, env="conanrun") + handler_bin_path = load(self, os.path.join(self.build_folder, "handler_bin_path")) + self.run(f"{bin_path} {test_env_dir} {handler_bin_path}", env="conanrun") diff --git a/recipes/sentry-native/all/test_v1_package/CMakeLists.txt b/recipes/sentry-native/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/sentry-native/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/sentry-native/all/test_v1_package/conanfile.py b/recipes/sentry-native/all/test_v1_package/conanfile.py deleted file mode 100644 index 38f4483872d47..0000000000000 --- a/recipes/sentry-native/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,17 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 025e6fbe2b1e20a6d0035d2f396f914f62788d85 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 01:11:46 +0900 Subject: [PATCH 0824/1307] (#22331) libenvpp: update fmt/10.2.1 --- recipes/libenvpp/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libenvpp/all/conanfile.py b/recipes/libenvpp/all/conanfile.py index 0c66ea51eadfe..752e254ee325f 100644 --- a/recipes/libenvpp/all/conanfile.py +++ b/recipes/libenvpp/all/conanfile.py @@ -49,7 +49,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True) + self.requires("fmt/10.2.1", transitive_headers=True) def build_requirements(self): self.tool_requires("cmake/[>=3.16 <4]") From d01596447442427ec766abe615704a82987e08d5 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 02:07:59 +0900 Subject: [PATCH 0825/1307] (#22332) mbits-diags: update fmt/10.2.1 --- recipes/mbits-diags/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/mbits-diags/all/conanfile.py b/recipes/mbits-diags/all/conanfile.py index f876850381adb..c23670e616dd0 100644 --- a/recipes/mbits-diags/all/conanfile.py +++ b/recipes/mbits-diags/all/conanfile.py @@ -51,7 +51,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0") + self.requires("fmt/10.2.1") self.requires("mbits-semver/0.1.1") def validate(self): From 63640a0ee4542ca38661a8872c9416c8a11505b3 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 03:18:58 +0900 Subject: [PATCH 0826/1307] (#22333) cargs: add version 1.1.0 --- recipes/cargs/all/conandata.yml | 3 +++ recipes/cargs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cargs/all/conandata.yml b/recipes/cargs/all/conandata.yml index 21e38ee9fe720..01238c00f6a56 100644 --- a/recipes/cargs/all/conandata.yml +++ b/recipes/cargs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/likle/cargs/archive/v1.1.0.tar.gz" + sha256: "87e7da5b539f574d48529870cb0620ef5a244a5ee2eac73cc7559dedc04128ca" "1.0.3": url: "https://github.com/likle/cargs/archive/v1.0.3.tar.gz" sha256: "ddba25bd35e9c6c75bc706c126001b8ce8e084d40ef37050e6aa6963e836eb8b" diff --git a/recipes/cargs/config.yml b/recipes/cargs/config.yml index 63312af6d65c1..24b8d6fbb0acc 100644 --- a/recipes/cargs/config.yml +++ b/recipes/cargs/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.3": folder: all "1.0.1": From 0b8d3e000e64ba4a531424db8574320dbcf54b9b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 03:30:40 +0900 Subject: [PATCH 0827/1307] (#22327) c-blosc2: update zlib-ng/2.1.6 --- recipes/c-blosc2/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py index 9f202af962843..7d0ee7490f4cd 100644 --- a/recipes/c-blosc2/all/conanfile.py +++ b/recipes/c-blosc2/all/conanfile.py @@ -68,7 +68,7 @@ def requirements(self): if self.options.with_lz4: self.requires("lz4/1.9.4") if self.options.with_zlib in ["zlib-ng", "zlib-ng-compat"]: - self.requires("zlib-ng/2.1.5") + self.requires("zlib-ng/2.1.6") elif self.options.with_zlib == "zlib": self.requires("zlib/[>=1.2.11 <2]") if self.options.with_zstd: From 43f8bb19ac5bd0345aa5043c3534d129a86d1a6b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 04:20:16 +0900 Subject: [PATCH 0828/1307] (#22335) fmtlog: update fmtlog/10.2.1 --- recipes/fmtlog/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/fmtlog/all/conanfile.py b/recipes/fmtlog/all/conanfile.py index 4b6848110748b..9bc3a7f6a4839 100644 --- a/recipes/fmtlog/all/conanfile.py +++ b/recipes/fmtlog/all/conanfile.py @@ -67,7 +67,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("fmt/10.2.0", transitive_headers=True, transitive_libs=True) + self.requires("fmt/10.2.1", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: From 378ff313680b3b95c1b5cf8c50f393e9601ce508 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 09:52:05 +0900 Subject: [PATCH 0829/1307] (#22183) gperftools: add version 2.15 --- recipes/gperftools/all/conandata.yml | 3 +++ recipes/gperftools/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/gperftools/all/conandata.yml b/recipes/gperftools/all/conandata.yml index ea084652a90eb..16ebb90c2322f 100644 --- a/recipes/gperftools/all/conandata.yml +++ b/recipes/gperftools/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.15": + url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.15/gperftools-2.15.tar.gz" + sha256: "c69fef855628c81ef56f12e3c58f2b7ce1f326c0a1fe783e5cae0b88cbbe9a80" "2.14.0": url: "https://github.com/gperftools/gperftools/releases/download/gperftools-2.14/gperftools-2.14.tar.gz" sha256: "6b561baf304b53d0a25311bd2e29bc993bed76b7c562380949e7cb5e3846b299" diff --git a/recipes/gperftools/config.yml b/recipes/gperftools/config.yml index 4712364eac217..09354ab2fb826 100644 --- a/recipes/gperftools/config.yml +++ b/recipes/gperftools/config.yml @@ -1,4 +1,6 @@ versions: + "2.15": + folder: all "2.14.0": folder: all "2.13.0": From 821b1d5e68b4a34531c7315b0ff8a6a6840924d8 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 10:21:56 +0900 Subject: [PATCH 0830/1307] (#22185) nng: add version 1.7.1 --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index de439e94ad624..84d072aa8848a 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.1": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.1.tar.gz" + sha256: "b62b2170d2b4757f9f01fb65e5aa9f078dec726735e9de5ed5d7e332cbbbf2ef" "1.7.0": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.0.tar.gz" sha256: "668325161637a0debcf7fb4340919b81e74b66d38bc7a663e8b55b7e0abd7f57" diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index ec5073d25aa5c..3e8e4d6c71efa 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.1": + folder: all "1.7.0": folder: all "1.6.0": From a8194a8e6ac027f5af7b992c98a184ec1393f44d Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 14:51:52 +0900 Subject: [PATCH 0831/1307] (#22339) dice-template-library: add version 1.2.0 --- recipes/dice-template-library/all/conandata.yml | 3 +++ recipes/dice-template-library/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index 3dcfa182d3a53..59191b2c39484 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.2.0.tar.gz" + sha256: "9b21793e158af3ee81ceec827a1a43a87e309e2f7bf0be8ace0f538a95f4865a" "1.1.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.1.0.tar.gz" sha256: "a00ee401379eaf6c8af013fb39d6732fa68c3852e14b50789edde6f054647ca2" diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index f1e3df07fed83..569143d81f56c 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From 7551ae0fe80d9aaadc346da3f058d530b37cfa4b Mon Sep 17 00:00:00 2001 From: igormironchik Date: Mon, 15 Jan 2024 11:55:32 +0300 Subject: [PATCH 0832/1307] (#22344) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 3ca452d0f1089..eff17ed6266f4 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.0.tar.gz" + sha256: "5965552f15d37475f37f644feaee62a89225312e1c82e813b7a119943d82c808" "2.4.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.4.4.tar.gz" sha256: "03995edbfe6047d047bcd3c5bb4824c3644927437bb60a95f8a3a9c7096ae981" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index b4eee974a862d..b315c5ff7a964 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.0": + folder: all "2.4.4": folder: all "2.4.3": From 4a8bc64ab2003d53c9b4495ae495320fcb6de66f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 11:30:11 +0200 Subject: [PATCH 0833/1307] (#22302) onedpl: add v2022.3.0, drop v20200330 * onedpl: add v2022.3.0, drop v20200330 * onedpl: add minimum compiler versions * onedpl: minor improvements from #21616 * onedpl: msvc 191 is supported * onedpl: v2021.7 does not support MSVC * onedpl: use C++17 for test_package * onedpl: libstdc++ is not supported --- recipes/onedpl/all/conandata.yml | 6 +- recipes/onedpl/all/conanfile.py | 62 ++++++++++++++----- .../onedpl/all/test_package/CMakeLists.txt | 11 ++-- recipes/onedpl/all/test_package/conanfile.py | 21 +++---- .../all/test_package/test_package.2020.cpp | 11 ---- ...test_package.2021.cpp => test_package.cpp} | 0 .../onedpl/all/test_v1_package/CMakeLists.txt | 12 ++-- .../onedpl/all/test_v1_package/conanfile.py | 1 - recipes/onedpl/config.yml | 6 +- 9 files changed, 70 insertions(+), 60 deletions(-) delete mode 100644 recipes/onedpl/all/test_package/test_package.2020.cpp rename recipes/onedpl/all/test_package/{test_package.2021.cpp => test_package.cpp} (100%) diff --git a/recipes/onedpl/all/conandata.yml b/recipes/onedpl/all/conandata.yml index 991993ba67d6e..9e43f2c338c1b 100644 --- a/recipes/onedpl/all/conandata.yml +++ b/recipes/onedpl/all/conandata.yml @@ -1,10 +1,10 @@ sources: + "2022.3.0": + url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2022.3.0-rc1.tar.gz" + sha256: "8ada85fc95255d08024ea3fda778a138a3b2efdbeb52468a4bdd08eb04254aa6" "2021.7.0": url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2021.7.0-release.tar.gz" sha256: "5484c6de482790206d877a4947dcef6e0a1e082dbfa5c6a5362e18072c4a3de3" "2021.6.1": url: "https://github.com/oneapi-src/oneDPL/archive/refs/tags/oneDPL-2021.6.1-release.tar.gz" sha256: "4995fe2ed2724b89cdb52c4b6c9af22e146b48d2561abdafdaaa06262dbd67c4" - "20200330": - url: "https://github.com/oneapi-src/oneDPL/archive/20200330.tar.gz" - sha256: "3e040f6afdb200229dd58be2cf2a5f1613872f254231b18de2942aaf7e39ae2d" diff --git a/recipes/onedpl/all/conanfile.py b/recipes/onedpl/all/conanfile.py index 26d62f2265887..519736b1d8a3c 100644 --- a/recipes/onedpl/all/conanfile.py +++ b/recipes/onedpl/all/conanfile.py @@ -1,7 +1,9 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc from conan.tools.scm import Version import os @@ -18,6 +20,8 @@ class OneDplConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/oneapi-src/oneDPL" topics = ("stl", "parallelism") + + package_type = "header-library" settings = "os", "arch", "build_type", "compiler" options = { "backend": ["tbb", "serial"], @@ -27,42 +31,64 @@ class OneDplConan(ConanFile): } no_copy_source = True + @property + def _min_cppstd(self): + if Version(self.version) < "2021.7.0": + return 11 + return 17 + + @property + def _compilers_minimum_version(self): + if Version(self.version) < "2021.7.0": + return {} + return { + "gcc": "7", + "clang": "6", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + def layout(self): + basic_layout(self, src_folder="src") + def requirements(self): if self.options.backend == "tbb": - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) >= "2021.7.0": - check_min_cppstd(self, 17) - else: - check_min_cppstd(self, 11) + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) - def layout(self): - basic_layout(self, src_folder="src") + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + if self.settings.get_safe("compiler.libcxx") == "libstdc++": + # https://stackoverflow.com/a/67924408/2997179 + raise ConanInvalidConfiguration("libstdc++ is not supported") + + if "2021.7" <= Version(self.version) < "2022" and is_msvc(self): + raise ConanInvalidConfiguration(f"MSVC is not supported for {self.version} due to " + "std::unary_function and std::binary_function being used") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True, destination=self.source_folder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - version_major = int(str(Version(self.version).major)[0:4]) copy(self, "*", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) - if version_major < 2021: - copy(self, "*", src=os.path.join(self.source_folder, "stdlib"), dst=os.path.join(self.package_folder, "include")) - copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) - else: - copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "licensing"), dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE.txt", src=os.path.join(self.source_folder, "licensing"), dst=os.path.join(self.package_folder, "licenses")) def package_info(self): self.cpp_info.set_property("cmake_file_name", "ParallelSTL") self.cpp_info.set_property("cmake_target_name", "pstl::ParallelSTL") self.cpp_info.bindirs = [] - self.cpp_info.frameworkdirs = [] self.cpp_info.libdirs = [] - self.cpp_info.resdirs = [] # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "ParallelSTL" @@ -72,5 +98,7 @@ def package_info(self): self.cpp_info.components["_onedpl"].names["cmake_find_package"] = "ParallelSTL" self.cpp_info.components["_onedpl"].names["cmake_find_package_multi"] = "ParallelSTL" self.cpp_info.components["_onedpl"].set_property("cmake_target_name", "pstl::ParallelSTL") + self.cpp_info.components["_onedpl"].bindirs = [] + self.cpp_info.components["_onedpl"].libdirs = [] if self.options.backend == "tbb": self.cpp_info.components["_onedpl"].requires = ["onetbb::onetbb"] diff --git a/recipes/onedpl/all/test_package/CMakeLists.txt b/recipes/onedpl/all/test_package/CMakeLists.txt index ae285797ed88a..cad3204918869 100644 --- a/recipes/onedpl/all/test_package/CMakeLists.txt +++ b/recipes/onedpl/all/test_package/CMakeLists.txt @@ -1,9 +1,12 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) find_package(ParallelSTL REQUIRED CONFIG) -message(STATUS "OneDPL test version: ${ONEDPL_VERSION_MAJOR}") -add_executable(${PROJECT_NAME} test_package.${ONEDPL_VERSION_MAJOR}.cpp) +add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE pstl::ParallelSTL) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +if (ParallelSTL_VERSION VERSION_GREATER_EQUAL "2021.7") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/onedpl/all/test_package/conanfile.py b/recipes/onedpl/all/test_package/conanfile.py index 5d2f30da145a9..db11bba8a6d83 100644 --- a/recipes/onedpl/all/test_package/conanfile.py +++ b/recipes/onedpl/all/test_package/conanfile.py @@ -1,24 +1,19 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.scm import Version import os +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "CMakeDeps", "VirtualRunEnv" - - def requirements(self): - self.requires(self.tested_reference_str) + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" def layout(self): cmake_layout(self) - def generate(self): - tc = CMakeToolchain(self) - tc.variables["ONEDPL_VERSION_MAJOR"] = str(Version(self.dependencies["onedpl"].ref.version).major)[0:4] - tc.generate() + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -26,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): + if can_run(self): bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/onedpl/all/test_package/test_package.2020.cpp b/recipes/onedpl/all/test_package/test_package.2020.cpp deleted file mode 100644 index 3af6b2f8d8648..0000000000000 --- a/recipes/onedpl/all/test_package/test_package.2020.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include -#include - -int main() -{ - std::vector data(10000000); - std::fill_n(pstl::execution::par_unseq, data.begin(), data.size(), -1); - - return 0; -} diff --git a/recipes/onedpl/all/test_package/test_package.2021.cpp b/recipes/onedpl/all/test_package/test_package.cpp similarity index 100% rename from recipes/onedpl/all/test_package/test_package.2021.cpp rename to recipes/onedpl/all/test_package/test_package.cpp diff --git a/recipes/onedpl/all/test_v1_package/CMakeLists.txt b/recipes/onedpl/all/test_v1_package/CMakeLists.txt index b8bcdb29cc801..91630d79f4abb 100644 --- a/recipes/onedpl/all/test_v1_package/CMakeLists.txt +++ b/recipes/onedpl/all/test_v1_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package) include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup(TARGETS) -find_package(ParallelSTL REQUIRED CONFIG) - -message(STATUS "OneDPL test version: ${ONEDPL_VERSION_MAJOR}") -add_executable(${PROJECT_NAME} ../test_package/test_package.${ONEDPL_VERSION_MAJOR}.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE pstl::ParallelSTL) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/onedpl/all/test_v1_package/conanfile.py b/recipes/onedpl/all/test_v1_package/conanfile.py index 7982514ebc4f8..38f4483872d47 100644 --- a/recipes/onedpl/all/test_v1_package/conanfile.py +++ b/recipes/onedpl/all/test_v1_package/conanfile.py @@ -8,7 +8,6 @@ class TestPackageConan(ConanFile): def build(self): cmake = CMake(self) - cmake.definitions["ONEDPL_VERSION_MAJOR"] = tools.Version(self.deps_cpp_info["onedpl"].version).major[0:4] cmake.configure() cmake.build() diff --git a/recipes/onedpl/config.yml b/recipes/onedpl/config.yml index 24b37db7f2bf3..3d474c4d1d440 100644 --- a/recipes/onedpl/config.yml +++ b/recipes/onedpl/config.yml @@ -1,7 +1,7 @@ versions: - "20200330": - folder: all - "2021.6.1": + "2022.3.0": folder: all "2021.7.0": folder: all + "2021.6.1": + folder: all From 3428655bf8eedcb61b020898ef1ef27095ae19b2 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Mon, 15 Jan 2024 09:44:47 +0000 Subject: [PATCH 0834/1307] (#22281) rapidjson/*: Fix incorrect `package_id_embed_mode` value. * rapidjson/*: Fix incorrect `package_id_embed_mode` value. * Undo auto formatting . --- recipes/rapidjson/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/rapidjson/all/conanfile.py b/recipes/rapidjson/all/conanfile.py index 49a4bd4e70fd7..c1c772ac9d842 100644 --- a/recipes/rapidjson/all/conanfile.py +++ b/recipes/rapidjson/all/conanfile.py @@ -14,7 +14,7 @@ class RapidjsonConan(ConanFile): homepage = "http://rapidjson.org" license = "MIT" package_type = "header-library" - package_id_embed_mode = "minor" + package_id_embed_mode = "minor_mode" settings = "os", "arch", "compiler", "build_type" no_copy_source = True From 9c33e34d25b7df5de756af893d4f9cb85dc5f78a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:11:56 +0200 Subject: [PATCH 0835/1307] (#22308) muparserx: add v4.0.12, add package_type * muparserx: add v4.0.12, add package_type * muparserx: update license file --- recipes/muparserx/all/conandata.yml | 3 +++ recipes/muparserx/all/conanfile.py | 12 ++++++++---- recipes/muparserx/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/muparserx/all/conandata.yml b/recipes/muparserx/all/conandata.yml index 9f14a4951a1b8..10adc43806fcb 100644 --- a/recipes/muparserx/all/conandata.yml +++ b/recipes/muparserx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.0.12": + url: "https://github.com/beltoforion/muparserx/archive/v4.0.12.tar.gz" + sha256: "941c79f9b8b924f2f22406af8587177b4b185da3c968dbe8dc371b9dbe117f6e" "4.0.8": url: "https://github.com/beltoforion/muparserx/archive/v4.0.8.tar.gz" sha256: "5913e0a4ca29a097baad1b78a4674963bc7a06e39ff63df3c73fbad6fadb34e1" diff --git a/recipes/muparserx/all/conanfile.py b/recipes/muparserx/all/conanfile.py index 565601842d1b8..c9fef57283987 100644 --- a/recipes/muparserx/all/conanfile.py +++ b/recipes/muparserx/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import copy, get, replace_in_file, rmdir +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -11,9 +12,10 @@ class MuparserxConan(ConanFile): description = "A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more" license = "BSD-2-Clause" topics = ("math", "parser") - homepage = "https://beltoforion.de/article.php?a=muparserx" + homepage = "https://beltoforion.de/en/muparserx" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -36,8 +38,7 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) @@ -62,7 +63,10 @@ def build(self): cmake.build() def package(self): - copy(self, "License.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + if Version(self.version) < "4.0.10": + copy(self, "License.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + else: + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) diff --git a/recipes/muparserx/config.yml b/recipes/muparserx/config.yml index 5bcadc3524910..fe34cc95b4902 100644 --- a/recipes/muparserx/config.yml +++ b/recipes/muparserx/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.12": + folder: all "4.0.8": folder: all From ffbe86a7f667f3157b9ec072c6d95043b33a1589 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:50:25 +0200 Subject: [PATCH 0836/1307] (#22309) osmanip: add v4.6.1, drop older versions * modernize - add package_type - bump boost & arsenalgear - use self.settings/self.compiler in validate() instead of self.info * fix traits * revert bump of arsenalgear * osmanip: simplify CMakeLists.txt a bit * osmanip: add v4.6.1 * osmanip: drop older versions * osmanip: disable tests * osmanip: rmdir lib/cmake * osmanip: re-enable shared build * osmanip: disable libstdc++ --------- Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com> --- recipes/osmanip/all/CMakeLists.txt | 32 +++--- recipes/osmanip/all/conandata.yml | 18 +--- recipes/osmanip/all/conanfile.py | 74 ++++++++----- .../0001-replace-runtime_error_func.patch | 102 ------------------ recipes/osmanip/config.yml | 8 +- 5 files changed, 68 insertions(+), 166 deletions(-) delete mode 100644 recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch diff --git a/recipes/osmanip/all/CMakeLists.txt b/recipes/osmanip/all/CMakeLists.txt index ae515532d7df7..61c36dedcabb0 100644 --- a/recipes/osmanip/all/CMakeLists.txt +++ b/recipes/osmanip/all/CMakeLists.txt @@ -1,33 +1,33 @@ -cmake_minimum_required(VERSION 3.13) +cmake_minimum_required(VERSION 3.15) project(osmanip LANGUAGES CXX) find_package(arsenalgear REQUIRED CONFIG) add_library(osmanip) target_sources(osmanip PRIVATE - ${OSMANIP_SRC_DIR}/src/graphics/canvas.cpp - ${OSMANIP_SRC_DIR}/src/graphics/plot_2D.cpp + src/graphics/canvas.cpp + src/graphics/plot_2D.cpp $<$: - ${OSMANIP_SRC_DIR}/src/manipulators/colsty.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/common.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/cursor.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/decorator.cpp + src/manipulators/colsty.cpp + src/manipulators/common.cpp + src/manipulators/cursor.cpp + src/manipulators/decorator.cpp > $<$,$>: - ${OSMANIP_SRC_DIR}/src/manipulators/colsty.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/common.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/cursor.cpp - ${OSMANIP_SRC_DIR}/src/manipulators/printer.cpp + src/manipulators/colsty.cpp + src/manipulators/common.cpp + src/manipulators/cursor.cpp + src/manipulators/printer.cpp > $<$: - ${OSMANIP_SRC_DIR}/src/manipulators/csmanip.cpp + src/manipulators/csmanip.cpp > $<$: - ${OSMANIP_SRC_DIR}/src/progressbar/progress_bar.cpp + src/progressbar/progress_bar.cpp > - ${OSMANIP_SRC_DIR}/src/utility/windows.cpp + src/utility/windows.cpp ) -target_include_directories(osmanip PUBLIC ${OSMANIP_SRC_DIR}/include/) +target_include_directories(osmanip PUBLIC include/) target_compile_features(osmanip PUBLIC cxx_std_17) set_target_properties(osmanip PROPERTIES PUBLIC_HEADER "${osmanip_inc}" @@ -49,6 +49,6 @@ install( ) install( - DIRECTORY ${OSMANIP_SRC_DIR}/include/ + DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/osmanip ) diff --git a/recipes/osmanip/all/conandata.yml b/recipes/osmanip/all/conandata.yml index 02c907a3fa56b..389cbb0c53e8a 100644 --- a/recipes/osmanip/all/conandata.yml +++ b/recipes/osmanip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.6.1": + url: "https://github.com/JustWhit3/osmanip/archive/v4.6.1.tar.gz" + sha256: "5454cb0caced1fb9af90666001f2874786a33e6830024cb41c99a5b4ab966f1c" "4.4.0": url: "https://github.com/JustWhit3/osmanip/archive/v4.3.0.tar.gz" sha256: "e0d982d19792c3e438e3be99f789434b66788f9a7114f217b3c5f28d0121af7f" @@ -8,18 +11,3 @@ sources: "4.2.2": url: "https://github.com/JustWhit3/osmanip/archive/v4.2.2.tar.gz" sha256: "841b76bb4f44b66d714858e62661cee75c4fef553300b6da2a6720509421a5fe" - "4.2.1": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.2.1.tar.gz" - sha256: "1d1ba3fac66edc7a7e4c480a0c080493d19193f9b63b70d417e2683f8741bf1c" - "4.1.0": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.1.0.tar.gz" - sha256: "9830316fea29300aeebadb0cd6cddd6f291a8fa04c397bca9666d045815d1d53" - "4.0.0": - url: "https://github.com/JustWhit3/osmanip/archive/refs/tags/v4.0.0.tar.gz" - sha256: "c6848e1d9b15eb409af88efeee7cd1ce87374ea7ac87424f5d2cf30104f098a0" - -patches: - "4.0.0": - - patch_file: "patches/0001-replace-runtime_error_func.patch" - patch_description: "following function renaming on arsenalgear/1.2.2" - patch_type: "conan" diff --git a/recipes/osmanip/all/conanfile.py b/recipes/osmanip/all/conanfile.py index ccea62899d710..b7b07c911f7e0 100644 --- a/recipes/osmanip/all/conanfile.py +++ b/recipes/osmanip/all/conanfile.py @@ -1,9 +1,9 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy from conan.tools.build import check_min_cppstd -from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file +from conan.tools.scm import Version import os @@ -11,11 +11,15 @@ class OsmanipConan(ConanFile): name = "osmanip" - description = "Library with useful output stream tools like: color and style manipulators, progress bars and terminal graphics." + description = ( + "Library with useful output stream tools like: color and style " + "manipulators, progress bars and terminal graphics." + ) license = "MIT" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/JustWhit3/osmanip" topics = ("manipulator", "iostream", "output-stream", "iomanip") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -27,8 +31,8 @@ class OsmanipConan(ConanFile): } def export_sources(self): - copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) - export_conandata_patches(self) + if Version(self.version) < "4.5.0": + copy(self, "CMakeLists.txt", self.recipe_folder, os.path.join(self.export_sources_folder, "src")) def config_options(self): if self.settings.os == "Windows": @@ -38,64 +42,80 @@ def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + def layout(self): + cmake_layout(self, src_folder="src") + def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.83.0") + # osmanip/progressbar/progress_bar.hpp includes arsenalgear/constants.hpp if Version(self.version) < "4.2.0": - self.requires("arsenalgear/1.2.2") + self.requires("arsenalgear/1.2.2", transitive_headers=True) else: - self.requires("arsenalgear/2.0.1") + self.requires("arsenalgear/2.0.1", transitive_headers=True) @property - def _minimum_cpp_standard(self): + def _min_cppstd(self): return 17 @property def _compiler_required_cpp17(self): return { - "Visual Studio": "16", + "Visual Studio": "15", "msvc": "191", "gcc": "8", "clang": "7", - "apple-clang": "12.0", + "apple-clang": "12", } def validate(self): - if self.info.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, self._minimum_cpp_standard) + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) - minimum_version = self._compiler_required_cpp17.get(str(self.info.settings.compiler), False) - if minimum_version: - if Version(self.info.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._minimum_cpp_standard}, which your compiler does not support.") - else: - self.output.warn(f"{self.ref} requires C++{self._minimum_cpp_standard}. Your compiler is unknown. Assuming it supports C++{self._minimum_cpp_standard}") + minimum_version = self._compiler_required_cpp17.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) - def layout(self): - cmake_layout(self, src_folder="src") + if Version(self.version) >= "4.5.0" and self.settings.get_safe("compiler.libcxx") == "libstdc++": + # test_package segfaults with libstdc++ for some reason + raise ConanInvalidConfiguration("osmanip >= 4.5.0 doesn't support libstdc++") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) - tc.variables["OSMANIP_VERSION"] = str(self.version) - tc.variables["OSMANIP_SRC_DIR"] = self.source_folder.replace("\\", "/") + if Version(self.version) < "4.5.0": + tc.variables["OSMANIP_VERSION"] = str(self.version) + else: + tc.variables["OSMANIP_TESTS"] = False + tc.variables["FORMAT"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.generate() deps = CMakeDeps(self) deps.generate() + def _patch_sources(self): + if Version(self.version) >= "4.5.0": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " STATIC ", " ") + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + " DESTINATION lib\n", + " RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib\n") + def build(self): - apply_conandata_patches(self) + self._patch_sources() cmake = CMake(self) - cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) + cmake.configure() cmake.build() def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) def package_info(self): self.cpp_info.libs = ["osmanip"] diff --git a/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch b/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch deleted file mode 100644 index 8b8b155a0e865..0000000000000 --- a/recipes/osmanip/all/patches/0001-replace-runtime_error_func.patch +++ /dev/null @@ -1,102 +0,0 @@ -diff --git a/src/manipulators/csmanip.cpp b/src/manipulators/csmanip.cpp -index 064c7ba..6363226 100644 ---- a/src/manipulators/csmanip.cpp -+++ b/src/manipulators/csmanip.cpp -@@ -208,7 +208,7 @@ namespace osm - { - if( generic_map.find( feat_string ) == generic_map.end() ) - { -- throw agr::runtime_error_func( generic_map.at( "error" ), feat_string, "is not supported!" ); -+ throw agr::except_error_func( generic_map.at( "error" ), feat_string, "is not supported!" ); - } - return generic_map.at( feat_string ); - } -@@ -228,7 +228,7 @@ namespace osm - { - if( generic_map.find( feat_string ) == generic_map.end() ) - { -- throw agr::runtime_error_func( generic_map.at( "error" ).first, feat_string, "is not supported!" ); -+ throw agr::except_error_func( generic_map.at( "error" ).first, feat_string, "is not supported!" ); - } - else - { -@@ -255,7 +255,7 @@ namespace osm - { - if( rst.find( reset_string ) == rst.end() ) - { -- throw agr::runtime_error_func( rst.at( "error" ), reset_string, "is not supported!" ); -+ throw agr::except_error_func( rst.at( "error" ), reset_string, "is not supported!" ); - } - return rst.at( reset_string ); - } -@@ -295,4 +295,4 @@ namespace osm - std::to_string( g ) + ";"s + - std::to_string( b ) + "m"s; - } -- } -\ No newline at end of file -+ } -diff --git a/src/progressbar/progress_bar.cpp b/src/progressbar/progress_bar.cpp -index 485009f..b12aee4 100644 ---- a/src/progressbar/progress_bar.cpp -+++ b/src/progressbar/progress_bar.cpp -@@ -163,16 +163,16 @@ namespace osm - } - else if( styles_map_.at( type ).find( style ) == styles_map_.at( type ).end() ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar style", style, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted ProgressBar style", style, "is not supported for this type!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - catch ( std::out_of_range const& exception ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - -@@ -201,15 +201,15 @@ namespace osm - } - else if( styles_map_.at( "indicator" ).find( style_p ) == styles_map_.at( "indicator" ).end() ) - { -- throw agr::runtime_error_func( "Inserted indicator style", style_p, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted indicator style", style_p, "is not supported for this type!" ); - } - else if( styles_map_.at( "loader" ).find( style_l ) == styles_map_.at( "loader" ).end() ) - { -- throw agr::runtime_error_func( "Inserted loader style", style_l, "is not supported for this type!" ); -+ throw agr::except_error_func( "Inserted loader style", style_l, "is not supported for this type!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is not supported!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is not supported!" ); - } - } - -@@ -834,11 +834,11 @@ namespace osm - } - else if( styles_map_.at( type ).find( style ) != styles_map_.at( type ).end() ) - { -- throw agr::runtime_error_func( "Inserted ProgressBar style", style, "is already available!" ); -+ throw agr::except_error_func( "Inserted ProgressBar style", style, "is already available!" ); - } - else - { -- throw agr::runtime_error_func( "Inserted ProgressBar type", type, "is already available!" ); -+ throw agr::except_error_func( "Inserted ProgressBar type", type, "is already available!" ); - } - } - -@@ -869,4 +869,4 @@ namespace osm - * - */ - BOOST_PP_SEQ_FOR_EACH( PROGRESSBAR, _, ARGS( int, long, long long, double, long double, float ) ); -- } -\ No newline at end of file -+ } diff --git a/recipes/osmanip/config.yml b/recipes/osmanip/config.yml index 50f7633ad31f3..2b2e483c60d7b 100644 --- a/recipes/osmanip/config.yml +++ b/recipes/osmanip/config.yml @@ -1,13 +1,9 @@ versions: + "4.6.1": + folder: all "4.4.0": folder: all "4.3.0": folder: all "4.2.2": folder: all - "4.2.1": - folder: all - "4.1.0": - folder: all - "4.0.0": - folder: all From 16f2e40ada0c7c40f83d42172e9d636b66abf116 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 12:53:58 +0200 Subject: [PATCH 0837/1307] (#18657) huffman: migrate to Conan v2 * huffman: migrate to Conan v2 * huffman: drop v1.2.2 v1.2.2 is Makefile-based, not CMake. --- recipes/huffman/all/conandata.yml | 10 --- recipes/huffman/all/conanfile.py | 71 ++++++++++--------- .../all/patches/1.2.2-0001-use-_WIN32.patch | 13 ---- .../all/patches/1.2.7-0001-use-_WIN32.patch | 13 ---- .../huffman/all/test_package/CMakeLists.txt | 7 +- recipes/huffman/all/test_package/conanfile.py | 19 +++-- .../all/test_v1_package/CMakeLists.txt | 8 +++ .../huffman/all/test_v1_package/conanfile.py | 17 +++++ recipes/huffman/config.yml | 2 - 9 files changed, 78 insertions(+), 82 deletions(-) delete mode 100644 recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch delete mode 100644 recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch create mode 100644 recipes/huffman/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/huffman/all/test_v1_package/conanfile.py diff --git a/recipes/huffman/all/conandata.yml b/recipes/huffman/all/conandata.yml index 25d1ea6cda398..cb51aa08c2967 100644 --- a/recipes/huffman/all/conandata.yml +++ b/recipes/huffman/all/conandata.yml @@ -3,13 +3,3 @@ sources: # Don't use tar.gz because test data files in tar.gz has invalid paths on Windows. url: "https://github.com/drichardson/huffman/archive/refs/tags/v1.2.7.zip" sha256: "0d382f271daf47623676307710cb05d246839247370989b8ffa6fee82bea375a" - "1.2.2": - url: "https://github.com/drichardson/huffman/archive/refs/tags/v1.2.2.zip" - sha256: "7968728c4a0e2705575e9f03e0252cb5195919756d3a64343255f518548cb533" -patches: - "1.2.7": - - patch_file: "patches/1.2.7-0001-use-_WIN32.patch" - base_path: "source_subfolder" - "1.2.2": - - patch_file: "patches/1.2.2-0001-use-_WIN32.patch" - base_path: "source_subfolder" diff --git a/recipes/huffman/all/conanfile.py b/recipes/huffman/all/conanfile.py index 6cbfd60d77f27..236e549a5af09 100644 --- a/recipes/huffman/all/conanfile.py +++ b/recipes/huffman/all/conanfile.py @@ -1,7 +1,11 @@ -from conans import ConanFile, CMake, tools -import functools +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, export_conandata_patches, get, replace_in_file + +required_conan_version = ">=1.53.0" -required_conan_version = ">=1.33.0" class HuffmanConan(ConanFile): name = "huffman" @@ -9,61 +13,60 @@ class HuffmanConan(ConanFile): license = "Unlicense" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/drichardson/huffman" - topics = ["huffman", "encoder", "decoder", "compression"] - settings = "os", "arch", "compiler","build_type" + topics = ("encoder", "decoder", "compression") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, + "shared": False, + "fPIC": True, } - exports_sources = ["CMakeLists.txt"] - generators = "cmake" - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) - def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.configure() - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def _patch_sources(self): + replace_in_file(self, os.path.join(self.source_folder, "huffman.c"), + "#ifdef WIN32", + "#if defined _WIN32 || defined __CYGWIN__") def build(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - cmake = self._configure_cmake() + self._patch_sources() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy(pattern="LICENSE*", dst="licenses", - src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.libs.append("huffman") + self.cpp_info.libs = ["huffman"] if self.settings.os == "Windows": self.cpp_info.system_libs.append("ws2_32") diff --git a/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch b/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch deleted file mode 100644 index f04952ff087f5..0000000000000 --- a/recipes/huffman/all/patches/1.2.2-0001-use-_WIN32.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/a/huffman.c b/b/huffman.c -index 81959cb..ecea371 100644 ---- a/a/huffman.c -+++ b/b/huffman.c -@@ -11,7 +11,7 @@ - #include - #include - --#ifdef WIN32 -+#if defined _WIN32 || defined __CYGWIN__ - #include - #include - #else diff --git a/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch b/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch deleted file mode 100644 index 9c1fe246e8193..0000000000000 --- a/recipes/huffman/all/patches/1.2.7-0001-use-_WIN32.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/a/huffman.c b/b/huffman.c -index 7cae8c1..34f3101 100644 ---- a/a/huffman.c -+++ b/b/huffman.c -@@ -6,7 +6,7 @@ - #include - #include - --#ifdef WIN32 -+#if defined _WIN32 || defined __CYGWIN__ - #include - #include - #else diff --git a/recipes/huffman/all/test_package/CMakeLists.txt b/recipes/huffman/all/test_package/CMakeLists.txt index cca65fc1e8c24..8c882942df773 100644 --- a/recipes/huffman/all/test_package/CMakeLists.txt +++ b/recipes/huffman/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.8) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(huffman REQUIRED CONFIG) diff --git a/recipes/huffman/all/test_package/conanfile.py b/recipes/huffman/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/huffman/all/test_package/conanfile.py +++ b/recipes/huffman/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/huffman/all/test_v1_package/CMakeLists.txt b/recipes/huffman/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/huffman/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/huffman/all/test_v1_package/conanfile.py b/recipes/huffman/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/huffman/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/huffman/config.yml b/recipes/huffman/config.yml index 1bf1c0d4bfeb0..6772821daadb7 100644 --- a/recipes/huffman/config.yml +++ b/recipes/huffman/config.yml @@ -1,5 +1,3 @@ versions: "1.2.7": folder: all - "1.2.2": - folder: all From 6b93e5b75918b32e88077da49095fc9da9b906e2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 13:19:57 +0200 Subject: [PATCH 0838/1307] (#22313) playrho: add v1.1.2 * playrho: add v1.1.2 * playrho: require newer CMake --- recipes/playrho/all/conandata.yml | 3 +++ recipes/playrho/all/conanfile.py | 6 ++++++ recipes/playrho/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/playrho/all/conandata.yml b/recipes/playrho/all/conandata.yml index df36531f2762c..93527003a275f 100644 --- a/recipes/playrho/all/conandata.yml +++ b/recipes/playrho/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.2": + url: "https://github.com/louis-langholtz/PlayRho/archive/refs/tags/v1.1.2.tar.gz" + sha256: "b8e61eace48607c545a495c742479fb58e7ea34b8dfe7f874a14b8414135cccc" "1.1.0": url: "https://github.com/louis-langholtz/PlayRho/archive/refs/tags/v1.1.0.tar.gz" sha256: "45c0337440387a85a97a4b7907b79f780233bf2062635471b71a32245b0c0158" diff --git a/recipes/playrho/all/conanfile.py b/recipes/playrho/all/conanfile.py index 619e24882a463..57ba703a4b37c 100644 --- a/recipes/playrho/all/conanfile.py +++ b/recipes/playrho/all/conanfile.py @@ -4,6 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, rename from conan.tools.scm import Version @@ -67,10 +68,15 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + self.tool_requires("cmake/[>=3.16.3 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + VirtualBuildEnv(self).generate() + tc = CMakeToolchain(self) tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True tc.variables["PLAYRHO_BUILD_SHARED"] = self.options.shared diff --git a/recipes/playrho/config.yml b/recipes/playrho/config.yml index 11b7aff3a5ac4..0108ac3e087d5 100644 --- a/recipes/playrho/config.yml +++ b/recipes/playrho/config.yml @@ -1,3 +1,5 @@ versions: + "1.1.2": + folder: "all" "1.1.0": folder: "all" From fb9e85947fc8fbb53a9ec654f90505426327825e Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 20:30:47 +0900 Subject: [PATCH 0839/1307] (#22324) quickjs: add version 2024-01-13 --- recipes/quickjs/all/conandata.yml | 3 +++ recipes/quickjs/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/quickjs/all/conandata.yml b/recipes/quickjs/all/conandata.yml index 2aeb216a1e5d0..ab82a3e06acc3 100644 --- a/recipes/quickjs/all/conandata.yml +++ b/recipes/quickjs/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2024-01-13": + url: "https://bellard.org/quickjs/quickjs-2024-01-13.tar.xz" + sha256: "3c4bf8f895bfa54beb486c8d1218112771ecfc5ac3be1036851ef41568212e03" "2023-12-09": url: "https://bellard.org/quickjs/quickjs-2023-12-09.tar.xz" sha256: "e8afe386f875d0e52310ea91aa48e2b0e04182e821f19147794e3e272f4c8d8c" diff --git a/recipes/quickjs/config.yml b/recipes/quickjs/config.yml index ee7d61b2fc03e..3e2d478571404 100644 --- a/recipes/quickjs/config.yml +++ b/recipes/quickjs/config.yml @@ -1,4 +1,6 @@ versions: + "2024-01-13": + folder: "all" "2023-12-09": folder: "all" "2021-03-27": From 4202a2f3fa283e25d7993507f5174edd87981093 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 15 Jan 2024 13:22:14 +0100 Subject: [PATCH 0840/1307] (#22207) zyre: bump deps --- recipes/zyre/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/zyre/all/conanfile.py b/recipes/zyre/all/conanfile.py index bd990107ea362..be3408d481659 100644 --- a/recipes/zyre/all/conanfile.py +++ b/recipes/zyre/all/conanfile.py @@ -4,7 +4,6 @@ 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.microsoft import is_msvc -from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -48,7 +47,7 @@ def requirements(self): self.requires("czmq/4.2.1", transitive_headers=True) self.requires("zeromq/4.3.5") if self.settings.os in ["Linux", "FreeBSD"]: - self.requires("libsystemd/253.10") + self.requires("libsystemd/255") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -56,9 +55,8 @@ def source(self): def generate(self): tc = CMakeToolchain(self) tc.variables["ENABLE_DRAFTS"] = self.options.drafts - if Version(self.version) >= "2.0.1": - tc.variables["ZYRE_BUILD_SHARED"] = self.options.shared - tc.variables["ZYRE_BUILD_STATIC"] = not self.options.shared + tc.variables["ZYRE_BUILD_SHARED"] = self.options.shared + tc.variables["ZYRE_BUILD_STATIC"] = not self.options.shared tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared if not self.options.shared: tc.preprocessor_definitions["ZYRE_STATIC"] = "" @@ -99,7 +97,7 @@ def package_info(self): self.cpp_info.set_property("pkg_config_name", "libzyre") libname = "zyre" - if Version(self.version) >= "2.0.1" and is_msvc(self) and not self.options.shared: + if is_msvc(self) and not self.options.shared: libname = "libzyre" self.cpp_info.libs = [libname] if self.settings.os in ["Linux", "FreeBSD"]: From 954125358f57158e70ce0891395eb7b55578c39f Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 15:05:14 +0200 Subject: [PATCH 0841/1307] (#22316) osqp: add v0.6.3 --- recipes/osqp/all/conandata.yml | 3 +++ recipes/osqp/all/conanfile.py | 5 +++-- recipes/osqp/config.yml | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/osqp/all/conandata.yml b/recipes/osqp/all/conandata.yml index 905d89304cb35..fa2a0f2f4400c 100644 --- a/recipes/osqp/all/conandata.yml +++ b/recipes/osqp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.6.3": + url: "https://github.com/osqp/osqp/releases/download/v0.6.3/osqp-v0.6.3-src.tar.gz" + sha256: "285b2a60f68d113a1090767ec8a9c81a65b3af2d258f8c78a31cc3f98ba58456" "0.6.2": url: "https://github.com/osqp/osqp/releases/download/v0.6.2/complete_sources.tar.gz" sha256: "0a7ade2fa19f13e13bc12f6ea0046ef764049023efb4997a4e72a76534f623ec" diff --git a/recipes/osqp/all/conanfile.py b/recipes/osqp/all/conanfile.py index 19c7954ec0859..2aff16badac04 100644 --- a/recipes/osqp/all/conanfile.py +++ b/recipes/osqp/all/conanfile.py @@ -19,7 +19,7 @@ class OsqpConan(ConanFile): "shared": [True, False], "fPIC": [True, False], } - default_options = { + default_options = { "shared": False, "fPIC": True, } @@ -38,7 +38,8 @@ def layout(self): cmake_layout(self, src_folder="src") def source(self): - get(self, **self.conan_data["sources"][self.version], strip_root=True) + strip_root = self.version == "0.6.2" + get(self, **self.conan_data["sources"][self.version], strip_root=strip_root) def generate(self): tc = CMakeToolchain(self) diff --git a/recipes/osqp/config.yml b/recipes/osqp/config.yml index a09c617182ab2..5adc30b2f3c24 100644 --- a/recipes/osqp/config.yml +++ b/recipes/osqp/config.yml @@ -1,3 +1,5 @@ versions: + "0.6.3": + folder: all "0.6.2": folder: all From 9f34f21f3d59899cd2cdae69ad0b79702ff36174 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 22:15:54 +0900 Subject: [PATCH 0842/1307] (#22334) imgui: add version 1.90.1/1.90.1-docking --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 5a380f8aab078..99f46ac0b18c0 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.1": + url: "https://github.com/ocornut/imgui/archive/v1.90.1.tar.gz" + sha256: "21dcc985bb2ae8fe48047c86135dbc438d6980a8f2e08babbda5be820592f282" + "1.90.1-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.1-docking.tar.gz" + sha256: "6804c3d8dc6d83b892d3c5491d8164840079d9a795fb7c4cef2eaa1b04c86a0c" "1.90": url: "https://github.com/ocornut/imgui/archive/v1.90.tar.gz" sha256: "170986e6a4b83d165bfc1d33c2c5a5bc2d67e5b97176287485c51a2299249296" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 8714c2dcec41f..5444f395d2f43 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.1": + folder: all + "1.90.1-docking": + folder: all "1.90": folder: all "1.90-docking": From 836c2cc34baf8dd61e69c53f05219d636d58943f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 22:44:39 +0900 Subject: [PATCH 0843/1307] (#22338) xbyak: add version 7.05 * xbyak: add version 7.05 * add validatoion --- recipes/xbyak/all/conandata.yml | 3 +++ recipes/xbyak/all/conanfile.py | 5 +++++ recipes/xbyak/config.yml | 2 ++ 3 files changed, 10 insertions(+) diff --git a/recipes/xbyak/all/conandata.yml b/recipes/xbyak/all/conandata.yml index a117cdd9c7b95..19f018739c44d 100644 --- a/recipes/xbyak/all/conandata.yml +++ b/recipes/xbyak/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.05": + url: "https://github.com/herumi/xbyak/archive/v7.05.tar.gz" + sha256: "853b619a6615985dbb36e8c5528d96d83f7bba3d0728ed3b3ee8ac8f4f96d87f" "7.00": url: "https://github.com/herumi/xbyak/archive/v7.00.tar.gz" sha256: "9bc479d99bb3bbd30669813ca9719126fe93ab1bae857bd799d2b16a1fcb4c32" diff --git a/recipes/xbyak/all/conanfile.py b/recipes/xbyak/all/conanfile.py index 724743a916f47..540cdf1443f84 100644 --- a/recipes/xbyak/all/conanfile.py +++ b/recipes/xbyak/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import copy, get from conan.tools.layout import basic_layout +from conan.errors import ConanInvalidConfiguration import os required_conan_version = ">=1.50.0" @@ -24,6 +25,10 @@ def layout(self): def package_id(self): self.info.clear() + def validate(self): + if self.settings.arch not in ("x86", "x86_64"): + raise ConanInvalidConfiguration(f"{self.ref} is only available for x86 and x86_64 architecture") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/xbyak/config.yml b/recipes/xbyak/config.yml index e1673a246df2d..3f41c68a5a75f 100644 --- a/recipes/xbyak/config.yml +++ b/recipes/xbyak/config.yml @@ -1,4 +1,6 @@ versions: + "7.05": + folder: all "7.00": folder: all "6.73": From 840ef68be034aedb17737a711e046d9aacd2fc4a Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 15:56:52 +0200 Subject: [PATCH 0844/1307] (#22307) xpack: add v1.0.5 --- recipes/xpack/all/conandata.yml | 3 +++ recipes/xpack/all/conanfile.py | 4 ++-- recipes/xpack/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/xpack/all/conandata.yml b/recipes/xpack/all/conandata.yml index 86baf40457468..1216e4df4ec82 100644 --- a/recipes/xpack/all/conandata.yml +++ b/recipes/xpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.5": + url: "https://github.com/xyz347/xpack/archive/v1.0.5.tar.gz" + sha256: "ea8693dd3a53d54e0c1e3c9e6e06f31ff7f593f7f8cf8fb4889f5c3354dbae8e" "1.0.4": url: "https://github.com/xyz347/xpack/archive/v1.0.4.tar.gz" sha256: "ccea6d986052a9ad8ad859ad42283fc01fed29009133017b231a06ec0b1976b9" diff --git a/recipes/xpack/all/conanfile.py b/recipes/xpack/all/conanfile.py index fb4f7dbe93adb..278c5b2d134b0 100644 --- a/recipes/xpack/all/conanfile.py +++ b/recipes/xpack/all/conanfile.py @@ -28,7 +28,7 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("rapidjson/cci.20220822") + self.requires("rapidjson/cci.20230929") self.requires("rapidxml/1.13") def package_id(self): @@ -51,7 +51,7 @@ def package(self): pattern="*.h", dst=os.path.join(self.package_folder, "include", "xpack"), src=self.source_folder, - excludes=["example", "gtest", "thirdparty"], + excludes=["example", "gtest", "thirdparty", "rapidjson"], ) def package_info(self): diff --git a/recipes/xpack/config.yml b/recipes/xpack/config.yml index 7ae7c5d038959..8588b8510913c 100644 --- a/recipes/xpack/config.yml +++ b/recipes/xpack/config.yml @@ -1,4 +1,6 @@ versions: + "1.0.5": + folder: "all" "1.0.4": folder: "all" "1.0.3": From 560b5d0e163b620e3b86e3265631a919673faa2b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 16:09:41 +0200 Subject: [PATCH 0845/1307] (#22299) iir1: add v1.9.4 --- recipes/iir1/all/conandata.yml | 11 +++-------- recipes/iir1/all/conanfile.py | 10 ++++++++-- .../all/patches/1.9.0-0003-disable-test-demo.patch | 12 ------------ recipes/iir1/config.yml | 2 ++ 4 files changed, 13 insertions(+), 22 deletions(-) delete mode 100644 recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch diff --git a/recipes/iir1/all/conandata.yml b/recipes/iir1/all/conandata.yml index dcf07a8d3050e..f693ec80aa1be 100644 --- a/recipes/iir1/all/conandata.yml +++ b/recipes/iir1/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.9.4": + url: "https://github.com/berndporr/iir1/archive/refs/tags/1.9.4.tar.gz" + sha256: "67d0982356f33fd37522e4711cda12f70a981a9c83de332386f89de3d7601d2b" "1.9.1": url: "https://github.com/berndporr/iir1/archive/refs/tags/1.9.1.tar.gz" sha256: "97b4a7d62fa4859ac0d80283696b0d91c320b61ec2a455cdd3d8cfbb2be3ad9a" @@ -11,10 +14,6 @@ patches: patch_description: "Avoid to define __declspec(dllexport) on windows at consume time & in static lib" patch_type: "portability" sha256: "b29a0a2f4e6f76c57b7a8e4051173a0e82d7d154571377a0fbd75fd73e4fa73c" - - patch_file: "patches/1.9.0-0003-disable-test-demo.patch" - patch_description: "Do not build test & demo" - patch_type: "conan" - sha256: "5b866e0a6d536f12386ecc212c47a993b9e891584879fd507f8b86f596f97cdd" "1.9.0": - patch_file: "patches/1.9.0-0001-no-export-static-win.patch" patch_description: "Avoid to define __declspec(dllexport) on windows at consume time & in static lib" @@ -24,7 +23,3 @@ patches: patch_description: "Install dll to bin folder" patch_type: "portability" sha256: "2f423eb1ee633a03c30d60f58a125f118cf9323402983c908708e7a6478e4bf6" - - patch_file: "patches/1.9.0-0003-disable-test-demo.patch" - patch_description: "Do not build test & demo" - patch_type: "conan" - sha256: "5b866e0a6d536f12386ecc212c47a993b9e891584879fd507f8b86f596f97cdd" diff --git a/recipes/iir1/all/conanfile.py b/recipes/iir1/all/conanfile.py index 26653fa6b385c..101593b61dcea 100644 --- a/recipes/iir1/all/conanfile.py +++ b/recipes/iir1/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rm, rmdir, save from conan.tools.scm import Version import os @@ -66,8 +66,14 @@ def generate(self): tc.preprocessor_definitions["IIR1_NO_EXCEPTIONS"] = "1" tc.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + # Disable test and demo subdirs + save(self, os.path.join(self.source_folder, "test", "CMakeLists.txt"), "") + save(self, os.path.join(self.source_folder, "demo", "CMakeLists.txt"), "") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch b/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch deleted file mode 100644 index 18bc682ab4948..0000000000000 --- a/recipes/iir1/all/patches/1.9.0-0003-disable-test-demo.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -12,9 +12,6 @@ cmake_policy(SET CMP0048 NEW) # set VERSION in project() - cmake_policy(SET CMP0042 NEW) # enable MACOSX_RPATH by default - - include(GNUInstallDirs) --add_subdirectory(test) --add_subdirectory(demo) --enable_testing () - - if (MSVC) - add_compile_options(/W4) diff --git a/recipes/iir1/config.yml b/recipes/iir1/config.yml index 8e492271b1dfd..01169b44873a4 100644 --- a/recipes/iir1/config.yml +++ b/recipes/iir1/config.yml @@ -1,4 +1,6 @@ versions: + "1.9.4": + folder: "all" "1.9.1": folder: "all" "1.9.0": From 0681c90834e7901836186810e638138775c30a3b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 15 Jan 2024 23:26:50 +0900 Subject: [PATCH 0846/1307] (#22340) json_dto: add version 0.3.2 * json_dto: add version 0.3.2 * drop support gcc<9 and gcc/11 * fix validation condition --- recipes/json_dto/all/conandata.yml | 12 +++--------- recipes/json_dto/all/conanfile.py | 5 +++++ recipes/json_dto/config.yml | 8 ++------ 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml index 48460b81acb17..54794754e12ff 100644 --- a/recipes/json_dto/all/conandata.yml +++ b/recipes/json_dto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.2": + url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.2.tar.gz" + sha256: "425d31c06c4e7f82d6414969fcdeaccb95ab44063c08296984ea0703de445744" "0.3.1": url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.1.tar.gz" sha256: "515a2d1510d3d8f8b240eb2149f44aeb47a70d26a7071609cca45c0ee198d1d1" @@ -11,12 +14,3 @@ sources: "0.2.14": url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.14.tar.gz" sha256: "d885fe16cf621f7470a45fb6e955e8aded02958bb2212819dc151feac930905b" - "0.2.13": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.13.tar.gz" - sha256: "ed4138bf86e0724c95508a9c74bed6fa0c98814b96f4cb3a1b540857e2302663" - "0.2.12": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.12.tar.gz" - sha256: "3b1ca412a74c339c01bcbf739542fa69b2391d24c321742098a2d6dfa7402d84" - "0.2.11": - url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.2.11.tar.gz" - sha256: "9ce409a8210ee78ef5b1e60dfb919186ba6a2e928e391e46f0e1d36049e06b1c" diff --git a/recipes/json_dto/all/conanfile.py b/recipes/json_dto/all/conanfile.py index 59d836f777070..df618397bce1c 100644 --- a/recipes/json_dto/all/conanfile.py +++ b/recipes/json_dto/all/conanfile.py @@ -52,6 +52,11 @@ def validate(self): raise ConanInvalidConfiguration( f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + # several gcc doesn't allow "this" in noexcept clauses due to bug. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100752 + if Version(self.version) >= "0.3.2" and \ + self.settings.compiler == "gcc" and \ + (Version(self.settings.compiler.version) < "9.0" or Version(self.settings.compiler.version).major == 11): + raise ConanInvalidConfiguration(f"{self.ref} requires gcc 9, 10 or 12 later") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml index 87de86e844c69..2a02e47e426f0 100644 --- a/recipes/json_dto/config.yml +++ b/recipes/json_dto/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.2": + folder: all "0.3.1": folder: all "0.3.0": @@ -7,9 +9,3 @@ versions: folder: all "0.2.14": folder: all - "0.2.13": - folder: all - "0.2.12": - folder: all - "0.2.11": - folder: all From b848bcb08155a592b018dbe62c5163978763cb04 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 17:20:10 +0200 Subject: [PATCH 0847/1307] (#21509) jemalloc: migrate to Conan v2 * jemalloc: Make the recipe compatible with Conan 2.x. * jemalloc: Add the patch that adds support for Visual Studio 2019 and 2022. * jemalloc: Revise the implementation of `validate()`. * jemalloc: Define the env variable `CC` if jemalloc is compiled by MSVC. * jemalloc: Fix the typo. * jemalloc: Patch `configure.ac` to add the missing description in `AC_DEFINE`, fixing the autoreconf errors. * jemalloc: Add `automake` to the build requirements. * jemalloc: Remove the patch that adds the solution files of MSVC 2019 and 2022. * jemalloc: Do not check whether the math library exists when jemalloc is compiled by MSVC. * jemalloc: Remove deprecated functions that set the arguments for Autotools. * jemalloc: Revise the function that computes the name of the library and use it to initialize `self.cpp_info.libs`. * jemalloc: Add the patch file that adds the missing description in `AC_DEFINE` for v5.3.0. * jemalloc: Remove the function that patches the file `configure.ac`. * jemalloc: Remove deprecated implementation of `package()` and `package_info()`. * jemalloc: Copy MSVC compatible headers to the package folder. * jemalloc: Remove the old implementation of `_library_name()`. * jemalloc: Use the helper `is_msvc()` instead of checking the compiler value manually. * jemalloc: Remove the old implementation of `build()`. * jemalloc: Remove the deprecated function `_msvc_build_type()`. * jemalloc: No need to call `autoreconf`. * jemalloc: Add the missing CXX flags for MSVC. * jemalloc: Support for Apple Silicon Macs is only available as of 5.3.0. * jemalloc: Remove unneeded `_patch_sources()` function. * jemalloc: Fix the linter warnings. * jemalloc: No need to set the configuration arguments `--enable-shared/static` manually. * jemalloc: adjust compiler version checks * jemalloc: convert test_package to C * jemalloc: tidy * jemalloc: fix shared install on MSVC * jemalloc: use tool_requires() Co-authored-by: Jordan Williams --------- Co-authored-by: FireWolf Co-authored-by: Jordan Williams --- recipes/jemalloc/all/conandata.yml | 11 + recipes/jemalloc/all/conanfile.py | 272 ++++++++---------- ...02-add-missing-ac-define-description.patch | 13 + ...03-add-missing-cpp-flags-for-windows.patch | 12 + .../jemalloc/all/test_package/CMakeLists.txt | 12 +- .../jemalloc/all/test_package/conanfile.py | 21 +- .../jemalloc/all/test_package/test_package.c | 19 ++ .../all/test_package/test_package.cpp | 21 -- .../all/test_v1_package/CMakeLists.txt | 8 + .../jemalloc/all/test_v1_package/conanfile.py | 17 ++ 10 files changed, 221 insertions(+), 185 deletions(-) create mode 100644 recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch create mode 100644 recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch create mode 100644 recipes/jemalloc/all/test_package/test_package.c delete mode 100644 recipes/jemalloc/all/test_package/test_package.cpp create mode 100644 recipes/jemalloc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/jemalloc/all/test_v1_package/conanfile.py diff --git a/recipes/jemalloc/all/conandata.yml b/recipes/jemalloc/all/conandata.yml index 01ec764057557..d4bd61a7e3212 100644 --- a/recipes/jemalloc/all/conandata.yml +++ b/recipes/jemalloc/all/conandata.yml @@ -9,3 +9,14 @@ sources: patches: "5.2.1": - patch_file: "patches/0001-clang12-dont-declare-system-functions-as-nothrow.patch" + patch_description: "Remove nothrow from system function declarations on macOS and FreeBSD." + patch_type: "backport" + "5.3.0": + - patch_file: "patches/0002-add-missing-ac-define-description.patch" + patch_description: "Patch configure.ac to add the missing description in AC_DEFINE." + patch_type: "backport" + patch_source: "https://github.com/jemalloc/jemalloc/pull/2396" + - patch_file: "patches/0003-add-missing-cpp-flags-for-windows.patch" + patch_description: "Add the missing compiler flags for MSVC on Windows." + patch_type: "backport" + patch_source: "https://github.com/jemalloc/jemalloc/issues/2283" diff --git a/recipes/jemalloc/all/conanfile.py b/recipes/jemalloc/all/conanfile.py index 03cf37de219b0..7273a9fcaa3fb 100644 --- a/recipes/jemalloc/all/conanfile.py +++ b/recipes/jemalloc/all/conanfile.py @@ -1,28 +1,29 @@ from conan import ConanFile -from conans import AutoToolsBuildEnvironment, MSBuild from conan.errors import ConanInvalidConfiguration -from conan.tools.scm import Version -from conans import tools as tools_legacy -from conan.tools.files import apply_conandata_patches, get, rename, replace_in_file +from conan.tools.env import VirtualBuildEnv +from conan.tools.gnu import Autotools, AutotoolsToolchain from conan.tools.layout import basic_layout +from conan.tools.files import export_conandata_patches, apply_conandata_patches, get, copy, rename, rmdir +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version import os import shutil -import string -required_conan_version = ">=1.51.3" +required_conan_version = ">=1.54.0" + class JemallocConan(ConanFile): name = "jemalloc" description = "jemalloc is a general purpose malloc(3) implementation that emphasizes fragmentation avoidance and scalable concurrency support." url = "https://github.com/conan-io/conan-center-index" license = "BSD-2-Clause" - homepage = "http://jemalloc.net/" + homepage = "https://jemalloc.net/" topics = ("conan", "jemalloc", "malloc", "free") settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], - "prefix": "ANY", + "prefix": ["ANY"], "enable_cxx": [True, False], "enable_fill": [True, False], "enable_xmalloc": [True, False], @@ -49,9 +50,36 @@ class JemallocConan(ConanFile): "enable_libdl": True, "enable_prof": False, } - exports_sources = ["patches/**"] - _autotools = None + @property + def _minimum_compilers_version(self): + return { + "clang": "3.9", + "apple-clang": "8", + # The upstream repository provides solution files for Visual Studio 2015, 2017, 2019 and 2022, + # but the 2015 solution does not work properly due to unresolved external symbols: + # `test_hooks_libc_hook` and `test_hooks_arena_new_hook` + "Visual Studio": "15", + "msvc": "191", + } + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + @property + def _library_name(self): + libname = "jemalloc" + if self.settings.os == "Windows": + if not self.options.shared: + libname += "_s" + else: + if not self.options.shared and self.options.fPIC: + libname += "_pic" + return libname + + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -59,166 +87,108 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") if not self.options.enable_cxx: - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd - - def validate(self): - if self.options.enable_cxx and \ - self.settings.compiler.get_safe("libcxx") == "libc++" and \ - self.settings.compiler == "clang" and \ - Version(self.settings.compiler.version) < "10": - raise ConanInvalidConfiguration("clang and libc++ version {} (< 10) is missing a mutex implementation".format(self.settings.compiler.version)) - if self.settings.compiler == "Visual Studio" and \ - self.options.shared and \ - "MT" in self.settings.compiler.runtime: - raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") - if self.settings.compiler == "Visual Studio" and self.settings.compiler.version != "15": - # https://github.com/jemalloc/jemalloc/issues/1703 - raise ConanInvalidConfiguration("Only Visual Studio 15 2017 is supported. Please fix this if other versions are supported") - if self.settings.build_type not in ("Release", "Debug", None): - raise ConanInvalidConfiguration("Only Release and Debug build_types are supported") - if self.settings.compiler == "Visual Studio" and self.settings.arch not in ("x86_64", "x86"): - raise ConanInvalidConfiguration("Unsupported arch") - if self.settings.compiler == "clang" and Version(self.settings.compiler.version) <= "3.9": - raise ConanInvalidConfiguration("Unsupported compiler version") - if self.settings.os == "Macos" and self.settings.arch not in ("x86_64", "x86"): - raise ConanInvalidConfiguration("Unsupported arch") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") def layout(self): basic_layout(self, src_folder="src") - @property - def _settings_build(self): - return getattr(self, "settings_build", self.settings) - def build_requirements(self): - if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", default=False, check_type=bool): - self.build_requires("msys2/cci.latest") - - def source(self): - get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + self.tool_requires("automake/1.16.5") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") - @property - def _autotools_args(self): - conf_args = [ - "--with-jemalloc-prefix={}".format(self.options.prefix), - "--enable-debug" if self.settings.build_type == "Debug" else "--disable-debug", - "--enable-cxx" if self.options.enable_cxx else "--disable-cxx", - "--enable-fill" if self.options.enable_fill else "--disable-fill", - "--enable-xmalloc" if self.options.enable_cxx else "--disable-xmalloc", - "--enable-readlinkat" if self.options.enable_readlinkat else "--disable-readlinkat", - "--enable-syscall" if self.options.enable_syscall else "--disable-syscall", - "--enable-lazy-lock" if self.options.enable_lazy_lock else "--disable-lazy-lock", - "--enable-log" if self.options.enable_debug_logging else "--disable-log", - "--enable-initial-exec-tls" if self.options.enable_initial_exec_tls else "--disable-initial-exec-tls", - "--enable-libdl" if self.options.enable_libdl else "--disable-libdl", - ] - if self.options.enable_prof: - conf_args.append("--enable-prof") - if self.options.shared: - conf_args.extend(["--enable-shared", "--disable-static"]) - else: - conf_args.extend(["--disable-shared", "--enable-static"]) - return conf_args - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools_legacy.os_info.is_windows) - self._autotools.configure(args=self._autotools_args, configure_dir=self.source_folder) - return self._autotools - - @property - def _msvc_build_type(self): - build_type = str(self.settings.build_type) or "Release" - if not self.options.shared: - build_type += "-static" - return build_type - - def _patch_sources(self): - if self.settings.os == "Windows": - makefile_in = os.path.join(self.source_folder, "Makefile.in") - replace_in_file(self, makefile_in, - "DSO_LDFLAGS = @DSO_LDFLAGS@", - "DSO_LDFLAGS = @DSO_LDFLAGS@ -Wl,--out-implib,lib/libjemalloc.a", strict=False) - replace_in_file(self, makefile_in, - "\t$(INSTALL) -d $(LIBDIR)\n" - "\t$(INSTALL) -m 755 $(objroot)lib/$(LIBJEMALLOC).$(SOREV) $(LIBDIR)", - "\t$(INSTALL) -d $(BINDIR)\n" - "\t$(INSTALL) -d $(LIBDIR)\n" - "\t$(INSTALL) -m 755 $(objroot)lib/$(LIBJEMALLOC).$(SOREV) $(BINDIR)\n" - "\t$(INSTALL) -m 644 $(objroot)lib/libjemalloc.a $(LIBDIR)", strict=False) - - apply_conandata_patches(self) + def validate(self): + minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires {self.settings.compiler} >= {minimum_version}") + # 1. MSVC specific checks + if is_msvc(self): + # Building the shared library with a static MSVC runtime is not supported + if self.options.shared and is_msvc_static_runtime(self): + raise ConanInvalidConfiguration("Building the shared library with MT runtime is not supported.") + # Only x86-64 and x86 are supported + if self.settings.arch not in ["x86_64", "x86"]: + raise ConanInvalidConfiguration(f"{self.settings.arch} is not supported.") + # 2. Clang specific checks + if self.settings.compiler == "clang": + if self.options.enable_cxx and self.settings.compiler.get_safe("libcxx") == "libc++" and \ + Version(self.settings.compiler.version) < "10": + raise ConanInvalidConfiguration("Clang 9 or earlier with libc++ is not supported due to the missing mutex implementation.") + # 3. Verify the build type + if self.settings.build_type not in ("Release", "Debug", None): + raise ConanInvalidConfiguration("Only Release and Debug builds are supported.") + # 4: Apple Silicon specific checks + if self.settings.os == "Macos" and self.settings.arch == "armv8": + if Version(self.version) < "5.3.0": + raise ConanInvalidConfiguration("Support for Apple Silicon is only available as of 5.3.0.") + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + enable_disable = lambda opt, val: f"--enable-{opt}" if val else f"--disable-{opt}" + tc.configure_args.extend([ + f"--with-jemalloc-prefix={self.options.prefix}", + enable_disable("debug", self.settings.build_type == "Debug"), + enable_disable("cxx", self.options.enable_cxx), + enable_disable("fill", self.options.enable_fill), + enable_disable("xmalloc", self.options.enable_cxx), + enable_disable("readlinkat", self.options.enable_readlinkat), + enable_disable("syscall", self.options.enable_syscall), + enable_disable("lazy-lock", self.options.enable_lazy_lock), + enable_disable("log", self.options.enable_debug_logging), + enable_disable("initial-exec-tls", self.options.enable_initial_exec_tls), + enable_disable("libdl", self.options.enable_libdl), + enable_disable("prof", self.options.enable_prof), + ]) + env = tc.environment() + if is_msvc(self): + # Do not check whether the math library exists when compiled by MSVC + # because MSVC treats the function `char log()` as a intrinsic function + # and therefore complains about insufficient arguments passed to the function + tc.configure_args.append("ac_cv_search_log=none required") + env.define("CC", "cl") + env.define("CXX", "cl") + tc.generate(env) def build(self): - self._patch_sources() - if self.settings.compiler == "Visual Studio": - with tools_legacy.vcvars(self.settings) if self.settings.compiler == "Visual Studio" else tools_legacy.no_op(): - with tools_legacy.environment_append({"CC": "cl", "CXX": "cl"}) if self.settings.compiler == "Visual Studio" else tools_legacy.no_op(): - with tools_legacy.chdir(self.source_folder): - # Do not use AutoToolsBuildEnvironment because we want to run configure as ./configure - self.run("./configure {}".format(" ".join(self._autotools_args)), win_bash=tools_legacy.os_info.is_windows) - msbuild = MSBuild(self) - # Do not use the 2015 solution: unresolved external symbols: test_hooks_libc_hook and test_hooks_arena_new_hook - sln_file = os.path.join(self.source_folder, "msvc", "jemalloc_vc2017.sln") - msbuild.build(sln_file, targets=["jemalloc"], build_type=self._msvc_build_type) - else: - autotools = self._configure_autotools() - autotools.make() - - @property - def _library_name(self): - libname = "jemalloc" - if self.settings.compiler == "Visual Studio": - if self.options.shared: - if self.settings.build_type == "Debug": - libname += "d" - else: - toolset = tools_legacy.msvs_toolset(self.settings) - toolset_number = "".join(c for c in toolset if c in string.digits) - libname += "-vc{}-{}".format(toolset_number, self._msvc_build_type) - else: - if self.settings.os == "Windows": - if not self.options.shared: - libname += "_s" - else: - if not self.options.shared and self.options.fPIC: - libname += "_pic" - return libname + apply_conandata_patches(self) + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy(pattern="COPYING", src=self.source_folder, dst="licenses") - if self.settings.compiler == "Visual Studio": - arch_subdir = { - "x86_64": "x64", - "x86": "x86", - }[str(self.settings.arch)] - self.copy("*.lib", src=os.path.join(self.source_folder, "msvc", arch_subdir, self._msvc_build_type), dst=os.path.join(self.package_folder, "lib")) - self.copy("*.dll", src=os.path.join(self.source_folder, "msvc", arch_subdir, self._msvc_build_type), dst=os.path.join(self.package_folder, "bin")) - self.copy("jemalloc.h", src=os.path.join(self.source_folder, "include", "jemalloc"), dst=os.path.join(self.package_folder, "include", "jemalloc"), keep_path=True) + copy(self, pattern="COPYING*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install(target="install_lib_shared" if self.options.shared else "install_lib_static") + autotools.install(target="install_include") + if self.settings.os == "Windows" and self.settings.compiler == "gcc": + rename(self, os.path.join(self.package_folder, "lib", f"{self._library_name}.lib"), + os.path.join(self.package_folder, "lib", f"lib{self._library_name}.a")) + if not self.options.shared: + os.unlink(os.path.join(self.package_folder, "lib", "jemalloc.lib")) + if is_msvc(self): shutil.copytree(os.path.join(self.source_folder, "include", "msvc_compat"), os.path.join(self.package_folder, "include", "msvc_compat")) - else: - autotools = self._configure_autotools() - # Use install_lib_XXX and install_include to avoid mixing binaries and dll's - autotools.make(target="install_lib_shared" if self.options.shared else "install_lib_static") - autotools.make(target="install_include") - if self.settings.os == "Windows" and self.settings.compiler == "gcc": - rename(self, os.path.join(self.package_folder, "lib", "{}.lib".format(self._library_name)), - os.path.join(self.package_folder, "lib", "lib{}.a".format(self._library_name))) - if not self.options.shared: - os.unlink(os.path.join(self.package_folder, "lib", "jemalloc.lib")) + if self.options.shared: + rmdir(self, os.path.join(self.package_folder, "lib")) + copy(self, "*.lib", os.path.join(self.build_folder, "lib"), os.path.join(self.package_folder, "lib")) + copy(self, "*.dll", os.path.join(self.build_folder, "lib"), os.path.join(self.package_folder, "bin")) def package_info(self): - self.cpp_info.names["pkg_config"] = "jemalloc" + self.cpp_info.set_property("pkg_config_name", "jemalloc") self.cpp_info.libs = [self._library_name] self.cpp_info.includedirs = [os.path.join(self.package_folder, "include"), os.path.join(self.package_folder, "include", "jemalloc")] - if self.settings.compiler == "Visual Studio": + if is_msvc(self): self.cpp_info.includedirs.append(os.path.join(self.package_folder, "include", "msvc_compat")) if not self.options.shared: self.cpp_info.defines = ["JEMALLOC_EXPORT="] diff --git a/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch b/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch new file mode 100644 index 0000000000000..7799dfb9e80e3 --- /dev/null +++ b/recipes/jemalloc/all/patches/0002-add-missing-ac-define-description.patch @@ -0,0 +1,13 @@ +diff --git a/configure.ac b/configure.ac +index f6d25f334..3115504e2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1592,7 +1592,7 @@ fi + [enable_uaf_detection="0"] + ) + if test "x$enable_uaf_detection" = "x1" ; then +- AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ]) ++ AC_DEFINE([JEMALLOC_UAF_DETECTION], [ ], ["enable UAF"]) + fi + AC_SUBST([enable_uaf_detection]) + diff --git a/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch b/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch new file mode 100644 index 0000000000000..6e6e2d1403fb2 --- /dev/null +++ b/recipes/jemalloc/all/patches/0003-add-missing-cpp-flags-for-windows.patch @@ -0,0 +1,12 @@ +diff --git a/configure.ac b/configure.ac +index 3115504e2..ffb504b08 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -749,6 +749,7 @@ case "${host}" in + so="dll" + if test "x$je_cv_msvc" = "xyes" ; then + importlib="lib" ++ JE_APPEND_VS(CPPFLAGS, -DJEMALLOC_NO_PRIVATE_NAMESPACE) + DSO_LDFLAGS="-LD" + EXTRA_LDFLAGS="-link -DEBUG" + CTARGET='-Fo$@' diff --git a/recipes/jemalloc/all/test_package/CMakeLists.txt b/recipes/jemalloc/all/test_package/CMakeLists.txt index 0cc486467b601..718824817866d 100644 --- a/recipes/jemalloc/all/test_package/CMakeLists.txt +++ b/recipes/jemalloc/all/test_package/CMakeLists.txt @@ -1,9 +1,7 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package LANGUAGES CXX) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(jemalloc REQUIRED CONFIG) -add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) -set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY CXX_STANDARD 11) +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE jemalloc::jemalloc) diff --git a/recipes/jemalloc/all/test_package/conanfile.py b/recipes/jemalloc/all/test_package/conanfile.py index d4128b0450777..d60b533632ddd 100644 --- a/recipes/jemalloc/all/test_package/conanfile.py +++ b/recipes/jemalloc/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout import os class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/jemalloc/all/test_package/test_package.c b/recipes/jemalloc/all/test_package/test_package.c new file mode 100644 index 0000000000000..cf16dc2c9e11e --- /dev/null +++ b/recipes/jemalloc/all/test_package/test_package.c @@ -0,0 +1,19 @@ +#include + +#include + +void do_something(size_t i) { + // Leak some memory. + malloc(i * 100); +} + +int main() { + for (size_t i = 0; i < 1000; i++) { + do_something(i); + } + + // Dump allocator statistics to stderr. + malloc_stats_print(NULL, NULL, NULL); + + return 0; +} diff --git a/recipes/jemalloc/all/test_package/test_package.cpp b/recipes/jemalloc/all/test_package/test_package.cpp deleted file mode 100644 index 5d19fec4f824a..0000000000000 --- a/recipes/jemalloc/all/test_package/test_package.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include - -#include - -void -do_something(size_t i) { - // Leak some memory. - malloc(i * 100); -} - -int -main(int argc, char **argv) { - for (size_t i = 0; i < 1000; i++) { - do_something(i); - } - - // Dump allocator statistics to stderr. - malloc_stats_print(NULL, NULL, NULL); - - return 0; -} diff --git a/recipes/jemalloc/all/test_v1_package/CMakeLists.txt b/recipes/jemalloc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/jemalloc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/jemalloc/all/test_v1_package/conanfile.py b/recipes/jemalloc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..49a3a66ea5bad --- /dev/null +++ b/recipes/jemalloc/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From 90fe0a6fcab23168fb818488acfa0a1e76558eec Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:09:32 +0200 Subject: [PATCH 0848/1307] (#18602) gnulib: migrate to Conan v2 * gnulib: migrate to Conan v2 * gnulib: add version 20230717 * gnulib: disable Windows builds for Conan 2 for now * gnulib: set public domain license correctly * gnulib: use build-aux/ar-lib, use tool_requires * gnulib: fix MSVC build * gnulib: drop 20200224, add latest version * gnulib: update version * gnulib: set GNULIB_SRCDIR buildenv var * gnulib: add v20230218 for libtasn1 --- recipes/gnulib/all/conandata.yml | 9 +- recipes/gnulib/all/conanfile.py | 54 +++++----- recipes/gnulib/all/test_package/conanfile.py | 100 ++++++++++-------- .../gnulib/all/test_v1_package/conanfile.py | 61 +++++++++++ recipes/gnulib/config.yml | 4 +- 5 files changed, 150 insertions(+), 78 deletions(-) create mode 100644 recipes/gnulib/all/test_v1_package/conanfile.py diff --git a/recipes/gnulib/all/conandata.yml b/recipes/gnulib/all/conandata.yml index 5a178c6fd8562..f0a11d9e7bc47 100644 --- a/recipes/gnulib/all/conandata.yml +++ b/recipes/gnulib/all/conandata.yml @@ -1,4 +1,7 @@ sources: - "20200224": - url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=d279bc6d9f9323e19ad8c32b6d12ff96dfb0f5ba;sf=tgz" - sha256: "171142863dd860b3a5babc0f6172048313cf9d98d00a289be9c154bf015ac68d" + "20231231": + url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=4f6545e79c4a7cd7feb2c8f23f1d5167e7165907;sf=tgz" + sha256: "8b95e1ac4dc3a925dd282031445f544f332cdb0b0df2f0b97f5675b7ec42acff" + "20230218": + url: "http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=snapshot;h=bb3fd10;sf=tgz" + sha256: "e94cb8a4f85439e3b6509f22bd8a132bbf0cc0f22996c67cdc0c7329142b6498" diff --git a/recipes/gnulib/all/conanfile.py b/recipes/gnulib/all/conanfile.py index 8f85099afedec..ad906d69a08cb 100644 --- a/recipes/gnulib/all/conanfile.py +++ b/recipes/gnulib/all/conanfile.py @@ -1,51 +1,49 @@ -from conans import ConanFile, tools import os -import shutil -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class GnuLibConanFile(ConanFile): name = "gnulib" description = "Gnulib is a central location for common GNU code, intended to be shared among GNU packages." - homepage = "https://www.gnu.org/software/gnulib/" + license = ("GPL-3.0-or-later", "LGPL-3.0-or-later", "Public-domain") url = "https://github.com/conan-io/conan-center-index" - topics = ("gnulib", "library", "gnu") - license = ("GPL-3.0-or-later", "LGPL-3.0-or-later", "Unlicense") + homepage = "https://www.gnu.org/software/gnulib/" + topics = ("library", "gnu") + package_type = "build-scripts" + settings = "os", "arch", "compiler", "build_type" no_copy_source = True - _source_subfolder = "source_subfolder" + def layout(self): + basic_layout(self, src_folder="src") def package_id(self): - self.info.header_only() + self.info.clear() def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True, filename="gnulib.tar.gz") + get(self, **self.conan_data["sources"][self.version], strip_root=True, filename="gnulib.tar.gz") def package(self): - self.copy("COPYING", src=self._source_subfolder, dst="licenses") - - # The following line did not work, so do it the long way... - # shutil.copy(os.path.join(self.source_folder, self._source_subfolder), os.path.join(self.package_folder, "bin")) - - gnulib_dir = os.path.join(self.source_folder, self._source_subfolder) - for root, _, files in os.walk(gnulib_dir): - relpath = os.path.relpath(root, gnulib_dir) - dstdir = os.path.join(self.package_folder, "bin", relpath) - try: - os.makedirs(dstdir) - except FileExistsError: - pass - for file in files: - src = os.path.join(root, file) - dst = os.path.join(dstdir, file) - shutil.copy(src, dst) + copy(self, "COPYING", + src=self.source_folder, + dst=os.path.join(self.package_folder, "licenses")) + copy(self, "*", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder) def package_info(self): + self.cpp_info.includedirs = [] self.cpp_info.libdirs = [] + # Set GNULIB_SRCDIR for the standard ./bootstrap script from build-aux + # https://github.com/digitalocean/gnulib/blob/master/build-aux/bootstrap#L58-L62 + self.buildenv_info.define_path("GNULIB_SRCDIR", os.path.join(self.package_folder, "bin")) + + # TODO: Legacy, to be removed on Conan 2.0 binpath = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH environment var: {}".format(binpath)) self.env_info.PATH.append(binpath) diff --git a/recipes/gnulib/all/test_package/conanfile.py b/recipes/gnulib/all/test_package/conanfile.py index 39d8fd2e49aac..09e7f8d503e60 100644 --- a/recipes/gnulib/all/test_package/conanfile.py +++ b/recipes/gnulib/all/test_package/conanfile.py @@ -1,60 +1,68 @@ -from conans import ConanFile, tools, AutoToolsBuildEnvironment -import contextlib import os -import shutil + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout +from conan.tools.env import Environment, VirtualBuildEnv +from conan.tools.files import copy, save, chdir +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.microsoft import is_msvc, unix_path class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - exports_sources = "configure.ac", "Makefile.am", "test_package.c" + settings = "os", "arch", "compiler", "build_type" + test_type = "explicit" + win_bash = True # Needed in Conan v1 to avoid "Cannot wrap command with different envs." @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - self.build_requires("automake/1.16.4") - - @contextlib.contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self): - env = { - "AR": "{} lib".format(tools.unix_path(os.path.join(self.build_folder, "build-aux", "ar-lib"))), - "CC": "cl -nologo", - "CXX": "cl -nologo", - "LD": "link -nologo", - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield + self.tool_requires(self.tested_reference_str) + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + self.tool_requires("automake/1.16.5") + self.tool_requires("libtool/2.4.7") + + def layout(self): + cmake_layout(self) + + def generate(self): + env = VirtualBuildEnv(self) + env.generate() + tc = AutotoolsToolchain(self) + tc.generate() + + if is_msvc(self): + env = Environment() + automake_conf = self.dependencies.build["automake"].conf_info + compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str)) + env.define("CC", f"{compile_wrapper} cl -nologo") + env.define("LD", "link -nologo") + # ar-lib wrapper is added automatically by ./configure, no need to set AR + env.vars(self).save_script("conanbuild_msvc") def build(self): - for src in self.exports_sources: - shutil.copy(os.path.join(self.source_folder, src), dst=os.path.join(self.build_folder, src)) - with tools.chdir(self.build_folder): - for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): - tools.save(fn, "\n") - with tools.run_environment(self): - self.run("gnulib-tool --list", win_bash=tools.os_info.is_windows, run_environment=True) - self.run("gnulib-tool --import getopt-posix", win_bash=tools.os_info.is_windows, run_environment=True) - # m4 built with Visual Studio does not support executing *nix utils (e.g. `test`) - with tools.environment_append({"M4":None}) if self.settings.os == "Windows" else tools.no_op(): - self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows, run_environment=True) - - with self._build_context(): - autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - autotools.configure() - autotools.make() + for src in ["configure.ac", "Makefile.am", "test_package.c"]: + copy(self, src, src=self.source_folder, dst=self.build_folder) + for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): + save(self, os.path.join(self.build_folder, fn), "\n") + self.run("gnulib-tool --list") + self.run("gnulib-tool --import getopt-posix", env="conanbuild") + with chdir(self, self.build_folder): + autotools = Autotools(self) + if self._settings_build.os == "Windows": + # Disable m4 from Conan, which is not able to run shell commands with syscmd() + os.environ["M4"] = "" + # autotools.autoreconf() does not have build_script_folder param in Conan v1, so using .run() + self.run("autoreconf -fiv") + autotools.configure(self.build_folder) + autotools.make() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join(".", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = unix_path(self, os.path.join(self.build_folder, "test_package")) + self.run(bin_path, env="conanrun") diff --git a/recipes/gnulib/all/test_v1_package/conanfile.py b/recipes/gnulib/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..33375b9245e7b --- /dev/null +++ b/recipes/gnulib/all/test_v1_package/conanfile.py @@ -0,0 +1,61 @@ +from conans import ConanFile, tools, AutoToolsBuildEnvironment +import contextlib +import os +import shutil + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + exports_sources = "configure.ac", "Makefile.am", "test_package.c" + + @property + def _settings_build(self): + return getattr(self, "settings_build", self.settings) + + def build_requirements(self): + if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): + self.build_requires("msys2/cci.latest") + self.build_requires("automake/1.16.4") + + @contextlib.contextmanager + def _build_context(self): + if self.settings.compiler == "Visual Studio": + with tools.vcvars(self): + env = { + "AR": "{} lib".format(tools.unix_path(os.path.join(self.build_folder, "build-aux", "ar-lib"))), + "CC": "cl -nologo", + "CXX": "cl -nologo", + "LD": "link -nologo", + "NM": "dumpbin -symbols", + "OBJDUMP": ":", + "RANLIB": ":", + "STRIP": ":", + } + with tools.environment_append(env): + yield + else: + yield + + def build(self): + source_folder = os.path.join(self.source_folder, "..", "test_package") + for src in self.exports_sources: + shutil.copy(os.path.join(source_folder, src), dst=os.path.join(self.build_folder, src)) + with tools.chdir(self.build_folder): + for fn in ("COPYING", "NEWS", "INSTALL", "README", "AUTHORS", "ChangeLog"): + tools.save(fn, "\n") + with tools.run_environment(self): + self.run("gnulib-tool --list", win_bash=tools.os_info.is_windows, run_environment=True) + self.run("gnulib-tool --import getopt-posix", win_bash=tools.os_info.is_windows, run_environment=True) + # m4 built with Visual Studio does not support executing *nix utils (e.g. `test`) + with tools.environment_append({"M4":None}) if self.settings.os == "Windows" else tools.no_op(): + self.run("{} -fiv".format(os.environ["AUTORECONF"]), win_bash=tools.os_info.is_windows, run_environment=True) + + with self._build_context(): + autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) + autotools.configure() + autotools.make() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join(".", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/gnulib/config.yml b/recipes/gnulib/config.yml index 3f6aba5ec0fcc..ee83643c5044f 100644 --- a/recipes/gnulib/config.yml +++ b/recipes/gnulib/config.yml @@ -1,3 +1,5 @@ versions: - "20200224": + "20231231": + folder: all + "20230218": folder: all From fcd28b1a3c5083e1caf8fbd29831837ed343fbea Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:38:37 +0200 Subject: [PATCH 0849/1307] (#18797) flatcc: migrate to Conan v2 * flatcc: migrate to Conan v2 * flatcc: make test_package test() more robust * flatcc: fix test_package * flatcc: fix shared library access during test build * flatcc: fix_apple_shared_install_name() * flatcc: correct required_conan_version * flatcc: don't print PATH * flatcc: disable cross-building if flatcc_cli cannot be run during the build * flatcc: add macOS workaround * flatcc: skip macOS shared test on Conan v1 --- recipes/flatcc/all/CMakeLists.txt | 7 - recipes/flatcc/all/conanfile.py | 149 +++++++++--------- .../flatcc/all/test_package/CMakeLists.txt | 29 ++-- recipes/flatcc/all/test_package/conanfile.py | 63 +++++--- .../flatcc/all/test_v1_package/CMakeLists.txt | 8 + .../flatcc/all/test_v1_package/conanfile.py | 40 +++++ 6 files changed, 172 insertions(+), 124 deletions(-) delete mode 100644 recipes/flatcc/all/CMakeLists.txt create mode 100644 recipes/flatcc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/flatcc/all/test_v1_package/conanfile.py diff --git a/recipes/flatcc/all/CMakeLists.txt b/recipes/flatcc/all/CMakeLists.txt deleted file mode 100644 index 07ec7f05275cb..0000000000000 --- a/recipes/flatcc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/flatcc/all/conanfile.py b/recipes/flatcc/all/conanfile.py index 09f5cab415518..8509d971bbcd8 100644 --- a/recipes/flatcc/all/conanfile.py +++ b/recipes/flatcc/all/conanfile.py @@ -1,52 +1,53 @@ -from conans import CMake, ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os -import functools -required_conan_version = ">=1.33.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import fix_apple_shared_install_name +from conan.tools.build import cross_building, can_run +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + class FlatccConan(ConanFile): name = "flatcc" description = "C language binding for Flatbuffers, an efficient cross platform serialization library" license = "Apache-2.0" - topics = ("flatbuffers", "serialization") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/dvidelabs/flatcc" + topics = ("flatbuffers", "serialization") + + package_type = "library" settings = "os", "arch", "compiler", "build_type" - options = { "shared": [True, False], - "fPIC": [True, False], - "portable": [True, False], - "gnu_posix_memalign": [True, False], - "runtime_lib_only": [True, False], - "verify_assert": [True, False], - "verify_trace": [True, False], - "reflection": [True, False], - "native_optim": [True, False], - "fast_double": [True, False], - "ignore_const_condition": [True, False], + options = { + "shared": [True, False], + "fPIC": [True, False], + "portable": [True, False], + "gnu_posix_memalign": [True, False], + "runtime_lib_only": [True, False], + "verify_assert": [True, False], + "verify_trace": [True, False], + "reflection": [True, False], + "native_optim": [True, False], + "fast_double": [True, False], + "ignore_const_condition": [True, False], } - default_options = { "shared": False, - "fPIC": True, - "portable": False, - "gnu_posix_memalign": True, - "runtime_lib_only": False, - "verify_assert": False, - "verify_trace": False, - "reflection": True, - "native_optim": False, - "fast_double": False, - "ignore_const_condition": False + default_options = { + "shared": False, + "fPIC": True, + "portable": False, + "gnu_posix_memalign": True, + "runtime_lib_only": False, + "verify_assert": False, + "verify_trace": False, + "reflection": True, + "native_optim": False, + "fast_double": False, + "ignore_const_condition": False, } - generators = "cmake" - exports_sources = ["CMakeLists.txt"] - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" def config_options(self): if self.settings.os == "Windows": @@ -54,58 +55,62 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os == "Windows": - if self.settings.compiler == "Visual Studio" and self.options.shared: - #Building flatcc shared libs with Visual Studio is broken + if is_msvc(self) and self.options.shared: + # Building flatcc shared libs with Visual Studio is broken raise ConanInvalidConfiguration("Building flatcc libraries shared is not supported") - if tools.Version(self.version) == "0.6.0" and self.settings.compiler == "gcc": + if Version(self.version) == "0.6.0" and self.settings.compiler == "gcc": raise ConanInvalidConfiguration("Building flatcc with MinGW is not supported") + if cross_building(self) and not can_run(self): + raise ConanInvalidConfiguration(f"Cross-building for a non-native architecture ({self.settings.arch}) is not supported") def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - cmake.definitions["FLATCC_PORTABLE"] = self.options.portable - cmake.definitions["FLATCC_GNU_POSIX_MEMALIGN"] = self.options.gnu_posix_memalign - cmake.definitions["FLATCC_RTONLY"] = self.options.runtime_lib_only - cmake.definitions["FLATCC_INSTALL"] = True - cmake.definitions["FLATCC_COVERAGE"] = False - cmake.definitions["FLATCC_DEBUG_VERIFY"] = self.options.verify_assert - cmake.definitions["FLATCC_TRACE_VERIFY"] = self.options.verify_trace - cmake.definitions["FLATCC_REFLECTION"] = self.options.reflection - cmake.definitions["FLATCC_NATIVE_OPTIM"] = self.options.native_optim - cmake.definitions["FLATCC_FAST_DOUBLE"] = self.options.fast_double - cmake.definitions["FLATCC_IGNORE_CONST_COND"] = self.options.ignore_const_condition - cmake.definitions["FLATCC_TEST"] = False - cmake.definitions["FLATCC_ALLOW_WERROR"] = False - cmake.configure(build_folder=self._build_subfolder) - return cmake + def generate(self): + tc = CMakeToolchain(self) + tc.variables["FLATCC_PORTABLE"] = self.options.portable + tc.variables["FLATCC_GNU_POSIX_MEMALIGN"] = self.options.gnu_posix_memalign + tc.variables["FLATCC_RTONLY"] = self.options.runtime_lib_only + tc.variables["FLATCC_INSTALL"] = True + tc.variables["FLATCC_COVERAGE"] = False + tc.variables["FLATCC_DEBUG_VERIFY"] = self.options.verify_assert + tc.variables["FLATCC_TRACE_VERIFY"] = self.options.verify_trace + tc.variables["FLATCC_REFLECTION"] = self.options.reflection + tc.variables["FLATCC_NATIVE_OPTIM"] = self.options.native_optim + tc.variables["FLATCC_FAST_DOUBLE"] = self.options.fast_double + tc.variables["FLATCC_IGNORE_CONST_COND"] = self.options.ignore_const_condition + tc.variables["FLATCC_TEST"] = False + tc.variables["FLATCC_ALLOW_WERROR"] = False + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() - if self.settings.build_type == "Debug" and not tools.os_info.is_windows: + if self.settings.build_type == "Debug" and not self.settings.os == "Windows": debug_suffix = "_d" if self.settings.build_type == "Debug" else "" - os.rename(os.path.join(self.package_folder, "bin", "flatcc%s" % debug_suffix), + os.rename(os.path.join(self.package_folder, "bin", f"flatcc{debug_suffix}"), os.path.join(self.package_folder, "bin", "flatcc")) - # Copy license file - self.copy("LICENSE", dst="licenses", src=self._source_subfolder) + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + fix_apple_shared_install_name(self) def package_info(self): - bin_path = os.path.join(self.package_folder, "bin") - self.output.info('Appending PATH environment variable: %s' % bin_path) - self.env_info.PATH.append(bin_path) debug_suffix = "_d" if self.settings.build_type == "Debug" else "" if not self.options.runtime_lib_only: - self.cpp_info.libs.append("flatcc%s" % debug_suffix) - self.cpp_info.libs.append("flatccrt%s" % debug_suffix) + self.cpp_info.libs.append(f"flatcc{debug_suffix}") + self.cpp_info.libs.append(f"flatccrt{debug_suffix}") + + # TODO: to remove in conan v2 + bin_path = os.path.join(self.package_folder, "bin") + self.env_info.PATH.append(bin_path) diff --git a/recipes/flatcc/all/test_package/CMakeLists.txt b/recipes/flatcc/all/test_package/CMakeLists.txt index 3a1e3c2e0ae88..30545f8db3c32 100644 --- a/recipes/flatcc/all/test_package/CMakeLists.txt +++ b/recipes/flatcc/all/test_package/CMakeLists.txt @@ -1,8 +1,5 @@ -cmake_minimum_required(VERSION 3.1) -project(flatcc_example) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(flatcc_example LANGUAGES C) find_package(flatcc REQUIRED CONFIG) @@ -14,20 +11,14 @@ include_directories("${GEN_DIR}" "${INC_DIR}") add_executable(monster monster.c) -#On MacOS System Integrity Protection (SIP) will clear the DYLD_LIBRARY_PATH variable. -#As a result calling flatcc from cmake will currently not work if the flatcc executable -# is linked shared. As a workaround we generate the flatbuffer C files in the Conan recipe -# when on MacOS and flatcc option 'shared' is True. -if (NOT MACOS_SIP_WORKAROUND) - add_custom_target(gen_monster_fbs ALL) - add_custom_command ( - TARGET gen_monster_fbs - COMMAND cmake -E make_directory "${GEN_DIR}" - COMMAND flatcc -a -o "${GEN_DIR}" "${FBS_DIR}/monster.fbs" - DEPENDS flatcc "${FBS_DIR}/monster.fbs" - ) +add_custom_target(gen_monster_fbs ALL) +add_custom_command ( + TARGET gen_monster_fbs + COMMAND cmake -E make_directory "${GEN_DIR}" + COMMAND flatcc -a -o "${GEN_DIR}" "${FBS_DIR}/monster.fbs" + DEPENDS flatcc "${FBS_DIR}/monster.fbs" +) - add_dependencies(monster gen_monster_fbs) -endif() +add_dependencies(monster gen_monster_fbs) target_link_libraries(monster flatcc::flatcc) diff --git a/recipes/flatcc/all/test_package/conanfile.py b/recipes/flatcc/all/test_package/conanfile.py index 35aa66924f6ab..862b0fa5fd360 100644 --- a/recipes/flatcc/all/test_package/conanfile.py +++ b/recipes/flatcc/all/test_package/conanfile.py @@ -1,35 +1,46 @@ -import os.path +import os -from conans import ConanFile, CMake, tools, RunEnvironment -from conans.errors import ConanException +from conan import ConanFile, conan_version +from conan.tools.apple import is_apple_os +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.env import VirtualRunEnv -class FlatccTestConan(ConanFile): +class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + @property + def _skip_shared_macos(self): + return conan_version.major == 1 and self.options["flatcc"].shared and is_apple_os(self) + + def generate(self): + VirtualRunEnv(self).generate(scope="build") + VirtualRunEnv(self).generate(scope="run") + def build(self): - if tools.cross_building(self): + if self._skip_shared_macos: return - - env_build = RunEnvironment(self) - with tools.environment_append(env_build.vars): - cmake = CMake(self) - if tools.os_info.is_macos and self.options["flatcc"].shared: - # Because of MacOS System Integraty Protection it is currently not possible to run the flatcc - # executable from cmake if it is linked shared. As a temporary work-around run flatcc here in - # the build function. - tools.mkdir(os.path.join(self.build_folder, "generated")) - self.run("flatcc -a -o " + os.path.join(self.build_folder, "generated") + " " + os.path.join(self.source_folder, "monster.fbs"), run_environment=True) - cmake.definitions["MACOS_SIP_WORKAROUND"] = True - cmake.configure() - cmake.build() + cmake = CMake(self) + cmake.configure() + cmake.build() def test(self): - if tools.cross_building(self): - bin_path = os.path.join(self.deps_cpp_info["flatcc"].rootpath, "bin", "flatcc") - if not os.path.isfile(bin_path) or not os.access(bin_path, os.X_OK): - raise ConanException("flatcc doesn't exist.") - else: - bin_path = os.path.join(self.build_folder, "bin", "monster") - self.run(bin_path, cwd=self.source_folder, run_environment=True) + if self._skip_shared_macos: + return + if can_run(self): + self.run("flatcc --version") + bin_path = os.path.join(self.cpp.build.bindir, "monster") + self.run(bin_path, env="conanrun") diff --git a/recipes/flatcc/all/test_v1_package/CMakeLists.txt b/recipes/flatcc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/flatcc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/flatcc/all/test_v1_package/conanfile.py b/recipes/flatcc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..397faab87a163 --- /dev/null +++ b/recipes/flatcc/all/test_v1_package/conanfile.py @@ -0,0 +1,40 @@ +import os.path + +from conans import ConanFile, CMake, tools, RunEnvironment +from conans.errors import ConanException + + +class FlatccTestConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + @property + def _skip_shared_macos(self): + # Because of MacOS System Integraty Protection it is currently not possible to run the flatcc + # executable from cmake if it is linked shared. As a temporary work-around run flatcc here in + # the build function. + return self.options["flatcc"].shared and tools.os_info.is_macos + + def build(self): + if tools.cross_building(self): + return + + if self._skip_shared_macos: + return + + env_build = RunEnvironment(self) + with tools.environment_append(env_build.vars): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if self._skip_shared_macos: + return + if tools.cross_building(self): + bin_path = os.path.join(self.deps_cpp_info["flatcc"].rootpath, "bin", "flatcc") + if not os.path.isfile(bin_path) or not os.access(bin_path, os.X_OK): + raise ConanException("flatcc doesn't exist.") + else: + bin_path = os.path.join(self.build_folder, "bin", "monster") + self.run(bin_path, cwd=self.source_folder, run_environment=True) From 99d6654f4fefd69875f0a2e3d1b1aa3074faf730 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 15 Jan 2024 19:54:19 +0200 Subject: [PATCH 0850/1307] (#18982) depot_tools: migrate to Conan v2 * depot_tools: migrate to Conan v2 * depot_tools: add short_paths = True * depot_tools: self.info.clear(), add layout to test_package --- recipes/depot_tools/all/conandata.yml | 1 - recipes/depot_tools/all/conanfile.py | 114 ++++++++++-------- .../depot_tools/all/test_package/conanfile.py | 15 ++- .../all/test_v1_package/conanfile.py | 7 ++ 4 files changed, 84 insertions(+), 53 deletions(-) create mode 100644 recipes/depot_tools/all/test_v1_package/conanfile.py diff --git a/recipes/depot_tools/all/conandata.yml b/recipes/depot_tools/all/conandata.yml index 76dffe6ab4ef4..ab4c55cfe78ae 100644 --- a/recipes/depot_tools/all/conandata.yml +++ b/recipes/depot_tools/all/conandata.yml @@ -6,4 +6,3 @@ sources: patches: "cci.20201009": - patch_file: "patches/001-use-system-python.patch" - base_path: "source_subfolder" diff --git a/recipes/depot_tools/all/conanfile.py b/recipes/depot_tools/all/conanfile.py index 45bfe37d78533..a56140f75a3c9 100644 --- a/recipes/depot_tools/all/conanfile.py +++ b/recipes/depot_tools/all/conanfile.py @@ -1,24 +1,33 @@ import os import shutil -from conans import ConanFile, tools + +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get +from conan.tools.layout import basic_layout + +required_conan_version = ">=1.52.0" class DepotToolsConan(ConanFile): name = "depot_tools" - url = "https://github.com/conan-io/conan-center-index" - homepage = "https://chromium.googlesource.com/chromium/tools/depot_tools" description = "Tools for working with Chromium development." - topics = ("depot_tools", "chromium") license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://chromium.googlesource.com/chromium/tools/depot_tools" + topics = ("chromium", "pre-built") + + package_type = "application" + settings = "os", "arch", "compiler", "build_type" short_paths = True - no_copy_source = True - settings = "os", "arch", "build_type", "compiler" - exports_sources = ["patches/**"] + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + basic_layout(self, src_folder="src") - @property - def _source_subfolder(self): - return os.path.join(self.source_folder, "source_subfolder") + def package_id(self): + self.info.clear() def _dereference_symlinks(self): """ @@ -30,7 +39,7 @@ def _dereference_symlinks(self): if self.settings.os != "Windows": return - for root, dirs, files in os.walk(self._source_subfolder): + for root, dirs, files in os.walk(self.source_folder): symlinks = [os.path.join(root, f) for f in files if os.path.islink(os.path.join(root, f))] for symlink in symlinks: dest = os.readlink(symlink) @@ -38,55 +47,60 @@ def _dereference_symlinks(self): shutil.copy(os.path.join(root, dest), symlink, follow_symlinks=False) self.output.info("Replaced symlink '%s' with its destination file '%s'" % (symlink, dest)) - def source(self): - tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder) + def build(self): + get(self, **self.conan_data["sources"][self.version], destination=self.source_folder) self._dereference_symlinks() - - for patch in self.conan_data.get("patches", {}).get(self.version, []): - tools.patch(**patch) - - def package(self): - self.copy(pattern="LICENSE", dst="licenses", src=self._source_subfolder) - self.copy(pattern="*", dst="bin", src=self._source_subfolder) - self._fix_permissions() + apply_conandata_patches(self) def _fix_permissions(self): + if self.settings.os == "Windows": + return def chmod_plus_x(name): os.chmod(name, os.stat(name).st_mode | 0o111) - if self.settings.os != "Windows": - for root, _, files in os.walk(self.package_folder): - for file_it in files: - filename = os.path.join(root, file_it) - with open(filename, 'rb') as f: - sig = f.read(4) - if type(sig) is str: - sig = [ord(s) for s in sig] - if len(sig) >= 2 and sig[0] == 0x23 and sig[1] == 0x21: - self.output.info('chmod on script file %s' % file_it) - chmod_plus_x(filename) - elif sig == [0x7F, 0x45, 0x4C, 0x46]: - self.output.info('chmod on ELF file %s' % file_it) - chmod_plus_x(filename) - elif \ - sig == [0xCA, 0xFE, 0xBA, 0xBE] or \ - sig == [0xBE, 0xBA, 0xFE, 0xCA] or \ - sig == [0xFE, 0xED, 0xFA, 0xCF] or \ - sig == [0xCF, 0xFA, 0xED, 0xFE] or \ - sig == [0xFE, 0xED, 0xFA, 0xCE] or \ - sig == [0xCE, 0xFA, 0xED, 0xFE]: - self.output.info('chmod on Mach-O file %s' % file_it) - chmod_plus_x(filename) + for root, _, files in os.walk(self.package_folder): + for file_it in files: + filename = os.path.join(root, file_it) + with open(filename, "rb") as f: + sig = tuple(f.read(4)) + if len(sig) >= 2 and sig[0] == 0x23 and sig[1] == 0x21: + self.output.info(f"chmod on script file {file_it}") + chmod_plus_x(filename) + elif sig == (0x7F, 0x45, 0x4C, 0x46): + self.output.info(f"chmod on ELF file {file_it}") + chmod_plus_x(filename) + elif sig in [ + (0xCA, 0xFE, 0xBA, 0xBE), + (0xBE, 0xBA, 0xFE, 0xCA), + (0xFE, 0xED, 0xFA, 0xCF), + (0xCF, 0xFA, 0xED, 0xFE), + (0xFE, 0xED, 0xFA, 0xCE), + (0xCE, 0xFA, 0xED, 0xFE), + ]: + self.output.info(f"chmod on Mach-O file {file_it}") + chmod_plus_x(filename) - def package_id(self): - del self.info.settings.arch - del self.info.settings.build_type - del self.info.settings.compiler + def package(self): + copy(self, "LICENSE", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*", + dst=os.path.join(self.package_folder, "bin"), + src=self.source_folder) + self._fix_permissions() def package_info(self): + self.cpp_info.frameworkdirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.resdirs = [] + self.cpp_info.includedirs = [] + + self.runenv_info.define("DEPOT_TOOLS_UPDATE", "0") + self.buildenv_info.define("DEPOT_TOOLS_UPDATE", "0") + + # TODO: Legacy, to be removed on Conan 2.0 bin_path = os.path.join(self.package_folder, "bin") - self.output.info("Appending PATH env var with : {}".format(bin_path)) + self.output.info(f"Appending PATH env var with : {bin_path}") self.env_info.PATH.append(bin_path) - self.env_info.DEPOT_TOOLS_UPDATE = "0" diff --git a/recipes/depot_tools/all/test_package/conanfile.py b/recipes/depot_tools/all/test_package/conanfile.py index 38bf21d14dbee..4315ef29254a7 100644 --- a/recipes/depot_tools/all/test_package/conanfile.py +++ b/recipes/depot_tools/all/test_package/conanfile.py @@ -1,7 +1,18 @@ -from conans import ConanFile +from conan import ConanFile +from conan.tools.cmake import cmake_layout class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "VirtualBuildEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + def test(self): # cit: Chrome Infrastructure CLI - self.run("cit --help", run_environment=True) + self.run("cit --help") diff --git a/recipes/depot_tools/all/test_v1_package/conanfile.py b/recipes/depot_tools/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38bf21d14dbee --- /dev/null +++ b/recipes/depot_tools/all/test_v1_package/conanfile.py @@ -0,0 +1,7 @@ +from conans import ConanFile + + +class TestPackageConan(ConanFile): + def test(self): + # cit: Chrome Infrastructure CLI + self.run("cit --help", run_environment=True) From 5401a6706420d3c84915812bda4b4af08127ad29 Mon Sep 17 00:00:00 2001 From: David Aceituno Date: Mon, 15 Jan 2024 19:40:08 +0100 Subject: [PATCH 0851/1307] (#22271) Update to h5pp/1.11.1 * Update to h5pp/1.11.1 * Fixed required components for versions <1.10.0 * Bumped dependency version * Reverted version ranges for dependencies --- recipes/h5pp/all/conandata.yml | 3 ++ recipes/h5pp/all/conanfile.py | 32 ++++++++++++------- .../h5pp/all/test_package/test_package.cpp | 7 ++++ recipes/h5pp/config.yml | 2 ++ 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index 264046f12084e..bf1850769d043 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.1": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.1.tar.gz" + sha256: "659d566dcb011e7a0f14f9fec9d6e6c783559eec3fd051de1e5cf44d95fd752b" "1.11.0.1": url: "https://github.com/DavidAce/h5pp/archive/v1.11.0.1.tar.gz" sha256: "73b08273c36220fad2836897138f4e0adbe347ea7d1cc7c22f9783a29b24f967" diff --git a/recipes/h5pp/all/conanfile.py b/recipes/h5pp/all/conanfile.py index 9c9caa28d810e..d86cc080b5e0a 100644 --- a/recipes/h5pp/all/conanfile.py +++ b/recipes/h5pp/all/conanfile.py @@ -25,12 +25,14 @@ class H5ppConan(ConanFile): options = { "with_eigen": [True, False], "with_spdlog": [True, False], - "with_zlib" : [True, False], + "with_zlib" : [True, False], + "with_quadmath": [True, False] } default_options = { "with_eigen": True, "with_spdlog": True, "with_zlib" : True, + "with_quadmath": False } @property @@ -62,15 +64,18 @@ def config_options(self): del self.options.with_zlib else: self.options["hdf5"].with_zlib = self.options.with_zlib + if Version(self.version) < "1.11.1" or self.settings.compiler != "gcc": + # h5pp only supports quadmath with GNU compilers + del self.options.with_quadmath def requirements(self): - self.requires("hdf5/1.14.0", transitive_headers=True, transitive_libs=True) + self.requires("hdf5/1.14.3", transitive_headers=True, transitive_libs=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_eigen'): self.requires("eigen/3.4.0", transitive_headers=True) if Version(self.version) < "1.10.0" or self.options.get_safe('with_spdlog'): - self.requires("spdlog/1.11.0", transitive_headers=True, transitive_libs=True) + self.requires("spdlog/1.13.0", transitive_headers=True, transitive_libs=True) if Version(self.version) >= "1.10.0" and self.options.with_zlib: - self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True, transitive_libs=True) + self.requires("zlib/1.3", transitive_headers=True, transitive_libs=True) def layout(self): basic_layout(self,src_folder="src") @@ -118,20 +123,23 @@ def package_info(self): self.cpp_info.components["h5pp_flags"].bindirs = [] self.cpp_info.components["h5pp_flags"].libdirs = [] - if Version(self.version) >= "1.10.0": - if self.options.with_eigen: + if Version(self.version) < "1.10.0": + self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") + self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") + else: + if self.options.get_safe("with_eigen"): self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_EIGEN3") - if self.options.with_spdlog: + if self.options.get_safe("with_spdlog"): self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_SPDLOG") self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_FMT") - if self.options.with_zlib: + if self.options.get_safe("with_zlib"): self.cpp_info.components["h5pp_deps"].requires.append("zlib::zlib") - - else: - self.cpp_info.components["h5pp_deps"].requires.append("eigen::eigen") - self.cpp_info.components["h5pp_deps"].requires.append("spdlog::spdlog") + if self.options.get_safe("with_quadmath"): + self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_FLOAT128") + self.cpp_info.components["h5pp_flags"].defines.append("H5PP_USE_QUADMATH") + self.cpp_info.system_libs.append('quadmath') if (self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "9") or \ (self.settings.compiler == "clang" and self.settings.compiler.get_safe("libcxx") in ["libstdc++", "libstdc++11"]): diff --git a/recipes/h5pp/all/test_package/test_package.cpp b/recipes/h5pp/all/test_package/test_package.cpp index 384a3eda62383..ea55e300f5e70 100644 --- a/recipes/h5pp/all/test_package/test_package.cpp +++ b/recipes/h5pp/all/test_package/test_package.cpp @@ -19,5 +19,12 @@ int main() { // Read dummy data from file auto vectorComplexRead = file.readDataset>("vectorComplex"); + +#if defined(H5PP_USE_FLOAT128) + __float128 f128 = 6.28318530717958623199592693708837032318115234375; + file.writeDataset(f128, "__float128"); + auto f128_read = file.readDataset<__float128>("__float128"); +#endif + return 0; } diff --git a/recipes/h5pp/config.yml b/recipes/h5pp/config.yml index 6a5c9d7731601..6306850e1fb06 100644 --- a/recipes/h5pp/config.yml +++ b/recipes/h5pp/config.yml @@ -15,3 +15,5 @@ versions: folder: "all" "1.11.0.1": folder: "all" + "1.11.1": + folder: "all" From 4dadd3b08835643f14b5fcb186878645443236ce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 00:06:18 +0200 Subject: [PATCH 0852/1307] (#22363) libunwind: add v1.8.0 --- recipes/libunwind/all/conandata.yml | 3 +++ recipes/libunwind/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libunwind/all/conandata.yml b/recipes/libunwind/all/conandata.yml index baa8d36f9cd17..642e7bcf9b975 100644 --- a/recipes/libunwind/all/conandata.yml +++ b/recipes/libunwind/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.8.0": + url: "https://github.com/libunwind/libunwind/releases/download/v1.8.0/libunwind-1.8.0.tar.gz" + sha256: "b6b3df40a0970c8f2865fb39aa2af7b5d6f12ad6c5774e266ccca4d6b8b72268" "1.7.2": url: "https://github.com/libunwind/libunwind/releases/download/v1.7.2/libunwind-1.7.2.tar.gz" sha256: "a18a6a24307443a8ace7a8acc2ce79fbbe6826cd0edf98d6326d0225d6a5d6e6" diff --git a/recipes/libunwind/config.yml b/recipes/libunwind/config.yml index ce44762c05da1..272599e8759c3 100644 --- a/recipes/libunwind/config.yml +++ b/recipes/libunwind/config.yml @@ -1,4 +1,6 @@ versions: + "1.8.0": + folder: all "1.7.2": folder: all "1.7.0": From 2c58fb55eea424406d69b5caf99f1b9b3392619d Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 01:24:20 +0200 Subject: [PATCH 0853/1307] (#18862) godot-cpp: migrate to Conan v2 * godot-cpp: migrate to Conan v2 * godot-cpp: mark as static-library --- recipes/godot-cpp/all/conanfile.py | 194 ++++++++++-------- .../godot-cpp/all/test_package/CMakeLists.txt | 11 +- .../godot-cpp/all/test_package/conanfile.py | 22 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 18 ++ 5 files changed, 159 insertions(+), 94 deletions(-) create mode 100644 recipes/godot-cpp/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/godot-cpp/all/test_v1_package/conanfile.py diff --git a/recipes/godot-cpp/all/conanfile.py b/recipes/godot-cpp/all/conanfile.py index 625aabfb6d902..a99c635a67338 100644 --- a/recipes/godot-cpp/all/conanfile.py +++ b/recipes/godot-cpp/all/conanfile.py @@ -1,8 +1,16 @@ -import glob import os -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class GodotCppConan(ConanFile): @@ -12,20 +20,81 @@ class GodotCppConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/godotengine/godot-cpp" topics = ("game-engine", "game-development", "c++") + + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - build_requires = ["scons/3.1.2"] + options = { + "fPIC": [True, False], + } + default_options = { + "fPIC": True, + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + basic_layout(self, src_folder="src") + + def requirements(self): + self.requires(f"godot_headers/{self.version}", transitive_headers=True) + + def package_id(self): + if self.info.settings.build_type != "Debug": + self.info.settings.build_type = "Release" + + def validate(self): + minimal_cpp_standard = 14 + if self.settings.compiler.cppstd: + check_min_cppstd(self, minimal_cpp_standard) + + minimal_version = { + "gcc": "5", + "clang": "4", + "apple-clang": "10", + "msvc": "191", + "Visual Studio": "15", + } + + compiler = str(self.settings.compiler) + if compiler not in minimal_version: + self.output.warning( + f"{self.name} recipe lacks information about the {compiler} compiler standard version support" + ) + self.output.warning( + f"{self.name} requires a compiler that supports at least C++{minimal_cpp_standard}" + ) + return + + version = Version(self.settings.compiler.version) + if version < minimal_version[compiler]: + if compiler in ["apple-clang", "clang"]: + raise ConanInvalidConfiguration( + f"{self.name} requires a clang version that supports the '-Og' flag" + ) + raise ConanInvalidConfiguration( + f"{self.name} requires a compiler that supports at least C++{minimal_cpp_standard}" + ) + + def build_requirements(self): + self.tool_requires("scons/4.3.0") @property def _bits(self): - return 64 if self.settings.get_safe("arch") in ["x86_64", "armv8"] else 32 + return 32 if self.settings.arch in ["x86"] else 64 + + @property + def _godot_headers(self): + return self.dependencies["godot_headers"].cpp_info @property def _custom_api_file(self): - return "{}/api.json".format(self._godot_headers.res_paths[0]) + return f"{self._godot_headers.resdirs[0]}/api.json" @property def _headers_dir(self): - return self._godot_headers.include_paths[0] + return self._godot_headers.includedirs[0] @property def _platform(self): @@ -34,98 +103,67 @@ def _platform(self): "Linux": "linux", "Macos": "osx", } - return flag_map[self.settings.get_safe("os")] + return flag_map[str(self.settings.os)] @property def _target(self): - return "debug" if self.settings.get_safe("build_type") == "Debug" else "release" + return "debug" if self.settings.build_type == "Debug" else "release" @property def _use_llvm(self): - return self.settings.get_safe("compiler") in ["clang", "apple-clang"] + return self.settings.compiler in ["clang", "apple-clang"] @property def _use_mingw(self): - return self._platform == "windows" and self.settings.compiler == "gcc" + return self.settings.os == "Windows" and self.settings.compiler == "gcc" @property def _libname(self): - return "godot-cpp.{platform}.{target}.{bits}".format(platform=self._platform, target=self._target, bits=self._bits) - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _godot_headers(self): - return self.deps_cpp_info["godot_headers"] + return f"godot-cpp.{self._platform}.{self._target}.{self._bits}" def source(self): - tools.get(**self.conan_data["sources"][self.version]) - tools.rename(glob.glob("godot-cpp-*")[0], self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) - def requirements(self): - self.requires("godot_headers/{}".format(self.version)) - - def configure(self): - minimal_cpp_standard = "14" - if self.settings.compiler.cppstd: - tools.check_min_cppstd(self, minimal_cpp_standard) - - minimal_version = { - "gcc": "5", - "clang": "4", - "apple-clang": "10", - "Visual Studio": "15", - } - - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - "{} recipe lacks information about the {} compiler standard version support".format(self.name, compiler)) - self.output.warn( - "{} requires a compiler that supports at least C++{}".format(self.name, minimal_cpp_standard)) - return - - version = tools.Version(self.settings.compiler.version) - if version < minimal_version[compiler]: - if compiler in ["apple-clang", "clang"]: - raise ConanInvalidConfiguration( - "{} requires a clang version that supports the '-Og' flag".format(self.name)) - raise ConanInvalidConfiguration( - "{} requires a compiler that supports at least C++{}".format(self.name, minimal_cpp_standard)) + def generate(self): + VirtualBuildEnv(self).generate() def build(self): self.run("python --version") - if self.settings.os == "Macos": + if is_apple_os(self): self.run("which python") self.run("scons --version") - self.run( - " ".join([ - "scons", - "-C{}".format(self._source_subfolder), - "-j{}".format(tools.cpu_count()), - "generate_bindings=yes", - "use_custom_api_file=yes", - "bits={}".format(self._bits), - "custom_api_file={}".format(self._custom_api_file), - "headers_dir={}".format(self._headers_dir), - "platform={}".format(self._platform), - "target={}".format(self._target), - "use_llvm={}".format(self._use_llvm), - "use_mingw={}".format(self._use_mingw), - ]) - ) + self.run(" ".join([ + "scons", + f"-C{self.source_folder}", + f"-j{os.cpu_count()}", + "generate_bindings=yes", + "use_custom_api_file=yes", + f"bits={self._bits}", + f"custom_api_file={self._custom_api_file}", + f"headers_dir={self._headers_dir}", + f"platform={self._platform}", + f"target={self._target}", + f"use_llvm={self._use_llvm}", + f"use_mingw={self._use_mingw}", + ])) def package(self): - self.copy("LICENSE*", dst="licenses", src=self._source_subfolder) - self.copy("*.hpp", dst="include/godot-cpp", src=os.path.join(self._source_subfolder, "include")) - self.copy("*.a", dst="lib", src=os.path.join(self._source_subfolder, "bin")) - self.copy("*.lib", dst="lib", src=os.path.join(self._source_subfolder, "bin")) + copy(self, "LICENSE*", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + copy(self, "*.hpp", + dst=os.path.join(self.package_folder, "include/godot-cpp"), + src=os.path.join(self.source_folder, "include")) + copy(self, "*.a", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "bin")) + copy(self, "*.lib", + dst=os.path.join(self.package_folder, "lib"), + src=os.path.join(self.source_folder, "bin")) def package_info(self): - if self.settings.os == "Windows" and self.settings.compiler == "Visual Studio": - self.cpp_info.libs = ["lib{}".format(self._libname)] + if is_msvc(self): + self.cpp_info.libs = [f"lib{self._libname}"] else: self.cpp_info.libs = [self._libname] @@ -134,9 +172,3 @@ def package_info(self): os.path.join("include", "godot-cpp", "core"), os.path.join("include", "godot-cpp", "gen"), ] - - def package_id(self): - if self._target == "release": - self.info.settings.build_type = "Release" - else: - self.info.settings.build_type = "Debug" diff --git a/recipes/godot-cpp/all/test_package/CMakeLists.txt b/recipes/godot-cpp/all/test_package/CMakeLists.txt index cb623ce6ed58f..49d358aeae0ef 100644 --- a/recipes/godot-cpp/all/test_package/CMakeLists.txt +++ b/recipes/godot-cpp/all/test_package/CMakeLists.txt @@ -1,9 +1,8 @@ -cmake_minimum_required(VERSION "3.1") +cmake_minimum_required(VERSION 3.15) project("test_package" LANGUAGES CXX) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(godot-cpp REQUIRED CONFIG) -add_executable("${PROJECT_NAME}" "test_package.cpp") -target_link_libraries("${PROJECT_NAME}" ${CONAN_LIBS}) -set_property(TARGET "${PROJECT_NAME}" PROPERTY CXX_STANDARD "14") +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} godot-cpp::godot-cpp) +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14) diff --git a/recipes/godot-cpp/all/test_package/conanfile.py b/recipes/godot-cpp/all/test_package/conanfile.py index 4dea15a1318e1..ef5d7042163ec 100644 --- a/recipes/godot-cpp/all/test_package/conanfile.py +++ b/recipes/godot-cpp/all/test_package/conanfile.py @@ -1,11 +1,19 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -from conans import ConanFile, CMake, tools - class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -13,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt b/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/godot-cpp/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/godot-cpp/all/test_v1_package/conanfile.py b/recipes/godot-cpp/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..75634e62bcb66 --- /dev/null +++ b/recipes/godot-cpp/all/test_v1_package/conanfile.py @@ -0,0 +1,18 @@ +import os + +from conans import ConanFile, CMake, tools + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) From c2ac2927c3978bba242fb38119ad2f01defa4746 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 02:10:50 +0200 Subject: [PATCH 0854/1307] (#22372) bacnet-stack: add v1.3.2 --- recipes/bacnet-stack/all/conandata.yml | 3 +++ recipes/bacnet-stack/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/bacnet-stack/all/conandata.yml b/recipes/bacnet-stack/all/conandata.yml index d44111989de5e..41d4559c7823d 100644 --- a/recipes/bacnet-stack/all/conandata.yml +++ b/recipes/bacnet-stack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/bacnet-stack/bacnet-stack/archive/refs/tags/bacnet-stack-1.3.2.tar.gz" + sha256: "e38cee9a96485692d5306bcd893ad02244efbecead12be8d2b2e3f3fc50328cb" "1.0.0": url: "https://github.com/bacnet-stack/bacnet-stack/archive/refs/tags/bacnet-stack-1.0.0.tar.gz" sha256: "8dad24decb3870bc8147a1ea5eecd5c6f8c1205ec48d5ae4d454085427122658" diff --git a/recipes/bacnet-stack/config.yml b/recipes/bacnet-stack/config.yml index c7f13630776fb..13d48541c0abc 100644 --- a/recipes/bacnet-stack/config.yml +++ b/recipes/bacnet-stack/config.yml @@ -1,3 +1,5 @@ versions: + "1.3.2": + folder: "all" "1.0.0": folder: "all" From 94d118e207f2e9d9874a9a270238f14360087d44 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 00:32:10 +0000 Subject: [PATCH 0855/1307] (#22374) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 13d3b1783e5d0..fdbc9c12931b7 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -20,6 +20,7 @@ required_for_references: - alpaca - amgcl - amqp-cpp +- andreasbuhr-cppcoro - android-ndk - angelscript - antlr4-cppruntime @@ -630,6 +631,7 @@ required_for_references: - libelfin - libenvpp - libepoxy +- libest - libev - libevdev - libevent @@ -755,6 +757,7 @@ required_for_references: - libuvc - libva - libvault +- libvdpau - libverto - libvips - libvpx @@ -874,6 +877,7 @@ required_for_references: - mp-units - mpark-variant - mpc +- mpdecimal - mpfr - mpg123 - mpmcqueue @@ -1465,6 +1469,7 @@ required_for_references: - zopfli - zpp_bits - zpp_throwing +- zserio - zstd - zstr - zug From 074585f9ffaae346013e7993d5caec7ecba5d69c Mon Sep 17 00:00:00 2001 From: Artem Panfilov Date: Tue, 16 Jan 2024 03:00:26 +0200 Subject: [PATCH 0856/1307] (#22352) xmlsec: update libxslt/1.1.39 --- recipes/xmlsec/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py index acc967598ba2e..6e4e83fb62094 100644 --- a/recipes/xmlsec/all/conanfile.py +++ b/recipes/xmlsec/all/conanfile.py @@ -64,7 +64,7 @@ def requirements(self): if self.options.with_openssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) if self.options.with_xslt: - self.requires("libxslt/1.1.37") + self.requires("libxslt/1.1.39") def validate(self): if self.options.with_nss: From 87533cd5c9a164d9ec08a7dd3eadb88e269c71b7 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 10:43:48 +0200 Subject: [PATCH 0857/1307] (#22371) oboe: add v1.8.0, allow Conan to set cppstd --- recipes/oboe/all/conandata.yml | 7 +++++ recipes/oboe/all/conanfile.py | 11 +++++-- .../all/patches/1.7.0-0001-fix-cmake.patch | 2 +- .../all/patches/1.8.0-0001-fix-cmake.patch | 30 +++++++++++++++++++ recipes/oboe/config.yml | 2 ++ 5 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch diff --git a/recipes/oboe/all/conandata.yml b/recipes/oboe/all/conandata.yml index 93bb5ba9ec089..c83ffd5703892 100644 --- a/recipes/oboe/all/conandata.yml +++ b/recipes/oboe/all/conandata.yml @@ -1,8 +1,15 @@ sources: + "1.8.0": + url: "https://github.com/google/oboe/archive/refs/tags/1.8.0.tar.gz" + sha256: "1ab24ff129af6396b8a5741c12b44b922814337d1b40958ac7ada8e270eb4880" "1.7.0": url: "https://github.com/google/oboe/archive/refs/tags/1.7.0.tar.gz" sha256: "b01896f9180f725a38806cfef73a29b36b2ea37f91389ed4e69d664ce83b79b6" patches: + "1.8.0": + - patch_file: "patches/1.8.0-0001-fix-cmake.patch" + patch_description: "Fix CMakeLists" + patch_type: "conan" "1.7.0": - patch_file: "patches/1.7.0-0001-fix-cmake.patch" patch_description: "Fix CMakeLists" diff --git a/recipes/oboe/all/conanfile.py b/recipes/oboe/all/conanfile.py index ee8b970e7d9a3..a662f73c76364 100644 --- a/recipes/oboe/all/conanfile.py +++ b/recipes/oboe/all/conanfile.py @@ -1,6 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import check_min_cppstd +from conan.tools.build import check_min_cppstd, valid_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get import os @@ -26,6 +26,10 @@ class OboeConan(ConanFile): "fPIC": True, } + @property + def _min_cppstd(self): + return 17 + def export_sources(self): export_conandata_patches(self) @@ -40,13 +44,16 @@ def validate(self): if self.settings.os != "Android": raise ConanInvalidConfiguration("oboe supports Android only") if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, 17) + check_min_cppstd(self, self._min_cppstd) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) + if not valid_min_cppstd(self, self._min_cppstd): + tc.variables["CMAKE_CXX_STANDARD"] = self._min_cppstd + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() def build(self): diff --git a/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch b/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch index 452cd94a1c2bb..1059375d2b0c8 100644 --- a/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch +++ b/recipes/oboe/all/patches/1.7.0-0001-fix-cmake.patch @@ -12,7 +12,7 @@ -Ofast - "$<$:-Werror>") +) -+target_compile_features(oboe PUBLIC cxx_std_17) ++ # Enable logging of D,V for debug builds target_compile_definitions(oboe PUBLIC $<$:OBOE_ENABLE_LOGGING=1>) diff --git a/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch b/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..46b4a6a56b9f9 --- /dev/null +++ b/recipes/oboe/all/patches/1.8.0-0001-fix-cmake.patch @@ -0,0 +1,30 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -81,14 +81,14 @@ + # Enable -Ofast + target_compile_options(oboe + PRIVATE +- -std=c++17 + -Wall + -Wextra-semi + -Wshadow + -Wshadow-field + "$<$:-Ofast>" + "$<$:-O3>" +- "$<$:-Werror>") ++) ++ + + # Enable logging of D,V for debug builds + target_compile_definitions(oboe PUBLIC $<$:OBOE_ENABLE_LOGGING=1>) +@@ -97,8 +97,8 @@ + + # When installing oboe put the libraries in the lib/ folder e.g. lib/arm64-v8a + install(TARGETS oboe +- LIBRARY DESTINATION lib/${ANDROID_ABI} +- ARCHIVE DESTINATION lib/${ANDROID_ABI}) ++ LIBRARY DESTINATION lib ++ ARCHIVE DESTINATION lib) + + # Also install the headers + install(DIRECTORY include/oboe DESTINATION include) diff --git a/recipes/oboe/config.yml b/recipes/oboe/config.yml index 0f57b11de8fb0..651b6092ebbf2 100644 --- a/recipes/oboe/config.yml +++ b/recipes/oboe/config.yml @@ -1,3 +1,5 @@ versions: + "1.8.0": + folder: all "1.7.0": folder: all From f1afb56481a3014774adc4011211ce75599ac7d2 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:00:38 +0200 Subject: [PATCH 0858/1307] (#22366) libsafec: add v3.7.1 --- recipes/libsafec/all/conandata.yml | 3 +++ recipes/libsafec/all/conanfile.py | 12 ++++++++---- recipes/libsafec/config.yml | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/recipes/libsafec/all/conandata.yml b/recipes/libsafec/all/conandata.yml index 469b7183d9644..35e3bff5ed08e 100644 --- a/recipes/libsafec/all/conandata.yml +++ b/recipes/libsafec/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.1": + url: "https://github.com/rurban/safeclib/archive/v3.7.1.tar.gz" + sha256: "baac28b60f8f46ae0f273155f4968b20e84380016629247ed2a4d7e3fbeb4d98" "3.6.0": url: "https://github.com/rurban/safeclib/archive/v3.6.tar.gz" sha256: "bd99d4555030719a83807649b3749bc483143b3548278daaa0a4af0fed5dc4de" diff --git a/recipes/libsafec/all/conanfile.py b/recipes/libsafec/all/conanfile.py index 7086816ccca53..5d916353ec3b4 100644 --- a/recipes/libsafec/all/conanfile.py +++ b/recipes/libsafec/all/conanfile.py @@ -15,7 +15,7 @@ class LibSafeCConan(ConanFile): name = "libsafec" - description = ("This library implements the secure C11 Annex K[^5] functions" + description = ("This library implements the secure C11 Annex K functions" " on top of most libc implementations, which are missing from them.") license = "MIT" url = "https://github.com/conan-io/conan-center-index" @@ -118,10 +118,14 @@ def package(self): fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.includedirs.append(os.path.join("include", "libsafec")) - self.cpp_info.libs = [f"safec-{self.version}"] self.cpp_info.set_property("pkg_config_name", "libsafec") + if Version(self.version) >= "3.7.0": + self.cpp_info.includedirs.append(os.path.join("include", "safeclib")) + self.cpp_info.libs = ["safec"] + else: + self.cpp_info.includedirs.append(os.path.join("include", "libsafec")) + self.cpp_info.libs = [f"safec-{self.version}"] + bin_dir = os.path.join(self.package_folder, "bin") - self.output.info(f"Appending PATH environment variable: {bin_dir}") self.env_info.PATH.append(bin_dir) diff --git a/recipes/libsafec/config.yml b/recipes/libsafec/config.yml index 31ef12415e244..a68f215fba33a 100644 --- a/recipes/libsafec/config.yml +++ b/recipes/libsafec/config.yml @@ -1,3 +1,5 @@ versions: + "3.7.1": + folder: all "3.6.0": folder: all From 9c3145a15460f95e41d19f453542e23a6dfacd94 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:10:57 +0200 Subject: [PATCH 0859/1307] (#22311) mathter: add v1.0.1 * mathter: add v1.0.1 * mathter: update include dir in project * mathter: update license file --- recipes/mathter/all/conandata.yml | 3 +++ recipes/mathter/all/conanfile.py | 27 +++++++++++---------------- recipes/mathter/config.yml | 2 ++ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/recipes/mathter/all/conandata.yml b/recipes/mathter/all/conandata.yml index dc5d0897e2e04..d93f0abf24463 100644 --- a/recipes/mathter/all/conandata.yml +++ b/recipes/mathter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.0.1": + url: "https://github.com/petiaccja/Mathter/archive/v1.0.1.tar.gz" + sha256: "ab90736abfa8774103b53fe2b8962981c5f117dc582b01698c18d66cd2398b8c" "1.0.0": url: "https://github.com/petiaccja/Mathter/archive/v1.0.0.tar.gz" sha256: "c75cca8d8aec627935250908f2c0f9f1839561e7596a4199bcf80e12b0e6c53b" diff --git a/recipes/mathter/all/conanfile.py b/recipes/mathter/all/conanfile.py index 3c07c54ec5fb2..b25becfd19c5b 100644 --- a/recipes/mathter/all/conanfile.py +++ b/recipes/mathter/all/conanfile.py @@ -46,27 +46,22 @@ def validate(self): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) - if minimum_version: - if Version(self.settings.compiler.version) < minimum_version: - raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " - f"which your compiler does not support.") - else: - self.output.warning(f"{self.name} requires C++{self._min_cppstd}. " - f"Your compiler is unknown. Assuming it supports C++{self._min_cppstd}.") + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.name} requires C++{self._min_cppstd}, " + "which your compiler does not support.") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def package(self): - copy(self, "*.hpp", - dst=os.path.join(self.package_folder, "include", "Mathter"), - src=os.path.join(self.source_folder, "Mathter")) - copy(self, "*.natvis", - dst=os.path.join(self.package_folder, "include", "Mathter"), - src=os.path.join(self.source_folder, "Mathter")) - copy(self, "LICENCE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) + if self.version == "1.0.0": + copy(self, "LICENCE", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "Mathter") + else: + copy(self, "LICENCE.md", self.source_folder, os.path.join(self.package_folder, "licenses")) + include_dir = os.path.join(self.source_folder, "include", "Mathter") + copy(self, "*.hpp", include_dir, os.path.join(self.package_folder, "include", "Mathter")) + copy(self, "*.natvis", include_dir, os.path.join(self.package_folder, "include", "Mathter")) def package_info(self): self.cpp_info.bindirs = [] diff --git a/recipes/mathter/config.yml b/recipes/mathter/config.yml index 40341aa3db6cd..af3bb0714e65c 100644 --- a/recipes/mathter/config.yml +++ b/recipes/mathter/config.yml @@ -1,3 +1,5 @@ versions: + "1.0.1": + folder: all "1.0.0": folder: all From a32a32391f6a0983fa9a7a316c93cea07d51adaa Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Tue, 16 Jan 2024 10:25:34 +0100 Subject: [PATCH 0860/1307] (#22345) frugally-deep: add version 0.15.30 * frugally-deep: add version 0.15.30 * Change nlohmann_json version back up to 3.11.2 * Change nlohmann_json version to the latest 3.11.3 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/all/conanfile.py | 4 ++-- recipes/frugally-deep/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index 2fda8019e9353..a70e10ac28b17 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.30": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.30.tar.gz" + sha256: "8932f7b42612598402269a54f957af09084dc2cb812d32887d991d6e45b280fb" "0.15.29": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.29.tar.gz" sha256: "032cd525d4a7b9b3ebe28fd5e3984ac3e569da496f65d52c81030aabd9d0c52e" diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index 45f4704b4ab53..dcd9f307a4d73 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -39,8 +39,8 @@ def layout(self): def requirements(self): self.requires("eigen/3.4.0") - self.requires("functionalplus/0.2.20-p0") - self.requires("nlohmann_json/3.11.2") + self.requires("functionalplus/0.2.22") + self.requires("nlohmann_json/3.11.3") def package_id(self): self.info.clear() diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index 071eb4ceec642..bc035ffff5654 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.30": + folder: all "0.15.29": folder: all "0.15.25-p0": From 0568aedbebcdd5a1ae10252ba89d722370a70144 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Tue, 16 Jan 2024 09:27:42 +0000 Subject: [PATCH 0861/1307] (#22348) [bot] Update authorized users list (2024-01-15) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Update .c3i/authorized_users.yml * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index fc765593075be..728bf5a4863bf 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1266,3 +1266,7 @@ authorized_users: - wu-vincent - Inujel - keszegrobert +- Mike-Solar +- tomasz-wezyk +- RaguzovaTatyana +- st9007a From 0012f1e4aebfd9246fd3f3ffee95ea379cd2b210 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 16 Jan 2024 11:40:51 +0200 Subject: [PATCH 0862/1307] (#22351) gperftools: set pkg_config_name for components --- recipes/gperftools/all/conanfile.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py index d1bcecf43d394..74afc04ddfcc6 100644 --- a/recipes/gperftools/all/conanfile.py +++ b/recipes/gperftools/all/conanfile.py @@ -184,12 +184,7 @@ def build(self): autotools.make() def package(self): - copy( - self, - pattern="COPYING", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder, - ) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) autotools = Autotools(self) autotools.install() @@ -200,6 +195,7 @@ def package(self): def _add_component(self, lib): self.cpp_info.components[lib].libs = [lib] + self.cpp_info.components[lib].set_property("pkg_config_name", f"lib{lib}") def package_info(self): self._add_component("tcmalloc_minimal") @@ -217,6 +213,8 @@ def package_info(self): for component in self.cpp_info.components.values(): if self.settings.os in ["Linux", "FreeBSD"]: component.system_libs.extend(["pthread", "m"]) + component.cflags.append("-pthread") + component.cxxflags.append("-pthread") if self.options.get_safe("enable_libunwind"): component.requires.append("libunwind::libunwind") From 6489f73ba74ff138472e3672c4869975e18ad095 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 16 Jan 2024 10:51:26 +0100 Subject: [PATCH 0863/1307] (#22255) Bump/cgal/all * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * cgal/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/) * Update conanfile.py * add missing requirement it used to be transitively provided by mpfr, but it needs to be explicit --- recipes/cgal/all/conanfile.py | 10 +++++----- recipes/cgal/all/patches/0001-fix-for-conan.patch | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/recipes/cgal/all/conanfile.py b/recipes/cgal/all/conanfile.py index 2d4d74dba1bec..73115e60a2ec6 100644 --- a/recipes/cgal/all/conanfile.py +++ b/recipes/cgal/all/conanfile.py @@ -2,7 +2,7 @@ import textwrap from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import get, replace_in_file, rmdir, rm, copy, save, export_conandata_patches, patch +from conan.tools.files import get, replace_in_file, rmdir, rm, copy, save, export_conandata_patches, apply_conandata_patches from conan.tools.build import check_min_cppstd from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration @@ -43,9 +43,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("boost/1.82.0") + self.requires("boost/1.83.0") self.requires("eigen/3.4.0") - self.requires("mpfr/4.1.0") + self.requires("mpfr/4.2.1") + self.requires("gmp/6.3.0") def package_id(self): self.info.clear() @@ -62,8 +63,7 @@ def validate(self): def _patch_sources(self): replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "if(NOT PROJECT_NAME)", "if(1)", strict=False) - for it in self.conan_data.get("patches", {}).get(self.version, []): - patch(self, **it, strip=2) + apply_conandata_patches(self) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/cgal/all/patches/0001-fix-for-conan.patch b/recipes/cgal/all/patches/0001-fix-for-conan.patch index 9f5f7328fbcd1..36b4eaceca05a 100644 --- a/recipes/cgal/all/patches/0001-fix-for-conan.patch +++ b/recipes/cgal/all/patches/0001-fix-for-conan.patch @@ -1,7 +1,7 @@ -diff --git a/Installation/cmake/modules/CGAL_Eigen3_support.cmake b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +diff --git a/cmake/modules/CGAL_Eigen3_support.cmake b/cmake/modules/CGAL_Eigen3_support.cmake index cc0df0fad10..bfcf56c7c2f 100644 ---- a/Installation/cmake/modules/CGAL_Eigen3_support.cmake -+++ b/Installation/cmake/modules/CGAL_Eigen3_support.cmake +--- a/cmake/modules/CGAL_Eigen3_support.cmake ++++ b/cmake/modules/CGAL_Eigen3_support.cmake @@ -1,9 +1,14 @@ -if(EIGEN3_FOUND AND NOT TARGET CGAL::Eigen3_support) +if((EIGEN3_FOUND OR Eigen3_FOUND) AND NOT TARGET CGAL::Eigen3_support) From b9b2e1b010a22078de101af38cf0f0781437b271 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 16 Jan 2024 19:37:00 +0900 Subject: [PATCH 0864/1307] (#21771) libcoro: add version 0.10, update c-ares * libcoro: add version 0.10, update c-ares * use official patch for git config Signed-off-by: Uilian Ries * Update recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libcoro/all/conandata.yml | 11 +++++++ recipes/libcoro/all/conanfile.py | 4 +-- .../patches/0.10-0001-allow-shared-lib.patch | 13 ++++++++ .../0.10-0002-disable-git-config.patch | 32 +++++++++++++++++++ recipes/libcoro/config.yml | 2 ++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch create mode 100644 recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 08d79c6bc3667..2ae02b6941d0a 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.10": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.10.tar.gz" + sha256: "0e952e72012925b75910f80772f3642dac631644578dbbc0db4fee047badc745" "0.9": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.9.tar.gz" sha256: "680479582023f019bfa58b17bbcd30aa2ef1a8ba2c09d4ea9b296dbc77e93f1f" @@ -9,6 +12,14 @@ sources: url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.7.tar.gz" sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: + "0.10": + - patch_file: "patches/0.10-0001-allow-shared-lib.patch" + patch_type: "conan" + patch_description: "Allow to build the library as a shared library" + - patch_file: "patches/0.10-0002-disable-git-config.patch" + patch_type: "official" + patch_description: "Comment out invocation of git config command" + patch_source: "https://github.com/jbaldwin/libcoro/pull/234" "0.9": - patch_file: "patches/0.9-0001-allow-shared-lib.patch" patch_type: "conan" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 1117b3d012d2a..53cdfa2743c0f 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -65,7 +65,7 @@ def layout(self): def requirements(self): if "with_ssl" not in self.options or self.options.with_ssl: self.requires("openssl/[>=1.1 <4]", transitive_headers=True) - self.requires("c-ares/1.19.1", transitive_headers=True) + self.requires("c-ares/1.22.1", transitive_headers=True) self.requires("tl-expected/1.1.0", transitive_headers=True) def validate(self): @@ -74,7 +74,7 @@ def validate(self): if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") if self.settings.compiler != "gcc": - raise ConanInvalidConfiguration("gcc is the only compiler supported by libcoro.") + raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: diff --git a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch new file mode 100644 index 0000000000000..8eb0ed04c1cfc --- /dev/null +++ b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b749c11..7398569 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -123,7 +123,7 @@ if(DEFINED EMSCRIPTEN) + add_link_options(-sEXIT_RUNTIME) + endif() + +-add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) ++add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) + set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") + target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) + target_include_directories(${PROJECT_NAME} PUBLIC include) diff --git a/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch b/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch new file mode 100644 index 0000000000000..c6f4b03da3194 --- /dev/null +++ b/recipes/libcoro/all/patches/0.10-0002-disable-git-config.patch @@ -0,0 +1,32 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b749c11..ce78a2d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,17 +12,20 @@ if (NOT "$ENV{version}" STREQUAL "") + set(PROJECT_VERSION "$ENV{version}" CACHE INTERNAL "Copied from environment variable") + endif() + +-# Set the githooks directory to auto format and update the readme. +-message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") +-execute_process( +- COMMAND git config --local core.hooksPath .githooks +- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +-) +- + option(LIBCORO_EXTERNAL_DEPENDENCIES "Use Cmake find_package to resolve dependencies instead of embedded libraries, Default=OFF." OFF) + option(LIBCORO_BUILD_TESTS "Build the tests, Default=ON." ON) + option(LIBCORO_CODE_COVERAGE "Enable code coverage, tests must also be enabled, Default=OFF" OFF) + option(LIBCORO_BUILD_EXAMPLES "Build the examples, Default=ON." ON) ++option(LIBCORO_RUN_GITCONFIG "Set the githooks directory to auto format and update the readme, Default=ON." OFF) ++ ++# Set the githooks directory to auto format and update the readme. ++if (LIBCORO_RUN_GITCONFIG) ++ message("${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR} -> git config --local core.hooksPath .githooks") ++ execute_process( ++ COMMAND git config --local core.hooksPath .githooks ++ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ++ ) ++endif() + + cmake_dependent_option(LIBCORO_FEATURE_PLATFORM "Include linux platform features, Default=ON." ON "NOT EMSCRIPTEN; NOT MSVC" OFF) + cmake_dependent_option(LIBCORO_FEATURE_NETWORKING "Include networking features, Default=ON." ON "NOT EMSCRIPTEN; NOT MSVC" OFF) diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 77538762e21e7..5808152f9189f 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.10": + folder: all "0.9": folder: all "0.8": From ae9569cb354a9f269043275dd2779668024ec193 Mon Sep 17 00:00:00 2001 From: Samuel Dowling Date: Tue, 16 Jan 2024 21:24:51 +1030 Subject: [PATCH 0865/1307] (#22174) [armadillo] Use lapack provided by openblas by default * Openblas now builds lapack by default for versions >= 0.3.25 as of https://github.com/conan-io/conan-center-index/pull/20894. Change the armadillo default to use openblas as lapack provider to make armadillo useful for default build configurations. * Bump openblas and hdf5 dependencies --- recipes/armadillo/all/conanfile.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/recipes/armadillo/all/conanfile.py b/recipes/armadillo/all/conanfile.py index 88da815dbce2a..d37ca846e702e 100644 --- a/recipes/armadillo/all/conanfile.py +++ b/recipes/armadillo/all/conanfile.py @@ -58,7 +58,7 @@ class ArmadilloConan(ConanFile): "shared": False, "fPIC": True, "use_blas": "openblas", - "use_lapack": False, + "use_lapack": "openblas", "use_hdf5": True, "use_superlu": False, "use_extern_rng": False, @@ -102,11 +102,6 @@ def configure(self): self.options.rm_safe("fPIC") if self.options.use_blas == "openblas": - # Note that if you're relying on this to build LAPACK, you _must_ have - # a fortran compiler installed. If you don't, OpenBLAS will build successfully but - # without LAPACK support, which isn't obvious. - # This can be achieved by setting the FC environment variable or the conf tools.build:compiler_executables={"fortran": "/path/to/fortran"} - # in your conan profile. self.options["openblas"].build_lapack = ( self.options.use_lapack == "openblas" ) @@ -190,11 +185,11 @@ def requirements(self): if self.options.use_hdf5 and Version(self.version) < "12": # Use the conan dependency if the system lib isn't being used # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used - self.requires("hdf5/1.14.1", transitive_headers=True, transitive_libs=not self.options.use_wrapper) + self.requires("hdf5/1.14.3", transitive_headers=True, transitive_libs=not self.options.use_wrapper) if self.options.use_blas == "openblas": # Libraries not required to be propagated transitively when the armadillo run-time wrapper is used - self.requires("openblas/0.3.20", transitive_libs=not self.options.use_wrapper) + self.requires("openblas/0.3.25", transitive_libs=not self.options.use_wrapper) if ( self.options.use_blas == "intel_mkl" and self.options.use_lapack == "intel_mkl" From 4fa5a2b61187ee5490da3ec3fe9e7f7a246ad3aa Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Tue, 16 Jan 2024 13:06:20 +0200 Subject: [PATCH 0866/1307] (#22272) cryptopp: add patch for CVE-2023-50980 --- recipes/cryptopp/all/conandata.yml | 5 ++ .../patches/8.9.0-0001-cve-2023-50980.patch | 78 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch diff --git a/recipes/cryptopp/all/conandata.yml b/recipes/cryptopp/all/conandata.yml index 6ca47dae24406..14741e08f860f 100644 --- a/recipes/cryptopp/all/conandata.yml +++ b/recipes/cryptopp/all/conandata.yml @@ -49,6 +49,11 @@ sources: url: "https://github.com/noloader/cryptopp-cmake/archive/CRYPTOPP_8_2_0.tar.gz" sha256: "f41f6a32b1177c094c3ef97423916713c902d0ac26cbee30ec70b1e8ab0e6fba" patches: + "8.9.0": + - patch_file: "patches/8.9.0-0001-cve-2023-50980.patch" + patch_description: "Validate PolynomialMod2 coefficients (CVE-2023-50980)" + patch_type: "vulnerability" + patch_source: "https://github.com/weidai11/cryptopp/issues/1248" "8.7.0": - patch_file: "patches/8.7.0-0001-fix-msvc-arm64.patch" "8.6.0": diff --git a/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch b/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch new file mode 100644 index 0000000000000..6406e30851781 --- /dev/null +++ b/recipes/cryptopp/all/patches/8.9.0-0001-cve-2023-50980.patch @@ -0,0 +1,78 @@ +https://github.com/weidai11/cryptopp/issues/1248 +https://github.com/weidai11/cryptopp/commit/eb383b8e1622 +https://github.com/weidai11/cryptopp/commit/641ae35258de +https://github.com/weidai11/cryptopp/commit/93208e83937a +--- a/gf2n.cpp ++++ b/gf2n.cpp +@@ -135,6 +135,14 @@ PolynomialMod2 PolynomialMod2::Monomial(size_t i) + + PolynomialMod2 PolynomialMod2::Trinomial(size_t t0, size_t t1, size_t t2) + { ++ // Asserts and checks due to Bing Shi ++ CRYPTOPP_ASSERT(t0 > t1); ++ CRYPTOPP_ASSERT(t1 > t2); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (t1 > t0 || t2 > t0) ++ throw InvalidArgument("PolynomialMod2: exponents must be in descending order"); ++ + PolynomialMod2 r((word)0, t0+1); + r.SetBit(t0); + r.SetBit(t1); +@@ -144,6 +152,16 @@ PolynomialMod2 PolynomialMod2::Trinomial(size_t t0, size_t t1, size_t t2) + + PolynomialMod2 PolynomialMod2::Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4) + { ++ // Asserts and checks due to Bing Shi ++ CRYPTOPP_ASSERT(t0 > t1); ++ CRYPTOPP_ASSERT(t1 > t2); ++ CRYPTOPP_ASSERT(t2 > t3); ++ CRYPTOPP_ASSERT(t3 > t4); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (t1 > t0 || t2 > t0 || t3 > t0 || t4 > t0) ++ throw InvalidArgument("PolynomialMod2: exponents must be in descending order"); ++ + PolynomialMod2 r((word)0, t0+1); + r.SetBit(t0); + r.SetBit(t1); +@@ -655,7 +673,12 @@ GF2NT::GF2NT(unsigned int c0, unsigned int c1, unsigned int c2) + , t0(c0), t1(c1) + , result((word)0, m) + { ++ // Asserts and checks due to Bing Shi + CRYPTOPP_ASSERT(c0 > c1 && c1 > c2 && c2==0); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (c1 > c0 || c2 > c0) ++ throw InvalidArgument("GF2NT: exponents must be in descending order"); + } + + const GF2NT::Element& GF2NT::MultiplicativeInverse(const Element &a) const +@@ -964,7 +987,12 @@ GF2NP * BERDecodeGF2NP(BufferedTransformation &bt) + GF2NT233::GF2NT233(unsigned int c0, unsigned int c1, unsigned int c2) + : GF2NT(c0, c1, c2) + { ++ // Asserts and checks due to Bing Shi + CRYPTOPP_ASSERT(c0 > c1 && c1 > c2 && c2==0); ++ ++ // The test is relaxed because of ECIES. The high order exponent is t0, but the other exponents are not in descending order. ++ if (c1 > c0 || c2 > c0) ++ throw InvalidArgument("GF2NT233: exponents must be in descending order"); + } + + const GF2NT::Element& GF2NT233::Multiply(const Element &a, const Element &b) const +--- a/gf2n.h ++++ b/gf2n.h +@@ -69,9 +69,11 @@ public: + static PolynomialMod2 CRYPTOPP_API Monomial(size_t i); + /// \brief Provides x^t0 + x^t1 + x^t2 + /// \return x^t0 + x^t1 + x^t2 ++ /// \pre The coefficients should be provided in descending order. That is,
t0 > t1 > t2
.
+ 		static PolynomialMod2 CRYPTOPP_API Trinomial(size_t t0, size_t t1, size_t t2);
+ 		/// \brief Provides x^t0 + x^t1 + x^t2 + x^t3 + x^t4
+ 		/// \return x^t0 + x^t1 + x^t2 + x^t3 + x^t4
++		/// \pre The coefficients should be provided in descending order. That is, 
t0 > t1 > t2 > t3 > t4
.
+ 		static PolynomialMod2 CRYPTOPP_API Pentanomial(size_t t0, size_t t1, size_t t2, size_t t3, size_t t4);
+ 		/// \brief Provides x^(n-1) + ... + x + 1
+ 		/// \return x^(n-1) + ... + x + 1

From fbd328d6798f6d8bca8229cfbac562294ff21df0 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 16 Jan 2024 13:38:03 +0200
Subject: [PATCH 0867/1307] (#21660) libvips: add v8.15.1

* libvips: add v8.15.0

* libvips: bump to v8.15.1

* libvips: disable deprecated option on MSVC
---
 recipes/libvips/all/conandata.yml |  3 +++
 recipes/libvips/all/conanfile.py  | 43 +++++++++++++++++++++++++------
 recipes/libvips/config.yml        |  2 ++
 3 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/recipes/libvips/all/conandata.yml b/recipes/libvips/all/conandata.yml
index 63e4c5485d4ad..3a7a741fa16ea 100644
--- a/recipes/libvips/all/conandata.yml
+++ b/recipes/libvips/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "8.15.1":
+    url: "https://github.com/libvips/libvips/releases/download/v8.15.1/vips-8.15.1.tar.xz"
+    sha256: "06811f5aed3e7bc03e63d05537ff4b501de5283108c8ee79396c60601a00830c"
   "8.14.2":
     url: "https://github.com/libvips/libvips/releases/download/v8.14.2/vips-8.14.2.tar.xz"
     sha256: "27dad021f0835a5ab14e541d02abd41e4c3bd012d2196438df5a9e754984f7ce"
diff --git a/recipes/libvips/all/conanfile.py b/recipes/libvips/all/conanfile.py
index 4e9baa365d40f..4e2008334f2bb 100644
--- a/recipes/libvips/all/conanfile.py
+++ b/recipes/libvips/all/conanfile.py
@@ -1,12 +1,14 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.apple import fix_apple_shared_install_name
+from conan.tools.build import check_min_cppstd
 from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import copy, get, replace_in_file, rm, rmdir
 from conan.tools.gnu import PkgConfigDeps
 from conan.tools.layout import basic_layout
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime
+from conan.tools.scm import Version
 import os
 
 required_conan_version = ">=1.60.0 <2.0 || >=2.0.6"
@@ -28,13 +30,14 @@ class LibvipsConan(ConanFile):
         "cpp": [True, False],
         "introspection": [True, False],
         "vapi": [True, False],
+        "with_archive": [True, False],
         "with_cfitsio": [True, False],
         "with_cgif": [True, False],
         "with_exif": [True, False],
         "with_fftw": [True, False],
         "with_fontconfig": [True, False],
-        "with_gsf": [True, False],
         "with_heif": [True, False],
+        "with_highway": [True, False],
         "with_imagequant": [True, False],
         "with_jpeg": ["libjpeg", "libjpeg-turbo", "mozjpeg", False],
         "with_jpeg_xl": [True, False],
@@ -67,13 +70,14 @@ class LibvipsConan(ConanFile):
         "cpp": True,
         "introspection": False,
         "vapi": False,
+        "with_archive": False,
         "with_cfitsio": False,
         "with_cgif": False,
         "with_exif": False,
         "with_fftw": True,
         "with_fontconfig": False,
-        "with_gsf": False,
         "with_heif": False,
+        "with_highway": False,
         "with_imagequant": False,
         "with_jpeg": "libjpeg",
         "with_jpeg_xl": False,
@@ -103,6 +107,13 @@ class LibvipsConan(ConanFile):
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
+        if Version(self.version) < "8.15":
+            del self.options.with_archive
+            del self.options.with_highway
+        if is_msvc(self):
+            # deprecated build fails with
+            # vips7compat.h(1661): error C2016: C requires that a struct or union have at least one member
+            self.options.deprecated = False
 
     def configure(self):
         if self.options.shared:
@@ -116,7 +127,9 @@ def layout(self):
 
     def requirements(self):
         self.requires("expat/2.5.0")
-        self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True)
+        self.requires("glib/2.78.3", transitive_headers=True, transitive_libs=True)
+        if self.options.get_safe("with_archive"):
+            self.requires("libarchive/3.7.2")
         if self.options.with_cfitsio:
             self.requires("cfitsio/4.3.0")
         if self.options.with_cgif:
@@ -129,6 +142,8 @@ def requirements(self):
             self.requires("fontconfig/2.14.2")
         if self.options.with_heif:
             self.requires("libheif/1.16.2")
+        if self.options.get_safe("with_highway"):
+            self.requires("highway/1.0.7")
         if self.options.with_jpeg == "libjpeg":
             self.requires("libjpeg/9e")
         elif self.options.with_jpeg == "libjpeg-turbo":
@@ -174,6 +189,9 @@ def validate(self):
         if self.options.with_cgif and not (self.options.with_imagequant or self.options.with_quantizr):
             raise ConanInvalidConfiguration("with_cgif requires either with_imagequant or with_quantizr")
 
+        if Version(self.version) >= "8.15" and self.settings.compiler.cppstd:
+            check_min_cppstd(self, 11)
+
         # Visual Studio < 2019 doesn't seem to like pointer restrict of pointer restrict in libnsgif
         check_min_vs(self, "192")
 
@@ -183,8 +201,6 @@ def validate(self):
                 f"{self.ref} static with MT runtime not supported if glib shared due to conancenter CI limitations"
             )
 
-        if self.options.with_gsf:
-            raise ConanInvalidConfiguration("libgsf recipe not available in conancenter yet")
         if self.options.with_imagequant:
             raise ConanInvalidConfiguration("libimagequant recipe not available in conancenter yet")
         if self.options.with_nifti:
@@ -201,7 +217,7 @@ def validate(self):
     def build_requirements(self):
         self.tool_requires("meson/1.3.0")
         if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
         if self.options.introspection:
             self.tool_requires("gobject-introspection/1.72.0")
         self.tool_requires("glib/")
@@ -229,17 +245,24 @@ def generate(self):
         tc.project_options["doxygen"] = "false"
         tc.project_options["gtk_doc"] = "false"
         tc.project_options["modules"] = "disabled"
-        tc.project_options["introspection"] = true_false(self.options.introspection)
+        tc.project_options["introspection"] = (
+            enabled_disabled(self.options.introspection)
+            if Version(self.version) >= "8.15" else
+            true_false(self.options.introspection)
+        )
         tc.project_options["vapi"] = true_false(self.options.vapi)
         # External libraries
+        if Version(self.version) >= "8.15":
+            tc.project_options["archive"] = enabled_disabled(self.options.get_safe("with_archive"))
         tc.project_options["cfitsio"] = enabled_disabled(self.options.with_cfitsio)
         tc.project_options["cgif"] = enabled_disabled(self.options.with_cgif)
         tc.project_options["exif"] = enabled_disabled(self.options.with_exif)
         tc.project_options["fftw"] = enabled_disabled(self.options.with_fftw)
         tc.project_options["fontconfig"] = enabled_disabled(self.options.with_fontconfig)
-        tc.project_options["gsf"] = enabled_disabled(self.options.with_gsf)
         tc.project_options["heif"] = enabled_disabled(self.options.with_heif)
         tc.project_options["heif-module"] = "disabled"
+        if Version(self.version) >= "8.15":
+            tc.project_options["highway"] = enabled_disabled(self.options.with_highway)
         tc.project_options["imagequant"] = enabled_disabled(self.options.with_imagequant)
         tc.project_options["jpeg"] = enabled_disabled(bool(self.options.with_jpeg))
         tc.project_options["jpeg-xl"] = enabled_disabled(self.options.with_jpeg_xl)
@@ -311,6 +334,8 @@ def package_info(self):
         self.cpp_info.components["vips"].requires = [
             "expat::expat", "glib::glib-2.0", "glib::gio-2.0", "glib::gobject-2.0",
         ]
+        if self.options.get_safe("with_archive"):
+            self.cpp_info.components["vips"].requires.append("libarchive::libarchive")
         if self.options.with_cfitsio:
             self.cpp_info.components["vips"].requires.append("cfitsio::cfitsio")
         if self.options.with_cgif:
@@ -323,6 +348,8 @@ def package_info(self):
             self.cpp_info.components["vips"].requires.append("fontconfig::fontconfig")
         if self.options.with_heif:
             self.cpp_info.components["vips"].requires.append("libheif::libheif")
+        if self.options.get_safe("with_highway"):
+            self.cpp_info.components["vips"].requires.append("highway::highway")
         if self.options.with_jpeg == "libjpeg":
             self.cpp_info.components["vips"].requires.append("libjpeg::libjpeg")
         elif self.options.with_jpeg == "libjpeg-turbo":
diff --git a/recipes/libvips/config.yml b/recipes/libvips/config.yml
index 806cee97d7d96..93b9203bbe82c 100644
--- a/recipes/libvips/config.yml
+++ b/recipes/libvips/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "8.15.1":
+    folder: all
   "8.14.2":
     folder: all

From f145f35c60b296eeca8a1e9a37a5427c25f87176 Mon Sep 17 00:00:00 2001
From: Thomas Sondergaard 
Date: Tue, 16 Jan 2024 12:59:44 +0100
Subject: [PATCH 0868/1307] (#22156) dbus: fix build of 1.15.8 with Visual
 Studio 2022

Instead of using has_header use check_header to confirm the header
works. This is necessary to get the meson build to work with Visual
Studio 2022. It has  but it does not actually work when
compiling a C program.

Fixes #19421
---
 recipes/dbus/1.x.x/conandata.yml              |  5 ++
 ...check_header-to-confirm-headers-work.patch | 46 +++++++++++++++++++
 2 files changed, 51 insertions(+)
 create mode 100755 recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch

diff --git a/recipes/dbus/1.x.x/conandata.yml b/recipes/dbus/1.x.x/conandata.yml
index 04a0982deff4b..691acef617739 100644
--- a/recipes/dbus/1.x.x/conandata.yml
+++ b/recipes/dbus/1.x.x/conandata.yml
@@ -12,6 +12,11 @@ sources:
     url: "https://dbus.freedesktop.org/releases/dbus/dbus-1.15.0.tar.xz"
     sha256: "5073c8cb9ad20226647bb38f4965182b762a6e1f595ccdc8e59411014bfd640a"
 patches:
+  "1.15.8":
+    - patch_file: "patches/0001-meson-Use-check_header-to-confirm-headers-work.patch"
+      patch_type: "portability"
+      patch_description: "Fix build with Visual Studio 2022"
+      patch_source: "https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/454"
   "1.15.2":
     - patch_file: "patches/0003-meson-monotonic-clock-check.patch"
       patch_type: "portability"
diff --git a/recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch b/recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch
new file mode 100755
index 0000000000000..6c048934702b3
--- /dev/null
+++ b/recipes/dbus/1.x.x/patches/0001-meson-Use-check_header-to-confirm-headers-work.patch
@@ -0,0 +1,46 @@
+From e52ccaf7c3abf9d0adccfd001c1417ce08a7f335 Mon Sep 17 00:00:00 2001
+From: Thomas Sondergaard 
+Date: Thu, 4 Jan 2024 17:45:46 +0100
+Subject: [PATCH] meson: Use check_header to confirm headers work
+
+instead of using has_header use check_header to confirm the header
+works. This is necessary to get the meson build to work with Visual
+Studio 2022. It has  but it does not actually work when
+compiling a C program. A minimal C program that include 
+fails with the following errors:
+
+    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2061: syntax error: identifier 'atomic_bool'
+    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2059: syntax error: ';'
+    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2061: syntax error: identifier 'atomic_char'
+    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2059: syntax error: ';'
+    ...
+    ...
+
+check_header is consistent with CMake's
+
+    check_include_file(stdatomic.h  HAVE_STDATOMIC_H)
+
+which is why the CMake-based build of dbus works with Visual Studio
+2022, while the meson build doesn't.
+
+Fixes #494
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 17b2a837..19b41cd9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -705,7 +705,7 @@ check_headers = [
+ 
+ foreach header : check_headers
+     macro = 'HAVE_' + header.underscorify().to_upper()
+-    config.set(macro, cc.has_header(header, args: compile_args_c) ? 1 : false)
++    config.set(macro, cc.check_header(header, args: compile_args_c) ? 1 : false)
+ endforeach
+ 
+ execinfo = cc.find_library('execinfo', required: false)
+-- 
+2.43.0.windows.1
+

From d39d259d19eb24325abd34247e128c2ed1312355 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 16 Jan 2024 13:10:30 +0100
Subject: [PATCH 0869/1307] (#22274) tl-expected: set package_type

---
 recipes/tl-expected/all/conanfile.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes/tl-expected/all/conanfile.py b/recipes/tl-expected/all/conanfile.py
index 9e0aa613d3d14..fcea2d681a64a 100644
--- a/recipes/tl-expected/all/conanfile.py
+++ b/recipes/tl-expected/all/conanfile.py
@@ -14,6 +14,7 @@ class TlExpectedConan(ConanFile):
     description = "C++11/14/17 std::expected with functional-style extensions"
     topics = ("cpp11", "cpp14", "cpp17", "expected")
     license = "CC0-1.0"
+    package_type = "header-library"
     settings = "os", "arch", "compiler", "build_type"
     no_copy_source = True
 

From b8d1dd8e459d72bea17c78f8c841bfcadaf3839f Mon Sep 17 00:00:00 2001
From: Dmitry Baryshev 
Date: Tue, 16 Jan 2024 15:39:39 +0300
Subject: [PATCH 0870/1307] (#22291) sail: Update to 0.9.1

* [sail] Update to 0.9.0 (draft) and remove rc2 as incompatible

* [sail] Fix lint

* [sail] Update to the latest master

* [sail] Remove rc2 artifacts

* [sail] Remove patches

* [sail] Fix webp in upstream

* [sail] Disable SVG and JPEGXL

* [sail] Allow disabling forced codecs with SAIL_DISABLE_CODECS

* [sail] Use BUILD_TESTING

* [sail] Update URL

* [sail] Update URL

* [sail] Update release hash

* [sail] Added _codecs suffix to priorities to make priorities more clear

* [sail] Use libavif 1.0.1

* [sail] Use libavif 1.0.2

* Deprecate codes

Signed-off-by: Uilian Ries 

* Add options description

Signed-off-by: Uilian Ries 

* Use options.get_safe

* Update description for codecs lists

* [sail] Update to 0.9.1

* [sail] Added 0.9.1 to config.yml

* (#22292) glaze: add version 2.0.6

* [sail] Delete with_openmp in package_id()

* [sail] Remove deprecated options

* [sail] Fix high-priority option name

* [sail] Don't delete non-existent option with_openmp

* [sail] Set SAIL_ENABLE_OPENMP in >= 0.9.1 only

* [sail] Fix openmp option name

* [sail] Rename openmp option name

* [sail] Bump versions

* [sail] Use tool_requires with nanosvg

* [sail] Require nanosvg only with >= 0.9.1

* [sail] Disable SVG in 0.9.0

* [sail] Disable OpenMP to test GOMP linker error in static mode

* [sail] Hardcode OpenMP flags

* [sail] Use get_safe('openmp')

* [sail] Disable OpenMP again because of linking errors

* [sail] Uset tool_requires for nanosvg

* [sail] Use headers=True

* [sail] Add nanosvg to components requires

* Update conanfile.py

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Uilian Ries 
Co-authored-by: toge 
---
 recipes/sail/all/conandata.yml |  3 ++
 recipes/sail/all/conanfile.py  | 55 +++++++++-------------------------
 recipes/sail/config.yml        |  2 ++
 3 files changed, 19 insertions(+), 41 deletions(-)

diff --git a/recipes/sail/all/conandata.yml b/recipes/sail/all/conandata.yml
index f34812471ebce..999f5e67c9331 100644
--- a/recipes/sail/all/conandata.yml
+++ b/recipes/sail/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.9.1":
+    url: "https://github.com/HappySeaFox/sail/archive/v0.9.1.tar.gz"
+    sha256: "d02ce889b70d9e237b64806df26b044753e3edf3e87c8af42c32ec9968133a88"
   "0.9.0":
     url: "https://github.com/HappySeaFox/sail/archive/v0.9.0.tar.gz"
     sha256: "892738e0f56fed8c6387e1045bba2bfbf1b095024a495845d4879edb310cd1a7"
diff --git a/recipes/sail/all/conanfile.py b/recipes/sail/all/conanfile.py
index 5f767c3bd62c5..85a8cadc9a916 100644
--- a/recipes/sail/all/conanfile.py
+++ b/recipes/sail/all/conanfile.py
@@ -2,6 +2,7 @@
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rename, rmdir
 from conan.tools.microsoft import is_msvc
+from conan.tools.scm import Version
 import os
 
 required_conan_version = ">=1.53.0"
@@ -23,14 +24,6 @@ class SAILConan(ConanFile):
         "with_medium_priority_codecs": [True, False],
         "with_low_priority_codecs": [True, False],
         "with_lowest_priority_codecs": [True, False],
-        "with_avif": [True, False, "deprecated"],
-        "with_gif": [True, False, "deprecated"],
-        "with_jpeg2000": [True, False, "deprecated"],
-        "with_jpeg": ["libjpeg", "libjpeg-turbo", False, "deprecated"],
-        "with_png": [True, False, "deprecated"],
-        "with_tiff": [True, False, "deprecated"],
-        "with_webp": [True, False, "deprecated"],
-
     }
     default_options = {
         "shared": False,
@@ -41,22 +34,8 @@ class SAILConan(ConanFile):
         "with_medium_priority_codecs": True,
         "with_low_priority_codecs": True,
         "with_lowest_priority_codecs": True,
-        "with_avif": "deprecated",
-        "with_gif": "deprecated",
-        "with_jpeg2000": "deprecated",
-        "with_jpeg": "deprecated",
-        "with_png": "deprecated",
-        "with_tiff": "deprecated",
-        "with_webp": "deprecated",
     }
     options_description = {
-        "with_avif": "Deprecated",
-        "with_gif": "Deprecated",
-        "with_jpeg2000": "Deprecated",
-        "with_jpeg": "Deprecated",
-        "with_png": "Deprecated",
-        "with_tiff": "Deprecated",
-        "with_webp": "Deprecated",
         "with_highest_priority_codecs": "Enable codecs: GIF, JPEG, PNG, TIFF",
         "with_high_priority_codecs": "Enable codecs: BMP, SVG",
         "with_medium_priority_codecs": "Enable codecs: AVIF, JPEG2000, JPEGXL, WEBL",
@@ -64,7 +43,6 @@ class SAILConan(ConanFile):
         "with_lowest_priority_codecs": "Enable codecs: WAL, XBM",
     }
 
-
     def export_sources(self):
         export_conandata_patches(self)
 
@@ -82,29 +60,18 @@ def requirements(self):
             self.requires("libjpeg/9e")
             self.requires("libpng/1.6.40")
             self.requires("libtiff/4.6.0")
+        if self.options.with_high_priority_codecs:
+            if Version(self.version) >= "0.9.1":
+                self.requires("nanosvg/cci.20231025")
         if self.options.with_medium_priority_codecs:
-            self.requires("libavif/1.0.2")
-            self.requires("jasper/4.0.0")
+            self.requires("libavif/1.0.3")
+            self.requires("jasper/4.1.1")
             # TODO Re-enable JPEG XL after merging either of the following:
             #   - https://github.com/conan-io/conan-center-index/pull/13898
             #   - https://github.com/conan-io/conan-center-index/pull/18812
             # self.requires("libjxl/0.6.1")
             self.requires("libwebp/1.3.2")
 
-    def package_id(self):
-        del self.info.options.with_avif
-        del self.info.options.with_gif
-        del self.info.options.with_jpeg2000
-        del self.info.options.with_jpeg
-        del self.info.options.with_png
-        del self.info.options.with_tiff
-        del self.info.options.with_webp
-
-    def validate(self):
-        for option_name in ["with_avif", "with_gif", "with_jpeg2000", "with_jpeg", "with_png", "with_tiff", "with_webp"]:
-            if self.options.get_safe(option_name, "deprecated") != "deprecated":
-                self.output.warning(f"{self.ref}:{option_name} option is deprecated, please, use 'with_xxx_priority_codecs' instead.")
-
     def layout(self):
         cmake_layout(self, src_folder="src")
 
@@ -131,10 +98,14 @@ def generate(self):
         tc.variables["SAIL_BUILD_APPS"]     = False
         tc.variables["SAIL_BUILD_EXAMPLES"] = False
         tc.variables["SAIL_COMBINE_CODECS"] = True
+        tc.variables["SAIL_ENABLE_OPENMP"]  = False
         tc.variables["SAIL_ONLY_CODECS"]    = ";".join(only_codecs)
-        # SVG requires resvg which is not in Conan yet
         # JPEGXL needs porting to Conan2
-        tc.variables["SAIL_DISABLE_CODECS"] = "svg;jpegxl"
+        # SVG with nanosvg is supported in >= 0.9.1
+        if Version(self.version) >= "0.9.1":
+            tc.variables["SAIL_DISABLE_CODECS"] = "jpegxl"
+        else:
+            tc.variables["SAIL_DISABLE_CODECS"] = "jpegxl;svg"
         tc.variables["SAIL_INSTALL_PDB"]    = False
         tc.variables["SAIL_THREAD_SAFE"]    = self.options.thread_safe
         # TODO: Remove after fixing https://github.com/conan-io/conan/issues/12012
@@ -193,6 +164,8 @@ def package_info(self):
             self.cpp_info.components["sail-codecs"].requires.append("libjpeg::libjpeg")
             self.cpp_info.components["sail-codecs"].requires.append("libpng::libpng")
             self.cpp_info.components["sail-codecs"].requires.append("libtiff::libtiff")
+            if Version(self.version) >= "0.9.1":
+                self.cpp_info.components["sail-codecs"].requires.append("nanosvg::nanosvg")
         if self.options.with_medium_priority_codecs:
             self.cpp_info.components["sail-codecs"].requires.append("libavif::libavif")
             self.cpp_info.components["sail-codecs"].requires.append("jasper::jasper")
diff --git a/recipes/sail/config.yml b/recipes/sail/config.yml
index 7dbf8a1dbf4a8..4f3643b98f32b 100644
--- a/recipes/sail/config.yml
+++ b/recipes/sail/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "0.9.1":
+    folder: all
   "0.9.0":
     folder: all

From f9e7ade1d918059b4e06044e88f9cb0535fd3b5c Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 16 Jan 2024 14:49:36 +0200
Subject: [PATCH 0871/1307] (#22314) tmxlite: add v1.4.4

* tmxlite: add v1.4.4

* tmxlite: rmdir lib/pkgconfig
---
 recipes/tmxlite/all/conandata.yml |  3 ++
 recipes/tmxlite/all/conanfile.py  | 48 ++++++++++++++++++++-----------
 recipes/tmxlite/config.yml        |  2 ++
 3 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/recipes/tmxlite/all/conandata.yml b/recipes/tmxlite/all/conandata.yml
index acb2db05df822..e7bc4087210dd 100644
--- a/recipes/tmxlite/all/conandata.yml
+++ b/recipes/tmxlite/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.4.4":
+    url: "https://github.com/fallahn/tmxlite/archive/refs/tags/v1.4.4.tar.gz"
+    sha256: "ec8893efc8396308f291c284cb09f007441a15aabbb0e5722096cf79c65c9e58"
   "1.3.0":
     url: "https://github.com/fallahn/tmxlite/archive/refs/tags/v1.3.0.tar.gz"
     sha256: "f5d2abd23d4516168eb82bbe879998ce41cb17768f8cd72f643f394939123efe"
diff --git a/recipes/tmxlite/all/conanfile.py b/recipes/tmxlite/all/conanfile.py
index 44380126b8654..b272cebfd24cb 100644
--- a/recipes/tmxlite/all/conanfile.py
+++ b/recipes/tmxlite/all/conanfile.py
@@ -6,7 +6,7 @@
 from conan.tools.scm import Version
 import os
 
-required_conan_version = ">=1.52.0"
+required_conan_version = ">=1.53.0"
 
 
 class TmxliteConan(ConanFile):
@@ -17,6 +17,7 @@ class TmxliteConan(ConanFile):
     homepage = "https://github.com/fallahn/tmxlite"
     url = "https://github.com/conan-io/conan-center-index"
 
+    package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
         "shared": [True, False],
@@ -36,17 +37,18 @@ def config_options(self):
 
     def configure(self):
         if self.options.shared:
-            try:
-                del self.options.fPIC
-            except Exception:
-                pass
+            self.options.rm_safe("fPIC")
 
     def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("miniz/2.2.0")
-        self.requires("pugixml/1.12.1")
+        if Version(self.version) < "1.4.1":
+            self.requires("miniz/3.0.2")
+        else:
+            self.requires("zlib/[>=1.2.11 <2]")
+            self.requires("zstd/1.5.5")
+        self.requires("pugixml/1.14")
 
     def validate(self):
         if self.info.settings.compiler.get_safe("cppstd"):
@@ -55,28 +57,38 @@ def validate(self):
             raise ConanInvalidConfiguration("gcc < 5 not supported")
 
     def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-            destination=self.source_folder, strip_root=True)
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
         tc = CMakeToolchain(self)
         tc.variables["TMXLITE_STATIC_LIB"] = not self.options.shared
         tc.variables["PROJECT_STATIC_RUNTIME"] = False
         tc.variables["USE_RTTI"] = True
+        if Version(self.version) >= "1.4.1":
+            tc.variables["USE_EXTLIBS"] = True
         tc.generate()
         deps = CMakeDeps(self)
+        if Version(self.version) >= "1.4.1":
+            deps.set_property("pugixml", "cmake_file_name", "PUGIXML")
+            deps.set_property("zstd", "cmake_file_name", "Zstd")
+            deps.set_property("zstd", "cmake_target_name", "zstd::libzstd")
         deps.generate()
 
     def _patch_sources(self):
         apply_conandata_patches(self)
-        # unvendor miniz
-        rm(self, "miniz*", os.path.join(self.source_folder, "tmxlite", "src"))
-        replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "src", "CMakeLists.txt"),
-                              "${PROJECT_DIR}/miniz.c", "")
-        # unvendor pugixml
-        rmdir(self, os.path.join(self.source_folder, "tmxlite", "src", "detail"))
-        replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "src", "CMakeLists.txt"),
-                              "${PROJECT_DIR}/detail/pugixml.cpp", "")
+        if Version(self.version) < "1.4.0":
+            # unvendor miniz
+            rm(self, "miniz*", os.path.join(self.source_folder, "tmxlite", "src"))
+            replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "src", "CMakeLists.txt"),
+                                  "${PROJECT_DIR}/miniz.c", "")
+            # unvendor pugixml
+            rmdir(self, os.path.join(self.source_folder, "tmxlite", "src", "detail"))
+            replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "src", "CMakeLists.txt"),
+                                  "${PROJECT_DIR}/detail/pugixml.cpp", "")
+        else:
+            replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "CMakeLists.txt"),
+                            "target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES} ${PUGIXML_LIBRARY} ${ZSTD_LIBRARY})",
+                            "target_link_libraries(${PROJECT_NAME} ZLIB::ZLIB pugixml::pugixml zstd::libzstd)")
         # Don't inject -O3 in compile flags
         replace_in_file(self, os.path.join(self.source_folder, "tmxlite", "CMakeLists.txt"),
                               "-O3", "")
@@ -91,6 +103,8 @@ def package(self):
         copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
         cmake = CMake(self)
         cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
 
     def package_info(self):
         self.cpp_info.libs = collect_libs(self)
diff --git a/recipes/tmxlite/config.yml b/recipes/tmxlite/config.yml
index 426a0e4c79e9b..33f41bd49b3a4 100644
--- a/recipes/tmxlite/config.yml
+++ b/recipes/tmxlite/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.4.4":
+    folder: all
   "1.3.0":
     folder: all

From c3b2f80995c8791d85dc430f435f9bcda9f745fc Mon Sep 17 00:00:00 2001
From: Ingmar Rieger 
Date: Tue, 16 Jan 2024 14:10:58 +0100
Subject: [PATCH 0872/1307] (#22329) opencolorio: Add version 2.3.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Add version 2.3.1 of opencolorio

* Add missing entry in config.yml

* Fix CI issues

---------

Co-authored-by: Rubén Rincón Blanco 
---
 recipes/opencolorio/all/conandata.yml         |  11 ++
 ...001-fix-cmake-source-dir-and-targets.patch | 101 ++++++++++++++++++
 .../2.3.1-0002-portability-patches.patch      |  26 +++++
 recipes/opencolorio/config.yml                |   2 +
 4 files changed, 140 insertions(+)
 create mode 100644 recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch
 create mode 100644 recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch

diff --git a/recipes/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml
index a48a93147f585..b92cedca0d55d 100644
--- a/recipes/opencolorio/all/conandata.yml
+++ b/recipes/opencolorio/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.3.1":
+    url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.1.tar.gz"
+    sha256: "7196e979a0449ce28afd46a78383476f3b8fc1cc1d3a417192be439ede83437b"
   "2.3.0":
     url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.0.tar.gz"
     sha256: "32b7be676c110d849a77886d8a409159f0367309b2b2f5dae5aa0c38f42b445a"
@@ -12,6 +15,14 @@ sources:
     url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz"
     sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8"
 patches:
+  "2.3.1":
+    - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch"
+      patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR"
+      patch_type: "conan"
+    - patch_file: "patches/2.3.1-0002-portability-patches.patch"
+      patch_description: "fix include path for pystring & namespace for strlen"
+      patch_type: "portability"
+      patch_source: "https://github.com/AcademySoftwareFoundation/OpenColorIO/pull/1930"
   "2.3.0":
     - patch_file: "patches/2.3.0-0001-fix-cmake-source-dir-and-targets.patch"
       patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR"
diff --git a/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch b/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch
new file mode 100644
index 0000000000000..32aeb5a81a422
--- /dev/null
+++ b/recipes/opencolorio/all/patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch
@@ -0,0 +1,101 @@
+diff --git CMakeLists.txt CMakeLists.txt
+index 7b62a993..5ea33694 100755
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -511,7 +511,7 @@ install(
+     FILE ${OCIO_TARGETS_EXPORT_NAME}
+ )
+ 
+-if (NOT BUILD_SHARED_LIBS)
++if (0)
+     # Install custom macros used in the find modules.
+     install(FILES
+         ${CMAKE_CURRENT_LIST_DIR}/share/cmake/macros/VersionUtils.cmake
+diff --git share/cmake/modules/FindExtPackages.cmake share/cmake/modules/FindExtPackages.cmake
+index 2625242c..dcb41cf2 100644
+--- share/cmake/modules/FindExtPackages.cmake
++++ share/cmake/modules/FindExtPackages.cmake
+@@ -63,7 +63,7 @@ ocio_handle_dependency(  expat REQUIRED ALLOW_INSTALL
+ # https://github.com/jbeder/yaml-cpp
+ ocio_handle_dependency(  yaml-cpp REQUIRED ALLOW_INSTALL
+                          MIN_VERSION 0.6.3
+-                         RECOMMENDED_VERSION 0.7.0
++                         RECOMMENDED_VERSION 0.8.0
+                          RECOMMENDED_VERSION_REASON "Latest version tested with OCIO")
+ 
+ # pystring
+@@ -110,9 +110,9 @@ ocio_handle_dependency(  ZLIB REQUIRED ALLOW_INSTALL
+ 
+ # minizip-ng
+ # https://github.com/zlib-ng/minizip-ng
+-ocio_handle_dependency(  minizip-ng REQUIRED ALLOW_INSTALL
++ocio_handle_dependency(  minizip REQUIRED ALLOW_INSTALL
+                          MIN_VERSION 3.0.6
+-                         RECOMMENDED_VERSION 3.0.7
++                         RECOMMENDED_VERSION 4.0.1
+                          RECOMMENDED_VERSION_REASON "Latest version tested with OCIO")
+ 
+ ###############################################################################
+@@ -131,7 +131,7 @@ if(OCIO_BUILD_APPS)
+ 
+     # lcms2
+     # https://github.com/mm2/Little-CMS
+-    ocio_handle_dependency(  lcms2 REQUIRED ALLOW_INSTALL
++    ocio_handle_dependency(  lcms REQUIRED ALLOW_INSTALL
+                              MIN_VERSION 2.2
+                              RECOMMENDED_VERSION 2.2
+                              RECOMMENDED_VERSION_REASON "Latest version tested with OCIO")
+diff --git share/cmake/utils/CppVersion.cmake share/cmake/utils/CppVersion.cmake
+index 175d89c2..ac93b87a 100644
+--- share/cmake/utils/CppVersion.cmake
++++ share/cmake/utils/CppVersion.cmake
+@@ -16,7 +16,7 @@ elseif(NOT CMAKE_CXX_STANDARD IN_LIST SUPPORTED_CXX_STANDARDS)
+             "CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} is unsupported. Supported standards are: ${SUPPORTED_CXX_STANDARDS_STR}.")
+ endif()
+ 
+-set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}")
++# set_property(CACHE CMAKE_CXX_STANDARD PROPERTY STRINGS "${SUPPORTED_CXX_STANDARDS}")
+ 
+ include(CheckCXXCompilerFlag)
+ 
+diff --git src/OpenColorIO/CMakeLists.txt src/OpenColorIO/CMakeLists.txt
+index 26b4bb4c..d54cff3d 100755
+--- src/OpenColorIO/CMakeLists.txt
++++ src/OpenColorIO/CMakeLists.txt
+@@ -309,8 +309,8 @@ target_link_libraries(OpenColorIO
+         "$"
+         "$"
+         "$"
+-        ${YAML_CPP_LIBRARIES}
+-        MINIZIP::minizip-ng
++        yaml-cpp
++        MINIZIP::minizip
+ )
+ 
+ if(OCIO_USE_SIMD AND OCIO_USE_SSE2NEON AND COMPILER_SUPPORTS_SSE_WITH_SSE2NEON)
+diff --git src/apps/ocioarchive/CMakeLists.txt src/apps/ocioarchive/CMakeLists.txt
+index 599d706f..efe6cd5a 100644
+--- src/apps/ocioarchive/CMakeLists.txt
++++ src/apps/ocioarchive/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(ocioarchive
+     PRIVATE
+         apputils
+         OpenColorIO
+-        MINIZIP::minizip-ng
++        MINIZIP::minizip
+ )
+ 
+ include(StripUtils)
+diff --git src/apps/ociobakelut/CMakeLists.txt src/apps/ociobakelut/CMakeLists.txt
+index 3d6e586b..f7069a1f 100755
+--- src/apps/ociobakelut/CMakeLists.txt
++++ src/apps/ociobakelut/CMakeLists.txt
+@@ -29,7 +29,7 @@ set_target_properties(ociobakelut
+ target_link_libraries(ociobakelut 
+     PRIVATE 
+         apputils
+-        lcms2::lcms2
++        lcms::lcms
+         OpenColorIO
+ )
+ 
diff --git a/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch b/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch
new file mode 100644
index 0000000000000..74f936d23ea9b
--- /dev/null
+++ b/recipes/opencolorio/all/patches/2.3.1-0002-portability-patches.patch
@@ -0,0 +1,26 @@
+diff --git src/OpenColorIO/ConfigUtils.cpp src/OpenColorIO/ConfigUtils.cpp
+index 2e774726..b4228ff7 100644
+--- src/OpenColorIO/ConfigUtils.cpp
++++ src/OpenColorIO/ConfigUtils.cpp
+@@ -3,7 +3,7 @@
+ 
+ #include "ConfigUtils.h"
+ #include "MathUtils.h"
+-#include "pystring/pystring.h"
++#include "pystring.h"
+ #include "utils/StringUtils.h"
+ 
+ namespace OCIO_NAMESPACE
+diff --git src/OpenColorIO/FileRules.cpp src/OpenColorIO/FileRules.cpp
+index 61a5e0f1..e0df0d02 100644
+--- src/OpenColorIO/FileRules.cpp
++++ src/OpenColorIO/FileRules.cpp
+@@ -62,7 +62,7 @@ std::string ConvertToRegularExpression(const char * globPattern, bool ignoreCase
+ 
+     if (ignoreCase)
+     {
+-        const size_t length = strlen(globPattern);
++        const size_t length = std::strlen(globPattern);
+         bool respectCase = false;
+         for (size_t i = 0; i < length; ++i)
+         {
diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml
index 89be14d13a1d0..dc936cbaf95e1 100644
--- a/recipes/opencolorio/config.yml
+++ b/recipes/opencolorio/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.3.1":
+    folder: "all"
   "2.3.0":
     folder: "all"
   "2.2.1":

From ad671208f72d05b4b3394fa3c0b6a2f0158e6107 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 16 Jan 2024 15:33:24 +0200
Subject: [PATCH 0873/1307] (#22349) tqdm-cpp: new recipe

---
 recipes/tqdm-cpp/all/conandata.yml            |  4 ++
 recipes/tqdm-cpp/all/conanfile.py             | 66 +++++++++++++++++++
 .../tqdm-cpp/all/test_package/CMakeLists.txt  |  8 +++
 .../tqdm-cpp/all/test_package/conanfile.py    | 26 ++++++++
 .../all/test_package/test_package.cpp         | 16 +++++
 recipes/tqdm-cpp/config.yml                   |  3 +
 6 files changed, 123 insertions(+)
 create mode 100644 recipes/tqdm-cpp/all/conandata.yml
 create mode 100644 recipes/tqdm-cpp/all/conanfile.py
 create mode 100644 recipes/tqdm-cpp/all/test_package/CMakeLists.txt
 create mode 100644 recipes/tqdm-cpp/all/test_package/conanfile.py
 create mode 100644 recipes/tqdm-cpp/all/test_package/test_package.cpp
 create mode 100644 recipes/tqdm-cpp/config.yml

diff --git a/recipes/tqdm-cpp/all/conandata.yml b/recipes/tqdm-cpp/all/conandata.yml
new file mode 100644
index 0000000000000..b887e54b61bb3
--- /dev/null
+++ b/recipes/tqdm-cpp/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "cci.20200603":
+    url: "https://codeload.github.com/mraggi/tqdm-cpp/zip/7e57e58550ac14e580ac9eeb948956e541402083"
+    sha256: "a6f129d330b1e6f73a221758800fec669157587faa43b050f36458a414448dfe"
diff --git a/recipes/tqdm-cpp/all/conanfile.py b/recipes/tqdm-cpp/all/conanfile.py
new file mode 100644
index 0000000000000..70497c1b12381
--- /dev/null
+++ b/recipes/tqdm-cpp/all/conanfile.py
@@ -0,0 +1,66 @@
+import os
+
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import copy, get
+from conan.tools.layout import basic_layout
+from conan.tools.scm import Version
+
+required_conan_version = ">=1.52.0"
+
+
+class TqdmCppConan(ConanFile):
+    name = "tqdm-cpp"
+    description = "Easily display progress in C++17. Inspired by python's awesome tqdm library."
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/mraggi/tqdm-cpp"
+    topics = ("progress", "progressbar", "command-line", "header-only")
+
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "7",
+            "clang": "6",
+            "apple-clang": "11",
+            "msvc": "191",
+            "Visual Studio": "15",
+        }
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.")
+
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def build(self):
+        pass
+
+    def package(self):
+        copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        copy(self, "tqdm.hpp",self.source_folder, os.path.join(self.package_folder, "include"))
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
diff --git a/recipes/tqdm-cpp/all/test_package/CMakeLists.txt b/recipes/tqdm-cpp/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..75f886c04d1ce
--- /dev/null
+++ b/recipes/tqdm-cpp/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(tqdm-cpp REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE  tqdm-cpp::tqdm-cpp)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
diff --git a/recipes/tqdm-cpp/all/test_package/conanfile.py b/recipes/tqdm-cpp/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..3a91c9439218e
--- /dev/null
+++ b/recipes/tqdm-cpp/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/tqdm-cpp/all/test_package/test_package.cpp b/recipes/tqdm-cpp/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..a32056d993faa
--- /dev/null
+++ b/recipes/tqdm-cpp/all/test_package/test_package.cpp
@@ -0,0 +1,16 @@
+#include 
+
+#include 
+#include 
+#include 
+
+int main()
+{
+    using namespace std::chrono_literals;
+    auto delay = 5ms;
+    std::vector A(50, 0);
+    for (int a : tq::tqdm(A)) {
+        std::this_thread::sleep_for(delay);
+    }
+    return 0;
+}
diff --git a/recipes/tqdm-cpp/config.yml b/recipes/tqdm-cpp/config.yml
new file mode 100644
index 0000000000000..7208e0ea0a4e0
--- /dev/null
+++ b/recipes/tqdm-cpp/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "cci.20200603":
+    folder: all

From f1868a256afeeb551651aca627838135ab9ed10c Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 16 Jan 2024 14:46:48 +0100
Subject: [PATCH 0874/1307] (#22350) Osmanip: fix 4.4.0 url

* osmanip: fix 4.4.0 url

* osmanip: bump arsenalgear

* fix 4.4.0 sources

* remove dep on arsenalgear

* don't build examples

* simplify test recipe

* remove boost dep

https://github.com/JustWhit3/osmanip/commit/7db9c16cb9c698b1afb4502b260d50b69e84fab8#diff-e076e43cb817ecc8b3c2ed18cd58baa50544ecc66293ed6e61129c43ca6a09cc

* disable msvc

* Update conanfile.py
---
 recipes/osmanip/all/CMakeLists.txt            |  6 +++
 recipes/osmanip/all/conandata.yml             |  4 +-
 recipes/osmanip/all/conanfile.py              | 22 +++++----
 .../osmanip/all/test_package/test_package.cpp | 49 -------------------
 4 files changed, 21 insertions(+), 60 deletions(-)

diff --git a/recipes/osmanip/all/CMakeLists.txt b/recipes/osmanip/all/CMakeLists.txt
index 61c36dedcabb0..a8dff1c7823ce 100644
--- a/recipes/osmanip/all/CMakeLists.txt
+++ b/recipes/osmanip/all/CMakeLists.txt
@@ -7,6 +7,12 @@ add_library(osmanip)
 target_sources(osmanip PRIVATE
     src/graphics/canvas.cpp
     src/graphics/plot_2D.cpp
+    $<$:
+        src/utility/iostream.cpp
+        src/utility/output_redirector.cpp
+        src/utility/sstream.cpp
+        src/utility/strings.cpp
+    >
     $<$:
         src/manipulators/colsty.cpp
         src/manipulators/common.cpp
diff --git a/recipes/osmanip/all/conandata.yml b/recipes/osmanip/all/conandata.yml
index 389cbb0c53e8a..fd06c3edca398 100644
--- a/recipes/osmanip/all/conandata.yml
+++ b/recipes/osmanip/all/conandata.yml
@@ -3,8 +3,8 @@ sources:
     url: "https://github.com/JustWhit3/osmanip/archive/v4.6.1.tar.gz"
     sha256: "5454cb0caced1fb9af90666001f2874786a33e6830024cb41c99a5b4ab966f1c"
   "4.4.0":
-    url: "https://github.com/JustWhit3/osmanip/archive/v4.3.0.tar.gz"
-    sha256: "e0d982d19792c3e438e3be99f789434b66788f9a7114f217b3c5f28d0121af7f"
+    url: "https://github.com/JustWhit3/osmanip/archive/v4.4.0.tar.gz"
+    sha256: "61c08255afe4fa8694771ed139d9d8a4d5edfba56ffbd25997019a41f6923314"
   "4.3.0":
     url: "https://github.com/JustWhit3/osmanip/archive/v4.3.0.tar.gz"
     sha256: "e0d982d19792c3e438e3be99f789434b66788f9a7114f217b3c5f28d0121af7f"
diff --git a/recipes/osmanip/all/conanfile.py b/recipes/osmanip/all/conanfile.py
index b7b07c911f7e0..b4052b2cbc953 100644
--- a/recipes/osmanip/all/conanfile.py
+++ b/recipes/osmanip/all/conanfile.py
@@ -2,8 +2,9 @@
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
-from conan.tools.files import copy, get, rmdir, replace_in_file
+from conan.tools.files import copy, get, rmdir, replace_in_file, save
 from conan.tools.scm import Version
+from conan.tools.microsoft import is_msvc
 
 import os
 
@@ -46,12 +47,10 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("boost/1.83.0")
-        # osmanip/progressbar/progress_bar.hpp includes arsenalgear/constants.hpp
-        if Version(self.version) < "4.2.0":
-            self.requires("arsenalgear/1.2.2", transitive_headers=True)
-        else:
-            self.requires("arsenalgear/2.0.1", transitive_headers=True)
+        # https://github.com/JustWhit3/osmanip/commit/43c8bd8d018fcb3bce6443f7388e042d5457d4fb
+        if Version(self.version) < "4.6.0":
+            # osmanip/progressbar/progress_bar.hpp includes arsenalgear/constants.hpp
+            self.requires("arsenalgear/2.1.0", transitive_headers=True)
 
     @property
     def _min_cppstd(self):
@@ -77,9 +76,12 @@ def validate(self):
                 f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
             )
 
-        if Version(self.version) >= "4.5.0" and self.settings.get_safe("compiler.libcxx") == "libstdc++":
+        if Version(self.version) >= "4.4.0" and self.settings.get_safe("compiler.libcxx") == "libstdc++":
             # test_package segfaults with libstdc++ for some reason
-            raise ConanInvalidConfiguration("osmanip >= 4.5.0 doesn't support libstdc++")
+            raise ConanInvalidConfiguration("osmanip >= 4.4.0 doesn't support libstdc++")
+
+        if is_msvc(self):
+            raise ConanInvalidConfiguration("MSVC is not yet supported by osmanip recipe. Contributions are welcome.")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -104,6 +106,8 @@ def _patch_sources(self):
             replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
                             "    DESTINATION lib\n",
                             "    RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib\n")
+        save(self, os.path.join(self.source_folder, "examples", "CMakeLists.txt"), "")
+        save(self, os.path.join(self.source_folder, "deps", "doctest", "CMakeLists.txt"), "")
 
     def build(self):
         self._patch_sources()
diff --git a/recipes/osmanip/all/test_package/test_package.cpp b/recipes/osmanip/all/test_package/test_package.cpp
index 40b8aeea9e04b..fd39db19a8533 100644
--- a/recipes/osmanip/all/test_package/test_package.cpp
+++ b/recipes/osmanip/all/test_package/test_package.cpp
@@ -2,7 +2,6 @@
 // https://github.com/JustWhit3/osmanip/blob/v4.0.0/examples/progressbar.cpp
 
 // My headers
-#include "osmanip/progressbar/multi_progress_bar.hpp"
 #include "osmanip/progressbar/progress_bar.hpp"
 #ifdef _WIN32
 #include "osmanip/utility/windows.hpp"
@@ -14,9 +13,7 @@
 #endif
 
 // STD headers
-#include 
 #include 
-#include 
 
 //====================================================
 //     Percentage bar
@@ -40,56 +37,10 @@ perc_bars() {
     std::cout << "This is a normal percentage bar: "
               << "\n";
     for (int i = percentage_bar.getMin(); i < percentage_bar.getMax(); i++) {
-        std::this_thread::sleep_for(std::chrono::milliseconds(1));
         percentage_bar.update(i);
         // Do some operations...
     }
     std::cout << "\n\n";
-
-    // Percentage bar with message and different style:
-    osm::ProgressBar percentage_bar_2(1.2f, 4.4f);
-    percentage_bar_2.setMessage("processing...");
-    percentage_bar_2.setStyle("indicator", "/100");
-
-    std::cout << "This is a percentage bar with message and the /100 style: "
-              << "\n";
-    for (float i = percentage_bar_2.getMin(); i < percentage_bar_2.getMax(); i += 0.1f) {
-        std::this_thread::sleep_for(std::chrono::milliseconds(1));
-        percentage_bar_2.update(i);
-        // Do some operations...
-    }
-    std::cout << "\n\n";
-
-    // Percentage bar with time consuming info:
-    percentage_bar.resetMessage();
-    percentage_bar.setStyle("indicator", "%");
-
-    std::cout << "This is a percentage bar with time consuming info: "
-              << "\n";
-    for (int i = percentage_bar.getMin(); i < percentage_bar.getMax(); i++) {
-        percentage_bar.setBegin();
-        std::this_thread::sleep_for(std::chrono::milliseconds(1));
-        percentage_bar.update(i);
-        // Do some operations...
-        percentage_bar.setEnd();
-    }
-    std::cout << "\n"
-              << "Time needed to complete the previous loop: " << percentage_bar.getTime() << " ms."
-              << "\n\n";
-
-    // Percentage bar with estimated time left:
-    percentage_bar.setMin(2);
-    percentage_bar.setMax(121);
-    percentage_bar.setRemainingTimeFlag("on");
-    percentage_bar.resetRemainingTime();
-
-    std::cout << "This is a percentage bar with time-remaining info: "
-              << "\n";
-    for (int i = percentage_bar.getMin(); i < percentage_bar.getMax(); i++) {
-        std::this_thread::sleep_for(std::chrono::milliseconds(1));
-        percentage_bar.update(i);
-        // Do some operations...
-    }
     std::cout << "\n\n";
 }
 

From d961392cb9e1dfc4711e827561c22665a09af5c0 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 16 Jan 2024 15:20:28 +0100
Subject: [PATCH 0875/1307] (#22354) gettext:bump deps

* gettext:bump deps

* add xz_utils requirement
---
 recipes/gettext/all/test_package/conanfile.py    | 1 +
 recipes/gettext/all/test_v1_package/conanfile.py | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes/gettext/all/test_package/conanfile.py b/recipes/gettext/all/test_package/conanfile.py
index 8ef53a96f7ded..882b297a65cf5 100644
--- a/recipes/gettext/all/test_package/conanfile.py
+++ b/recipes/gettext/all/test_package/conanfile.py
@@ -23,6 +23,7 @@ def requirements(self):
     def build_requirements(self):
         self.tool_requires(self.tested_reference_str)
         self.tool_requires("automake/1.16.5")
+        self.tool_requires("xz_utils/5.4.5")
         if self._settings_build.os == "Windows" and not self.conf.get("tools.microsoft.bash:path", check_type=str):
             self.tool_requires("msys2/cci.latest")
 
diff --git a/recipes/gettext/all/test_v1_package/conanfile.py b/recipes/gettext/all/test_v1_package/conanfile.py
index 9e810ecf433fc..d35f2c0d29fb4 100644
--- a/recipes/gettext/all/test_v1_package/conanfile.py
+++ b/recipes/gettext/all/test_v1_package/conanfile.py
@@ -18,7 +18,8 @@ def requirements(self):
 
     def build_requirements(self):
         self.build_requires(self.tested_reference_str)
-        self.build_requires("automake/1.16.4")
+        self.build_requires("automake/1.16.5")
+        self.build_requires("xz_utils/5.4.5")
         if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"):
             self.build_requires("msys2/cci.latest")
 

From e9374dcbbfc3534b75bb9b3f0c5c9ef21b1a0d69 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 16 Jan 2024 16:31:46 +0200
Subject: [PATCH 0876/1307] (#22355) nudb: fix typo in "cmake_find_mode"

---
 recipes/nudb/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/nudb/all/conanfile.py b/recipes/nudb/all/conanfile.py
index bd9db41da603f..7b03f03a6026b 100644
--- a/recipes/nudb/all/conanfile.py
+++ b/recipes/nudb/all/conanfile.py
@@ -54,7 +54,7 @@ def package_info(self):
 
         self.cpp_info.set_property("cmake_target_name", "NuDB")
         self.cpp_info.set_property("cmake_target_aliases", ["NuDB::nudb"])
-        self.cpp_info.set_property("cmake_find_module", "both")
+        self.cpp_info.set_property("cmake_find_mode", "both")
 
         self.cpp_info.components["core"].set_property("cmake_target_name", "nudb")
         self.cpp_info.components["core"].names["cmake_find_package"] = "nudb"

From fb4d22a175a177220de2aabc742f067b5c83f1bb Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 16 Jan 2024 16:43:43 +0200
Subject: [PATCH 0877/1307] (#22368) spix: add v0.7

---
 recipes/spix/all/conandata.yml                 | 16 +++-------------
 recipes/spix/all/conanfile.py                  | 18 ++++++++----------
 .../all/patches/0001-use-conan-libs-0.4.patch  | 10 ----------
 .../all/patches/0001-use-conan-libs-0.5.patch  | 10 ----------
 .../all/patches/0001-use-conan-libs-0.6.patch  | 10 ----------
 recipes/spix/config.yml                        |  2 ++
 6 files changed, 13 insertions(+), 53 deletions(-)
 delete mode 100644 recipes/spix/all/patches/0001-use-conan-libs-0.4.patch
 delete mode 100644 recipes/spix/all/patches/0001-use-conan-libs-0.5.patch
 delete mode 100644 recipes/spix/all/patches/0001-use-conan-libs-0.6.patch

diff --git a/recipes/spix/all/conandata.yml b/recipes/spix/all/conandata.yml
index 69403c56106cb..40af11d5a96ee 100644
--- a/recipes/spix/all/conandata.yml
+++ b/recipes/spix/all/conandata.yml
@@ -8,16 +8,6 @@ sources:
   "0.6":
     url: "https://github.com/faaxm/spix/archive/refs/tags/v0.6.tar.gz"
     sha256: "5b2f4b89e112f3b31d8576923c2ac4a6913ae3c2a0042640846a65c4af39ac05"
-patches:
-  "0.4":
-    - patch_file: "patches/0001-use-conan-libs-0.4.patch"
-      patch_description: "Link to conan libs"
-      patch_type: "conan"
-  "0.5":
-    - patch_file: "patches/0001-use-conan-libs-0.5.patch"
-      patch_description: "Link to conan libs"
-      patch_type: "conan"
-  "0.6":
-    - patch_file: "patches/0001-use-conan-libs-0.6.patch"
-      patch_description: "Link to conan libs"
-      patch_type: "conan"
+  "0.7":
+    url: "https://github.com/faaxm/spix/archive/refs/tags/v0.7.tar.gz"
+    sha256: "a5b290d4959d1e57397eb2b03fb8965150cd3f0c18c13933dbbd4f75a09e8437"
diff --git a/recipes/spix/all/conanfile.py b/recipes/spix/all/conanfile.py
index e4a33c59e2c81..a7b8b05ad6264 100644
--- a/recipes/spix/all/conanfile.py
+++ b/recipes/spix/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, replace_in_file
+from conan.tools.files import get, copy, rm, rmdir, replace_in_file
 from conan.tools.build import check_min_cppstd
 from conan.tools.scm import Version
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
@@ -50,9 +50,6 @@ def _compilers_minimum_version(self):
                 "apple-clang": "10",
             }
 
-    def export_sources(self):
-        export_conandata_patches(self)
-
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
@@ -66,8 +63,8 @@ def layout(self):
 
     def requirements(self):
         self.requires("anyrpc/1.0.2")
-        self.requires("qt/6.5.3")
-        
+        self.requires("qt/6.6.1")
+
     def validate(self):
         if self.settings.compiler.cppstd:
             check_min_cppstd(self, self._minimum_cpp_standard)
@@ -98,9 +95,10 @@ def generate(self):
         deps.generate()
 
     def _patch_sources(self):
-        apply_conandata_patches(self)
+        rmdir(self, os.path.join(self.source_folder, "cmake", "modules"))
         if self.version == "0.4" and Version(self.dependencies["qt"].ref.version).major == 6:
-            replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set(CMAKE_CXX_STANDARD 14)", "set(CMAKE_CXX_STANDARD 17)")
+            replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
+                            "set(CMAKE_CXX_STANDARD 14)", "set(CMAKE_CXX_STANDARD 17)")
 
     def build(self):
         self._patch_sources()
@@ -122,9 +120,9 @@ def package(self):
 
     def package_info(self):
         self.cpp_info.libs = ["Spix"]
-        self.cpp_info.set_property("cmake_file_name", "Spix") 
+        self.cpp_info.set_property("cmake_file_name", "Spix")
         self.cpp_info.set_property("cmake_target_name", "Spix::Spix")
-        
+
         # TODO remove once conan v2 removed cmake_find_package_*
         self.cpp_info.names["cmake_find_package"] = "Spix"
         self.cpp_info.names["cmake_find_package_multi"] = "Spix"
diff --git a/recipes/spix/all/patches/0001-use-conan-libs-0.4.patch b/recipes/spix/all/patches/0001-use-conan-libs-0.4.patch
deleted file mode 100644
index 7d0727e24bbf9..0000000000000
--- a/recipes/spix/all/patches/0001-use-conan-libs-0.4.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,6 @@ option(SPIX_BUILD_EXAMPLES "Build Spix examples." ON)
- option(SPIX_BUILD_TESTS "Build Spix unit tests." OFF)
- set(SPIX_QT_MAJOR "6" CACHE STRING "Major Qt version to build Spix against")
- 
--set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")
- set(CMAKE_CXX_STANDARD 14)
- 
- # Hide symbols unless explicitly flagged with SPIX_EXPORT
diff --git a/recipes/spix/all/patches/0001-use-conan-libs-0.5.patch b/recipes/spix/all/patches/0001-use-conan-libs-0.5.patch
deleted file mode 100644
index 0746373586081..0000000000000
--- a/recipes/spix/all/patches/0001-use-conan-libs-0.5.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,6 @@ option(SPIX_BUILD_EXAMPLES "Build Spix examples." ON)
- option(SPIX_BUILD_TESTS "Build Spix unit tests." OFF)
- set(SPIX_QT_MAJOR "6" CACHE STRING "Major Qt version to build Spix against")
- 
--set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")
- set(CMAKE_CXX_STANDARD 17)
- 
- # Hide symbols unless explicitly flagged with SPIX_EXPORT
diff --git a/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch b/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch
deleted file mode 100644
index 0746373586081..0000000000000
--- a/recipes/spix/all/patches/0001-use-conan-libs-0.6.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -5,7 +5,6 @@ option(SPIX_BUILD_EXAMPLES "Build Spix examples." ON)
- option(SPIX_BUILD_TESTS "Build Spix unit tests." OFF)
- set(SPIX_QT_MAJOR "6" CACHE STRING "Major Qt version to build Spix against")
- 
--set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/cmake/modules")
- set(CMAKE_CXX_STANDARD 17)
- 
- # Hide symbols unless explicitly flagged with SPIX_EXPORT
diff --git a/recipes/spix/config.yml b/recipes/spix/config.yml
index 74b40e9de2d7f..39966b3a9945b 100644
--- a/recipes/spix/config.yml
+++ b/recipes/spix/config.yml
@@ -5,3 +5,5 @@ versions:
     folder: all
   "0.6":
     folder: all
+  "0.7":
+    folder: all

From 65b01f28670b491213f451174c942ba8b74dc0a6 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 16 Jan 2024 23:55:08 +0900
Subject: [PATCH 0878/1307] (#22376) sqlite3: add version 3.45.0

---
 recipes/sqlite3/all/conandata.yml | 3 +++
 recipes/sqlite3/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml
index d1238ae4e2a8d..259a744cc0620 100644
--- a/recipes/sqlite3/all/conandata.yml
+++ b/recipes/sqlite3/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.45.0":
+    url: "https://sqlite.org/2024/sqlite-amalgamation-3450000.zip"
+    sha256: "bde30d13ebdf84926ddd5e8b6df145be03a577a48fd075a087a5dd815bcdf740"
   "3.44.2":
     url: "https://sqlite.org/2023/sqlite-amalgamation-3440200.zip"
     sha256: "833be89b53b3be8b40a2e3d5fedb635080e3edb204957244f3d6987c2bb2345f"
diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml
index 8f761c32c82b7..5f439897761d1 100644
--- a/recipes/sqlite3/config.yml
+++ b/recipes/sqlite3/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.45.0":
+    folder: all
   "3.44.2":
     folder: all
   "3.44.1":

From fdad444551b8ae5bc92535df8041549a0194c8db Mon Sep 17 00:00:00 2001
From: igormironchik 
Date: Tue, 16 Jan 2024 18:39:46 +0300
Subject: [PATCH 0879/1307] (#22377) md4qt: bump version

---
 recipes/md4qt/all/conandata.yml | 3 +++
 recipes/md4qt/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml
index eff17ed6266f4..cc9bbf285e26b 100644
--- a/recipes/md4qt/all/conandata.yml
+++ b/recipes/md4qt/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.5.1":
+    url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.1.tar.gz"
+    sha256: "6f13fc59fbfbc778df932cf328a5720989e59e5b06278731bd852d07472b5520"
   "2.5.0":
     url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.0.tar.gz"
     sha256: "5965552f15d37475f37f644feaee62a89225312e1c82e813b7a119943d82c808"
diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml
index b315c5ff7a964..fe319a033be49 100644
--- a/recipes/md4qt/config.yml
+++ b/recipes/md4qt/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.5.1":
+    folder: all
   "2.5.0":
     folder: all
   "2.4.4":

From ae332db3020b35ea4568dbd7c6ff1c3641bcd0b4 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 16 Jan 2024 16:52:17 +0100
Subject: [PATCH 0880/1307] (#22285) Bump/pulseaudio/all
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* pulseaudio/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* pulseaudio/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

---------

Co-authored-by: Rubén Rincón Blanco 
---
 recipes/pulseaudio/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py
index 1a469fa5694df..a97d2d4216634 100644
--- a/recipes/pulseaudio/all/conanfile.py
+++ b/recipes/pulseaudio/all/conanfile.py
@@ -64,7 +64,7 @@ def requirements(self):
         if self.options.with_alsa:
             self.requires("libalsa/1.2.10")
         if self.options.with_glib:
-            self.requires("glib/2.78.1")
+            self.requires("glib/2.78.3")
         if self.options.get_safe("with_fftw"):
             self.requires("fftw/3.3.10")
         if self.options.with_x11:
@@ -89,7 +89,7 @@ def build_requirements(self):
         self.tool_requires("gettext/0.21")
         self.tool_requires("libtool/2.4.7")
         if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From 6a2e966e3b47a946c134b1e8e491c4b9319e2188 Mon Sep 17 00:00:00 2001
From: Uno Wu 
Date: Wed, 17 Jan 2024 02:17:39 +0800
Subject: [PATCH 0881/1307] (#22383) aws-c-common: add version 0.9.12

---
 recipes/aws-c-common/all/conandata.yml | 3 +++
 recipes/aws-c-common/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/aws-c-common/all/conandata.yml b/recipes/aws-c-common/all/conandata.yml
index 9261747efd7d9..0b34391746ed3 100644
--- a/recipes/aws-c-common/all/conandata.yml
+++ b/recipes/aws-c-common/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.9.12":
+    url: "https://github.com/awslabs/aws-c-common/archive/v0.9.12.tar.gz"
+    sha256: "10ef8f5629fb6ac24aa4893f3bb9a8480997e96a58c81043e019bf6b149f4332"
   "0.9.6":
     url: "https://github.com/awslabs/aws-c-common/archive/v0.9.6.tar.gz"
     sha256: "5c30cc066a7f05fb8e4728f93aeed0e0e2698197a6df76237ac4e1200977d090"
diff --git a/recipes/aws-c-common/config.yml b/recipes/aws-c-common/config.yml
index 86ea79fbcf2ff..0ba98edce43a1 100644
--- a/recipes/aws-c-common/config.yml
+++ b/recipes/aws-c-common/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.9.12":
+    folder: all
   "0.9.6":
     folder: all
   "0.9.3":

From 4246071945abee48a1f232e962106733123b748a Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Tue, 16 Jan 2024 12:25:55 -0800
Subject: [PATCH 0882/1307] (#22386) gegles-spdlog_setup: bump to
 `spdlog/1.13.0`

---
 recipes/gegles-spdlog_setup/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py
index 9df1297d17bd7..be8372966178f 100644
--- a/recipes/gegles-spdlog_setup/all/conanfile.py
+++ b/recipes/gegles-spdlog_setup/all/conanfile.py
@@ -39,7 +39,7 @@ def layout(self):
 
     def requirements(self):
         self.requires("cpptoml/0.1.1")
-        self.requires("spdlog/1.12.0")
+        self.requires("spdlog/1.13.0")
         self.requires("fmt/10.2.0")
 
     def package_id(self):

From 0921bf3a17f8be99546e9b7c55b9dba0dd5be4d5 Mon Sep 17 00:00:00 2001
From: toge 
Date: Wed, 17 Jan 2024 07:32:43 +0900
Subject: [PATCH 0883/1307] (#22385) libxml2: add version 2.12.4

---
 recipes/libxml2/all/conandata.yml | 3 +++
 recipes/libxml2/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml
index 680c5c30397da..6fd6c7f9c74c0 100644
--- a/recipes/libxml2/all/conandata.yml
+++ b/recipes/libxml2/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.12.4":
+    url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.4.tar.xz"
+    sha256: "497360e423cf0bd99eacdb7c6215dea92e6d6e89ee940393c2bae0e77cb9b7d0"
   "2.12.3":
     url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.3.tar.xz"
     sha256: "8c8f1092340a89ff32bc44ad5c9693aff9bc8a7a3e161bb239666e5d15ac9aaa"
diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml
index fa0445d49d104..2edcc26fbec6f 100644
--- a/recipes/libxml2/config.yml
+++ b/recipes/libxml2/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.12.4":
+    folder: all
   "2.12.3":
     folder: all
   "2.12.2":

From 7d2b21ed00c4255e165de0b02d326ee48e8230f3 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Wed, 17 Jan 2024 04:00:18 +0200
Subject: [PATCH 0884/1307] (#21904) log4cplus: add v2.1.1, v1.2.2, drop old
 versions

* log4cplus: add v2.1.1, v1.2.2, drop old versions

* log4cplus: limit v1 to C++14

Due to std::auto_ptr use.

* log4cplus: add a comment to justify the v1 version
---
 recipes/log4cplus/all/conandata.yml           | 35 ++++++++-----------
 recipes/log4cplus/all/conanfile.py            |  5 ++-
 .../all/patches/1.2.2-0001-fix-cmake.patch    | 12 +++++++
 .../all/patches/2.0.4-0001-fix-cmake.patch    | 21 -----------
 .../log4cplus/all/test_package/CMakeLists.txt |  6 +++-
 .../all/test_package/test_package_v1.cpp      | 16 +++++++++
 recipes/log4cplus/config.yml                  |  8 ++---
 7 files changed, 54 insertions(+), 49 deletions(-)
 create mode 100644 recipes/log4cplus/all/patches/1.2.2-0001-fix-cmake.patch
 delete mode 100644 recipes/log4cplus/all/patches/2.0.4-0001-fix-cmake.patch
 create mode 100644 recipes/log4cplus/all/test_package/test_package_v1.cpp

diff --git a/recipes/log4cplus/all/conandata.yml b/recipes/log4cplus/all/conandata.yml
index a0ac90c32b364..3625645bc7de9 100644
--- a/recipes/log4cplus/all/conandata.yml
+++ b/recipes/log4cplus/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.1.1":
+    url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_1_1/log4cplus-2.1.1.tar.bz2"
+    sha256: "6597de782775e4e0fba8fdcad938c3709fd839a8084c4b6edfae3cc5046e2688"
   "2.1.0":
     url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_1_0/log4cplus-2.1.0.tar.bz2"
     sha256: "a04945aca5fbc0487503c852befb9cdefbc3ae3fe614b08a905333f6df754387"
@@ -8,38 +11,28 @@ sources:
   "2.0.7":
     url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_0_7/log4cplus-2.0.7.tar.bz2"
     sha256: "8fadbafee2ba4e558a0f78842613c9fb239c775d83f23340d091084c0e1b12ab"
-  "2.0.6":
-    url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_0_6/log4cplus-2.0.6.tar.bz2"
-    sha256: "1a963afd0f883d62de946b18927d238051fd47936e415eabeffe2b1397f16eca"
-  "2.0.5":
-    url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_0_5/log4cplus-2.0.5.tar.bz2"
-    sha256: "b38dbfc68ef6d771e4de7de0be3544bc51bd3f7d5b75c5f6500d10e23203eb15"
-  "2.0.4":
-    url: "https://github.com/log4cplus/log4cplus/releases/download/REL_2_0_4/log4cplus-2.0.4.tar.bz2"
-    sha256: "0c8a7b4cabff07032385f0c6d1a078d2a79c69b1c43b06991ca774fb85880252"
-
+  # v1 is required for the openvdb recipe
+  "1.2.2":
+    url: "https://github.com/log4cplus/log4cplus/releases/download/REL_1_2_2/log4cplus-1.2.2.tar.bz2"
+    sha256: "853efd919f9ca76c518c0944e6b0ced1174523a86b6db046ed4f23fe695167bd"
 patches:
-  "2.1.0":
+  "2.1.1":
     - patch_file: "patches/2.0.6-0001-fix-cmake.patch"
       patch_description: "disable fPIC, move cmake_minimum_version to front"
       patch_type: "conan"
-  "2.0.8":
+  "2.1.0":
     - patch_file: "patches/2.0.6-0001-fix-cmake.patch"
       patch_description: "disable fPIC, move cmake_minimum_version to front"
       patch_type: "conan"
-  "2.0.7":
+  "2.0.8":
     - patch_file: "patches/2.0.6-0001-fix-cmake.patch"
       patch_description: "disable fPIC, move cmake_minimum_version to front"
       patch_type: "conan"
-  "2.0.6":
+  "2.0.7":
     - patch_file: "patches/2.0.6-0001-fix-cmake.patch"
       patch_description: "disable fPIC, move cmake_minimum_version to front"
       patch_type: "conan"
-  "2.0.5":
-    - patch_file: "patches/2.0.4-0001-fix-cmake.patch"
-      patch_description: "disable fPIC, move cmake_minimum_version to front"
-      patch_type: "conan"
-  "2.0.4":
-    - patch_file: "patches/2.0.4-0001-fix-cmake.patch"
-      patch_description: "disable fPIC, move cmake_minimum_version to front"
+  "1.2.2":
+    - patch_file: "patches/1.2.2-0001-fix-cmake.patch"
+      patch_description: "move cmake_minimum_version to front"
       patch_type: "conan"
diff --git a/recipes/log4cplus/all/conanfile.py b/recipes/log4cplus/all/conanfile.py
index 6d7e6eed30a07..5851367f991c2 100644
--- a/recipes/log4cplus/all/conanfile.py
+++ b/recipes/log4cplus/all/conanfile.py
@@ -1,6 +1,7 @@
 from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
 from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, collect_libs
-from conan.tools.build import check_min_cppstd
+from conan.tools.build import check_min_cppstd, valid_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.scm import Version
 import os
@@ -62,6 +63,8 @@ def requirements(self):
     def validate(self):
         if self.settings.compiler.cppstd:
             check_min_cppstd(self, 11)
+            if Version(self.version) < 2 and valid_min_cppstd(self, 17):
+                raise ConanInvalidConfiguration("log4cplus < 2.0.0 does not support C++17")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
diff --git a/recipes/log4cplus/all/patches/1.2.2-0001-fix-cmake.patch b/recipes/log4cplus/all/patches/1.2.2-0001-fix-cmake.patch
new file mode 100644
index 0000000000000..29c239101f640
--- /dev/null
+++ b/recipes/log4cplus/all/patches/1.2.2-0001-fix-cmake.patch
@@ -0,0 +1,12 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -11,8 +11,8 @@
+ # Remove when CMake >= 2.8.4 is required
+ set (CMAKE_LEGACY_CYGWIN_WIN32 0)
+ 
++cmake_minimum_required (VERSION 3.15)
+ project (log4cplus)
+-cmake_minimum_required (VERSION 2.8.12)
+ 
+ enable_language (CXX)
+ include(GNUInstallDirs)
diff --git a/recipes/log4cplus/all/patches/2.0.4-0001-fix-cmake.patch b/recipes/log4cplus/all/patches/2.0.4-0001-fix-cmake.patch
deleted file mode 100644
index d76b76d7eee51..0000000000000
--- a/recipes/log4cplus/all/patches/2.0.4-0001-fix-cmake.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index abe12e0..73d443f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,3 +1,5 @@
-+cmake_minimum_required (VERSION 3.1)
-+
- # This block needs to stay before the project (log4cplus) line so that
- #  the output files placed into Android's libs directory.
- if (CMAKE_TOOLCHAIN_FILE)
-@@ -12,10 +14,6 @@ endif ()
- set (CMAKE_LEGACY_CYGWIN_WIN32 0)
- 
- project (log4cplus)
--cmake_minimum_required (VERSION 3.1)
--
--# Use "-fPIC" / "-fPIE" for all targets by default, including static libs.
--set (CMAKE_POSITION_INDEPENDENT_CODE ON)
- 
- enable_language (CXX)
- if (MSVC)
diff --git a/recipes/log4cplus/all/test_package/CMakeLists.txt b/recipes/log4cplus/all/test_package/CMakeLists.txt
index d9b0e93737a79..0a50a283c1bb4 100644
--- a/recipes/log4cplus/all/test_package/CMakeLists.txt
+++ b/recipes/log4cplus/all/test_package/CMakeLists.txt
@@ -3,6 +3,10 @@ project(test_package LANGUAGES CXX)
 
 find_package(log4cplus REQUIRED CONFIG)
 
-add_executable(${PROJECT_NAME} test_package.cpp)
+if(log4cplus_VERSION VERSION_GREATER_EQUAL 2)
+    add_executable(${PROJECT_NAME} test_package.cpp)
+else()
+    add_executable(${PROJECT_NAME} test_package_v1.cpp)
+endif()
 target_link_libraries(${PROJECT_NAME} PRIVATE log4cplus::log4cplus)
 target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
diff --git a/recipes/log4cplus/all/test_package/test_package_v1.cpp b/recipes/log4cplus/all/test_package/test_package_v1.cpp
new file mode 100644
index 0000000000000..bd0d86df7ec39
--- /dev/null
+++ b/recipes/log4cplus/all/test_package/test_package_v1.cpp
@@ -0,0 +1,16 @@
+#include 
+#include 
+#include 
+
+int main()
+{
+    log4cplus::initialize();
+
+    log4cplus::BasicConfigurator config;
+    config.configure();
+
+    log4cplus::Logger logger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("main"));
+    LOG4CPLUS_WARN(logger, LOG4CPLUS_TEXT("Hello, World!"));
+
+    return 0;
+}
diff --git a/recipes/log4cplus/config.yml b/recipes/log4cplus/config.yml
index c48cbc75b8c2f..2862fb5934cdf 100644
--- a/recipes/log4cplus/config.yml
+++ b/recipes/log4cplus/config.yml
@@ -1,13 +1,11 @@
 versions:
+  "2.1.1":
+    folder: all
   "2.1.0":
     folder: all
   "2.0.8":
     folder: all
   "2.0.7":
     folder: all
-  "2.0.6":
-    folder: all
-  "2.0.5":
-    folder: all
-  "2.0.4":
+  "1.2.2":
     folder: all

From 8b40ef8fb0be2322ca328cadebaf54d81f47a940 Mon Sep 17 00:00:00 2001
From: toge 
Date: Wed, 17 Jan 2024 11:29:41 +0900
Subject: [PATCH 0885/1307] (#22388) nuklear: add version 4.12.0

---
 recipes/nuklear/all/conandata.yml | 3 +++
 recipes/nuklear/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/nuklear/all/conandata.yml b/recipes/nuklear/all/conandata.yml
index d11d172a2e7ff..f0b7ee2207d6b 100644
--- a/recipes/nuklear/all/conandata.yml
+++ b/recipes/nuklear/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "4.12.0":
+    url: "https://github.com/Immediate-Mode-UI/Nuklear/archive/4.12.0.tar.gz"
+    sha256: "4cb80084d20d20561548a2941b6d1eb7c30e6f0b9405e0d5df84bae3c1d7bbaf"
   "4.10.6":
     url: "https://github.com/Immediate-Mode-UI/Nuklear/archive/4.10.6.tar.gz"
     sha256: "1baa1c9603ef20e6410a931de65d3fe07def5266fa7a61cdf1ffd241b3109a99"
diff --git a/recipes/nuklear/config.yml b/recipes/nuklear/config.yml
index 96278eaa477be..bb8a95e082cf9 100644
--- a/recipes/nuklear/config.yml
+++ b/recipes/nuklear/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "4.12.0":
+    folder: all
   "4.10.6":
     folder: all
   "4.10.1":

From b876419d1ca7f11b8a6c635955125bbac778ef07 Mon Sep 17 00:00:00 2001
From: tomasz-wezyk <108529188+tomasz-wezyk@users.noreply.github.com>
Date: Wed, 17 Jan 2024 10:47:26 +0100
Subject: [PATCH 0886/1307] (#22221) Fix onetbb compilation issue

---
 recipes/onetbb/all/conanfile.py | 2 --
 1 file changed, 2 deletions(-)

diff --git a/recipes/onetbb/all/conanfile.py b/recipes/onetbb/all/conanfile.py
index 771f1bcbec3de..b0c66b51e5856 100644
--- a/recipes/onetbb/all/conanfile.py
+++ b/recipes/onetbb/all/conanfile.py
@@ -80,8 +80,6 @@ def config_options(self):
     def configure(self):
         if Version(self.version) >= "2021.6.0" and not self.options.tbbmalloc:
             self.options.rm_safe("tbbproxy")
-        if self._tbbbind_explicit_hwloc:
-            self.options["hwloc"].shared = True
 
     def layout(self):
         cmake_layout(self, src_folder="src")

From d1b336e31089323cb8f13eee8382be20daff33b9 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Wed, 17 Jan 2024 12:20:23 +0200
Subject: [PATCH 0887/1307] (#22300) glbinding: add v3.3.0

* glbinding: add v3.3.0

* glbinding: do not install() irrelevant files

* glbinding: fix Windows installation

* glbinding: remove unnecessary patch
---
 recipes/glbinding/all/conandata.yml              |  9 +++++++--
 .../all/patches/{ => 3.1}/cmake-install.patch    |  0
 .../all/patches/{ => 3.1}/getProcAddr.patch      |  0
 .../all/patches/3.3/cmake-install.patch          | 16 ++++++++++++++++
 recipes/glbinding/config.yml                     |  2 ++
 5 files changed, 25 insertions(+), 2 deletions(-)
 rename recipes/glbinding/all/patches/{ => 3.1}/cmake-install.patch (100%)
 rename recipes/glbinding/all/patches/{ => 3.1}/getProcAddr.patch (100%)
 create mode 100644 recipes/glbinding/all/patches/3.3/cmake-install.patch

diff --git a/recipes/glbinding/all/conandata.yml b/recipes/glbinding/all/conandata.yml
index c3868ee88cb4c..9b8d3422ed887 100644
--- a/recipes/glbinding/all/conandata.yml
+++ b/recipes/glbinding/all/conandata.yml
@@ -1,8 +1,13 @@
 sources:
+  "3.3.0":
+    url: "https://github.com/cginternals/glbinding/archive/v3.3.0.tar.gz"
+    sha256: "a0aa5e67b538649979a71705313fc2b2c3aa49cf9af62a97f7ee9a665fd30564"
   "3.1.0":
     url: "https://github.com/cginternals/glbinding/archive/v3.1.0.tar.gz"
     sha256: "6729b260787108462ec6d8954f32a3f11f959ada7eebf1a2a33173b68762849e"
 patches:
+  "3.3.0":
+    - patch_file: "patches/3.3/cmake-install.patch"
   "3.1.0":
-    - patch_file: "patches/cmake-install.patch"
-    - patch_file: "patches/getProcAddr.patch"
+    - patch_file: "patches/3.1/cmake-install.patch"
+    - patch_file: "patches/3.1/getProcAddr.patch"
diff --git a/recipes/glbinding/all/patches/cmake-install.patch b/recipes/glbinding/all/patches/3.1/cmake-install.patch
similarity index 100%
rename from recipes/glbinding/all/patches/cmake-install.patch
rename to recipes/glbinding/all/patches/3.1/cmake-install.patch
diff --git a/recipes/glbinding/all/patches/getProcAddr.patch b/recipes/glbinding/all/patches/3.1/getProcAddr.patch
similarity index 100%
rename from recipes/glbinding/all/patches/getProcAddr.patch
rename to recipes/glbinding/all/patches/3.1/getProcAddr.patch
diff --git a/recipes/glbinding/all/patches/3.3/cmake-install.patch b/recipes/glbinding/all/patches/3.3/cmake-install.patch
new file mode 100644
index 0000000000000..2e146402917de
--- /dev/null
+++ b/recipes/glbinding/all/patches/3.3/cmake-install.patch
@@ -0,0 +1,16 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -179,11 +179,11 @@ if(UNIX AND SYSTEM_DIR_INSTALL)
+     set(INSTALL_INIT      "/etc/init")              # /etc/init (upstart init scripts)
+ else()
+     # Install into local directory
+-    set(INSTALL_ROOT      ".")                      # ./
++    set(INSTALL_ROOT      "share")                      # ./
+     set(INSTALL_CMAKE     "cmake")                  # ./cmake
+     set(INSTALL_EXAMPLES  ".")                      # ./
+     set(INSTALL_DATA      ".")                      # ./
+-    set(INSTALL_BIN       ".")                      # ./
++    set(INSTALL_BIN       "bin")                      # ./
+     set(INSTALL_SHARED    "lib")                    # ./lib
+     set(INSTALL_LIB       "lib")                    # ./lib
+     set(INSTALL_INCLUDE   "include")                # ./include
diff --git a/recipes/glbinding/config.yml b/recipes/glbinding/config.yml
index baa80af0c4b7d..e574d205652e6 100644
--- a/recipes/glbinding/config.yml
+++ b/recipes/glbinding/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "3.3.0":
+    folder: all
   "3.1.0":
     folder: all

From 66b72191f954c14707c04ed15654e4e1efb8ca8d Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 11:30:55 +0100
Subject: [PATCH 0888/1307] (#22390) logr: bump deps

* logr: bump deps

* bump logr/0.1.0
---
 recipes/logr/0.1.0/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/logr/0.1.0/conanfile.py b/recipes/logr/0.1.0/conanfile.py
index 967c8e88b68f9..81afa6869020b 100644
--- a/recipes/logr/0.1.0/conanfile.py
+++ b/recipes/logr/0.1.0/conanfile.py
@@ -46,13 +46,13 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("fmt/9.1.0")
+        self.requires("fmt/10.2.0")
         if self.options.backend == "spdlog":
-            self.requires("spdlog/1.11.0")
+            self.requires("spdlog/1.13.0")
         elif self.options.backend == "glog":
             self.requires("glog/0.6.0")
         elif self.options.backend in ["log4cplus", "log4cplus-unicode"]:
-            self.requires("log4cplus/2.0.5")
+            self.requires("log4cplus/2.1.1")
 
     def package_id(self):
         self.info.clear()

From 8a180fc9ccba9285f227ba4e2d4fe4ab6bb57be0 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 13:01:45 +0100
Subject: [PATCH 0889/1307] (#22394) vulkan-loader/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/vulkan-loader/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/vulkan-loader/all/conanfile.py b/recipes/vulkan-loader/all/conanfile.py
index 408b02f227457..d1e31f8184d88 100644
--- a/recipes/vulkan-loader/all/conanfile.py
+++ b/recipes/vulkan-loader/all/conanfile.py
@@ -79,7 +79,7 @@ def validate(self):
     def build_requirements(self):
         if self._is_pkgconf_needed:
             if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-                self.tool_requires("pkgconf/2.0.3")
+                self.tool_requires("pkgconf/2.1.0")
         if self._is_mingw:
             self.tool_requires("jwasm/2.13")
         if Version(self.version) >= "1.3.234":

From 2902c2eb7f9f39b42db519ea0de23324503aaafb Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 13:42:20 +0100
Subject: [PATCH 0890/1307] (#22392) Bump/libepoxy/all

* libepoxy/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* libepoxy/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* libepoxy/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* libepoxy/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/libepoxy/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/libepoxy/all/conanfile.py b/recipes/libepoxy/all/conanfile.py
index 2f9f112de0a99..d5969c6674838 100644
--- a/recipes/libepoxy/all/conanfile.py
+++ b/recipes/libepoxy/all/conanfile.py
@@ -70,7 +70,7 @@ def validate(self):
             raise ConanInvalidConfiguration("Static builds on Windows are not supported")
 
     def build_requirements(self):
-        self.tool_requires("meson/1.2.1")
+        self.tool_requires("meson/1.3.1")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From e4a98280433fb7208bd4b48f741cc0cf24c65ab3 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 13:53:52 +0100
Subject: [PATCH 0891/1307] (#22395) Bump/libxft/all

* libxft/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* libxft/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* libxft/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/libxft/all/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/libxft/all/conanfile.py b/recipes/libxft/all/conanfile.py
index fdb9b1a6c8663..1fef477064c1e 100644
--- a/recipes/libxft/all/conanfile.py
+++ b/recipes/libxft/all/conanfile.py
@@ -46,12 +46,12 @@ def layout(self):
     def requirements(self):
         self.requires("xorg/system")
         self.requires("freetype/2.13.2", transitive_headers=True)
-        self.requires("fontconfig/2.14.2", transitive_headers=True)
+        self.requires("fontconfig/2.15.0", transitive_headers=True)
 
     def build_requirements(self):
         if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
-        self.tool_requires("xorg-macros/1.19.3")
+            self.tool_requires("pkgconf/2.1.0")
+        self.tool_requires("xorg-macros/1.20.0")
         self.tool_requires("libtool/2.4.7")
 
     def source(self):

From 2b283de2fab171c7b3150727b48a5493807fdcc1 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 14:20:27 +0100
Subject: [PATCH 0892/1307] (#22397) Bump/glfw/all

* glfw/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* glfw/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/glfw/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/glfw/all/conanfile.py b/recipes/glfw/all/conanfile.py
index c27f9801a9ee6..21f5e6b8c247b 100644
--- a/recipes/glfw/all/conanfile.py
+++ b/recipes/glfw/all/conanfile.py
@@ -68,7 +68,7 @@ def layout(self):
     def requirements(self):
         self.requires("opengl/system")
         if self.options.vulkan_static:
-            self.requires("vulkan-loader/1.3.243.0")
+            self.requires("vulkan-loader/1.3.268.0")
         if self.settings.os in ["Linux", "FreeBSD"]:
             if self.options.get_safe("with_x11", True):
                 self.requires("xorg/system")
@@ -86,7 +86,7 @@ def build_requirements(self):
             if self._has_build_profile:
                 self.tool_requires("wayland/")
             if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-                self.tool_requires("pkgconf/2.0.3")
+                self.tool_requires("pkgconf/2.1.0")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From c95084e1f8e6b96dcc14ebadb761ca0c6390dfdc Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 14:32:06 +0100
Subject: [PATCH 0893/1307] (#22398) Bump/at spi2 core/new

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* at-spi2-core/new: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/at-spi2-core/new/conanfile.py              | 6 +++---
 recipes/at-spi2-core/new/test_package/conanfile.py | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/recipes/at-spi2-core/new/conanfile.py b/recipes/at-spi2-core/new/conanfile.py
index 02a871957ee4f..265bde97b8ace 100644
--- a/recipes/at-spi2-core/new/conanfile.py
+++ b/recipes/at-spi2-core/new/conanfile.py
@@ -49,13 +49,13 @@ def configure(self):
         self.settings.rm_safe("compiler.cppstd")
 
     def build_requirements(self):
-        self.tool_requires("meson/1.2.2")
+        self.tool_requires("meson/1.3.1")
         if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
         self.tool_requires("glib/")
 
     def requirements(self):
-        self.requires("glib/2.78.0")
+        self.requires("glib/2.78.3")
         if self.options.with_x11:
             self.requires("xorg/system")
         if self.settings.os == "Linux":
diff --git a/recipes/at-spi2-core/new/test_package/conanfile.py b/recipes/at-spi2-core/new/test_package/conanfile.py
index 5aab0703e7a4e..45e2b8f908a8f 100644
--- a/recipes/at-spi2-core/new/test_package/conanfile.py
+++ b/recipes/at-spi2-core/new/test_package/conanfile.py
@@ -17,9 +17,9 @@ def requirements(self):
         self.requires(self.tested_reference_str)
 
     def build_requirements(self):
-        self.tool_requires("meson/1.2.2")
+        self.tool_requires("meson/1.3.1")
         if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
 
     def build(self):
         meson = Meson(self)

From a320a04c3d0ee571af1e2a17686b158984c1e934 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 15:01:41 +0100
Subject: [PATCH 0894/1307] (#22399) Bump/pdcurses/all

* pdcurses/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* pdcurses/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/pdcurses/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/pdcurses/all/conanfile.py b/recipes/pdcurses/all/conanfile.py
index 3a01de34987fe..b50701ab1011d 100644
--- a/recipes/pdcurses/all/conanfile.py
+++ b/recipes/pdcurses/all/conanfile.py
@@ -59,7 +59,7 @@ def layout(self):
 
     def requirements(self):
         if self.options.with_sdl:
-            self.requires("sdl/2.28.3", transitive_libs=True)
+            self.requires("sdl/2.28.5", transitive_libs=True)
         if self.options.get_safe("with_x11"):
             self.requires("xorg/system")
 
@@ -77,7 +77,7 @@ def validate(self):
     def build_requirements(self):
         if not is_msvc(self):
             if not self.conf.get("tools.gnu:make_program", check_type=str):
-                self.tool_requires("make/4.4")
+                self.tool_requires("make/4.4.1")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From 051f25057c1553cb845dc993f6a7f0a12fb05b80 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Wed, 17 Jan 2024 15:12:39 +0100
Subject: [PATCH 0895/1307] (#22400) Bump/fltk/all

* fltk/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* fltk/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/fltk/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/fltk/all/conanfile.py b/recipes/fltk/all/conanfile.py
index 98a5fa5237529..31462b1c91873 100644
--- a/recipes/fltk/all/conanfile.py
+++ b/recipes/fltk/all/conanfile.py
@@ -73,7 +73,7 @@ def requirements(self):
             if self.options.with_gl:
                 self.requires("opengl/system")
                 self.requires("glu/system")
-            self.requires("fontconfig/2.14.2")
+            self.requires("fontconfig/2.15.0")
             self.requires("xorg/system")
             if self.options.with_xft:
                 self.requires("libxft/2.3.8")

From 9bf05652a75071203f4c1a9bef8f96494f10db2d Mon Sep 17 00:00:00 2001
From: igormironchik 
Date: Wed, 17 Jan 2024 17:23:17 +0300
Subject: [PATCH 0896/1307] (#22402) md4qt: bump version

---
 recipes/md4qt/all/conandata.yml | 3 +++
 recipes/md4qt/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml
index cc9bbf285e26b..bc4bdba660829 100644
--- a/recipes/md4qt/all/conandata.yml
+++ b/recipes/md4qt/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.5.2":
+    url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.2.tar.gz"
+    sha256: "f6af98d2b7c405419b4505bf25eb0363cad3561fa78c34001e8dada082812d76"
   "2.5.1":
     url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.1.tar.gz"
     sha256: "6f13fc59fbfbc778df932cf328a5720989e59e5b06278731bd852d07472b5520"
diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml
index fe319a033be49..3198a4a0679bb 100644
--- a/recipes/md4qt/config.yml
+++ b/recipes/md4qt/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.5.2":
+    folder: all
   "2.5.1":
     folder: all
   "2.5.0":

From 6c865c357ca16eab64b31b8881da335f2d99d641 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 18 Jan 2024 01:21:51 +0900
Subject: [PATCH 0897/1307] (#22407) xmlsec: update dependencies

---
 recipes/xmlsec/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/xmlsec/all/conanfile.py b/recipes/xmlsec/all/conanfile.py
index 6e4e83fb62094..cafb303fe93b8 100644
--- a/recipes/xmlsec/all/conanfile.py
+++ b/recipes/xmlsec/all/conanfile.py
@@ -60,7 +60,7 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("libxml2/2.12.3", transitive_headers=True)
+        self.requires("libxml2/2.12.4", transitive_headers=True)
         if self.options.with_openssl:
             self.requires("openssl/[>=1.1 <4]", transitive_headers=True)
         if self.options.with_xslt:

From 435ee27b1b257a5c4f5156ee45335af0bfad5d83 Mon Sep 17 00:00:00 2001
From: fdgStilla <79465612+fdgStilla@users.noreply.github.com>
Date: Wed, 17 Jan 2024 17:31:33 +0100
Subject: [PATCH 0898/1307] (#22151) qt: fix include path too long for msvc on
 windows

* Fix long path on windows

* Add new line at end of file

* Apply suggestions from code review: add patch_source

Co-authored-by: ericLemanissier 

* Update recipe to trigger CI

* Fix compilation with cmake 3.28

* Revert "Update recipe to trigger CI"

This reverts commit 6afe0e7b95bbeface1fc8456eb57db5a791b35d6.

* Update recipe to trigger CI

* Fix patch file

* Update to trigger CI

---------

Co-authored-by: ericLemanissier 
---
 recipes/qt/6.x.x/conandata.yml                | 25 +++++++++++
 recipes/qt/6.x.x/conanfile.py                 |  3 +-
 .../fix-long-path-on-windows_6.5.3.patch      | 16 +++++++
 .../fix-long-path-on-windows_6.6.0.patch      | 16 +++++++
 .../fix-long-path-on-windows_6.6.1.patch      | 16 +++++++
 recipes/qt/6.x.x/patches/fix_cmake3.28.patch  | 45 +++++++++++++++++++
 6 files changed, 119 insertions(+), 2 deletions(-)
 create mode 100644 recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.5.3.patch
 create mode 100644 recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.0.patch
 create mode 100644 recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.1.patch
 create mode 100644 recipes/qt/6.x.x/patches/fix_cmake3.28.patch

diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml
index d81c0510b2a8f..689f7e5a3e8eb 100644
--- a/recipes/qt/6.x.x/conandata.yml
+++ b/recipes/qt/6.x.x/conandata.yml
@@ -74,6 +74,11 @@ patches:
       "patch_file": "patches/32fa63f.patch"
       "patch_type": "bugfix"
       "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920"
+    - "base_path": "qtbase"
+      "patch_description": "Use absolute path in the generated header files to avoid relative path longer than 250 characters (not supported on by msvc compiler)"
+      "patch_file": "patches/fix-long-path-on-windows_6.6.1.patch"
+      "patch_type": "bugfix"
+      "patch_source": "https://code.qt.io/cgit/qt/qtbase.git/commit/?id=b4246a5c28472de3c4b6a85a3daf4a1d578894ab"
   "6.6.0":
     - "base_path": "qtwebengine"
       "patch_description": "Workaround for too long .rps file name"
@@ -85,6 +90,11 @@ patches:
       "patch_file": "patches/32fa63f.patch"
       "patch_type": "bugfix"
       "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920"
+    - "base_path": "qtbase"
+      "patch_description": "Use absolute path in the generated header files to avoid relative path longer than 250 characters (not supported on by msvc compiler)"
+      "patch_file": "patches/fix-long-path-on-windows_6.6.0.patch"
+      "patch_type": "bugfix"
+      "patch_source": "https://code.qt.io/cgit/qt/qtbase.git/commit/?id=b4246a5c28472de3c4b6a85a3daf4a1d578894ab"
   "6.5.3":
     - "base_path": "qtwebengine"
       "patch_description": "Workaround for too long .rps file name"
@@ -96,6 +106,11 @@ patches:
       "patch_file": "patches/32fa63f_6.5.0.patch"
       "patch_type": "bugfix"
       "patch_source": "https://bugreports.qt.io/browse/QTBUG-112920"
+    - "base_path": "qtbase"
+      "patch_description": "Use absolute path in the generated header files to avoid relative path longer than 250 characters (not supported on by msvc compiler)"
+      "patch_file": "patches/fix-long-path-on-windows_6.5.3.patch"
+      "patch_type": "bugfix"
+      "patch_source": "https://code.qt.io/cgit/qt/qtbase.git/commit/?id=b4246a5c28472de3c4b6a85a3daf4a1d578894ab"
   "6.4.2":
     - base_path: "qtbase/cmake"
       patch_description: "Fix pri helpers"
@@ -112,6 +127,11 @@ patches:
       patch_description: "Fix PCRE2 detection"
       patch_type: "bugfix"
       patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/445885"
+    - patch_file: "patches/fix_cmake3.28.patch"
+      base_path: "qtbase"
+      patch_description: "CMake: Fix build with CMake 3.28 on macOS"
+      patch_source: "https://github.com/qt/qtbase/commit/0efea8020c1d221635aaa0a71529edb392cfe3cc"
+      patch_type: "bugfix"
   "6.3.2":
     - base_path: "qtbase/cmake"
       patch_description: "Fix pri helpers"
@@ -128,3 +148,8 @@ patches:
       patch_description: "Fix PCRE2 detection"
       patch_source: "https://codereview.qt-project.org/c/qt/qtbase/+/445885"
       patch_type: "bugfix"
+    - patch_file: "patches/fix_cmake3.28.patch"
+      base_path: "qtbase"
+      patch_description: "CMake: Fix build with CMake 3.28 on macOS"
+      patch_source: "https://github.com/qt/qtbase/commit/0efea8020c1d221635aaa0a71529edb392cfe3cc"
+      patch_type: "bugfix"
diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py
index a0967b918228d..487aa72894acb 100644
--- a/recipes/qt/6.x.x/conanfile.py
+++ b/recipes/qt/6.x.x/conanfile.py
@@ -5,8 +5,8 @@
 
 from conan import ConanFile
 from conan.tools.apple import is_apple_os
-from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.build import cross_building, check_min_cppstd, default_cppstd
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.env import VirtualBuildEnv, VirtualRunEnv, Environment
 from conan.tools.files import copy, get, replace_in_file, apply_conandata_patches, save, rm, rmdir, export_conandata_patches
 from conan.tools.gnu import PkgConfigDeps
@@ -627,7 +627,6 @@ def source(self):
                   strip_root=True, destination=destination)
 
         # patching in source method because of no_copy_source attribute
-
         apply_conandata_patches(self)
         for f in ["renderer", os.path.join("renderer", "core"), os.path.join("renderer", "platform")]:
             replace_in_file(self, os.path.join(self.source_folder, "qtwebengine", "src", "3rdparty", "chromium", "third_party", "blink", f, "BUILD.gn"),
diff --git a/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.5.3.patch b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.5.3.patch
new file mode 100644
index 0000000000000..2b9a861e60903
--- /dev/null
+++ b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.5.3.patch
@@ -0,0 +1,16 @@
+--- a/src/tools/syncqt/main.cpp
++++ b/src/tools/syncqt/main.cpp
+@@ -851,12 +851,7 @@
+
+         bool headerFileExists = std::filesystem::exists(headerFile);
+
+-        std::filesystem::path headerFileRootName =
+-                std::filesystem::weakly_canonical(headerFile, ec).root_name();
+-        std::string aliasedFilepath = !ec && headerFileRootName == m_outputRootName
+-                ? std::filesystem::relative(headerFile, outputDir).generic_string()
+-                : headerFile.generic_string();
+-        ec.clear();
++        std::string aliasedFilepath = headerFile.generic_string();
+
+         std::string aliasPath = outputDir + '/' + m_currentFilename;
+ 
diff --git a/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.0.patch b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.0.patch
new file mode 100644
index 0000000000000..2dd2a1e5feed3
--- /dev/null
+++ b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.0.patch
@@ -0,0 +1,16 @@
+--- a/src/tools/syncqt/main.cpp
++++ b/src/tools/syncqt/main.cpp
+@@ -875,12 +875,7 @@
+
+         bool headerFileExists = std::filesystem::exists(headerFile);
+
+-        std::filesystem::path headerFileRootName =
+-                std::filesystem::weakly_canonical(headerFile, ec).root_name();
+-        std::string aliasedFilepath = !ec && headerFileRootName == m_outputRootName
+-                ? std::filesystem::relative(headerFile, outputDir).generic_string()
+-                : headerFile.generic_string();
+-        ec.clear();
++        std::string aliasedFilepath = headerFile.generic_string();
+
+         std::string aliasPath = outputDir + '/' + m_currentFilename;
+ 
diff --git a/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.1.patch b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.1.patch
new file mode 100644
index 0000000000000..67967d9240077
--- /dev/null
+++ b/recipes/qt/6.x.x/patches/fix-long-path-on-windows_6.6.1.patch
@@ -0,0 +1,16 @@
+--- a/src/tools/syncqt/main.cpp
++++ b/src/tools/syncqt/main.cpp
+@@ -866,12 +866,7 @@
+
+         bool headerFileExists = std::filesystem::exists(headerFile);
+
+-        std::filesystem::path headerFileRootName =
+-                std::filesystem::weakly_canonical(headerFile, ec).root_name();
+-        std::string aliasedFilepath = !ec && headerFileRootName == m_outputRootName
+-                ? std::filesystem::relative(headerFile, outputDir).generic_string()
+-                : headerFile.generic_string();
+-        ec.clear();
++        std::string aliasedFilepath = headerFile.generic_string();
+
+         std::string aliasPath = outputDir + '/' + m_currentFilename;
+ 
diff --git a/recipes/qt/6.x.x/patches/fix_cmake3.28.patch b/recipes/qt/6.x.x/patches/fix_cmake3.28.patch
new file mode 100644
index 0000000000000..c89a9544ff61f
--- /dev/null
+++ b/recipes/qt/6.x.x/patches/fix_cmake3.28.patch
@@ -0,0 +1,45 @@
+From 0efea8020c1d221635aaa0a71529edb392cfe3cc Mon Sep 17 00:00:00 2001
+From: Joerg Bornemann 
+Date: Mon, 11 Sep 2023 14:48:32 +0200
+Subject: [PATCH] CMake: Fix build with CMake 3.28 on macOS
+
+FindWrapOpenGL.cmake assumed that IMPORTED_LOCATION is the absolute path
+of the library within the framework. That's not the case with CMake 3.28
+anymore. There, IMPORTED_LOCATION is the absolute path of the framework
+directory.
+
+The relevant upstream CMake change is
+6b01a27f901b5eb392955fea322cde44a1b782a3.
+
+Pick-to: 6.2 6.5 6.6
+Change-Id: I6b702a28318e0978c56dec83c398965aa77ef020
+Reviewed-by: Alexandru Croitor 
+---
+ cmake/FindWrapOpenGL.cmake | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindWrapOpenGL.cmake b/cmake/FindWrapOpenGL.cmake
+index 3e6abaf4dda..7295a159caf 100644
+--- a/cmake/FindWrapOpenGL.cmake
++++ b/cmake/FindWrapOpenGL.cmake
+@@ -14,14 +14,18 @@
+
+     add_library(WrapOpenGL::WrapOpenGL INTERFACE IMPORTED)
+     if(APPLE)
++        # CMake 3.27 and older:
+         # On Darwin platforms FindOpenGL sets IMPORTED_LOCATION to the absolute path of the library
+         # within the framework. This ends up as an absolute path link flag, which we don't want,
+         # because that makes our .prl files un-relocatable.
+         # Extract the framework path instead, and use that in INTERFACE_LINK_LIBRARIES,
+-        # which CMake ends up transforming into a reloctable -framework flag.
++        # which CMake ends up transforming into a relocatable -framework flag.
+         # See https://gitlab.kitware.com/cmake/cmake/-/issues/20871 for details.
++        #
++        # CMake 3.28 and above:
++        # IMPORTED_LOCATION is the absolute path the the OpenGL.framework folder.
+         get_target_property(__opengl_fw_lib_path OpenGL::GL IMPORTED_LOCATION)
+-        if(__opengl_fw_lib_path)
++        if(__opengl_fw_lib_path AND NOT __opengl_fw_lib_path MATCHES "/([^/]+)\\.framework$")
+             get_filename_component(__opengl_fw_path "${__opengl_fw_lib_path}" DIRECTORY)
+         endif()
+ 

From 72b6facffd6070cd588ae439622d8b14b6cc80c5 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 18 Jan 2024 02:10:38 +0900
Subject: [PATCH 0899/1307] (#22375) catch2: add version 3.5.2

---
 recipes/catch2/3.x.x/conandata.yml | 3 +++
 recipes/catch2/config.yml          | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml
index f42fcf13ad368..56cd441c7c786 100644
--- a/recipes/catch2/3.x.x/conandata.yml
+++ b/recipes/catch2/3.x.x/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.5.2":
+    url: "https://github.com/catchorg/Catch2/archive/v3.5.2.tar.gz"
+    sha256: "269543a49eb76f40b3f93ff231d4c24c27a7e16c90e47d2e45bcc564de470c6e"
   "3.5.1":
     url: "https://github.com/catchorg/Catch2/archive/v3.5.1.tar.gz"
     sha256: "49c3ca7a68f1c8ec71307736bc6ed14fec21631707e1be9af45daf4037e75a08"
diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml
index 1e105253d64f9..20b1c62d0349a 100644
--- a/recipes/catch2/config.yml
+++ b/recipes/catch2/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.5.2":
+    folder: 3.x.x
   "3.5.1":
     folder: 3.x.x
   "3.5.0":

From fbe91434425474e9e35274a6b995ef5ff2438255 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 00:08:40 +0200
Subject: [PATCH 0900/1307] (#18854) gf-complete: migrate to Conan v2

* gf-complete: migrate to Conan v2

* gf-complete: restore VirtualRunEnv in test_package

* gf-complete: apply MSVC fix from #12784

* gf-complete: add support for shared MSVC build

* gf-complete: add -FS for MSVC

* gf-complete: apply topological sort to aggregated cpp_info

* gf-complete: add -FS, better

* gf-complete: fix_apple_shared_install_name()
---
 recipes/gf-complete/all/conandata.yml         |   1 -
 recipes/gf-complete/all/conanfile.py          | 216 ++++++++++--------
 .../all/test_package/CMakeLists.txt           |   7 +-
 .../gf-complete/all/test_package/conanfile.py |  21 +-
 .../all/test_v1_package/CMakeLists.txt        |   8 +
 .../all/test_v1_package/conanfile.py          |  17 ++
 6 files changed, 169 insertions(+), 101 deletions(-)
 create mode 100644 recipes/gf-complete/all/test_v1_package/CMakeLists.txt
 create mode 100644 recipes/gf-complete/all/test_v1_package/conanfile.py

diff --git a/recipes/gf-complete/all/conandata.yml b/recipes/gf-complete/all/conandata.yml
index 58f9543628ba7..8fe397e19e0a6 100644
--- a/recipes/gf-complete/all/conandata.yml
+++ b/recipes/gf-complete/all/conandata.yml
@@ -8,4 +8,3 @@ sources:
 patches:
   "cci.20170410":
     - patch_file: "patches/0001-fix-msvc-cci.20170410.patch"
-      base_path: "source_subfolder"
diff --git a/recipes/gf-complete/all/conanfile.py b/recipes/gf-complete/all/conanfile.py
index 0947d375fcf7d..1d8d0803dbf13 100644
--- a/recipes/gf-complete/all/conanfile.py
+++ b/recipes/gf-complete/all/conanfile.py
@@ -1,162 +1,198 @@
-from conans import ConanFile, AutoToolsBuildEnvironment, tools
-from conans.errors import ConanInvalidConfiguration
-import contextlib
 import os
 
-required_conan_version = ">=1.33.0"
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.apple import fix_apple_shared_install_name
+from conan.tools.build import cross_building
+from conan.tools.env import Environment, VirtualBuildEnv, VirtualRunEnv
+from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get, replace_in_file, rm, collect_libs
+from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import is_msvc, unix_path
+
+required_conan_version = ">=1.53.0"
 
 
 class GfCompleteConan(ConanFile):
     name = "gf-complete"
     description = "A library for Galois Field arithmetic"
+    license = "BSD-3-Clause"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/ceph/gf-complete"
-    license = "BSD-3-Clause"
     topics = ("galois field", "math", "algorithms")
 
+    package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
         "shared": [True, False],
         "fPIC": [True, False],
         "neon": [True, False, "auto"],
         "sse": [True, False, "auto"],
-        "avx": [True, False, "auto"]
+        "avx": [True, False, "auto"],
     }
     default_options = {
         "shared": False,
         "fPIC": True,
         "neon": "auto",
         "sse": "auto",
-        "avx": "auto"
+        "avx": "auto",
     }
 
-    exports_sources = "patches/**"
-    _autotools = None
-
-    @property
-    def _source_subfolder(self):
-        return "source_subfolder"
-
     @property
     def _settings_build(self):
         return getattr(self, "settings_build", self.settings)
 
+    def export_sources(self):
+        export_conandata_patches(self)
+
     def config_options(self):
-        if self.settings.os == 'Windows':
+        if self.settings.os == "Windows":
             del self.options.fPIC
         if self.settings.arch not in ["x86", "x86_64"]:
-            del self.options.sse
-            del self.options.avx
+            self.options.rm_safe("sse")
+            self.options.rm_safe("avx")
         if "arm" not in self.settings.arch:
-            del self.options.neon
+            self.options.rm_safe("neon")
 
     def configure(self):
         if self.options.shared:
-            del self.options.fPIC
-        del self.settings.compiler.libcxx
-        del self.settings.compiler.cppstd
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
 
     def requirements(self):
-        if self.settings.compiler == "Visual Studio":
+        if is_msvc(self):
             self.requires("getopt-for-visual-studio/20200201")
 
     def validate(self):
-        if self.settings.compiler == "Visual Studio":
-            if self.options.shared:
-                raise ConanInvalidConfiguration("gf-complete doesn't support shared with Visual Studio")
+        if is_msvc(self):
             if self.version == "1.03":
                 raise ConanInvalidConfiguration("gf-complete 1.03 doesn't support Visual Studio")
 
     def build_requirements(self):
-        self.build_requires("libtool/2.4.6")
-        if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"):
-            self.build_requires("msys2/cci.latest")
+        self.tool_requires("libtool/2.4.7")
+        if self._settings_build.os == "Windows":
+            self.win_bash = True
+            if not self.conf.get("tools.microsoft.bash:path", check_type=str):
+                self.tool_requires("msys2/cci.latest")
+        if is_msvc(self):
+            self.tool_requires("automake/1.16.5")
 
     def source(self):
-        tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True)
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def _patch_sources(self):
-        for patch in self.conan_data.get("patches", {}).get(self.version, []):
-            tools.patch(**patch)
+        apply_conandata_patches(self)
         # Don't build tests and examples (and also tools if Visual Studio)
         to_build = ["src"]
-        if self.settings.compiler != "Visual Studio":
+        if not is_msvc(self):
             to_build.append("tools")
-        tools.replace_in_file(os.path.join(self._source_subfolder, "Makefile.am"),
-                              "SUBDIRS = src tools test examples",
-                              "SUBDIRS = {}".format(" ".join(to_build)))
+        replace_in_file(
+            self,
+            os.path.join(self.source_folder, "Makefile.am"),
+            "SUBDIRS = src tools test examples",
+            "SUBDIRS = {}".format(" ".join(to_build)),
+        )
         # Honor build type settings and fPIC option
         for subdir in ["src", "tools"]:
             for flag in ["-O3", "-fPIC"]:
-                tools.replace_in_file(os.path.join(self._source_subfolder, subdir, "Makefile.am"),
-                                      flag, "")
-
-    @contextlib.contextmanager
-    def _build_context(self):
-        if self.settings.compiler == "Visual Studio":
-            with tools.vcvars(self):
-                env = {
-                    "CC": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)),
-                    "CXX": "{} cl -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)),
-                    "LD": "{} link -nologo".format(tools.unix_path(self.deps_user_info["automake"].compile)),
-                    "AR": "{} lib".format(tools.unix_path(self.deps_user_info["automake"].ar_lib)),
-                }
-                with tools.environment_append(env):
-                    yield
-        else:
-            yield
-
-    def _configure_autotools(self):
-        if self._autotools:
-            return self._autotools
-
-        self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows)
-        self._autotools.libs = []
-        if self.settings.compiler == "Visual Studio":
-            self._autotools.flags.append("-FS")
-        elif "x86" in self.settings.arch:
-            self._autotools.flags.append("-mstackrealign")
-
+                replace_in_file(self, os.path.join(self.source_folder, subdir, "Makefile.am"), flag, "")
+
+    def generate(self):
+        env = VirtualBuildEnv(self)
+        env.generate()
+        if not cross_building(self):
+            env = VirtualRunEnv(self)
+            env.generate(scope="build")
+
+        tc = AutotoolsToolchain(self)
+        if not is_msvc(self) and "x86" in self.settings.arch:
+            tc.extra_cxxflags.append("-mstackrealign")
         yes_no = lambda v: "yes" if v else "no"
-        conf_args = [
-            "--enable-shared={}".format(yes_no(self.options.shared)),
-            "--enable-static={}".format(yes_no(not self.options.shared)),
-        ]
-
-        if "arm" in self.settings.arch:
+        if "arm" in str(self.settings.arch):
             if self.options.neon != "auto":
-                conf_args.append("--enable-neon={}".format(yes_no(self.options.neon)))
-
+                tc.configure_args.append("--enable-neon={}".format(yes_no(self.options.neon)))
         if self.settings.arch in ["x86", "x86_64"]:
             if self.options.sse != "auto":
-                conf_args.append("--enable-sse={}".format(yes_no(self.options.sse)))
-
+                tc.configure_args.append("--enable-sse={}".format(yes_no(self.options.sse)))
             if self.options.avx != "auto":
-                conf_args.append("--enable-avx={}".format(yes_no(self.options.avx)))
-
-        self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder)
-
-        return self._autotools
+                tc.configure_args.append("--enable-avx={}".format(yes_no(self.options.avx)))
+        if is_msvc(self):
+            if self.options.shared:
+                tc.extra_ldflags.append("-no-undefined")
+                tc.extra_ldflags.append("-Wl,--export-all-symbols")
+            tc.extra_cflags.append("-FS")
+            tc.extra_cxxflags.append("-FS")
+        tc.generate()
+
+        if is_msvc(self):
+            env = Environment()
+            automake_conf = self.dependencies.build["automake"].conf_info
+            compile_wrapper = unix_path(self, automake_conf.get("user.automake:compile-wrapper", check_type=str))
+            ar_wrapper = unix_path(self, automake_conf.get("user.automake:lib-wrapper", check_type=str))
+            env.define("CC", f"{compile_wrapper} cl -nologo")
+            env.define("CXX", f"{compile_wrapper} cl -nologo")
+            env.define("LD", "link -nologo")
+            env.define("AR", f'{ar_wrapper} "lib -nologo"')
+            env.define("NM", "dumpbin -symbols")
+            env.define("OBJDUMP", ":")
+            env.define("RANLIB", ":")
+            env.define("STRIP", ":")
+            env.vars(self).save_script("conanbuild_msvc")
+
+        if is_msvc(self):
+            # Custom AutotoolsDeps for cl like compilers
+            # workaround for https://github.com/conan-io/conan/issues/12784
+            includedirs = []
+            defines = []
+            libs = []
+            libdirs = []
+            linkflags = []
+            cxxflags = []
+            cflags = []
+            for dependency in reversed(self.dependencies.host.topological_sort.values()):
+                deps_cpp_info = dependency.cpp_info.aggregated_components()
+                includedirs.extend(deps_cpp_info.includedirs)
+                defines.extend(deps_cpp_info.defines)
+                libs.extend(deps_cpp_info.libs + deps_cpp_info.system_libs)
+                libdirs.extend(deps_cpp_info.libdirs)
+                linkflags.extend(deps_cpp_info.sharedlinkflags + deps_cpp_info.exelinkflags)
+                cxxflags.extend(deps_cpp_info.cxxflags)
+                cflags.extend(deps_cpp_info.cflags)
+            env = Environment()
+            env.append("CPPFLAGS", [f"-I{unix_path(self, p)}" for p in includedirs] + [f"-D{d}" for d in defines])
+            env.append("_LINK_", [lib if lib.endswith(".lib") else f"{lib}.lib" for lib in libs])
+            env.append("LDFLAGS", [f"-L{unix_path(self, p)}" for p in libdirs] + linkflags)
+            env.append("CXXFLAGS", cxxflags)
+            env.append("CFLAGS", cflags)
+            env.vars(self).save_script("conanautotoolsdeps_cl_workaround")
+        else:
+            deps = AutotoolsDeps(self)
+            deps.generate()
 
     def build(self):
         self._patch_sources()
-        with tools.chdir(self._source_subfolder):
-            self.run("{} -fiv".format(tools.get_env("AUTORECONF")), win_bash=tools.os_info.is_windows)
-        with self._build_context():
-            autotools = self._configure_autotools()
+        with chdir(self, self.source_folder):
+            autotools = Autotools(self)
+            autotools.autoreconf()
+            autotools.configure()
             autotools.make()
 
     def package(self):
-        self.copy("COPYING", dst="licenses", src=self._source_subfolder)
-        with self._build_context():
-            autotools = self._configure_autotools()
+        copy(self, "COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        with chdir(self, self.source_folder):
+            autotools = Autotools(self)
             autotools.install()
-        tools.remove_files_by_mask(os.path.join(self.package_folder, "lib"), "*.la")
+        rm(self, "*.la", self.package_folder, recursive=True)
+        fix_apple_shared_install_name(self)
 
     def package_info(self):
-        self.cpp_info.libs = ["gf_complete"]
+        self.cpp_info.libs = collect_libs(self)
 
-        if self.settings.compiler != "Visual Studio":
+        if not is_msvc(self):
             bin_path = os.path.join(self.package_folder, "bin")
-            self.output.info("Appending PATH environment variable: {}".format(bin_path))
+            self.output.info(f"Appending PATH environment variable: {bin_path}")
             self.env_info.PATH.append(bin_path)
diff --git a/recipes/gf-complete/all/test_package/CMakeLists.txt b/recipes/gf-complete/all/test_package/CMakeLists.txt
index fd126a732c403..1e6c99d7b2ace 100644
--- a/recipes/gf-complete/all/test_package/CMakeLists.txt
+++ b/recipes/gf-complete/all/test_package/CMakeLists.txt
@@ -1,9 +1,8 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.15)
 project(test_package C)
 
-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
-conan_basic_setup()
+find_package(gf-complete REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.c)
-target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS})
+target_link_libraries(${PROJECT_NAME} PRIVATE gf-complete::gf-complete)
 set_property(TARGET ${PROJECT_NAME} PROPERTY C_STANDARD 99)
diff --git a/recipes/gf-complete/all/test_package/conanfile.py b/recipes/gf-complete/all/test_package/conanfile.py
index 6bc1a2f31ef01..ef5d7042163ec 100644
--- a/recipes/gf-complete/all/test_package/conanfile.py
+++ b/recipes/gf-complete/all/test_package/conanfile.py
@@ -1,10 +1,19 @@
-from conans import ConanFile, CMake, tools
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
 import os
 
 
 class TestPackageConan(ConanFile):
-    settings = "os", "compiler", "build_type", "arch"
-    generators = "cmake"
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
 
     def build(self):
         cmake = CMake(self)
@@ -12,6 +21,6 @@ def build(self):
         cmake.build()
 
     def test(self):
-        if not tools.cross_building(self, skip_x64_x86=True):
-            bin_path = os.path.join("bin", "test_package")
-            self.run(bin_path, run_environment=True)
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/gf-complete/all/test_v1_package/CMakeLists.txt b/recipes/gf-complete/all/test_v1_package/CMakeLists.txt
new file mode 100644
index 0000000000000..91630d79f4abb
--- /dev/null
+++ b/recipes/gf-complete/all/test_v1_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package)
+
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup(TARGETS)
+
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package/)
diff --git a/recipes/gf-complete/all/test_v1_package/conanfile.py b/recipes/gf-complete/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..6d77c5add47fe
--- /dev/null
+++ b/recipes/gf-complete/all/test_v1_package/conanfile.py
@@ -0,0 +1,17 @@
+from conans import ConanFile, CMake, tools
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "compiler", "build_type", "arch"
+    generators = "cmake", "cmake_find_package_multi"
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if not tools.cross_building(self, skip_x64_x86=True):
+            bin_path = os.path.join("bin", "test_package")
+            self.run(bin_path, run_environment=True)

From ba44013d01f480a9d76aed81cb79f9d0858e6a34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= 
Date: Wed, 17 Jan 2024 23:22:33 +0100
Subject: [PATCH 0901/1307] (#22263) libvpx: Added iOS target name

* Remove code to calculate the target

* Recovered target code. Added os_name for iOS

* Added another invalid config check

* Added archs to the validate iOS check
---
 recipes/libvpx/all/conanfile.py | 85 ++++++++++++++++++---------------
 1 file changed, 47 insertions(+), 38 deletions(-)

diff --git a/recipes/libvpx/all/conanfile.py b/recipes/libvpx/all/conanfile.py
index 42873e7560c7d..b2f09424321e7 100644
--- a/recipes/libvpx/all/conanfile.py
+++ b/recipes/libvpx/all/conanfile.py
@@ -1,15 +1,17 @@
+import os
+import re
+
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.apple import is_apple_os, fix_apple_shared_install_name
 from conan.tools.build import stdcpp_library
 from conan.tools.env import Environment, VirtualBuildEnv
-from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file, rename
+from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, replace_in_file, \
+    rename
 from conan.tools.gnu import Autotools, AutotoolsToolchain
 from conan.tools.layout import basic_layout
 from conan.tools.microsoft import is_msvc, is_msvc_static_runtime, msvc_runtime_flag
 from conan.tools.scm import Version
-import os
-import re
 
 required_conan_version = ">=1.57.0"
 
@@ -67,6 +69,8 @@ def validate(self):
             raise ConanInvalidConfiguration(f"Unsupported compiler {self.settings.compiler}")
         if self.settings.os == "Macos" and self.settings.arch == "armv8" and Version(self.version) < "1.10.0":
             raise ConanInvalidConfiguration("M1 only supported since 1.10, please upgrade")
+        if self.settings.os == "iOS" and (self.settings.os.sdk != "iphonesimulator" or self.settings.arch not in ["x86_64", "x86"]):
+            raise ConanInvalidConfiguration("iOS target platform only supports 'iphonesimulator' SDK option and x86/x86_64 architectures")
 
     def build_requirements(self):
         self.tool_requires("yasm/1.3.0")
@@ -82,38 +86,8 @@ def source(self):
     def _install_tmp_folder(self):
         return "tmp_install"
 
-    def generate(self):
-        env = VirtualBuildEnv(self)
-        env.generate()
-
-        tc = AutotoolsToolchain(self)
-
-        if is_apple_os(self) and self.settings.get_safe("compiler.libcxx") == "libc++":
-            # special case, as gcc/g++ is hard-coded in makefile, it implicitly assumes -lstdc++
-            tc.extra_ldflags.append("-stdlib=libc++")
-
-        tc.configure_args.extend([
-            "--disable-examples",
-            "--disable-unit-tests",
-            "--disable-tools",
-            "--disable-docs",
-            "--enable-vp9-highbitdepth",
-            "--as=yasm",
-        ])
-
-        # Note for MSVC: release libs are always built, we just avoid keeping the release lib
-        # Note2: Can't use --enable-debug_libs (to help install on Windows),
-        #     the makefile's install step fails as it wants to install a library that doesn't exist.
-        #     Instead, we will copy the desired library manually in the package step.
-        if self.settings.build_type == "Debug":
-            tc.configure_args.extend([
-                # "--enable-debug_libs",
-                "--enable-debug",
-            ])
-
-        if is_msvc(self) and is_msvc_static_runtime(self):
-            tc.configure_args.append("--enable-static-msvcrt")
-
+    @property
+    def _target_name(self):
         arch = {'x86': 'x86',
                 'x86_64': 'x86_64',
                 'armv7': 'armv7',
@@ -121,6 +95,8 @@ def generate(self):
                 'mips': 'mips32',
                 'mips64': 'mips64',
                 'sparc': 'sparc'}.get(str(self.settings.arch))
+        compiler = str(self.settings.compiler)
+        os_name = str(self.settings.os)
         if str(self.settings.compiler) == "Visual Studio":
             vc_version = self.settings.compiler.version
             compiler = f"vs{vc_version}"
@@ -135,7 +111,11 @@ def generate(self):
         if host_os == 'Windows':
             os_name = 'win32' if self.settings.arch == 'x86' else 'win64'
         elif is_apple_os(self):
-            if self.settings.arch in ["x86", "x86_64"]:
+            # Solves cross-building for iOS
+            # Issue related: https://github.com/conan-io/conan-center-index/issues/20513
+            if self.settings.os == "iOS":
+                os_name = 'iphonesimulator'
+            elif self.settings.arch in ["x86", "x86_64"]:
                 os_name = 'darwin11'
             elif self.settings.arch == "armv8" and self.settings.os == "Macos":
                 os_name = 'darwin20'
@@ -148,8 +128,35 @@ def generate(self):
             os_name = 'solaris'
         elif host_os == 'Android':
             os_name = 'android'
-        target = f"{arch}-{os_name}-{compiler}"
-        tc.configure_args.append(f"--target={target}")
+        return f"{arch}-{os_name}-{compiler}"
+
+    def generate(self):
+        env = VirtualBuildEnv(self)
+        env.generate()
+        tc = AutotoolsToolchain(self)
+
+        if is_apple_os(self) and self.settings.get_safe("compiler.libcxx") == "libc++":
+            # special case, as gcc/g++ is hard-coded in makefile, it implicitly assumes -lstdc++
+            tc.extra_ldflags.append("-stdlib=libc++")
+
+        tc.configure_args.extend([
+            "--disable-examples",
+            "--disable-unit-tests",
+            "--disable-tools",
+            "--disable-docs",
+            "--enable-vp9-highbitdepth",
+            "--as=yasm",
+        ])
+        # Note for MSVC: release libs are always built, we just avoid keeping the release lib
+        # Note2: Can't use --enable-debug_libs (to help install on Windows),
+        #     the makefile's install step fails as it wants to install a library that doesn't exist.
+        #     Instead, we will copy the desired library manually in the package step.
+        if self.settings.build_type == "Debug":
+            tc.configure_args.extend([
+                "--enable-debug"
+            ])
+        if is_msvc(self) and is_msvc_static_runtime(self):
+            tc.configure_args.append("--enable-static-msvcrt")
         if str(self.settings.arch) in ["x86", "x86_64"]:
             for name in self._arch_options:
                 if not self.options.get_safe(name):
@@ -160,6 +167,8 @@ def generate(self):
             # must be a subfolder of prefix" libvpx src/build/make/configure.sh:683
             "--prefix": f"/{self._install_tmp_folder}",
             "--libdir": f"/{self._install_tmp_folder}/lib",
+            # Needed to let libvpx use the correct toolchain for the target platform
+            "--target": self._target_name,
             # several options must not be injected as custom configure doesn't like them
             "--host": None,
             "--build": None,

From 9e1309885ab61e892c82dc4ace8800acdec7ea70 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 00:44:19 +0200
Subject: [PATCH 0902/1307] (#18988) gamenetworkingsockets: migrate to Conan
 v2, replace v1.3.0 with v1.4.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gamenetworkingsockets: migrate to Conan v2

* gamenetworkingsockets: add iphlpapi dep

* gamenetworkingsockets: add VirtualBuildEnv

* Update recipes/gamenetworkingsockets/all/conanfile.py

---------

Co-authored-by: Rubén Rincón Blanco 
---
 .../gamenetworkingsockets/all/CMakeLists.txt  |   7 -
 .../gamenetworkingsockets/all/conandata.yml   |  12 +-
 .../gamenetworkingsockets/all/conanfile.py    | 140 ++++++++++--------
 .../001-disable-runtime-override.patch        |  13 --
 .../patches/002-either-static-or-shared.patch |  49 ------
 .../all/test_package/CMakeLists.txt           |   7 +-
 .../all/test_package/conanfile.py             |  19 ++-
 .../all/test_v1_package/CMakeLists.txt        |   8 +
 .../all/test_v1_package/conanfile.py          |  17 +++
 recipes/gamenetworkingsockets/config.yml      |   2 +-
 10 files changed, 124 insertions(+), 150 deletions(-)
 delete mode 100644 recipes/gamenetworkingsockets/all/CMakeLists.txt
 delete mode 100644 recipes/gamenetworkingsockets/all/patches/001-disable-runtime-override.patch
 delete mode 100644 recipes/gamenetworkingsockets/all/patches/002-either-static-or-shared.patch
 create mode 100644 recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt
 create mode 100644 recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py

diff --git a/recipes/gamenetworkingsockets/all/CMakeLists.txt b/recipes/gamenetworkingsockets/all/CMakeLists.txt
deleted file mode 100644
index 7a80c0b2c26dc..0000000000000
--- a/recipes/gamenetworkingsockets/all/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-cmake_minimum_required(VERSION 2.8.11)
-project(cmake_wrapper)
-
-include(conanbuildinfo.cmake)
-conan_basic_setup(TARGETS)
-
-add_subdirectory("source_subfolder")
diff --git a/recipes/gamenetworkingsockets/all/conandata.yml b/recipes/gamenetworkingsockets/all/conandata.yml
index 882c3ee20c6d7..44325d5f8a183 100644
--- a/recipes/gamenetworkingsockets/all/conandata.yml
+++ b/recipes/gamenetworkingsockets/all/conandata.yml
@@ -1,10 +1,4 @@
 sources:
-  "1.3.0":
-    url: "https://github.com/ValveSoftware/GameNetworkingSockets/archive/refs/tags/v1.3.0.zip"
-    sha256: "22e409546babc449c44f492b253b547a2f5f11abe11a100686a10a990b5091cd"
-patches:
-  "1.3.0":
-    - patch_file: "patches/001-disable-runtime-override.patch"
-      base_path: "source_subfolder"
-    - patch_file: "patches/002-either-static-or-shared.patch"
-      base_path: "source_subfolder"
+  "1.4.1":
+    url: "https://github.com/ValveSoftware/GameNetworkingSockets/archive/refs/tags/v1.4.1.tar.gz"
+    sha256: "1cfb2bf79c51a08ae4e8b7ff5e9c1266b43cfff6f53ecd3e7bc5e3fcb2a22503"
diff --git a/recipes/gamenetworkingsockets/all/conanfile.py b/recipes/gamenetworkingsockets/all/conanfile.py
index cb91ff14df39f..7fcdd6e98b032 100644
--- a/recipes/gamenetworkingsockets/all/conanfile.py
+++ b/recipes/gamenetworkingsockets/all/conanfile.py
@@ -1,109 +1,124 @@
-from conans import ConanFile, CMake, tools
-from conans.errors import ConanInvalidConfiguration
 import os
 
-required_conan_version = ">=1.33.0"
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
+from conan.tools.files import copy, get, rmdir, replace_in_file
+from conan.tools.gnu import PkgConfigDeps
+
+required_conan_version = ">=1.53.0"
 
 
 class GameNetworkingSocketsConan(ConanFile):
     name = "gamenetworkingsockets"
     description = "GameNetworkingSockets is a basic transport layer for games."
-    topics = ("networking", "game-development")
+    license = "BSD-3-Clause"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/ValveSoftware/GameNetworkingSockets"
-    license = "BSD-3-Clause"
-    generators = "cmake", "pkg_config"
-    settings = "os", "arch", "compiler", "build_type"
-    exports_sources = ["CMakeLists.txt", "patches/**"]
+    topics = ("networking", "game-development")
 
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
     options = {
         "shared": [True, False],
         "fPIC": [True, False],
-        "encryption": ["openssl", "libsodium", "bcrypt"]
+        "encryption": ["openssl", "libsodium", "bcrypt"],
     }
-
     default_options = {
         "shared": False,
         "fPIC": True,
-        "encryption": "openssl"
+        "encryption": "openssl",
     }
 
-    _cmake = None
-
-    @property
-    def _source_subfolder(self):
-        return "source_subfolder"
-
-    @property
-    def _build_subfolder(self):
-        return "build_subfolder"
-
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
 
     def configure(self):
         if self.options.shared:
-            del self.options.fPIC
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("protobuf/3.21.12")
+        if self.options.encryption == "openssl":
+            self.requires("openssl/[>=1.1 <4]")
+        elif self.options.encryption == "libsodium":
+            self.requires("libsodium/cci.20220430")
 
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
-            tools.check_min_cppstd(self, 11)
+            check_min_cppstd(self, 11)
 
         if self.options.encryption == "bcrypt" and self.settings.os != "Windows":
             raise ConanInvalidConfiguration("bcrypt is only valid on Windows")
 
     def build_requirements(self):
-        self.build_requires("protobuf/3.17.1")
+        self.tool_requires("protobuf/")
 
-    def requirements(self):
-        self.requires("protobuf/3.17.1")
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        venv = VirtualBuildEnv(self)
+        venv.generate()
+        venv = VirtualRunEnv(self)
+        venv.generate(scope="build")
+
+        tc = CMakeToolchain(self)
+        tc.variables["GAMENETWORKINGSOCKETS_BUILD_EXAMPLES"] = False
+        tc.variables["GAMENETWORKINGSOCKETS_BUILD_TESTS"] = False
+        tc.variables["Protobuf_USE_STATIC_LIBS"] = not self.dependencies["protobuf"].options.shared
+        tc.variables["Protobuf_IMPORT_DIRS"] = os.path.join(self.source_folder, "src", "common").replace("\\", "/")
+        crypto = {
+            "openssl": "OpenSSL",
+            "libsodium": "libsodium",
+            "bcrypt": "BCrypt",
+        }
+        tc.variables["USE_CRYPTO"] = crypto[str(self.options.encryption)]
+        crypto25519 = {
+            "openssl": "OpenSSL",
+            "libsodium": "libsodium",
+            "bcrypt": "Reference",
+        }
+        tc.variables["USE_CRYPTO25519"] = crypto25519[str(self.options.encryption)]
         if self.options.encryption == "openssl":
-            self.requires("openssl/1.1.1l")
-        elif self.options.encryption == "libsodium":
-            self.requires("libsodium/1.0.18")
+            tc.variables["OPENSSL_NEW_ENOUGH"] = True
+            tc.variables["OPENSSL_HAS_25519_RAW"] = True
+        tc.generate()
 
-    def source(self):
-        tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder)
+        tc = CMakeDeps(self)
+        tc.generate()
+        tc = PkgConfigDeps(self)
+        tc.generate()
 
     def _patch_sources(self):
-        for patch in self.conan_data.get("patches", {}).get(self.version, []):
-            tools.patch(**patch)
+        # Disable MSVC runtime override
+        replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
+                        "configure_msvc_runtime()", "")
 
     def build(self):
         self._patch_sources()
-        cmake = self._configure_cmake()
+        cmake = CMake(self)
+        cmake.configure()
         cmake.build()
 
-    def _configure_cmake(self):
-        if self._cmake:
-            return self._cmake
-        self._cmake = CMake(self)
-        self._cmake.definitions["BUILD_STATIC"] = not self.options.shared
-        self._cmake.definitions["BUILD_SHARED"] = self.options.shared
-        self._cmake.definitions["GAMENETWORKINGSOCKETS_BUILD_EXAMPLES"] = False
-        self._cmake.definitions["GAMENETWORKINGSOCKETS_BUILD_TESTS"] = False
-        self._cmake.definitions["Protobuf_USE_STATIC_LIBS"] = not self.options["protobuf"].shared
-        crypto = {"openssl": "OpenSSL", "libsodium": "libsodium", "bcrypt": "BCrypt"}
-        self._cmake.definitions["USE_CRYPTO"] = crypto[str(self.options.encryption)]
-        crypto25519 = {"openssl": "OpenSSL", "libsodium": "libsodium", "bcrypt": "Reference"}
-        self._cmake.definitions["USE_CRYPTO25519"] = crypto25519[str(self.options.encryption)]
-        if self.options.encryption == "openssl":
-            self._cmake.definitions["OPENSSL_NEW_ENOUGH"] = True
-            self._cmake.definitions["OPENSSL_HAS_25519_RAW"] = True
-        self._cmake.configure(build_folder=self._build_subfolder)
-        return self._cmake
-
     def package(self):
-        self.copy("LICENSE", dst="licenses", src=self._source_subfolder)
-        cmake = self._configure_cmake()
+        copy(self, "LICENSE",
+             dst=os.path.join(self.package_folder, "licenses"),
+             src=self.source_folder)
+        cmake = CMake(self)
         cmake.install()
-        tools.rmdir(os.path.join(self.package_folder, "lib", "cmake"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
 
     def package_info(self):
-        self.cpp_info.names["cmake_find_package"] = "GameNetworkingSockets"
-        self.cpp_info.names["cmake_find_package_multi"] = "GameNetworkingSockets"
-        self.cpp_info.names["pkg_config"] = "GameNetworkingSockets"
+        self.cpp_info.set_property("cmake_file_name", "GameNetworkingSockets")
+        self.cpp_info.set_property("cmake_target_name", "GameNetworkingSockets::GameNetworkingSockets")
+        self.cpp_info.set_property("pkg_config_name", "GameNetworkingSockets")
         self.cpp_info.includedirs.append(os.path.join("include", "GameNetworkingSockets"))
         if self.options.shared:
             self.cpp_info.libs = ["GameNetworkingSockets"]
@@ -120,7 +135,10 @@ def package_info(self):
         if self.settings.os in ["Linux", "FreeBSD"]:
             self.cpp_info.system_libs = ["pthread"]
         elif self.settings.os == "Windows":
-            self.cpp_info.system_libs = ["ws2_32", "crypt32", "winmm"]
+            self.cpp_info.system_libs = ["ws2_32", "crypt32", "winmm", "iphlpapi"]
             if self.options.encryption == "bcrypt":
                 self.cpp_info.system_libs += ["bcrypt"]
-        
+
+        # TODO: to remove in conan v2 once cmake_find_package_* generators removed
+        self.cpp_info.names["cmake_find_package"] = "GameNetworkingSockets"
+        self.cpp_info.names["cmake_find_package_multi"] = "GameNetworkingSockets"
diff --git a/recipes/gamenetworkingsockets/all/patches/001-disable-runtime-override.patch b/recipes/gamenetworkingsockets/all/patches/001-disable-runtime-override.patch
deleted file mode 100644
index 652aea2685bb8..0000000000000
--- a/recipes/gamenetworkingsockets/all/patches/001-disable-runtime-override.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/tmp/CMakeLists.txt
-index 3471701..49efee3 100644
---- a/CMakeLists.txt
-+++ b/tmp/CMakeLists.txt
-@@ -35,7 +35,7 @@ endif()
- 
- include(FlagsMSVC)
- set(MSVC_RUNTIME "dynamic")
--configure_msvc_runtime()
-+# configure_msvc_runtime()
- print_default_msvc_flags()
- 
- add_definitions( -DVALVE_CRYPTO_ENABLE_25519 )
diff --git a/recipes/gamenetworkingsockets/all/patches/002-either-static-or-shared.patch b/recipes/gamenetworkingsockets/all/patches/002-either-static-or-shared.patch
deleted file mode 100644
index 47b3eec1ee41e..0000000000000
--- a/recipes/gamenetworkingsockets/all/patches/002-either-static-or-shared.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 7040ab3..c75897e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -282,28 +282,38 @@ macro(gamenetworkingsockets_common GNS_TARGET)
- 
- endmacro()
- 
-+if (BUILD_SHARED)
- add_library(GameNetworkingSockets SHARED "")
- add_library(GameNetworkingSockets::GameNetworkingSockets ALIAS GameNetworkingSockets)
- add_library(GameNetworkingSockets::shared ALIAS GameNetworkingSockets)
- gamenetworkingsockets_common(GameNetworkingSockets)
- 
-+install(
-+	TARGETS GameNetworkingSockets
-+	EXPORT GameNetworkingSockets
-+	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-+)
-+endif()
-+
-+if (BUILD_STATIC)
- add_library(GameNetworkingSockets_s STATIC "")
- add_library(GameNetworkingSockets::GameNetworkingSockets_s ALIAS GameNetworkingSockets_s)
- add_library(GameNetworkingSockets::static ALIAS GameNetworkingSockets_s)
- target_compile_definitions(GameNetworkingSockets_s INTERFACE STEAMNETWORKINGSOCKETS_STATIC_LINK)
- gamenetworkingsockets_common(GameNetworkingSockets_s)
- 
--# Install rules
--
- install(
--	TARGETS 
--		GameNetworkingSockets
--		GameNetworkingSockets_s
-+	TARGETS GameNetworkingSockets_s
- 	EXPORT GameNetworkingSockets
- 	LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- 	ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
- 	RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
--	)
-+)
-+endif()
-+
-+# Install rules
- 
- install(DIRECTORY ../include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GameNetworkingSockets)
- 
diff --git a/recipes/gamenetworkingsockets/all/test_package/CMakeLists.txt b/recipes/gamenetworkingsockets/all/test_package/CMakeLists.txt
index cb6bc1b893324..b45b07ce89114 100644
--- a/recipes/gamenetworkingsockets/all/test_package/CMakeLists.txt
+++ b/recipes/gamenetworkingsockets/all/test_package/CMakeLists.txt
@@ -1,11 +1,8 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.15)
 project(test_package CXX)
 
-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
-conan_basic_setup(TARGETS)
-
 find_package(GameNetworkingSockets REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.cpp)
-set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) 
+set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11)
 target_link_libraries(${PROJECT_NAME} GameNetworkingSockets::GameNetworkingSockets)
diff --git a/recipes/gamenetworkingsockets/all/test_package/conanfile.py b/recipes/gamenetworkingsockets/all/test_package/conanfile.py
index 38f4483872d47..ef5d7042163ec 100644
--- a/recipes/gamenetworkingsockets/all/test_package/conanfile.py
+++ b/recipes/gamenetworkingsockets/all/test_package/conanfile.py
@@ -1,10 +1,19 @@
-from conans import ConanFile, CMake, tools
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
 import os
 
 
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
-    generators = "cmake", "cmake_find_package_multi"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
 
     def build(self):
         cmake = CMake(self)
@@ -12,6 +21,6 @@ def build(self):
         cmake.build()
 
     def test(self):
-        if not tools.cross_building(self):
-            bin_path = os.path.join("bin", "test_package")
-            self.run(bin_path, run_environment=True)
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt b/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt
new file mode 100644
index 0000000000000..91630d79f4abb
--- /dev/null
+++ b/recipes/gamenetworkingsockets/all/test_v1_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package)
+
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup(TARGETS)
+
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package/)
diff --git a/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py b/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..38f4483872d47
--- /dev/null
+++ b/recipes/gamenetworkingsockets/all/test_v1_package/conanfile.py
@@ -0,0 +1,17 @@
+from conans import ConanFile, CMake, tools
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "cmake", "cmake_find_package_multi"
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if not tools.cross_building(self):
+            bin_path = os.path.join("bin", "test_package")
+            self.run(bin_path, run_environment=True)
diff --git a/recipes/gamenetworkingsockets/config.yml b/recipes/gamenetworkingsockets/config.yml
index 426a0e4c79e9b..4709a2eb80f4c 100644
--- a/recipes/gamenetworkingsockets/config.yml
+++ b/recipes/gamenetworkingsockets/config.yml
@@ -1,3 +1,3 @@
 versions:
-  "1.3.0":
+  "1.4.1":
     folder: all

From f7d50a0b812d86f2638d8ae1d1282adaf3204dc6 Mon Sep 17 00:00:00 2001
From: Carlos O'Ryan 
Date: Wed, 17 Jan 2024 17:57:27 -0500
Subject: [PATCH 0903/1307] (#21687) [google-cloud-cpp]: add v2.19.0 version

* [google-cloud-cpp]: add v2.19.0 version

* Remove 2.5.0

* Bump nlohmann::json version

* Tested locally with Conan v1
---
 .../google-cloud-cpp/2.x/components_2_19_0.py | 695 ++++++++++++++++++
 .../google-cloud-cpp/2.x/components_2_5_0.py  | 364 ---------
 recipes/google-cloud-cpp/2.x/conandata.yml    |  33 +-
 recipes/google-cloud-cpp/2.x/conanfile.py     |  67 +-
 .../2.x/extract_dependencies.py               | 118 +--
 .../001-use-conan-msvc-runtime.patch}         |  30 +-
 .../2.19.0/002-add-find-package-threads.patch |  12 +
 .../002-interface-library-properties.patch    |  44 --
 .../2.5.0/004-remove-duplicate-protos.patch   | 108 ---
 .../005-interface-library-properties.patch    |  51 --
 .../006-cannot-use-or-with-windows.patch      |  45 --
 .../2.x/test_package/CMakeLists.txt           |  22 +-
 .../2.x/test_package/compute.cpp              |  12 +
 .../2.x/test_package/conanfile.py             |  15 +
 .../2.x/test_v1_package/conanfile.py          |   2 +-
 recipes/google-cloud-cpp/config.yml           |   4 +-
 16 files changed, 844 insertions(+), 778 deletions(-)
 create mode 100644 recipes/google-cloud-cpp/2.x/components_2_19_0.py
 delete mode 100644 recipes/google-cloud-cpp/2.x/components_2_5_0.py
 rename recipes/google-cloud-cpp/2.x/patches/{2.5.0/003-use-conan-msvc-runtime.patch => 2.19.0/001-use-conan-msvc-runtime.patch} (66%)
 create mode 100644 recipes/google-cloud-cpp/2.x/patches/2.19.0/002-add-find-package-threads.patch
 delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch
 delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch
 delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch
 delete mode 100644 recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch
 create mode 100644 recipes/google-cloud-cpp/2.x/test_package/compute.cpp

diff --git a/recipes/google-cloud-cpp/2.x/components_2_19_0.py b/recipes/google-cloud-cpp/2.x/components_2_19_0.py
new file mode 100644
index 0000000000000..704bb08158fe3
--- /dev/null
+++ b/recipes/google-cloud-cpp/2.x/components_2_19_0.py
@@ -0,0 +1,695 @@
+# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT
+DEPENDENCIES = {
+    "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "advisorynotifications_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "aiplatform_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos', 'type_money_protos'],
+    "alloydb_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
+    "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "apikeys_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'],
+    "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'],
+    "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'],
+    "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'],
+    "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "commerce_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
+    "confidentialcomputing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "config_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'],
+    "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "contentwarehouse_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'documentai_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_expr_protos', 'type_interval_protos', 'type_money_protos', 'type_postal_address_protos'],
+    "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "datafusion_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_interval_protos'],
+    "datastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
+    "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
+    "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
+    "dialogflow_es_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
+    "discoveryengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
+    "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
+    "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'],
+    "domains_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_money_protos', 'type_postal_address_protos'],
+    "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "edgenetwork_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "essentialcontacts_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'],
+    "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "gkebackup_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "gkemulticloud_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
+    "iam_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
+    "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "logging_type_protos": ['grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
+    "metastore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos'],
+    "migrationcenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_money_protos'],
+    "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'],
+    "netapp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "networksecurity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "networkservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
+    "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'],
+    "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
+    "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "policysimulator_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_expr_protos'],
+    "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'iam_v2_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "rapidmigrationassessment_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "recaptchaenterprise_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'],
+    "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
+    "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
+    "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
+    "securesourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_context_attribute_context_protos', 'rpc_status_protos'],
+    "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
+    "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_policy_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "sql_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'],
+    "storageinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos'],
+    "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'],
+    "support_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'],
+    "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
+    "telcoautomation_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "timeseriesinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_datetime_protos'],
+    "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'],
+    "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'],
+    "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
+    "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "workstations_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
+    "api_annotations_protos": ['api_http_protos'],
+    "api_auth_protos": ['api_annotations_protos'],
+    "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'],
+    "api_client_protos": ['api_launch_stage_protos'],
+    "api_distribution_protos": ['api_annotations_protos'],
+    "api_endpoint_protos": ['api_annotations_protos'],
+    "api_log_protos": ['api_label_protos'],
+    "api_logging_protos": ['api_annotations_protos', 'api_label_protos'],
+    "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'],
+    "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'],
+    "api_monitoring_protos": ['api_annotations_protos'],
+    "api_quota_protos": ['api_annotations_protos'],
+    "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'],
+    "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'],
+    "iam_credentials_v1_common_protos": ['api_field_behavior_protos', 'api_resource_protos'],
+    "iam_credentials_v1_iamcredentials_protos": ['api_annotations_protos', 'api_client_protos', 'iam_credentials_v1_common_protos'],
+    "iam_v1_iam_policy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_resource_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos'],
+    "iam_v1_options_protos": ['api_annotations_protos'],
+    "iam_v1_policy_protos": ['api_annotations_protos', 'type_expr_protos'],
+    "compute_internal_protos": ["protobuf::libprotobuf"],
+    "cloud_extended_operations_protos": ["protobuf::libprotobuf"],
+    "compute_accelerator_types_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_addresses_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_autoscalers_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_backend_buckets_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_backend_services_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_disk_types_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_disks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_external_vpn_gateways_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_firewall_policies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_firewalls_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_forwarding_rules_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_addresses_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_forwarding_rules_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_network_endpoint_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_operations_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_organization_operations_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_global_public_delegated_prefixes_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_health_checks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_http_health_checks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_https_health_checks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_image_family_views_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_images_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_instance_group_managers_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_instance_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_instance_templates_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_instances_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_interconnect_attachments_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_interconnect_locations_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_interconnects_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_license_codes_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_licenses_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_machine_images_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_machine_types_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_network_attachments_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_network_edge_security_services_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_network_endpoint_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_network_firewall_policies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_networks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_node_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_node_templates_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_node_types_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_packet_mirrorings_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_projects_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_public_advertised_prefixes_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_public_delegated_prefixes_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_autoscalers_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_backend_services_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_commitments_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_disk_types_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_disks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_health_check_services_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_health_checks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_instance_group_managers_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_instance_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_instance_templates_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_instances_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_network_endpoint_groups_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_network_firewall_policies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_notification_endpoints_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_operations_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_security_policies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_region_ssl_certificates_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_ssl_policies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_subnetworks_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_grpc_proxies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_http_proxies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_https_proxies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_instances_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_pools_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_ssl_proxies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_tcp_proxies_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_target_vpn_gateways_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_url_maps_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_vpn_gateways_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_vpn_tunnels_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_zone_operations_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+    "compute_zones_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],
+}
+
+PROTO_COMPONENTS = {
+    "accessapproval_protos",
+    "accesscontextmanager_protos",
+    "advisorynotifications_protos",
+    "aiplatform_protos",
+    "alloydb_protos",
+    "api_annotations_protos",
+    "api_auth_protos",
+    "api_backend_protos",
+    "api_billing_protos",
+    "api_client_protos",
+    "api_config_change_protos",
+    "api_context_protos",
+    "api_control_protos",
+    "api_distribution_protos",
+    "api_documentation_protos",
+    "api_endpoint_protos",
+    "api_field_behavior_protos",
+    "api_http_protos",
+    "api_httpbody_protos",
+    "api_label_protos",
+    "api_launch_stage_protos",
+    "api_log_protos",
+    "api_logging_protos",
+    "api_metric_protos",
+    "api_monitored_resource_protos",
+    "api_monitoring_protos",
+    "api_policy_protos",
+    "api_quota_protos",
+    "api_resource_protos",
+    "api_routing_protos",
+    "api_service_protos",
+    "api_source_info_protos",
+    "api_system_parameter_protos",
+    "api_usage_protos",
+    "api_visibility_protos",
+    "apigateway_protos",
+    "apigeeconnect_protos",
+    "apikeys_protos",
+    "appengine_protos",
+    "artifactregistry_protos",
+    "asset_protos",
+    "assuredworkloads_protos",
+    "automl_protos",
+    "baremetalsolution_protos",
+    "batch_protos",
+    "beyondcorp_protos",
+    "bigquery_protos",
+    "bigtable_protos",
+    "billing_protos",
+    "binaryauthorization_protos",
+    "certificatemanager_protos",
+    "channel_protos",
+    "cloud_common_common_protos",
+    "cloud_extended_operations_protos",
+    "cloudbuild_protos",
+    "commerce_protos",
+    "composer_protos",
+    "compute_accelerator_types_protos",
+    "compute_addresses_protos",
+    "compute_autoscalers_protos",
+    "compute_backend_buckets_protos",
+    "compute_backend_services_protos",
+    "compute_disk_types_protos",
+    "compute_disks_protos",
+    "compute_external_vpn_gateways_protos",
+    "compute_firewall_policies_protos",
+    "compute_firewalls_protos",
+    "compute_forwarding_rules_protos",
+    "compute_global_addresses_protos",
+    "compute_global_forwarding_rules_protos",
+    "compute_global_network_endpoint_groups_protos",
+    "compute_global_operations_protos",
+    "compute_global_organization_operations_protos",
+    "compute_global_public_delegated_prefixes_protos",
+    "compute_health_checks_protos",
+    "compute_http_health_checks_protos",
+    "compute_https_health_checks_protos",
+    "compute_image_family_views_protos",
+    "compute_images_protos",
+    "compute_instance_group_managers_protos",
+    "compute_instance_groups_protos",
+    "compute_instance_templates_protos",
+    "compute_instances_protos",
+    "compute_interconnect_attachments_protos",
+    "compute_interconnect_locations_protos",
+    "compute_interconnects_protos",
+    "compute_internal_protos",
+    "compute_license_codes_protos",
+    "compute_licenses_protos",
+    "compute_machine_images_protos",
+    "compute_machine_types_protos",
+    "compute_network_attachments_protos",
+    "compute_network_edge_security_services_protos",
+    "compute_network_endpoint_groups_protos",
+    "compute_network_firewall_policies_protos",
+    "compute_networks_protos",
+    "compute_node_groups_protos",
+    "compute_node_templates_protos",
+    "compute_node_types_protos",
+    "compute_packet_mirrorings_protos",
+    "compute_projects_protos",
+    "compute_public_advertised_prefixes_protos",
+    "compute_public_delegated_prefixes_protos",
+    "compute_region_autoscalers_protos",
+    "compute_region_backend_services_protos",
+    "compute_region_commitments_protos",
+    "compute_region_disk_types_protos",
+    "compute_region_disks_protos",
+    "compute_region_health_check_services_protos",
+    "compute_region_health_checks_protos",
+    "compute_region_instance_group_managers_protos",
+    "compute_region_instance_groups_protos",
+    "compute_region_instance_templates_protos",
+    "compute_region_instances_protos",
+    "compute_region_network_endpoint_groups_protos",
+    "compute_region_network_firewall_policies_protos",
+    "compute_region_notification_endpoints_protos",
+    "compute_region_operations_protos",
+    "compute_region_security_policies_protos",
+    "compute_region_ssl_certificates_protos",
+    "compute_ssl_policies_protos",
+    "compute_subnetworks_protos",
+    "compute_target_grpc_proxies_protos",
+    "compute_target_http_proxies_protos",
+    "compute_target_https_proxies_protos",
+    "compute_target_instances_protos",
+    "compute_target_pools_protos",
+    "compute_target_ssl_proxies_protos",
+    "compute_target_tcp_proxies_protos",
+    "compute_target_vpn_gateways_protos",
+    "compute_url_maps_protos",
+    "compute_vpn_gateways_protos",
+    "compute_vpn_tunnels_protos",
+    "compute_zone_operations_protos",
+    "compute_zones_protos",
+    "confidentialcomputing_protos",
+    "config_protos",
+    "connectors_protos",
+    "contactcenterinsights_protos",
+    "container_protos",
+    "containeranalysis_protos",
+    "contentwarehouse_protos",
+    "datacatalog_protos",
+    "datafusion_protos",
+    "datamigration_protos",
+    "dataplex_protos",
+    "dataproc_protos",
+    "datastore_protos",
+    "datastream_protos",
+    "deploy_protos",
+    "devtools_source_v1_source_context_protos",
+    "dialogflow_cx_protos",
+    "dialogflow_es_protos",
+    "discoveryengine_protos",
+    "dlp_protos",
+    "documentai_protos",
+    "domains_protos",
+    "edgecontainer_protos",
+    "edgenetwork_protos",
+    "essentialcontacts_protos",
+    "eventarc_protos",
+    "filestore_protos",
+    "functions_protos",
+    "gkebackup_protos",
+    "gkehub_protos",
+    "gkemulticloud_protos",
+    "grafeas_protos",
+    "iam_credentials_v1_common_protos",
+    "iam_credentials_v1_iamcredentials_protos",
+    "iam_protos",
+    "iam_v1_iam_policy_protos",
+    "iam_v1_options_protos",
+    "iam_v1_policy_protos",
+    "iam_v2_protos",
+    "iap_protos",
+    "ids_protos",
+    "kms_protos",
+    "language_protos",
+    "logging_protos",
+    "logging_type_protos",
+    "logging_type_type_protos",
+    "longrunning_operations_protos",
+    "managedidentities_protos",
+    "memcache_protos",
+    "metastore_protos",
+    "migrationcenter_protos",
+    "monitoring_protos",
+    "netapp_protos",
+    "networkconnectivity_protos",
+    "networkmanagement_protos",
+    "networksecurity_protos",
+    "networkservices_protos",
+    "notebooks_protos",
+    "optimization_protos",
+    "orgpolicy_protos",
+    "osconfig_protos",
+    "oslogin_protos",
+    "policysimulator_protos",
+    "policytroubleshooter_protos",
+    "privateca_protos",
+    "profiler_protos",
+    "pubsub_protos",
+    "rapidmigrationassessment_protos",
+    "recaptchaenterprise_protos",
+    "recommender_protos",
+    "redis_protos",
+    "resourcemanager_protos",
+    "resourcesettings_protos",
+    "retail_protos",
+    "rpc_code_protos",
+    "rpc_context_attribute_context_protos",
+    "rpc_error_details_protos",
+    "rpc_status_protos",
+    "run_protos",
+    "scheduler_protos",
+    "secretmanager_protos",
+    "securesourcemanager_protos",
+    "securitycenter_protos",
+    "servicecontrol_protos",
+    "servicedirectory_protos",
+    "servicemanagement_protos",
+    "serviceusage_protos",
+    "shell_protos",
+    "spanner_protos",
+    "speech_protos",
+    "sql_protos",
+    "storage_protos",
+    "storageinsights_protos",
+    "storagetransfer_protos",
+    "support_protos",
+    "talent_protos",
+    "tasks_protos",
+    "telcoautomation_protos",
+    "texttospeech_protos",
+    "timeseriesinsights_protos",
+    "tpu_protos",
+    "trace_protos",
+    "translate_protos",
+    "type_calendar_period_protos",
+    "type_color_protos",
+    "type_date_protos",
+    "type_datetime_protos",
+    "type_dayofweek_protos",
+    "type_decimal_protos",
+    "type_expr_protos",
+    "type_interval_protos",
+    "type_latlng_protos",
+    "type_money_protos",
+    "type_postal_address_protos",
+    "type_timeofday_protos",
+    "video_protos",
+    "videointelligence_protos",
+    "vision_protos",
+    "vmmigration_protos",
+    "vmwareengine_protos",
+    "vpcaccess_protos",
+    "webrisk_protos",
+    "websecurityscanner_protos",
+    "workflows_protos",
+    "workstations_protos"
+}
+
+COMPONENTS = {
+    "accessapproval",
+    "accesscontextmanager",
+    "advisorynotifications",
+    "aiplatform",
+    "alloydb",
+    "apigateway",
+    "apigeeconnect",
+    "apikeys",
+    "appengine",
+    "artifactregistry",
+    "asset",
+    "assuredworkloads",
+    "automl",
+    "baremetalsolution",
+    "batch",
+    "beyondcorp",
+    "bigquery",
+    "bigtable",
+    "billing",
+    "binaryauthorization",
+    "certificatemanager",
+    "channel",
+    "cloudbuild",
+    "commerce",
+    "composer",
+    "compute_accelerator_types",
+    "compute_addresses",
+    "compute_autoscalers",
+    "compute_backend_buckets",
+    "compute_backend_services",
+    "compute_disk_types",
+    "compute_disks",
+    "compute_external_vpn_gateways",
+    "compute_firewall_policies",
+    "compute_firewalls",
+    "compute_forwarding_rules",
+    "compute_global_addresses",
+    "compute_global_forwarding_rules",
+    "compute_global_network_endpoint_groups",
+    "compute_global_operations",
+    "compute_global_organization_operations",
+    "compute_global_public_delegated_prefixes",
+    "compute_health_checks",
+    "compute_http_health_checks",
+    "compute_https_health_checks",
+    "compute_image_family_views",
+    "compute_images",
+    "compute_instance_group_managers",
+    "compute_instance_groups",
+    "compute_instance_templates",
+    "compute_instances",
+    "compute_interconnect_attachments",
+    "compute_interconnect_locations",
+    "compute_interconnects",
+    "compute_license_codes",
+    "compute_licenses",
+    "compute_machine_images",
+    "compute_machine_types",
+    "compute_network_attachments",
+    "compute_network_edge_security_services",
+    "compute_network_endpoint_groups",
+    "compute_network_firewall_policies",
+    "compute_networks",
+    "compute_node_groups",
+    "compute_node_templates",
+    "compute_node_types",
+    "compute_packet_mirrorings",
+    "compute_projects",
+    "compute_public_advertised_prefixes",
+    "compute_public_delegated_prefixes",
+    "compute_region_autoscalers",
+    "compute_region_backend_services",
+    "compute_region_commitments",
+    "compute_region_disk_types",
+    "compute_region_disks",
+    "compute_region_health_check_services",
+    "compute_region_health_checks",
+    "compute_region_instance_group_managers",
+    "compute_region_instance_groups",
+    "compute_region_instance_templates",
+    "compute_region_instances",
+    "compute_region_network_endpoint_groups",
+    "compute_region_network_firewall_policies",
+    "compute_region_notification_endpoints",
+    "compute_region_operations",
+    "compute_region_security_policies",
+    "compute_region_ssl_certificates",
+    "compute_ssl_policies",
+    "compute_subnetworks",
+    "compute_target_grpc_proxies",
+    "compute_target_http_proxies",
+    "compute_target_https_proxies",
+    "compute_target_instances",
+    "compute_target_pools",
+    "compute_target_ssl_proxies",
+    "compute_target_tcp_proxies",
+    "compute_target_vpn_gateways",
+    "compute_url_maps",
+    "compute_vpn_gateways",
+    "compute_vpn_tunnels",
+    "compute_zone_operations",
+    "compute_zones",
+    "confidentialcomputing",
+    "config",
+    "connectors",
+    "contactcenterinsights",
+    "container",
+    "containeranalysis",
+    "contentwarehouse",
+    "datacatalog",
+    "datafusion",
+    "datamigration",
+    "dataplex",
+    "dataproc",
+    "datastore",
+    "datastream",
+    "deploy",
+    "dialogflow_cx",
+    "dialogflow_es",
+    "discoveryengine",
+    "dlp",
+    "documentai",
+    "domains",
+    "edgecontainer",
+    "edgenetwork",
+    "essentialcontacts",
+    "eventarc",
+    "filestore",
+    "functions",
+    "gkebackup",
+    "gkehub",
+    "gkemulticloud",
+    "iam",
+    "iap",
+    "ids",
+    "kms",
+    "language",
+    "logging",
+    "managedidentities",
+    "memcache",
+    "metastore",
+    "migrationcenter",
+    "monitoring",
+    "netapp",
+    "networkconnectivity",
+    "networkmanagement",
+    "networksecurity",
+    "networkservices",
+    "notebooks",
+    "oauth2",
+    "optimization",
+    "orgpolicy",
+    "osconfig",
+    "oslogin",
+    "policysimulator",
+    "policytroubleshooter",
+    "privateca",
+    "profiler",
+    "pubsub",
+    "rapidmigrationassessment",
+    "recaptchaenterprise",
+    "recommender",
+    "redis",
+    "resourcemanager",
+    "resourcesettings",
+    "retail",
+    "run",
+    "scheduler",
+    "secretmanager",
+    "securesourcemanager",
+    "securitycenter",
+    "servicecontrol",
+    "servicedirectory",
+    "servicemanagement",
+    "serviceusage",
+    "shell",
+    "spanner",
+    "speech",
+    "sql",
+    "storage",
+    "storageinsights",
+    "storagetransfer",
+    "support",
+    "talent",
+    "tasks",
+    "telcoautomation",
+    "texttospeech",
+    "timeseriesinsights",
+    "tpu",
+    "trace",
+    "translate",
+    "video",
+    "videointelligence",
+    "vision",
+    "vmmigration",
+    "vmwareengine",
+    "vpcaccess",
+    "webrisk",
+    "websecurityscanner",
+    "workflows",
+    "workstations"
+}
diff --git a/recipes/google-cloud-cpp/2.x/components_2_5_0.py b/recipes/google-cloud-cpp/2.x/components_2_5_0.py
deleted file mode 100644
index 9244c68af5641..0000000000000
--- a/recipes/google-cloud-cpp/2.x/components_2_5_0.py
+++ /dev/null
@@ -1,364 +0,0 @@
-# Automatically generated by /usr/local/google/home/coryan/cci-develop/recipes/google-cloud-cpp/2.x/extract_dependencies.py DO NOT EDIT
-DEPENDENCIES = {
-    "accessapproval_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "accesscontextmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "apigateway_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "apigeeconnect_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "appengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "artifactregistry_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "asset_protos": ['accesscontextmanager_protos', 'api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'osconfig_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_expr_protos', 'type_timeofday_protos'],
-    "assuredworkloads_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "automl_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "baremetalsolution_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "batch_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "beyondcorp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "cloud_bigquery_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos', 'type_expr_protos'],
-    "bigtable_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "billing_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos', 'type_money_protos'],
-    "binaryauthorization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "certificatemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "channel_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_decimal_protos', 'type_money_protos', 'type_postal_address_protos'],
-    "cloudbuild_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "cloud_common_common_protos": ['api_field_behavior_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "composer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
-    "connectors_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "contactcenterinsights_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "container_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'],
-    "containeranalysis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grafeas_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "datacatalog_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "datamigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "dataplex_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "dataproc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "datastream_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "debugger_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'devtools_source_v1_source_context_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "deploy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
-    "cloud_dialogflow_v2_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
-    "dialogflow_cx_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
-    "dlp_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
-    "documentai_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_date_protos', 'type_datetime_protos', 'type_money_protos', 'type_postal_address_protos'],
-    "edgecontainer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "eventarc_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos'],
-    "filestore_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'cloud_common_common_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "functions_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "gameservices_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "gkehub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "grafeas_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "iam_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "iap_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "ids_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "iot_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "kms_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "language_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "logging_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "logging_type_type_protos": ['api_annotations_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "managedidentities_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "memcache_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "monitoring_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_calendar_period_protos'],
-    "networkconnectivity_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "networkmanagement_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "notebooks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "optimization_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos'],
-    "orgpolicy_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "osconfig_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos', 'type_datetime_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
-    "oslogin_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "policytroubleshooter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "privateca_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "profiler_protos": ['api_annotations_protos', 'api_client_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "pubsub_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "recommender_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'type_money_protos'],
-    "redis_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_dayofweek_protos', 'type_timeofday_protos'],
-    "resourcemanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "resourcesettings_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "retail_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_httpbody_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_date_protos'],
-    "run_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_launch_stage_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "scheduler_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "secretmanager_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "securitycenter_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "servicecontrol_protos": ['api_annotations_protos', 'api_client_protos', 'api_distribution_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'logging_type_type_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "servicedirectory_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_expr_protos'],
-    "servicemanagement_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_config_change_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_service_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "serviceusage_protos": ['api_annotations_protos', 'api_auth_protos', 'api_client_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_launch_stage_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_usage_protos', 'api_visibility_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "shell_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "spanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "cloud_speech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "storage_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'api_routing_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'type_date_protos', 'type_expr_protos'],
-    "storagetransfer_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_code_protos', 'rpc_status_protos', 'type_date_protos', 'type_timeofday_protos'],
-    "talent_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_latlng_protos', 'type_money_protos', 'type_postal_address_protos', 'type_timeofday_protos'],
-    "tasks_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'iam_v1_iam_policy_protos', 'iam_v1_options_protos', 'iam_v1_policy_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_expr_protos'],
-    "cloud_texttospeech_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "tpu_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "devtools_cloudtrace_v2_trace_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "translate_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "video_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "videointelligence_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "vision_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos', 'type_color_protos', 'type_latlng_protos'],
-    "vmmigration_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_error_details_protos', 'rpc_status_protos'],
-    "vmwareengine_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "vpcaccess_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "webrisk_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "websecurityscanner_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'protobuf::libprotobuf'],
-    "workflows_protos": ['api_annotations_protos', 'api_client_protos', 'api_field_behavior_protos', 'api_http_protos', 'api_resource_protos', 'grpc::_grpc', 'grpc::grpc++', 'longrunning_operations_protos', 'protobuf::libprotobuf', 'rpc_status_protos'],
-    "api_annotations_protos": ['api_http_protos'],
-    "api_auth_protos": ['api_annotations_protos'],
-    "api_billing_protos": ['api_annotations_protos', 'api_metric_protos'],
-    "api_client_protos": ['api_launch_stage_protos'],
-    "api_distribution_protos": ['api_annotations_protos'],
-    "api_endpoint_protos": ['api_annotations_protos'],
-    "api_log_protos": ['api_label_protos'],
-    "api_logging_protos": ['api_annotations_protos', 'api_label_protos'],
-    "api_metric_protos": ['api_label_protos', 'api_launch_stage_protos'],
-    "api_monitored_resource_protos": ['api_label_protos', 'api_launch_stage_protos'],
-    "api_monitoring_protos": ['api_annotations_protos'],
-    "api_quota_protos": ['api_annotations_protos'],
-    "api_service_protos": ['api_annotations_protos', 'api_auth_protos', 'api_backend_protos', 'api_billing_protos', 'api_client_protos', 'api_context_protos', 'api_control_protos', 'api_documentation_protos', 'api_endpoint_protos', 'api_http_protos', 'api_label_protos', 'api_log_protos', 'api_logging_protos', 'api_metric_protos', 'api_monitored_resource_protos', 'api_monitoring_protos', 'api_quota_protos', 'api_resource_protos', 'api_source_info_protos', 'api_system_parameter_protos', 'api_usage_protos'],
-    "api_usage_protos": ['api_annotations_protos', 'api_visibility_protos'],
-    "devtools_cloudtrace_v2_tracing_protos": ['api_client_protos', 'api_field_behavior_protos', 'devtools_cloudtrace_v2_trace_protos', 'devtools_cloudtrace_v2_trace_protos', 'rpc_status_protos'],
-}
-
-PROTO_COMPONENTS = {
-    "accessapproval_protos",
-    "accesscontextmanager_protos",
-    "api_annotations_protos",
-    "api_auth_protos",
-    "api_backend_protos",
-    "api_billing_protos",
-    "api_client_protos",
-    "api_config_change_protos",
-    "api_context_protos",
-    "api_control_protos",
-    "api_distribution_protos",
-    "api_documentation_protos",
-    "api_endpoint_protos",
-    "api_field_behavior_protos",
-    "api_http_protos",
-    "api_httpbody_protos",
-    "api_label_protos",
-    "api_launch_stage_protos",
-    "api_log_protos",
-    "api_logging_protos",
-    "api_metric_protos",
-    "api_monitored_resource_protos",
-    "api_monitoring_protos",
-    "api_quota_protos",
-    "api_resource_protos",
-    "api_routing_protos",
-    "api_service_protos",
-    "api_source_info_protos",
-    "api_system_parameter_protos",
-    "api_usage_protos",
-    "api_visibility_protos",
-    "apigateway_protos",
-    "apigeeconnect_protos",
-    "appengine_protos",
-    "artifactregistry_protos",
-    "asset_protos",
-    "assuredworkloads_protos",
-    "automl_protos",
-    "baremetalsolution_protos",
-    "batch_protos",
-    "beyondcorp_protos",
-    "bigtable_protos",
-    "billing_protos",
-    "binaryauthorization_protos",
-    "certificatemanager_protos",
-    "channel_protos",
-    "cloud_bigquery_protos",
-    "cloud_common_common_protos",
-    "cloud_dialogflow_v2_protos",
-    "cloud_speech_protos",
-    "cloud_texttospeech_protos",
-    "cloudbuild_protos",
-    "composer_protos",
-    "connectors_protos",
-    "contactcenterinsights_protos",
-    "container_protos",
-    "containeranalysis_protos",
-    "datacatalog_protos",
-    "datamigration_protos",
-    "dataplex_protos",
-    "dataproc_protos",
-    "datastream_protos",
-    "debugger_protos",
-    "deploy_protos",
-    "devtools_cloudtrace_v2_trace_protos",
-    "devtools_cloudtrace_v2_tracing_protos",
-    "devtools_source_v1_source_context_protos",
-    "dialogflow_cx_protos",
-    "dlp_protos",
-    "documentai_protos",
-    "edgecontainer_protos",
-    "eventarc_protos",
-    "filestore_protos",
-    "functions_protos",
-    "gameservices_protos",
-    "gkehub_protos",
-    "grafeas_protos",
-    "iam_protos",
-    "iam_v1_iam_policy_protos",
-    "iam_v1_options_protos",
-    "iam_v1_policy_protos",
-    "iap_protos",
-    "ids_protos",
-    "iot_protos",
-    "kms_protos",
-    "language_protos",
-    "logging_protos",
-    "logging_type_type_protos",
-    "longrunning_operations_protos",
-    "managedidentities_protos",
-    "memcache_protos",
-    "monitoring_protos",
-    "networkconnectivity_protos",
-    "networkmanagement_protos",
-    "notebooks_protos",
-    "optimization_protos",
-    "orgpolicy_protos",
-    "osconfig_protos",
-    "oslogin_protos",
-    "policytroubleshooter_protos",
-    "privateca_protos",
-    "profiler_protos",
-    "pubsub_protos",
-    "recommender_protos",
-    "redis_protos",
-    "resourcemanager_protos",
-    "resourcesettings_protos",
-    "retail_protos",
-    "rpc_code_protos",
-    "rpc_error_details_protos",
-    "rpc_status_protos",
-    "run_protos",
-    "scheduler_protos",
-    "secretmanager_protos",
-    "securitycenter_protos",
-    "servicecontrol_protos",
-    "servicedirectory_protos",
-    "servicemanagement_protos",
-    "serviceusage_protos",
-    "shell_protos",
-    "spanner_protos",
-    "storage_protos",
-    "storagetransfer_protos",
-    "talent_protos",
-    "tasks_protos",
-    "tpu_protos",
-    "translate_protos",
-    "type_calendar_period_protos",
-    "type_color_protos",
-    "type_date_protos",
-    "type_datetime_protos",
-    "type_dayofweek_protos",
-    "type_decimal_protos",
-    "type_expr_protos",
-    "type_latlng_protos",
-    "type_money_protos",
-    "type_postal_address_protos",
-    "type_timeofday_protos",
-    "video_protos",
-    "videointelligence_protos",
-    "vision_protos",
-    "vmmigration_protos",
-    "vmwareengine_protos",
-    "vpcaccess_protos",
-    "webrisk_protos",
-    "websecurityscanner_protos",
-    "workflows_protos"
-}
-
-COMPONENTS = {
-    "accessapproval",
-    "accesscontextmanager",
-    "apigateway",
-    "apigeeconnect",
-    "appengine",
-    "artifactregistry",
-    "asset",
-    "assuredworkloads",
-    "automl",
-    "baremetalsolution",
-    "batch",
-    "beyondcorp",
-    "bigquery",
-    "bigtable",
-    "billing",
-    "binaryauthorization",
-    "certificatemanager",
-    "channel",
-    "cloudbuild",
-    "composer",
-    "connectors",
-    "contactcenterinsights",
-    "container",
-    "containeranalysis",
-    "datacatalog",
-    "datamigration",
-    "dataplex",
-    "dataproc",
-    "datastream",
-    "debugger",
-    "deploy",
-    "dialogflow_cx",
-    "dialogflow_es",
-    "dlp",
-    "documentai",
-    "edgecontainer",
-    "eventarc",
-    "filestore",
-    "functions",
-    "gameservices",
-    "gkehub",
-    "iam",
-    "iap",
-    "ids",
-    "iot",
-    "kms",
-    "language",
-    "logging",
-    "managedidentities",
-    "memcache",
-    "monitoring",
-    "networkconnectivity",
-    "networkmanagement",
-    "notebooks",
-    "optimization",
-    "orgpolicy",
-    "osconfig",
-    "oslogin",
-    "policytroubleshooter",
-    "privateca",
-    "profiler",
-    "pubsub",
-    "recommender",
-    "redis",
-    "resourcemanager",
-    "resourcesettings",
-    "retail",
-    "run",
-    "scheduler",
-    "secretmanager",
-    "securitycenter",
-    "servicecontrol",
-    "servicedirectory",
-    "servicemanagement",
-    "serviceusage",
-    "shell",
-    "spanner",
-    "speech",
-    "storage",
-    "storagetransfer",
-    "talent",
-    "tasks",
-    "texttospeech",
-    "tpu",
-    "trace",
-    "translate",
-    "video",
-    "videointelligence",
-    "vision",
-    "vmmigration",
-    "vmwareengine",
-    "vpcaccess",
-    "webrisk",
-    "websecurityscanner",
-    "workflows"
-}
diff --git a/recipes/google-cloud-cpp/2.x/conandata.yml b/recipes/google-cloud-cpp/2.x/conandata.yml
index dfb3c94da034e..79eb43c2b932d 100644
--- a/recipes/google-cloud-cpp/2.x/conandata.yml
+++ b/recipes/google-cloud-cpp/2.x/conandata.yml
@@ -1,34 +1,14 @@
 sources:
-  "2.5.0":
-    url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.5.0.tar.gz"
-    sha256: "ac93ef722d08bfb220343bde2f633c7c11f15e34ec3ecd0a57dbd3ff729cc3a6"
   "2.12.0":
     url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.12.0.tar.gz"
     sha256: "8cda870803925c62de8716a765e03eb9d34249977e5cdb7d0d20367e997a55e2"
   "2.15.1":
     url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.15.1.tar.gz"
     sha256: "47a5c6beff48625fa1b65b1ddc575247def80c88d29062c66d463172280d3959"
+  "2.19.0":
+    url: "https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.19.0.tar.gz"
+    sha256: "63f009092afd900cb812050bcecf607e37d762ac911e0bcbf4af9a432da91890"
 patches:
-  "2.5.0":
-    - patch_file: "patches/2.5.0/002-interface-library-properties.patch"
-      patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636
-      patch_description: "Fix problems with INTERFACE proto libraries"
-      patch_type: backport
-    - patch_file: "patches/2.5.0/003-use-conan-msvc-runtime.patch"
-      patch_description: "Let Conan select the MSVC runtime"
-      patch_type: conan
-    - patch_file: "patches/2.5.0/004-remove-duplicate-protos.patch"
-      patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10486
-      patch_description: "Some libraries defined had duplicate symbols"
-      patch_type: backport
-    - patch_file: "patches/2.5.0/005-interface-library-properties.patch"
-      patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10636
-      patch_description: "Fix problems with INTERFACE proto libraries"
-      patch_type: backport
-    - patch_file: "patches/2.5.0/006-cannot-use-or-with-windows.patch"
-      patch_source: https://github.com/googleapis/google-cloud-cpp/pull/10612
-      patch_description: "MSVC does not like `or` spelling for `||`"
-      patch_type: backport
   "2.12.0":
     - patch_file: "patches/2.12.0/001-use-conan-msvc-runtime.patch"
       patch_description: "Let Conan select the MSVC runtime"
@@ -37,3 +17,10 @@ patches:
     - patch_file: "patches/2.15.1/001-use-conan-msvc-runtime.patch"
       patch_description: "Let Conan select the MSVC runtime"
       patch_type: conan
+  "2.19.0":
+    - patch_file: "patches/2.19.0/001-use-conan-msvc-runtime.patch"
+      patch_description: "Let Conan select the MSVC runtime"
+      patch_type: conan
+    - patch_file: "patches/2.19.0/002-add-find-package-threads.patch"
+      patch_description: "Missing find_package() in CMake files"
+      patch_type: conan
diff --git a/recipes/google-cloud-cpp/2.x/conanfile.py b/recipes/google-cloud-cpp/2.x/conanfile.py
index e3b497dfc81db..31ff84a094f69 100644
--- a/recipes/google-cloud-cpp/2.x/conanfile.py
+++ b/recipes/google-cloud-cpp/2.x/conanfile.py
@@ -19,9 +19,9 @@
 # script will be used to generate a new file with the component dependency
 # information. The expectation is that maintaining this script will be easier
 # than writing long lists of dependencies by hand.
-import components_2_5_0
 import components_2_12_0
 import components_2_15_1
+import components_2_19_0
 
 required_conan_version = ">=1.56.0"
 
@@ -45,31 +45,31 @@ class GoogleCloudCppConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
     options = {"shared": [True, False], "fPIC": [True, False]}
     default_options = {"shared": False, "fPIC": True}
-    exports = ["components_2_5_0.py",
-               "components_2_12_0.py",
+    exports = ["components_2_12_0.py",
                "components_2_15_1.py",
+               "components_2_19_0.py",
                ]
 
     short_paths = True
 
     _GA_COMPONENTS = {
-        '2.5.0': components_2_5_0.COMPONENTS,
         '2.12.0': components_2_12_0.COMPONENTS,
         '2.15.1': components_2_15_1.COMPONENTS,
+        '2.19.0': components_2_19_0.COMPONENTS,
     }
     _PROTO_COMPONENTS = {
-        '2.5.0': components_2_5_0.PROTO_COMPONENTS,
         '2.12.0': components_2_12_0.PROTO_COMPONENTS,
         '2.15.1': components_2_15_1.PROTO_COMPONENTS,
+        '2.19.0': components_2_19_0.PROTO_COMPONENTS,
     }
     _PROTO_COMPONENT_DEPENDENCIES = {
-        "2.5.0": components_2_5_0.DEPENDENCIES,
         "2.12.0": components_2_12_0.DEPENDENCIES,
         "2.15.1": components_2_15_1.DEPENDENCIES,
+        "2.19.0": components_2_19_0.DEPENDENCIES,
     }
     # Some components require custom dependency definitions.
     _REQUIRES_CUSTOM_DEPENDENCIES = {
-        "bigquery", "bigtable", "iam", "pubsub", "spanner", "storage",
+        "bigquery", "bigtable", "iam", "oauth2", "pubsub", "spanner", "storage",
     }
 
     def export_sources(self):
@@ -99,19 +99,20 @@ def validate(self):
                 "Recipe not prepared for cross-building (yet)"
             )
 
-        if self.version not in self._GA_COMPONENTS:
+        if str(self.version) not in self._GA_COMPONENTS:
+            print(f"{type(self.version)} {self.version}")
             raise ConanInvalidConfiguration(
-                "The components are unknown for version %s" % self.version
+                f"The components are unknown for version {self.version}. Expected one of {self._GA_COMPONENTS.keys()}"
             )
 
-        if self.version not in self._PROTO_COMPONENTS:
+        if str(self.version) not in self._PROTO_COMPONENTS:
             raise ConanInvalidConfiguration(
-                "The proto components are unknown for version %s" % self.version
+                f"The proto components are unknown for version {self.version}. Expected one of {self._PROTO_COMPONENTS.keys()}"
             )
 
-        if self.version not in self._PROTO_COMPONENT_DEPENDENCIES:
+        if str(self.version) not in self._PROTO_COMPONENT_DEPENDENCIES:
             raise ConanInvalidConfiguration(
-                "The inter-component dependencies are unknown for version %s" % self.version
+                f"The inter-component components are unknown for version {self.version}. Expected one of {self._PROTO_COMPONENT_DEPENDENCIES.keys()}"
             )
 
         if (
@@ -147,7 +148,7 @@ def requirements(self):
         self.requires("protobuf/3.21.12", transitive_headers=True)
         self.requires("abseil/20230125.3", transitive_headers=True)
         self.requires("grpc/1.54.3", transitive_headers=True)
-        self.requires("nlohmann_json/3.11.2")
+        self.requires("nlohmann_json/3.11.3")
         self.requires("crc32c/1.1.2")
         # The rest require less pinning.
         self.requires("libcurl/[>=7.78 <9]")
@@ -212,7 +213,7 @@ def _generate_proto_requires(self, component):
     }
 
     def _components(self):
-        result = self._GA_COMPONENTS.get(self.version, []).copy()
+        result = self._GA_COMPONENTS.get(str(self.version), []).copy()
         for c in self._SKIPPED_COMPONENTS:
             result.remove(c)
         # TODO - these do not build on Android due to conflicts between OS
@@ -256,6 +257,24 @@ def _add_grpc_component(self, component, protos, extra=None):
         self.cpp_info.components[component].libs = [f"google_cloud_cpp_{component}"]
         self.cpp_info.components[component].names["pkg_config"] = f"google_cloud_cpp_{component}"
 
+    # The compute librar(ies) do not use gRPC, and they have many components
+    # with dependencies between them
+    def _add_compute_component(self, component, protos):
+        SHARED_REQUIRES=["rest_protobuf_internal", "rest_internal", "common"]
+        # Common components shared by other compute components
+        COMPUTE_COMMON_COMPONENTS = [
+            'compute_global_operations',
+            'compute_global_organization_operations',
+            'compute_region_operations',
+            'compute_zone_operations',
+        ]
+        requires = [protos]
+        if component not in COMPUTE_COMMON_COMPONENTS:
+            requires = requires + COMPUTE_COMMON_COMPONENTS
+        self.cpp_info.components[component].requires = requires + SHARED_REQUIRES
+        self.cpp_info.components[component].libs = [f"google_cloud_cpp_{component}"]
+        self.cpp_info.components[component].names["pkg_config"] = f"google_cloud_cpp_{component}"
+
     def package_info(self):
         self.cpp_info.components["common"].requires = ["abseil::absl_any", "abseil::absl_flat_hash_map", "abseil::absl_memory", "abseil::absl_optional", "abseil::absl_time"]
         self.cpp_info.components["common"].libs = ["google_cloud_cpp_common"]
@@ -263,7 +282,7 @@ def package_info(self):
 
         self.cpp_info.components["rest_internal"].requires = ["common", "libcurl::libcurl", "openssl::ssl", "openssl::crypto", "zlib::zlib"]
         self.cpp_info.components["rest_internal"].libs = ["google_cloud_cpp_rest_internal"]
-        self.cpp_info.components["rest_internal"].names["pkg_config"] = "google_cloud_cpp_common"
+        self.cpp_info.components["rest_internal"].names["pkg_config"] = "google_cloud_cpp_rest_internal"
 
         # A small number of gRPC-generated stubs are used directly in the common components
         # shared by all gRPC-based libraries.  These must be defined without reference to `grpc_utils`.
@@ -330,6 +349,10 @@ def package_info(self):
                 self._add_proto_component("cloud_dialogflow_v2_protos")
                 self._add_grpc_component(component, "cloud_dialogflow_v2_protos")
                 continue
+            # `compute` components do not depend on gRPC
+            if component.startswith("compute_"):
+                self._add_compute_component(component, protos)
+                continue
             # `storage` is the only component that does not depend on a matching `*_protos` library
             if component in self._REQUIRES_CUSTOM_DEPENDENCIES:
                 continue
@@ -340,6 +363,18 @@ def package_info(self):
         self._add_grpc_component("pubsub", "pubsub_protos", ["abseil::absl_flat_hash_map"])
         self._add_grpc_component("spanner", "spanner_protos",  ["abseil::absl_fixed_array", "abseil::absl_numeric", "abseil::absl_strings", "abseil::absl_time"])
 
+        if Version(self.version) >= '2.19.0':
+            self.cpp_info.components["rest_protobuf_internal"].requires = ["rest_internal", "grpc_utils", "common"]
+            self.cpp_info.components["rest_protobuf_internal"].libs = ["google_cloud_cpp_rest_protobuf_internal"]
+            self.cpp_info.components["rest_protobuf_internal"].names["pkg_config"] = "google_cloud_cpp_rest_protobuf_internal"
+            # The `google-cloud-cpp::compute` interface library groups all the compute
+            # libraries in a single target.
+            self.cpp_info.components["compute"].requires = [c for c in self._components() if c.startswith("compute_")]
+            # The `google-cloud-cpp::oauth2` library does not depend on gRPC or any protos.
+            self.cpp_info.components["oauth2"].requires = ["rest_internal", "common", "nlohmann_json::nlohmann_json", "libcurl::libcurl", "openssl::ssl", "openssl::crypto", "zlib::zlib"]
+            self.cpp_info.components["oauth2"].libs = ["google_cloud_cpp_oauth2"]
+            self.cpp_info.components["oauth2"].names["pkg_config"] = "google_cloud_cpp_oauth2"
+
         self.cpp_info.components["storage"].requires = ["rest_internal", "common", "nlohmann_json::nlohmann_json", "abseil::absl_memory", "abseil::absl_strings", "abseil::absl_str_format", "abseil::absl_time", "abseil::absl_variant", "crc32c::crc32c", "libcurl::libcurl", "openssl::ssl", "openssl::crypto", "zlib::zlib"]
         self.cpp_info.components["storage"].libs = ["google_cloud_cpp_storage"]
         self.cpp_info.components["storage"].names["pkg_config"] = "google_cloud_cpp_storage"
diff --git a/recipes/google-cloud-cpp/2.x/extract_dependencies.py b/recipes/google-cloud-cpp/2.x/extract_dependencies.py
index a957a6eca412b..95720c57e7748 100755
--- a/recipes/google-cloud-cpp/2.x/extract_dependencies.py
+++ b/recipes/google-cloud-cpp/2.x/extract_dependencies.py
@@ -103,7 +103,6 @@
     "api_field_behavior_protos",
     "api_context_protos",
     "api_logging_protos",
-
     "iam_credentials_v1_common_protos",
     "iam_credentials_v1_iamcredentials_protos",
 }
@@ -115,106 +114,6 @@
     "pubsublite",
 }
 
-# A list of components used when `google-cloud-cpp` does not provide an
-# easy-to-use list.
-_DEFAULT_COMPONENTS = {
-    "accessapproval",
-    "accesscontextmanager",
-    "apigateway",
-    "apigeeconnect",
-    "appengine",
-    "artifactregistry",
-    "asset",
-    "assuredworkloads",
-    "automl",
-    "baremetalsolution",
-    "batch",
-    "beyondcorp",
-    "bigquery",
-    "bigtable",
-    "billing",
-    "binaryauthorization",
-    "certificatemanager",
-    "channel",
-    "cloudbuild",
-    "composer",
-    "connectors",
-    "contactcenterinsights",
-    "container",
-    "containeranalysis",
-    "datacatalog",
-    "datamigration",
-    "dataplex",
-    "dataproc",
-    "datastream",
-    "debugger",
-    "deploy",
-    "dialogflow_cx",
-    "dialogflow_es",
-    "dlp",
-    "documentai",
-    "edgecontainer",
-    "eventarc",
-    "filestore",
-    "functions",
-    "gameservices",
-    "gkehub",
-    "iam",
-    "iap",
-    "ids",
-    "iot",
-    "kms",
-    "language",
-    "logging",
-    "managedidentities",
-    "memcache",
-    "monitoring",
-    "networkconnectivity",
-    "networkmanagement",
-    "notebooks",
-    "optimization",
-    "orgpolicy",
-    "osconfig",
-    "oslogin",
-    "policytroubleshooter",
-    "privateca",
-    "profiler",
-    "pubsub",
-    "recommender",
-    "redis",
-    "resourcemanager",
-    "resourcesettings",
-    "retail",
-    "run",
-    "scheduler",
-    "secretmanager",
-    "securitycenter",
-    "servicecontrol",
-    "servicedirectory",
-    "servicemanagement",
-    "serviceusage",
-    "shell",
-    "spanner",
-    "speech",
-    "storage",
-    "storagetransfer",
-    "talent",
-    "tasks",
-    "texttospeech",
-    "tpu",
-    "trace",
-    "translate",
-    "video",
-    "videointelligence",
-    "vision",
-    "vmmigration",
-    "vmwareengine",
-    "vpcaccess",
-    "webrisk",
-    "websecurityscanner",
-    "workflows",
-}
-
 # `google-cloud-cpp` managems these dependencies using CMake code.
 _HARD_CODED_DEPENDENCIES = {
     "api_annotations_protos": ["api_http_protos"],
@@ -280,7 +179,7 @@ def _components(source_folder):
     # Use the hard-coded list because the `google-cloud-cpp` does not provide
     # an easy way to get all the components.
     if not os.path.exists(libraries):
-        return _DEFAULT_COMPONENTS
+        raise Exception("Missing 'libraries.bzl' file")
     # The `libraries.bzl` file is a Starlark file that simply defines some
     # variables listing all GA, experimental, and "transition", components.
     # We want both the GA and transition components, the latter are components
@@ -343,6 +242,7 @@ def main():
     proto_components = _PROTO_BASE_COMPONENTS.copy()
     files = sorted(glob.glob(os.path.join(deps_folder, "*.deps")))
     experimental = set(_experimental_components(source_folder))
+    components = set(_components(source_folder))
     for filename in files:
         component = os.path.basename(filename).replace(".deps", "")
         component = _PROTO_DEPS_REPLACED_NAMES.get(component, component)
@@ -351,6 +251,9 @@ def main():
             # The Conan package only compiles the GA components, so we need
             # to skip these.
             continue
+        if component == "compute":
+            # `compute` does not use gRPC or the `*.deps` files.
+            continue
         component = component + "_protos"
         deps = _generate_proto_requires(filename)
         proto_components.add(component)
@@ -361,12 +264,21 @@ def main():
         proto_components.add(component)
         proto_components.update(deps)
         print(f'    "{component}": {sorted(deps)},')
+    print(f'    "compute_internal_protos": ["protobuf::libprotobuf"],')
+    print(f'    "cloud_extended_operations_protos": ["protobuf::libprotobuf"],')
+    proto_components.add("compute_internal_protos")
+    proto_components.add("cloud_extended_operations_protos")
+    for component in sorted(components):
+        if not component.startswith("compute_"):
+            continue
+        proto_components.add(component + "_protos")
+        print(f'    "{component}_protos": ["compute_internal_protos", "cloud_extended_operations_protos", "protobuf::libprotobuf"],')
     print("}")
     proto_components = proto_components - _PROTO_DEPS_COMMON_REQUIRES
     names = ['"%s"' % c for c in proto_components]
     joined = ",\n    ".join(sorted(names))
     print(f"\nPROTO_COMPONENTS = {{\n    {joined}\n}}")
-    names = ['"%s"' % c for c in _components(source_folder)]
+    names = ['"%s"' % c for c in components]
     joined = ",\n    ".join(sorted(names))
     print(f"\nCOMPONENTS = {{\n    {joined}\n}}")
 
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch b/recipes/google-cloud-cpp/2.x/patches/2.19.0/001-use-conan-msvc-runtime.patch
similarity index 66%
rename from recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch
rename to recipes/google-cloud-cpp/2.x/patches/2.19.0/001-use-conan-msvc-runtime.patch
index f021f480b2dd1..926222913c3a8 100644
--- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/003-use-conan-msvc-runtime.patch
+++ b/recipes/google-cloud-cpp/2.x/patches/2.19.0/001-use-conan-msvc-runtime.patch
@@ -1,8 +1,8 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 236c6e1..f961398 100644
+index aebfc6b1..f1c4f196 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -68,7 +68,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+@@ -53,7 +53,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  endif ()
  
  list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
@@ -11,10 +11,10 @@ index 236c6e1..f961398 100644
  option(GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK
         "If enabled, check that the user has defined OPENSSL_ROOT_DIR on macOS"
 diff --git a/cmake/GoogleCloudCppCommon.cmake b/cmake/GoogleCloudCppCommon.cmake
-index 057fe6b..dbffd7b 100644
+index b487a1bc..880c98fe 100644
 --- a/cmake/GoogleCloudCppCommon.cmake
 +++ b/cmake/GoogleCloudCppCommon.cmake
-@@ -21,9 +21,6 @@ get_filename_component(GOOGLE_CLOUD_CPP_SUBPROJECT
+@@ -17,9 +17,6 @@
  # Get the destination directories based on the GNU recommendations.
  include(GNUInstallDirs)
  
@@ -25,26 +25,26 @@ index 057fe6b..dbffd7b 100644
  include(EnableWerror)
  
 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
-index 0cb7a9a..d9016a0 100644
+index ce44aafe..cdaba904 100644
 --- a/examples/CMakeLists.txt
 +++ b/examples/CMakeLists.txt
-@@ -14,9 +14,6 @@
- # limitations under the License.
- # ~~~
+@@ -20,9 +20,6 @@ if (NOT GOOGLE_CLOUD_CPP_ENABLE_EXAMPLES)
+     return()
+ endif ()
  
 -# Pick the right MSVC runtime libraries.
 -include(SelectMSVCRuntime)
 -
- add_executable(gcs2cbt gcs2cbt.cc)
- target_link_libraries(gcs2cbt google-cloud-cpp::bigtable
-                       google-cloud-cpp::storage google-cloud-cpp::grpc_utils)
+ if (bigtable IN_LIST GOOGLE_CLOUD_CPP_ENABLE AND storage IN_LIST
+                                                  GOOGLE_CLOUD_CPP_ENABLE)
+     add_executable(gcs2cbt gcs2cbt.cc)
 diff --git a/external/googleapis/CMakeLists.txt b/external/googleapis/CMakeLists.txt
-index ad2bd4b..cd1eb3a 100644
+index c3df633c..6a85dfe8 100644
 --- a/external/googleapis/CMakeLists.txt
 +++ b/external/googleapis/CMakeLists.txt
-@@ -147,8 +147,6 @@ if (PROTO_INCLUDE_DIR)
-     list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}")
- endif ()
+@@ -163,8 +163,6 @@ externalproject_add(
+ 
+ google_cloud_cpp_find_proto_include_dir(PROTO_INCLUDE_DIR)
  
 -include(SelectMSVCRuntime)
 -
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.19.0/002-add-find-package-threads.patch b/recipes/google-cloud-cpp/2.x/patches/2.19.0/002-add-find-package-threads.patch
new file mode 100644
index 0000000000000..5eee169050480
--- /dev/null
+++ b/recipes/google-cloud-cpp/2.x/patches/2.19.0/002-add-find-package-threads.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f1c4f196..53497f0a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -187,6 +187,7 @@ add_custom_target(google-cloud-cpp-protos)
+ add_custom_target(doxygen-docs)
+ add_custom_target(all-docfx)
+ 
++find_package(Threads REQUIRED)
+ find_package(absl CONFIG REQUIRED)
+ if (GOOGLE_CLOUD_CPP_ENABLE_GRPC)
+     find_package(gRPC REQUIRED QUIET)
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch
deleted file mode 100644
index 4099fd00cae2f..0000000000000
--- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/002-interface-library-properties.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/cmake/CompileProtos.cmake b/cmake/CompileProtos.cmake
-index 366edba..74c27bf 100644
---- a/cmake/CompileProtos.cmake
-+++ b/cmake/CompileProtos.cmake
-@@ -315,6 +315,10 @@ include(GNUInstallDirs)
- 
- # Install headers for a C++ proto library.
- function (google_cloud_cpp_install_proto_library_headers target)
-+    get_target_property(type ${target} TYPE)
-+    if ("${type}" STREQUAL "INTERFACE_LIBRARY")
-+        return()
-+    endif ()
-     get_target_property(target_sources ${target} SOURCES)
-     foreach (header ${target_sources})
-         # Skip anything that is not a header file.
-@@ -332,6 +336,10 @@ endfunction ()
- 
- # Install protos for a C++ proto library.
- function (google_cloud_cpp_install_proto_library_protos target source_dir)
-+    get_target_property(type ${target} TYPE)
-+    if ("${type}" STREQUAL "INTERFACE_LIBRARY")
-+        return()
-+    endif ()
-     get_target_property(target_protos ${target} PROTO_SOURCES)
-     foreach (header ${target_protos})
-         # Skip anything that is not a header file.
-diff --git a/google/cloud/dialogflow_es/CMakeLists.txt b/google/cloud/dialogflow_es/CMakeLists.txt
-index 0ddf345..2a00f2d 100644
---- a/google/cloud/dialogflow_es/CMakeLists.txt
-+++ b/google/cloud/dialogflow_es/CMakeLists.txt
-@@ -37,7 +37,12 @@ endif ()
- 
- include(CompileProtos)
- add_library(google_cloud_cpp_dialogflow_es_protos INTERFACE)
--external_googleapis_set_version_and_alias(dialogflow_es_protos)
-+set_target_properties(
-+    google_cloud_cpp_dialogflow_es_protos
-+    PROPERTIES EXPORT_NAME google-cloud-cpp::dialogflow_es_protos)
-+add_library(google-cloud-cpp::dialogflow_es_protos ALIAS
-+            google_cloud_cpp_dialogflow_es_protos)
-+
- target_link_libraries(
-     google_cloud_cpp_dialogflow_es_protos
-     PUBLIC
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch
deleted file mode 100644
index 3bae252294281..0000000000000
--- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/004-remove-duplicate-protos.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt
-index 4cc2e0a..59546c7 100644
---- a/google/cloud/speech/CMakeLists.txt
-+++ b/google/cloud/speech/CMakeLists.txt
-@@ -46,19 +46,18 @@ if (PROTO_INCLUDE_DIR)
-     list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}")
- endif ()
- 
--include(CompileProtos)
--google_cloud_cpp_load_protolist(
--    proto_list
--    "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/speech.list")
--google_cloud_cpp_load_protodeps(
--    proto_deps
--    "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/speech.deps")
--google_cloud_cpp_grpcpp_library(
--    google_cloud_cpp_speech_protos # cmake-format: sort
--    ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}"
--    "${PROTO_INCLUDE_DIR}")
--external_googleapis_set_version_and_alias(speech_protos)
--target_link_libraries(google_cloud_cpp_speech_protos PUBLIC ${proto_deps})
-+add_library(google_cloud_cpp_speech_protos INTERFACE)
-+target_link_libraries(google_cloud_cpp_speech_protos
-+                      INTERFACE google-cloud-cpp::cloud_speech_protos)
-+set_target_properties(
-+    google_cloud_cpp_speech_protos
-+    PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos
-+               VERSION "${PROJECT_VERSION}"
-+               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+target_compile_options(google_cloud_cpp_speech_protos
-+                       INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
-+add_library(google-cloud-cpp::speech_protos ALIAS
-+            google_cloud_cpp_speech_protos)
- 
- file(
-     GLOB source_files
-diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt
-index 0fdc54a..c43aa51 100644
---- a/google/cloud/texttospeech/CMakeLists.txt
-+++ b/google/cloud/texttospeech/CMakeLists.txt
-@@ -36,19 +36,18 @@ if (PROTO_INCLUDE_DIR)
-     list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}")
- endif ()
- 
--include(CompileProtos)
--google_cloud_cpp_load_protolist(
--    proto_list
--    "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/texttospeech.list")
--google_cloud_cpp_load_protodeps(
--    proto_deps
--    "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/texttospeech.deps")
--google_cloud_cpp_grpcpp_library(
--    google_cloud_cpp_texttospeech_protos # cmake-format: sort
--    ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}"
--    "${PROTO_INCLUDE_DIR}")
--external_googleapis_set_version_and_alias(texttospeech_protos)
--target_link_libraries(google_cloud_cpp_texttospeech_protos PUBLIC ${proto_deps})
-+add_library(google_cloud_cpp_texttospeech_protos INTERFACE)
-+target_link_libraries(google_cloud_cpp_texttospeech_protos
-+                      INTERFACE google-cloud-cpp::cloud_texttospeech_protos)
-+set_target_properties(
-+    google_cloud_cpp_texttospeech_protos
-+    PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos
-+               VERSION "${PROJECT_VERSION}"
-+               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+target_compile_options(google_cloud_cpp_texttospeech_protos
-+                       INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
-+add_library(google-cloud-cpp::texttospeech_protos ALIAS
-+            google_cloud_cpp_texttospeech_protos)
- 
- file(
-     GLOB source_files
-diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt
-index 99a04f5..0afc230 100644
---- a/google/cloud/trace/CMakeLists.txt
-+++ b/google/cloud/trace/CMakeLists.txt
-@@ -35,18 +35,19 @@ if (PROTO_INCLUDE_DIR)
-     list(INSERT PROTOBUF_IMPORT_DIRS 0 "${PROTO_INCLUDE_DIR}")
- endif ()
- 
--include(CompileProtos)
--google_cloud_cpp_load_protolist(
--    proto_list
--    "${PROJECT_SOURCE_DIR}/external/googleapis/protolists/trace.list")
--google_cloud_cpp_load_protodeps(
--    proto_deps "${PROJECT_SOURCE_DIR}/external/googleapis/protodeps/trace.deps")
--google_cloud_cpp_grpcpp_library(
--    google_cloud_cpp_trace_protos # cmake-format: sort
--    ${proto_list} PROTO_PATH_DIRECTORIES "${EXTERNAL_GOOGLEAPIS_SOURCE}"
--    "${PROTO_INCLUDE_DIR}")
--external_googleapis_set_version_and_alias(trace_protos)
--target_link_libraries(google_cloud_cpp_trace_protos PUBLIC ${proto_deps})
-+add_library(google_cloud_cpp_trace_protos INTERFACE)
-+target_link_libraries(
-+    google_cloud_cpp_trace_protos
-+    INTERFACE google-cloud-cpp::devtools_cloudtrace_v2_trace_protos
-+              google-cloud-cpp::devtools_cloudtrace_v2_tracing_protos)
-+set_target_properties(
-+    google_cloud_cpp_trace_protos
-+    PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos
-+               VERSION "${PROJECT_VERSION}"
-+               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+target_compile_options(google_cloud_cpp_trace_protos
-+                       INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
-+add_library(google-cloud-cpp::trace_protos ALIAS google_cloud_cpp_trace_protos)
- 
- file(
-     GLOB source_files
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch
deleted file mode 100644
index 4ecbc354da0bd..0000000000000
--- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/005-interface-library-properties.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/google/cloud/speech/CMakeLists.txt b/google/cloud/speech/CMakeLists.txt
-index 59546c7..51bc0b6 100644
---- a/google/cloud/speech/CMakeLists.txt
-+++ b/google/cloud/speech/CMakeLists.txt
-@@ -49,11 +49,8 @@ endif ()
- add_library(google_cloud_cpp_speech_protos INTERFACE)
- target_link_libraries(google_cloud_cpp_speech_protos
-                       INTERFACE google-cloud-cpp::cloud_speech_protos)
--set_target_properties(
--    google_cloud_cpp_speech_protos
--    PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos
--               VERSION "${PROJECT_VERSION}"
--               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+set_target_properties(google_cloud_cpp_speech_protos
-+                      PROPERTIES EXPORT_NAME google-cloud-cpp::speech_protos)
- target_compile_options(google_cloud_cpp_speech_protos
-                        INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
- add_library(google-cloud-cpp::speech_protos ALIAS
-diff --git a/google/cloud/texttospeech/CMakeLists.txt b/google/cloud/texttospeech/CMakeLists.txt
-index c43aa51..3041dac 100644
---- a/google/cloud/texttospeech/CMakeLists.txt
-+++ b/google/cloud/texttospeech/CMakeLists.txt
-@@ -41,9 +41,7 @@ target_link_libraries(google_cloud_cpp_texttospeech_protos
-                       INTERFACE google-cloud-cpp::cloud_texttospeech_protos)
- set_target_properties(
-     google_cloud_cpp_texttospeech_protos
--    PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos
--               VERSION "${PROJECT_VERSION}"
--               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+    PROPERTIES EXPORT_NAME google-cloud-cpp::texttospeech_protos)
- target_compile_options(google_cloud_cpp_texttospeech_protos
-                        INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
- add_library(google-cloud-cpp::texttospeech_protos ALIAS
-diff --git a/google/cloud/trace/CMakeLists.txt b/google/cloud/trace/CMakeLists.txt
-index 0afc230..828603d 100644
---- a/google/cloud/trace/CMakeLists.txt
-+++ b/google/cloud/trace/CMakeLists.txt
-@@ -40,11 +40,8 @@ target_link_libraries(
-     google_cloud_cpp_trace_protos
-     INTERFACE google-cloud-cpp::devtools_cloudtrace_v2_trace_protos
-               google-cloud-cpp::devtools_cloudtrace_v2_tracing_protos)
--set_target_properties(
--    google_cloud_cpp_trace_protos
--    PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos
--               VERSION "${PROJECT_VERSION}"
--               SOVERSION "${PROJECT_VERSION_MAJOR}")
-+set_target_properties(google_cloud_cpp_trace_protos
-+                      PROPERTIES EXPORT_NAME google-cloud-cpp::trace_protos)
- target_compile_options(google_cloud_cpp_trace_protos
-                        INTERFACE ${GOOGLE_CLOUD_CPP_EXCEPTIONS_FLAG})
- add_library(google-cloud-cpp::trace_protos ALIAS google_cloud_cpp_trace_protos)
diff --git a/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch b/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch
deleted file mode 100644
index ef18553443bda..0000000000000
--- a/recipes/google-cloud-cpp/2.x/patches/2.5.0/006-cannot-use-or-with-windows.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/google/cloud/internal/oauth2_compute_engine_credentials.cc b/google/cloud/internal/oauth2_compute_engine_credentials.cc
-index 9cb45a6..5c6b45d 100644
---- a/google/cloud/internal/oauth2_compute_engine_credentials.cc
-+++ b/google/cloud/internal/oauth2_compute_engine_credentials.cc
-@@ -68,8 +68,8 @@ StatusOr ParseComputeEngineRefreshResponse(
-   auto payload = rest_internal::ReadAll(std::move(response).ExtractPayload());
-   if (!payload.ok()) return payload.status();
-   auto access_token = nlohmann::json::parse(*payload, nullptr, false);
--  if (access_token.is_discarded() || access_token.count("access_token") == 0 or
--      access_token.count("expires_in") == 0 or
-+  if (access_token.is_discarded() || access_token.count("access_token") == 0 ||
-+      access_token.count("expires_in") == 0 ||
-       access_token.count("token_type") == 0) {
-     auto error_payload =
-         *payload +
-diff --git a/google/cloud/storage/oauth2/compute_engine_credentials.cc b/google/cloud/storage/oauth2/compute_engine_credentials.cc
-index 365273a..92e631c 100644
---- a/google/cloud/storage/oauth2/compute_engine_credentials.cc
-+++ b/google/cloud/storage/oauth2/compute_engine_credentials.cc
-@@ -36,8 +36,8 @@ ParseComputeEngineRefreshResponse(
-   // Response should have the attributes "access_token", "expires_in", and
-   // "token_type".
-   auto access_token = nlohmann::json::parse(response.payload, nullptr, false);
--  if (!access_token.is_object() || access_token.count("access_token") == 0 or
--      access_token.count("expires_in") == 0 or
-+  if (!access_token.is_object() || access_token.count("access_token") == 0 ||
-+      access_token.count("expires_in") == 0 ||
-       access_token.count("token_type") == 0) {
-     auto payload =
-         response.payload +
-diff --git a/google/cloud/storage/oauth2/service_account_credentials.cc b/google/cloud/storage/oauth2/service_account_credentials.cc
-index 4c600db..34c4e72 100644
---- a/google/cloud/storage/oauth2/service_account_credentials.cc
-+++ b/google/cloud/storage/oauth2/service_account_credentials.cc
-@@ -85,8 +85,8 @@ ParseServiceAccountRefreshResponse(
-     storage::internal::HttpResponse const& response,
-     std::chrono::system_clock::time_point now) {
-   auto access_token = nlohmann::json::parse(response.payload, nullptr, false);
--  if (access_token.is_discarded() || access_token.count("access_token") == 0 or
--      access_token.count("expires_in") == 0 or
-+  if (access_token.is_discarded() || access_token.count("access_token") == 0 ||
-+      access_token.count("expires_in") == 0 ||
-       access_token.count("token_type") == 0) {
-     auto payload =
-         response.payload +
diff --git a/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt b/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt
index 5d76b297da5c5..a3c3a27d44c93 100644
--- a/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt
+++ b/recipes/google-cloud-cpp/2.x/test_package/CMakeLists.txt
@@ -7,12 +7,22 @@ find_package(google-cloud-cpp CONFIG REQUIRED)
 # should pick what we test with a view to detecting
 # the most common packaging problems.
 
-# Bigtable, Pub/Sub and Spanner have signficant amounts of
-# custom code and thus some amount of ad-hoc dependencies on
-# absl::* components.
-# Storage has custom code and does not depend on gRPC or Protobuf.
-# Speech is a good model for most other libraries.
-foreach(component IN ITEMS "bigtable" "pubsub" "spanner" "speech" "storage")
+set(tests
+    # Bigtable, Pub/Sub and Spanner have signficant amounts of
+    # custom code and thus some amount of ad-hoc dependencies on
+    # absl::* components.
+    "bigtable" "pubsub" "spanner"
+    # Storage has custom code and does not depend on gRPC or Protobuf.
+    "storage"
+    # Speech is a good model for most other libraries.
+    "speech")
+if (WITH_COMPUTE)
+    # Compute does not use gRPC and has a different structure from most
+    # libraries.
+    list(APPEND tests "compute")
+endif ()
+
+foreach(component IN LISTS tests)
     add_executable("${component}" "${component}.cpp")
     target_compile_features("${component}" PRIVATE cxx_std_14)
     target_link_libraries("${component}" google-cloud-cpp::${component})
diff --git a/recipes/google-cloud-cpp/2.x/test_package/compute.cpp b/recipes/google-cloud-cpp/2.x/test_package/compute.cpp
new file mode 100644
index 0000000000000..59d7b98bea158
--- /dev/null
+++ b/recipes/google-cloud-cpp/2.x/test_package/compute.cpp
@@ -0,0 +1,12 @@
+#include 
+
+int main(int argc, char *argv[]) {
+  if (argc != 1) {
+    std::cerr << "Usage: compute\n";
+    return 1;
+  }
+  std::cout << "Testing google-cloud-cpp::compute library " << google::cloud::version_string() << "\n";
+  namespace disks = ::google::cloud::compute_disks_v1;
+  auto client = disks::DisksClient(disks::MakeDisksConnectionRest());
+  return 0;
+}
diff --git a/recipes/google-cloud-cpp/2.x/test_package/conanfile.py b/recipes/google-cloud-cpp/2.x/test_package/conanfile.py
index a3be7ec5660ae..4544391b62f56 100644
--- a/recipes/google-cloud-cpp/2.x/test_package/conanfile.py
+++ b/recipes/google-cloud-cpp/2.x/test_package/conanfile.py
@@ -4,6 +4,8 @@
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.build import can_run
 from conan.tools.env import VirtualRunEnv
+from conan.tools.scm import Version
+
 
 class TestPackageConan(ConanFile):
     settings = "os", "compiler", "build_type", "arch"
@@ -14,9 +16,19 @@ def requirements(self):
 
     def layout(self):
         cmake_layout(self)
+    
+    def _supports_compute(self):
+        if not hasattr(self, "dependencies"):
+            # This is typically a Conan v1 build. We skip the test for compute
+            # because it is difficult to establish the `google-cloud-cpp`
+            # version, and Conan v1 is being retired, and the support is tested
+            # as part of the Conan v2 build.
+            return False
+        return Version(self.dependencies["google-cloud-cpp"].ref.version) >= "2.19.0"
 
     def generate(self):
         tc = CMakeToolchain(self)
+        tc.variables["WITH_COMPUTE"] = self._supports_compute()
         tc.generate()
         # Environment so that the compiled test executable can load shared libraries
         runenv = VirtualRunEnv(self)
@@ -35,3 +47,6 @@ def test(self):
         for test in ["bigtable", "pubsub", "spanner", "speech", "storage"]:
             cmd = os.path.join(self.cpp.build.bindir, test)
             self.run(cmd, env="conanrun")
+        if self._supports_compute():
+            cmd = os.path.join(self.cpp.build.bindir, "compute")
+            self.run(cmd, env="conanrun")
diff --git a/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py b/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py
index 7d052b9b26983..35fbd17e1bba5 100644
--- a/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py
+++ b/recipes/google-cloud-cpp/2.x/test_v1_package/conanfile.py
@@ -1,6 +1,6 @@
 import os
 
-from conans import ConanFile, CMake, tools
+from conans import ConanFile, CMake
 from conan.tools.build import can_run
 
 
diff --git a/recipes/google-cloud-cpp/config.yml b/recipes/google-cloud-cpp/config.yml
index ad2df7e79e43a..bb19be722c391 100644
--- a/recipes/google-cloud-cpp/config.yml
+++ b/recipes/google-cloud-cpp/config.yml
@@ -9,9 +9,9 @@ versions:
     folder: "all"
   "1.40.1":
     folder: "all"
-  "2.5.0":
-    folder: "2.x"
   "2.12.0":
     folder: "2.x"
   "2.15.1":
     folder: "2.x"
+  "2.19.0":
+    folder: "2.x"

From ae40baedc48abcb1168aa700c6d002f102e5b334 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 01:17:08 +0200
Subject: [PATCH 0904/1307] (#21734) mingw-w64: migrate to Conan v2

* mingw-w64: migrate to Conan v2

* mingw-w64: relax settings_target checks

* mingw-w64: bump GCC minor version

* mingw-w64: fix license copying

* mingw-w64: update version in options

* mingw-w64: fix test_v1_package

* mingw-w64: set short_paths=True
---
 recipes/mingw-w64/linux/conandata.yml         |  16 +-
 recipes/mingw-w64/linux/conanfile.py          | 503 ++++++++++--------
 .../mingw-w64/linux/test_package/conanfile.py |  13 +-
 .../linux/test_v1_package/conanfile.py        |  16 +
 4 files changed, 315 insertions(+), 233 deletions(-)
 create mode 100644 recipes/mingw-w64/linux/test_v1_package/conanfile.py

diff --git a/recipes/mingw-w64/linux/conandata.yml b/recipes/mingw-w64/linux/conandata.yml
index 4c165fd2e4f36..e6c1adc158693 100644
--- a/recipes/mingw-w64/linux/conandata.yml
+++ b/recipes/mingw-w64/linux/conandata.yml
@@ -4,9 +4,15 @@ sources:
       url: "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/mingw-w64-v8.0.2.tar.bz2"
       sha256: "f00cf50951867a356d3dc0dcc7a9a9b422972302e23d54a33fc05ee7f73eee4d"
     binutils:
-      url: "http://ftp.gnu.org/gnu/binutils/binutils-2.35.2.tar.bz2"
-      sha256: "cfa7644dbecf4591e136eb407c1c1da16578bd2b03f0c2e8acdceba194bb9d61"
+      url:
+        - "https://mirrors.dotsrc.org/gnu/binutils/binutils-2.35.2.tar.xz"
+        - "https://mirror.kumi.systems/gnu/binutils/binutils-2.35.2.tar.xz"
+        - "https://ftpmirror.gnu.org/binutils/binutils-2.35.2.tar.xz"
+      sha256: "dcd5b0416e7b0a9b24bed76cd8c6c132526805761863150a26d016415b8bdc7b"
     gcc:
-      "10.3.0":
-        url: "http://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.xz"
-        sha256: "64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344"
+      "10.5.0":
+        url:
+          - "https://mirrors.dotsrc.org/gnu/gcc/gcc-10.5.0/gcc-10.5.0.tar.xz"
+          - "https://mirror.kumi.systems/gnu/gcc/gcc-10.5.0/gcc-10.5.0.tar.xz"
+          - "https://ftpmirror.gnu.org/gcc/gcc-10.5.0/gcc-10.5.0.tar.xz"
+        sha256: "25109543fdf46f397c347b5d8b7a2c7e5694a5a51cce4b9c6e1ea8a71ca307c1"
diff --git a/recipes/mingw-w64/linux/conanfile.py b/recipes/mingw-w64/linux/conanfile.py
index 1e781d08b3204..bd2c407d5a633 100644
--- a/recipes/mingw-w64/linux/conanfile.py
+++ b/recipes/mingw-w64/linux/conanfile.py
@@ -1,83 +1,114 @@
 import os
+from contextlib import contextmanager
+
 from conan import ConanFile
-from conan.tools.files import get, mkdir, chdir, rm, rmdir
 from conan.errors import ConanInvalidConfiguration
-from conans import tools, AutoToolsBuildEnvironment
-
+from conan.tools.env import Environment, VirtualBuildEnv
+from conan.tools.files import chdir, copy, get, mkdir, rm, rmdir
+from conan.tools.gnu import Autotools, AutotoolsToolchain, PkgConfigDeps
+from conan.tools.layout import basic_layout
 
-required_conan_version = ">=1.50.0"
+required_conan_version = ">=1.53.0"
 
 
 class MingwConan(ConanFile):
     name = "mingw-w64"
-    description = "MinGW is a contraction of Minimalist GNU for Windows"
+    description = ("This package provides a MinGW-w64 environment with a GCC toolchain "
+                   "for cross-compilation of native Windows binaries from Linux.")
+    license = ("ZPL-2.1", "MIT", "GPL-2.0-or-later")
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://www.mingw-w64.org/"
-    license = "ZPL-2.1", "MIT", "GPL-2.0-or-later"
     topics = ("gcc", "gnu", "unix", "mingw32", "binutils")
-    settings = "os", "arch", "build_type", "compiler"
-    options = {"threads": ["posix", "win32"], "exception": ["seh", "sjlj"], "gcc": ["10.3.0"]}
-    default_options = {"threads": "posix", "exception": "seh", "gcc": "10.3.0"}
-    no_copy_source = True
+
+    package_type = "application"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "threads": ["posix", "win32"],
+        "exception": ["seh", "sjlj"],
+        "gcc": ["10.5.0"],
+    }
+    default_options = {
+        "threads": "posix",
+        "exception": "seh",
+        "gcc": "10.5.0",
+    }
+    options_description = {
+        "threads": "Threading model: posix or win32",
+        "exception": "Exception model: seh (Structured Exception Handling) or sjlj (setjmp/longjmp)",
+        "gcc": "GCC version provided by MinGW-w64",
+    }
+
+    short_paths = True
 
     @property
     def _settings_build(self):
         return getattr(self, "settings_build", self.settings)
 
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        del self.info.settings.compiler
+        del self.info.settings.build_type
+
     def validate(self):
-        valid_os = ["Linux"]
+        valid_os = ["Linux", "FreeBSD"]
         if str(self.settings.os) not in valid_os:
-            raise ConanInvalidConfiguration("MinGW {} is only supported for the following operating systems: {}"
-                                            .format(self.version, valid_os))
+            raise ConanInvalidConfiguration(
+                f"MinGW {self.version} is only supported for the following operating systems: {valid_os}"
+            )
         valid_arch = ["x86_64"]
         if str(self.settings.arch) not in valid_arch:
-            raise ConanInvalidConfiguration("MinGW {} is only supported for the following architectures on {}: {}"
-                                            .format(self.version, str(self.settings.os), valid_arch))
-
-        if "gcc" in self.conan_data["sources"][self.version]:
-            valid_gcc = self.conan_data["sources"][self.version]["gcc"].keys()
-            if str(self.options.gcc) not in valid_gcc:
-                raise ConanInvalidConfiguration("gcc version {} is not in the list of valid versions: {}"
-                                                .format(str(self.options.gcc), valid_gcc))
+            raise ConanInvalidConfiguration(
+                f"MinGW {self.version} is only supported for the following architectures on {str(self.settings.os)}: {valid_arch}"
+            )
 
     def build_requirements(self):
-        self.build_requires("m4/1.4.19")
-        self.build_requires("gmp/6.2.1")
-        self.build_requires("mpfr/4.1.0")
-        self.build_requires("mpc/1.2.0")
+        self.tool_requires("m4/1.4.19")
+        self.tool_requires("gmp/6.3.0")
+        self.tool_requires("mpfr/4.2.0")
+        self.tool_requires("mpc/1.3.1")
 
-    def package_id(self):
-        del self.info.settings.compiler
-        del self.info.settings.build_type
+    def source(self):
+        # Source is downloaded in the build step since it depends on specific option values
+        pass
 
-    def _download_source(self):
-        arch_data = self.conan_data["sources"][self.version]
+    def _download_source(self, package):
+        self.output.info(f"Downloading {package} ...")
+        info = self.conan_data["sources"][self.version][package]
+        if package == "gcc":
+            info = info[str(self.options.gcc)]
+        destination = os.path.join(self.source_folder, package)
+        get(self, **info, strip_root=True, destination=destination)
+        return destination
 
-        for package in arch_data:
-            if package == "gcc":
-                continue
-            self.output.info("Downloading {} from {}".format(package, arch_data[package]['url']))
-            get(self, **arch_data[package], strip_root=True, destination=os.path.join(self.build_folder, "sources", package))
-        # Download gcc version
-        gcc_data = arch_data["gcc"][str(self.options.gcc)]
-        get(self, **gcc_data, strip_root=True, destination=os.path.join(self.build_folder, "sources", "gcc"))
+    @property
+    def _build_multilib(self):
+        # We currently cannot build with multilib and threads=posix. Otherwise we get the gcc compile error:
+        # checking for ld that supports -Wl,--gc-sections... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
+        # Makefile:11275: recipe for target 'configure-target-libstdc++-v3' failed
+        return False
+
+    @property
+    def _host_tag(self):
+        return "x86_64-linux-gnu"
 
     @property
     def _target_tag(self):
         return "x86_64-w64-mingw32"
 
-    def build(self):
-        # Source should be downloaded in the build step since it depends on specific options
-        self._download_source()
-
-        target_tag = self._target_tag
-        host_tag = "x86_64-linux-gnu"
+    def _get_package_root(self, p):
+        return self.dependencies.build[p].package_folder.replace("\\", "/")
 
-        # We currently cannot build with multilib and threads=posix. Otherwise we get the gcc compile error:
-        # checking for ld that supports -Wl,--gc-sections... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
-        # Makefile:11275: recipe for target 'configure-target-libstdc++-v3' failed
-        build_multilib = False
+    @property
+    def _with_gmp_mpfr_mpc(self):
+        return [
+            f"--with-gmp={self._get_package_root('gmp')}",
+            f"--with-mpfr={self._get_package_root('mpfr')}",
+            f"--with-mpc={self._get_package_root('mpc')}",
+        ]
 
+    def generate(self):
         # Instructions see:
         # https://sourceforge.net/p/mingw-w64/code/HEAD/tree/trunk/mingw-w64-doc/howto-build/mingw-w64-howto-build.txt
         # and
@@ -85,202 +116,228 @@ def build(self):
         # also good to see specific commands:
         # https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/+/lollipop-dev/build-mingw64-toolchain.sh
 
-        # add binutils to path. Required for gcc build
-        env = {"PATH": os.environ["PATH"] + ":" + os.path.join(self.package_folder, "bin")}
+        # Add binutils to path. Required for gcc build.
+        env = Environment()
+        env.append_path("PATH", os.path.join(self.package_folder, "bin"))
+        env.vars(self).save_script("conanbuild_package_bin_path")
 
-        with tools.environment_append(env):
-            with_gmp_mpfc_mpc = [
-                "--with-gmp={}".format(self.deps_cpp_info["gmp"].rootpath.replace("\\", "/")),
-                "--with-mpfr={}".format(self.deps_cpp_info["mpfr"].rootpath.replace("\\", "/")),
-                "--with-mpc={}".format(self.deps_cpp_info["mpc"].rootpath.replace("\\", "/"))
+        venv = VirtualBuildEnv(self)
+        venv.generate()
+
+        deps = PkgConfigDeps(self)
+        deps.generate()
+
+        self.output.info("Generating for binutils ...")
+        tc = AutotoolsToolchain(self, namespace="binutils")
+        tc.configure_args += [
+            f"--target={self._target_tag}",
+            f"--with-sysroot={self.package_folder}",
+            "--enable-silent-rules",
+            "--disable-nls",
+            "--disable-shared",
+        ]
+        if self._build_multilib:
+            tc.configure_args.append("--enable-targets=x86_64-w64-mingw32,i686-w64-mingw32")
+        tc.configure_args.extend(self._with_gmp_mpfr_mpc)
+        tc.generate()
+
+        self.output.info("Generating for mingw-w64-tools ...")
+        tc = AutotoolsToolchain(self, namespace="mingw-w64-tools")
+        tc.configure_args += [
+            f"--target={self._target_tag}"
+        ]
+        tc.generate()
+
+        self.output.info("Generating for mingw-w64-headers ...")
+        tc = AutotoolsToolchain(self, namespace="mingw-w64-headers")
+        tc.configure_args += [
+            f"--host={self._target_tag}",
+            f"--build={self._host_tag}",
+            f"--prefix=/{self._target_tag}",
+            f"--with-widl={os.path.join(self.package_folder, 'bin')}",
+            "--enable-silent-rules",
+            "--enable-sdk=all",
+        ]
+        tc.generate()
+
+        self.output.info("Generating for core gcc ...")
+        tc = AutotoolsToolchain(self, namespace="gcc")
+        tc.configure_args += [
+            f"--target={self._target_tag}",
+            f"--with-sysroot={self.package_folder}",
+            "--disable-shared",
+            "--enable-silent-rules",
+            "--enable-languages=c,c++",
+        ]
+        if self._build_multilib:
+            tc.configure_args.append("--enable-targets=all")
+            tc.configure_args.append("--enable-multilib")
+        else:
+            tc.configure_args.append("--disable-multilib")
+        tc.configure_args.extend(self._with_gmp_mpfr_mpc)
+        if self.options.exception == "sjlj":
+            tc.configure_args.append("--enable-sjlj-exceptions")
+        if self.options.threads == "posix":
+            # Some specific options which need to be set for posix thread. Otherwise it fails to compile.
+            tc.configure_args.extend([
+                "--enable-silent-rules",
+                "--enable-threads=posix",
+                # Not 100% sure why, but the following options are required, otherwise
+                # gcc fails to build with posix threads
+            ])
+        tc.libs = []
+        tc.generate()
+
+        self.output.info("Generating for mingw-w64-crt ...")
+        tc = AutotoolsToolchain(self, namespace="mingw-w64-crt")
+        tc.configure_args += [
+            f"--host={self._target_tag}",
+            f"--prefix=/{self._target_tag}",
+            f"--with-sysroot={self.package_folder}",
+            f"CC={self._target_tag}-gcc",
+            f"CXX={self._target_tag}-g++",
+            "--enable-silent-rules",
+        ]
+        if self._build_multilib:
+            tc.configure_args.append("--enable-lib32")
+        tc.generate()
+
+        if self.options.threads == "posix":
+            self.output.info("Generating for mingw-w64-libraries-winpthreads ...")
+            tc = AutotoolsToolchain(self, namespace="mingw-w64-libraries-winpthreads")
+            tc.configure_args += [
+                f"--host={self._target_tag}",
+                f"--prefix=/{self._target_tag}",
+                f"CC={self._target_tag}-gcc",
+                f"CXX={self._target_tag}-g++",
+                "--enable-silent-rules",
+                "--disable-shared",
             ]
+            tc.generate()
 
-            self.output.info("Building binutils ...")
-            mkdir(self, os.path.join(self.build_folder, "binutils"))
-            with chdir(self, os.path.join(self.build_folder, "binutils")):
-                autotools = AutoToolsBuildEnvironment(self)
-                conf_args = [
-                    "--enable-silent-rules",
-                    "--with-sysroot={}".format(self.package_folder),
-                    "--disable-nls",
-                    "--disable-shared"
-                ]
-                if build_multilib:
-                    conf_args.append("--enable-targets=x86_64-w64-mingw32,i686-w64-mingw32")
-                conf_args.extend(with_gmp_mpfc_mpc)
-                autotools.configure(configure_dir=os.path.join(self.build_folder, "sources", "binutils"),
-                                    args=conf_args, target=target_tag, host=False, build=False)
-                autotools.make()
-                autotools.install()
+    @contextmanager
+    def _build_namespace(self, namespace):
+        self.output.info(f"Building {namespace} ...")
+        build_dir = os.path.join(self.build_folder, namespace)
+        mkdir(self, build_dir)
+        with chdir(self, build_dir):
+            yield Autotools(self, namespace=namespace)
 
-            self.output.info("Building mingw-w64-tools ...")
-            mkdir(self, os.path.join(self.build_folder, "mingw-w64-tools"))
-            with chdir(self, os.path.join(self.build_folder, "mingw-w64-tools")):
-                autotools = AutoToolsBuildEnvironment(self)
-                conf_args = []
-                autotools.configure(configure_dir=os.path.join(self.build_folder, "sources", "mingw-w64", "mingw-w64-tools", "widl"),
-                                    args=conf_args, target=target_tag, host=False, build=False)
-                autotools.make()
-                autotools.install()
+    def build(self):
+        binutils_source = self._download_source("binutils")
+        with self._build_namespace("binutils") as autotools:
+            autotools.configure(binutils_source)
+            autotools.make()
+            autotools.install()
 
-            self.output.info("Building mingw-w64-headers ...")
-            mkdir(self, os.path.join(self.build_folder, "mingw-w64-headers"))
-            with chdir(self, os.path.join(self.build_folder, "mingw-w64-headers")):
-                autotools = AutoToolsBuildEnvironment(self)
-                conf_args = [
-                    "--enable-silent-rules",
-                    "--with-widl={}".format(os.path.join(self.package_folder, "bin")),
-                    "--enable-sdk=all",
-                    "--prefix={}".format(os.path.join(self.package_folder, target_tag))
-                ]
-                autotools.configure(configure_dir=os.path.join(self.build_folder, "sources", "mingw-w64", "mingw-w64-headers"),
-                                    args=conf_args, target=False, host=target_tag, build=host_tag)
+        mingw_w64_source = self._download_source("mingw-w64")
+        with self._build_namespace("mingw-w64-tools") as autotools:
+            autotools.configure(os.path.join(mingw_w64_source, "mingw-w64-tools", "widl"))
+            autotools.make()
+            autotools.install()
+
+        with self._build_namespace("mingw-w64-headers") as autotools:
+            autotools.configure(os.path.join(mingw_w64_source, "mingw-w64-headers"))
+            autotools.make()
+            autotools.install()
+
+        # Step 3) GCC requires the x86_64-w64-mingw32 directory be mirrored as a
+        # directory 'mingw' in the same root.  So, if using configure default
+        # /usr/local, type:
+        #     ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw
+        #     or, for sysroot, type:
+        #     ln -s /mypath/x86_64-w64-mingw32 /mypath/mingw
+        with chdir(self, self.package_folder):
+            os.symlink(self._target_tag, "mingw")
+
+        # Step 5) Symlink x86_64-w64-mingw32/lib directory as x86_64-w64-mingw32/lib64:
+        # ln -s /usr/local/x86_64-w64-mingw32/lib /usr/local/x86_64-w64-mingw32/lib64
+        # or, for sysroot:
+        #     ln -s /mypath/x86_64-w64-mingw32/lib /mypath/x86_64-w64-mingw32/lib64
+        with chdir(self, os.path.join(self.package_folder, self._target_tag)):
+            os.symlink("lib", "lib64")
+
+        gcc_source = self._download_source("gcc")
+        with self._build_namespace("gcc") as autotools:
+            autotools.configure(gcc_source)
+            autotools.make(target="all-gcc")
+            autotools.install(target="install-gcc")
+
+        with self._build_namespace("mingw-w64-crt") as autotools:
+            autotools.configure(os.path.join(mingw_w64_source, "mingw-w64-crt"))
+            autotools.make()
+            autotools.install()
+
+        if self.options.threads == "posix":
+            with self._build_namespace("mingw-w64-libraries-winpthreads") as autotools:
+                autotools.configure(os.path.join(mingw_w64_source, "mingw-w64-libraries", "winpthreads"))
                 autotools.make()
                 autotools.install()
-                # Step 3) GCC requires the x86_64-w64-mingw32 directory be mirrored as a
-                # directory 'mingw' in the same root.  So, if using configure default
-                # /usr/local, type:
-                #     ln -s /usr/local/x86_64-w64-mingw32 /usr/local/mingw
-                #     or, for sysroot, type:
-                #     ln -s /mypath/x86_64-w64-mingw32 /mypath/mingw
-                self.run("ln -s {} {}".format(os.path.join(self.package_folder, target_tag),
-                                              os.path.join(self.package_folder, 'mingw')))
-                # Step 5) Symlink x86_64-w64-mingw32/lib directory as x86_64-w64-mingw32/lib64:
-                # ln -s /usr/local/x86_64-w64-mingw32/lib /usr/local/x86_64-w64-mingw32/lib64
-                # or, for sysroot:
-                #     ln -s /mypath/x86_64-w64-mingw32/lib /mypath/x86_64-w64-mingw32/lib64
-                self.run("ln -s {} {}".format(os.path.join(self.package_folder, target_tag, 'lib'),
-                                              os.path.join(self.package_folder, target_tag, 'lib64')))
-
-            self.output.info("Building core gcc ...")
-            mkdir(self, os.path.join(self.build_folder, "gcc"))
-            with chdir(self, os.path.join(self.build_folder, "gcc")):
-                autotools_gcc = AutoToolsBuildEnvironment(self)
-                conf_args = [
-                    "--enable-silent-rules",
-                    "--enable-languages=c,c++",
-                    "--with-sysroot={}".format(self.package_folder),
-                    "--disable-shared"
-                ]
-                if build_multilib:
-                    conf_args.append("--enable-targets=all")
-                    conf_args.append("--enable-multilib")
-                else:
-                    conf_args.append("--disable-multilib")
-                conf_args.extend(with_gmp_mpfc_mpc)
-                if self.options.exception == "sjlj":
-                    conf_args.append("--enable-sjlj-exceptions")
-                if self.options.threads == "posix":
-                    # Some specific options which need to be set for posix thread. Otherwise it fails compiling.
-                    conf_args.extend([
-                        "--enable-silent-rules",
-                        "--enable-threads=posix",
-                        # Not 100% sure why, but the following options are required, otherwise
-                        # gcc fails to build with posix threads
-                    ])
-                autotools_gcc.libs = []
-                autotools_gcc.configure(configure_dir=os.path.join(self.build_folder, "sources", "gcc"),
-                                        args=conf_args, target=target_tag, host=False, build=False)
-                autotools_gcc.make(target="all-gcc")
-                autotools_gcc.make(target="install-gcc")
-
-            env_compiler = dict(env)
-            # The CC and CXX compiler must be set to the mingw compiler. Conan already sets CC and CXX, therefore we need to overwrite it.
-            # If the wrong compiler is used for mingw-w64-crt, then you will get the error
-            # configure: Please check if the mingw-w64 header set and the build/host option are set properly.
-            env_compiler["CC"] = target_tag + "-gcc"
-            env_compiler["CXX"] = target_tag + "-g++"
-            with tools.environment_append(env_compiler):
-                self.output.info("Building mingw-w64-crt ...")
-                mkdir(self, os.path.join(self.build_folder, "mingw-w64-crt"))
-                with chdir(self, os.path.join(self.build_folder, "mingw-w64-crt")):
-                    autotools = AutoToolsBuildEnvironment(self)
-                    conf_args = [
-                        "--enable-silent-rules",
-                        "--prefix={}".format(os.path.join(self.package_folder, target_tag)),
-                        "--with-sysroot={}".format(self.package_folder)
-                    ]
-                    if build_multilib:
-                        conf_args.append("--enable-lib32")
-                    autotools.configure(configure_dir=os.path.join(self.build_folder, "sources", "mingw-w64", "mingw-w64-crt"),
-                                        args=conf_args, target=False, host=target_tag, build=False,
-                                        use_default_install_dirs=False)
-                    autotools.make()
-                    autotools.install()
-
-                if self.options.threads == "posix":
-                    self.output.info("Building mingw-w64-libraries-winpthreads ...")
-                    mkdir(self, os.path.join(self.build_folder, "mingw-w64-libraries-winpthreads"))
-                    with chdir(self, os.path.join(self.build_folder, "mingw-w64-libraries-winpthreads")):
-                        autotools = AutoToolsBuildEnvironment(self)
-                        conf_args = [
-                            "--enable-silent-rules",
-                            "--disable-shared",
-                            "--prefix={}".format(os.path.join(self.package_folder, target_tag))
-                        ]
-                        autotools.configure(configure_dir=os.path.join(self.build_folder, "sources", "mingw-w64", "mingw-w64-libraries", "winpthreads"),
-                                            args=conf_args, target=False, host=target_tag, build=False)
-                        autotools.make()
-                        autotools.install()
-
-            self.output.info("Building libgcc ...")
-            with chdir(self, os.path.join(self.build_folder, "gcc")):
-                autotools_gcc.make()
-                autotools_gcc.install()
+
+        with self._build_namespace("gcc") as autotools:
+            autotools.make()
+            autotools.install()
 
         self.output.info("Building done!")
 
     def package(self):
-        self.copy("COPYING", src=os.path.join(self.build_folder, "sources", "mingw-w64"), dst="licenses")
+        copy(self, "COPYING",
+             src=os.path.join(self.source_folder, "mingw-w64"),
+             dst=os.path.join(self.package_folder, "licenses"))
         rm(self, "*.la", self.package_folder, recursive=True)
         rmdir(self, os.path.join(self.package_folder, "share", "man"))
         rmdir(self, os.path.join(self.package_folder, "share", "doc"))
         rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
-        # replace with relative symlinks so they'll resolve correctly on consumer's machine
-        os.unlink(os.path.join(self.package_folder, 'mingw'))
-        os.unlink(os.path.join(self.package_folder, self._target_tag, 'lib64'))
-        self.run("ln -s {} {}".format(os.path.join(os.curdir, self._target_tag),
-                                        os.path.join(self.package_folder, 'mingw')))
-        self.run("ln -s {} {}".format(os.path.join(os.curdir, 'lib'),
-                                        os.path.join(self.package_folder, self._target_tag, 'lib64')))
 
     def package_info(self):
+        self.cpp_info.frameworkdirs = []
+        self.cpp_info.libdirs = []
+        self.cpp_info.resdirs = []
+        self.cpp_info.includedirs = []
+
         if getattr(self, "settings_target", None):
             if self.settings_target.compiler != "gcc":
-                raise ConanInvalidConfiguration("Only GCC is allowed as compiler.")
+                self.output.warning("Only GCC is allowed as the compiler.")
             if str(self.settings_target.compiler.threads) != str(self.options.threads):
-                raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc "
-                                                "with threads={}, your profile:host declares "
-                                                "threads={}, please use the same value for both."
-                                                .format(self.options.threads,
-                                                        self.settings_target.compiler.threads))
+                self.output.warning(
+                    f"Build requires 'mingw' provides binaries for gcc with threads={self.options.threads},"
+                    f" your profile:host declares threads={self.settings_target.compiler.threads},"
+                    " please use the same value for both."
+                )
             if str(self.settings_target.compiler.exception) != str(self.options.exception):
-                raise ConanInvalidConfiguration("Build requires 'mingw' provides binaries for gcc "
-                                                "with exception={}, your profile:host declares "
-                                                "exception={}, please use the same value for both."
-                                                .format(self.options.exception,
-                                                        self.settings_target.compiler.exception))
+                self.output.warning(
+                    f"Build requires 'mingw' provides binaries for gcc with exception={self.options.exception},"
+                    f" your profile:host declares exception={self.settings_target.compiler.exception},"
+                    " please use the same value for both."
+                )
 
         bin_path = os.path.join(self.package_folder, "bin")
-        self.output.info("Appending PATH env var with : {}".format(bin_path))
+        prefix = os.path.join(bin_path, self._target_tag + "-")
+
+        self.buildenv_info.prepend_path("PATH", bin_path)
         self.env_info.PATH.append(bin_path)
-        self.env_info.MINGW_HOME = str(self.package_folder)
-
-        prefix = os.path.join(self.package_folder, "bin", self._target_tag + "-")
-        self.env_info.CC = prefix + "gcc"
-        self.env_info.CXX = prefix + "g++"
-        self.env_info.CPP = prefix + "cpp"
-        self.env_info.AR = prefix + "ar"
-        self.env_info.AS = prefix + "as"
-        self.env_info.GDB = prefix + "gdb"
-        self.env_info.LD = prefix + "ld"
-        self.env_info.NM = prefix + "nm"
-        self.env_info.OBJCOPY = prefix + "objcopy"
-        self.env_info.OBJDUMP = prefix + "objdump"
-        self.env_info.RANLIB = prefix + "ranlib"
-        self.env_info.SIZE = prefix + "size"
-        self.env_info.STRINGS = prefix + "strings"
-        self.env_info.STRIP = prefix + "strip"
-        self.env_info.GCOV = prefix + "gcov"
-        self.env_info.RC = prefix + "windres"
-        self.env_info.DLLTOOL = prefix + "dlltool"
+
+        self.buildenv_info.define_path("MINGW_HOME", self.package_folder)
+        self.env_info.MINGW_HOME = self.package_folder
+
+        def define_tool_env(var, name):
+            self.buildenv_info.define_path(var, prefix + name)
+            setattr(self.env_info, var, prefix + name)
+
+        define_tool_env("CC", "gcc")
+        define_tool_env("CXX", "g++")
+        define_tool_env("CPP", "cpp")
+        define_tool_env("AR", "ar")
+        define_tool_env("AS", "as")
+        define_tool_env("GDB", "gdb")
+        define_tool_env("LD", "ld")
+        define_tool_env("NM", "nm")
+        define_tool_env("OBJCOPY", "objcopy")
+        define_tool_env("OBJDUMP", "objdump")
+        define_tool_env("RANLIB", "ranlib")
+        define_tool_env("SIZE", "size")
+        define_tool_env("STRINGS", "strings")
+        define_tool_env("STRIP", "strip")
+        define_tool_env("GCOV", "gcov")
+        define_tool_env("RC", "windres")
+        define_tool_env("DLLTOOL", "dlltool")
diff --git a/recipes/mingw-w64/linux/test_package/conanfile.py b/recipes/mingw-w64/linux/test_package/conanfile.py
index b6ef323de8d96..300783c0da9a5 100644
--- a/recipes/mingw-w64/linux/test_package/conanfile.py
+++ b/recipes/mingw-w64/linux/test_package/conanfile.py
@@ -1,16 +1,19 @@
 import os
 from conan import ConanFile
-from conan.tools.build import cross_building
+from conan.tools.build import can_run
 
 
 class MinGWTestConan(ConanFile):
-    generators = "gcc"
     settings = "os", "arch", "compiler", "build_type"
+    generators = "VirtualBuildEnv"
+
+    def build_requirements(self):
+        self.tool_requires(self.tested_reference_str)
 
     def build(self):
         source_file = os.path.join(self.source_folder, "main.cpp")
-        self.run("x86_64-w64-mingw32-g++ {} @conanbuildinfo.gcc -lstdc++ -o main".format(source_file), run_environment=True)
+        self.run(f"x86_64-w64-mingw32-g++ {source_file} -lstdc++ -o main", env="conanbuild")
 
     def test(self):
-        if not cross_building(self):
-            self.run("x86_64-w64-mingw32-g++ --version", run_environment=True)
+        if can_run(self):
+            self.run("x86_64-w64-mingw32-g++ --version", env="conanbuild")
diff --git a/recipes/mingw-w64/linux/test_v1_package/conanfile.py b/recipes/mingw-w64/linux/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..13c18e19957ac
--- /dev/null
+++ b/recipes/mingw-w64/linux/test_v1_package/conanfile.py
@@ -0,0 +1,16 @@
+import os
+from conan import ConanFile
+from conan.tools.build import cross_building
+
+
+class MinGWTestConan(ConanFile):
+    generators = "gcc"
+    settings = "os", "arch", "compiler", "build_type"
+
+    def build(self):
+        source_file = os.path.join(self.source_folder, os.pardir, "test_package", "main.cpp")
+        self.run(f"x86_64-w64-mingw32-g++ {source_file} @conanbuildinfo.gcc -lstdc++ -o main", run_environment=True)
+
+    def test(self):
+        if not cross_building(self):
+            self.run("x86_64-w64-mingw32-g++ --version", run_environment=True)

From d7dee8e3b4c771ee51205363ec8a807b92b1cb64 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 01:37:15 +0200
Subject: [PATCH 0905/1307] (#21744) cyrus-sasl: add Windows support

* cyrus-sasl: add Windows support

* cyrus-sasl: add resolv and crypt as system deps
---
 recipes/cyrus-sasl/all/conanfile.py | 120 ++++++++++++++++++++++------
 1 file changed, 97 insertions(+), 23 deletions(-)

diff --git a/recipes/cyrus-sasl/all/conanfile.py b/recipes/cyrus-sasl/all/conanfile.py
index d9623fba3aec4..e29d9fed196d8 100644
--- a/recipes/cyrus-sasl/all/conanfile.py
+++ b/recipes/cyrus-sasl/all/conanfile.py
@@ -3,10 +3,10 @@
 from conan.tools.apple import fix_apple_shared_install_name
 from conan.tools.build import cross_building
 from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
-from conan.tools.files import copy, get, rm, rmdir
+from conan.tools.files import copy, get, rm, rmdir, replace_in_file
 from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain
 from conan.tools.layout import basic_layout
-from conan.tools.microsoft import unix_path
+from conan.tools.microsoft import unix_path, is_msvc, MSBuildDeps, MSBuildToolchain, MSBuild
 import os
 
 required_conan_version = ">=1.54.0"
@@ -66,6 +66,13 @@ def _settings_build(self):
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
+        if is_msvc(self):
+            # always required
+            del self.options.with_openssl
+            # not used
+            del self.options.with_postgresql
+            del self.options.with_mysql
+            del self.options.with_sqlite3
 
     def configure(self):
         if self.options.shared:
@@ -77,36 +84,31 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        if self.options.with_openssl:
+        if is_msvc(self) or self.options.with_openssl:
             self.requires("openssl/[>=1.1 <4]")
-        if self.options.with_postgresql:
+        if self.options.get_safe("with_postgresql"):
             self.requires("libpq/15.4")
-        if self.options.with_mysql:
+        if self.options.get_safe("with_mysql"):
             self.requires("libmysqlclient/8.1.0")
-        if self.options.with_sqlite3:
+        if self.options.get_safe("with_sqlite3"):
             self.requires("sqlite3/3.44.2")
 
     def validate(self):
-        if self.settings.os == "Windows":
-            raise ConanInvalidConfiguration(
-                "Cyrus SASL package is not compatible with Windows yet."
-            )
+        if is_msvc(self) and not self.options.shared:
+            raise ConanInvalidConfiguration("Static library output is not supported when building with MSVC")
         if self.options.with_gssapi:
             raise ConanInvalidConfiguration(
                 f"{self.name}:with_gssapi=True requires krb5 recipe, not yet available in conan-center",
             )
 
     def build_requirements(self):
-        self.tool_requires("gnu-config/cci.20210814")
-        if self._settings_build.os == "Windows":
-            self.win_bash = True
-            if not self.conf.get("tools.microsoft.bash:path", check_type=str):
-                self.tool_requires("msys2/cci.latest")
+        if not is_msvc(self):
+            self.tool_requires("gnu-config/cci.20210814")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
-    def generate(self):
+    def _generate_autotools(self):
         env = VirtualBuildEnv(self)
         env.generate()
         if not cross_building(self):
@@ -143,26 +145,93 @@ def generate(self):
         deps = AutotoolsDeps(self)
         deps.generate()
 
-    def _patch_sources(self):
+    def _patch_sources_autotools(self):
         for gnu_config in [
             self.conf.get("user.gnu-config:config_guess", check_type=str),
             self.conf.get("user.gnu-config:config_sub", check_type=str),
         ]:
             if gnu_config:
                 copy(self, os.path.basename(gnu_config),
-                           src=os.path.dirname(gnu_config),
-                           dst=os.path.join(self.source_folder, "config"))
+                     src=os.path.dirname(gnu_config),
+                     dst=os.path.join(self.source_folder, "config"))
 
-    def build(self):
-        self._patch_sources()
+    def _build_autotools(self):
+        self._patch_sources_autotools()
         autotools = Autotools(self)
         autotools.configure()
         autotools.make()
 
+    @property
+    def _msbuild_configuration(self):
+        return "Debug" if self.settings.build_type == "Debug" else "Release"
+
+    def _generate_msvc(self):
+        tc = MSBuildToolchain(self)
+        tc.configuration = self._msbuild_configuration
+        # disable OpenSSL 3 warnings, which get raised as errors
+        tc.cxxflags.append("/wo4996")
+        tc.generate()
+
+        deps = MSBuildDeps(self)
+        deps.configuration = self._msbuild_configuration
+        deps.generate()
+
+    def _patch_sources_msvc(self):
+        # TODO: to remove once https://github.com/conan-io/conan/pull/12817 available in conan client
+        platform_toolset = MSBuildToolchain(self).toolset
+        import_conan_generators = ""
+        for props_file in ["conantoolchain.props", "conandeps.props"]:
+            props_path = os.path.join(self.generators_folder, props_file)
+            if os.path.exists(props_path):
+                import_conan_generators += f""
+        for vcxproj_file in self.source_path.joinpath("win32").glob("*.vcxproj"):
+            replace_in_file(self, vcxproj_file,
+                            "v140",
+                            f"{platform_toolset}")
+            replace_in_file(self, vcxproj_file, "8.1", "")
+            if props_path:
+                replace_in_file(self, vcxproj_file,
+                                '',
+                                f'{import_conan_generators}')
+        replace_in_file(self, os.path.join(self.source_folder, "win32", "openssl.props"),
+                        "libeay32.lib;", "")
+        # https://github.com/cyrusimap/cyrus-sasl/issues/730
+        copy(self, "md5global.h",
+             src=os.path.join(self.source_folder, "win32", "include"),
+             dst=os.path.join(self.source_folder, "include"))
+
+    def _build_msvc(self):
+        self._patch_sources_msvc()
+        msbuild = MSBuild(self)
+        msbuild.build_type = self._msbuild_configuration
+        msbuild.build(sln=os.path.join(self.source_folder, "win32", "cyrus-sasl-common.sln"))
+        msbuild.build(sln=os.path.join(self.source_folder, "win32", "cyrus-sasl-core.sln"))
+        # TODO: add sasldb support
+        # msbuild.build(sln=os.path.join(self.source_folder, "win32", "cyrus-sasl-sasldb.sln"))
+        if self.options.with_gssapi:
+            msbuild.build(sln=os.path.join(self.source_folder, "win32", "cyrus-sasl-gssapiv2.sln"))
+
+    def generate(self):
+        if is_msvc(self):
+            self._generate_msvc()
+        else:
+            self._generate_autotools()
+
+    def build(self):
+        if is_msvc(self):
+            self._build_msvc()
+        else:
+            self._build_autotools()
+
     def package(self):
         copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
-        autotools = Autotools(self)
-        autotools.install()
+        if is_msvc(self):
+            copy(self, "*/sasl2.lib", os.path.join(self.source_folder, "win32"), os.path.join(self.package_folder, "lib"), keep_path=False)
+            copy(self, "*/sasl2.dll", os.path.join(self.source_folder, "win32"), os.path.join(self.package_folder, "bin"), keep_path=False)
+            copy(self, "*.h", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include", "sasl"))
+        else:
+            autotools = Autotools(self)
+            autotools.install()
         rmdir(self, os.path.join(self.package_folder, "share"))
         rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
         rm(self, "*.la", os.path.join(self.package_folder, "lib"), recursive=True)
@@ -172,5 +241,10 @@ def package_info(self):
         self.cpp_info.set_property("pkg_config_name", "libsasl2")
         self.cpp_info.libs = ["sasl2"]
 
+        if self.settings.os in ["Linux", "FreeBSD"]:
+            self.cpp_info.system_libs = ["resolv", "crypt"]
+        elif is_msvc(self):
+            self.cpp_info.system_libs = ["ws2_32"]
+
         # TODO: to remove in conan v2
         self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))

From 338c8ec187cf518861f3aebfcb6236f30e18beb0 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Thu, 18 Jan 2024 03:00:16 +0100
Subject: [PATCH 0906/1307] (#22411) qt6: bump deps

---
 recipes/qt/6.x.x/conanfile.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py
index 487aa72894acb..80e70011378b2 100644
--- a/recipes/qt/6.x.x/conanfile.py
+++ b/recipes/qt/6.x.x/conanfile.py
@@ -325,9 +325,9 @@ def requirements(self):
         if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration:
             self.requires("freetype/2.13.2")
         if self.options.get_safe("with_fontconfig", False):
-            self.requires("fontconfig/2.14.2")
+            self.requires("fontconfig/2.15.0")
         if self.options.get_safe("with_icu", False):
-            self.requires("icu/74.1")
+            self.requires("icu/74.2")
         if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration:
             self.requires("harfbuzz/8.3.0")
         if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration:
@@ -338,7 +338,7 @@ def requirements(self):
         if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration:
             self.requires("libpng/1.6.40")
         if self.options.with_sqlite3 and not self.options.multiconfiguration:
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.get_safe("with_mysql", False):
             self.requires("libmysqlclient/8.1.0")
         if self.options.with_pq:
@@ -368,7 +368,7 @@ def requirements(self):
             self.requires("xorg-proto/2022.2")
             self.requires("libxshmfence/1.3")
             self.requires("nss/3.93")
-            self.requires("libdrm/2.4.114")
+            self.requires("libdrm/2.4.119")
         if self.options.get_safe("with_gstreamer", False):
             self.requires("gst-plugins-base/1.19.2")
         if self.options.get_safe("with_pulseaudio", False):

From 9351547e64db60a2a1c6a67756a6be3452701c49 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 11:26:28 +0200
Subject: [PATCH 0907/1307] (#22365) arduinojson: add v7.0.1, drop old versions

---
 recipes/arduinojson/all/conandata.yml | 12 +++---------
 recipes/arduinojson/all/conanfile.py  |  2 +-
 recipes/arduinojson/config.yml        |  8 ++------
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/recipes/arduinojson/all/conandata.yml b/recipes/arduinojson/all/conandata.yml
index 7cd1210fd6d95..83b7c3024a58d 100644
--- a/recipes/arduinojson/all/conandata.yml
+++ b/recipes/arduinojson/all/conandata.yml
@@ -1,13 +1,10 @@
 sources:
+  "7.0.1":
+    url: "https://github.com/bblanchon/ArduinoJson/archive/refs/tags/v7.0.1.tar.gz"
+    sha256: "85fd778a6aae9b1a249b4c090c6f8621c9c8ceaf9479a3cb07e3033325bf2ae2"
   "6.21.4":
     url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.4/ArduinoJson-v6.21.4.zip"
     sha256: "60a5c4cd28d97047f63a1f9c9e8bd36a72c8b4c86809babcc2bd4b00e0502b9b"
-  "6.21.2":
-    url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.2/ArduinoJson-v6.21.2.zip"
-    sha256: "1dc888061f6e7828f7a0a4e71bf059796e5ce202ce6ddb4e3a2e384d32b5cba0"
-  "6.21.0":
-    url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.21.0/ArduinoJson-v6.21.0.zip"
-    sha256: "08f7cad5fca2393c40fcb479c43235a2fa7da1a40331377ddf617eda2f123583"
   "6.20.1":
     url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.20.1/ArduinoJson-v6.20.1.zip"
     sha256: "3dc53f55dcb6913b9a097263852ddc7c030f6d93c8cf00efb5d0eff3dd4bd8b9"
@@ -17,9 +14,6 @@ sources:
   "6.18.5":
     url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.18.5/ArduinoJson-v6.18.5.zip"
     sha256: "f10a904fa1f6372ee069ed2a5eff50530a29e9c10958a5bd24ce62eda7f7d74e"
-  "6.18.0":
-    url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.18.0/ArduinoJson-v6.18.0.zip"
-    sha256: "2ade6a0097845d6bc0292a7f9ffa58cbd7e11a34a26616ac9e40a7754a18f1a9"
   "6.16.1":
     url: "https://github.com/bblanchon/ArduinoJson/releases/download/v6.16.1/ArduinoJson-v6.16.1.zip"
     sha256: "d8cab18d50a9487766e195c68c14a552403994ecae3e5051d509e62914444ecd"
diff --git a/recipes/arduinojson/all/conanfile.py b/recipes/arduinojson/all/conanfile.py
index e10c2101ad215..ea98680d446ff 100644
--- a/recipes/arduinojson/all/conanfile.py
+++ b/recipes/arduinojson/all/conanfile.py
@@ -35,7 +35,7 @@ def validate(self):
             check_min_cppstd(self, self._min_cppstd)
 
     def source(self):
-        has_arduinojson_root=Version(self.version) < "6.18.2"
+        has_arduinojson_root = not ("6.18.2" <= Version(self.version) < "7.0")
         get(self, **self.conan_data["sources"][self.version], strip_root=has_arduinojson_root)
 
     def build(self):
diff --git a/recipes/arduinojson/config.yml b/recipes/arduinojson/config.yml
index afe4d32db15ff..b6153cf1cddb2 100644
--- a/recipes/arduinojson/config.yml
+++ b/recipes/arduinojson/config.yml
@@ -1,9 +1,7 @@
 versions:
-  "6.21.4":
-    folder: all
-  "6.21.2":
+  "7.0.1":
     folder: all
-  "6.21.0":
+  "6.21.4":
     folder: all
   "6.20.1":
     folder: all
@@ -11,8 +9,6 @@ versions:
     folder: all
   "6.18.5":
     folder: all
-  "6.18.0":
-    folder: all
   "6.16.1":
     folder: all
   "6.15.2":

From 86f612cda34fba99e17d398aebf26df63688d90a Mon Sep 17 00:00:00 2001
From: Martin Delille 
Date: Thu, 18 Jan 2024 13:02:43 +0100
Subject: [PATCH 0908/1307] (#22417) [sentry-native] bump to 0.7.0

---
 recipes/sentry-native/all/conandata.yml | 3 +++
 recipes/sentry-native/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml
index 26aa302e7bd27..3ae97887a0695 100644
--- a/recipes/sentry-native/all/conandata.yml
+++ b/recipes/sentry-native/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.7.0":
+    url: "https://github.com/getsentry/sentry-native/releases/download/0.7.0/sentry-native.zip"
+    sha256: "4dfccc879a81771b9da1c335947ffc9e5987ca3d16b3035efa2c66a06f727543"
   "0.6.5":
     url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip"
     sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995"
diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml
index 3450228c14b09..367c1c0c7563c 100644
--- a/recipes/sentry-native/config.yml
+++ b/recipes/sentry-native/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.7.0":
+    folder: all
   "0.6.5":
     folder: all
   "0.6.4":

From 1e268ce609283c0c9279aa0306e7ac395345ec41 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 18 Jan 2024 22:04:15 +0900
Subject: [PATCH 0909/1307] (#21530) c-ares: add version 1.25.0, remove older
 versions

* c-ares: add version 1.23.0

* link pthread

* update ot 1.24.0, remove older versions

* update 1.25.0
---
 recipes/c-ares/all/conandata.yml              | 43 ++-----------------
 recipes/c-ares/all/conanfile.py               |  8 ++--
 recipes/c-ares/all/patches/option-tools.patch | 16 -------
 ...stream-pr-395-bundle-destination-v14.patch | 10 -----
 ...stream-pr-395-bundle-destination-v15.patch | 10 -----
 ...eam-pr-395-bundle-destination-v16-17.patch | 10 -----
 recipes/c-ares/config.yml                     | 12 +-----
 7 files changed, 8 insertions(+), 101 deletions(-)
 delete mode 100644 recipes/c-ares/all/patches/option-tools.patch
 delete mode 100644 recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v14.patch
 delete mode 100644 recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v15.patch
 delete mode 100644 recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v16-17.patch

diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml
index 71897bd8283d0..41af1c9c3bc5b 100644
--- a/recipes/c-ares/all/conandata.yml
+++ b/recipes/c-ares/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.25.0":
+    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_25_0/c-ares-1.25.0.tar.gz"
+    sha256: "71832b93a48f5ff579c505f4869120c14e57b783275367207f1a98314aa724e5"
   "1.22.1":
     url: "https://github.com/c-ares/c-ares/releases/download/cares-1_22_1/c-ares-1.22.1.tar.gz"
     sha256: "f67c180deb799c670d9dda995a18ce06f6c7320b6c6363ff8fa85b77d0da9db8"
@@ -20,43 +23,3 @@ sources:
   "1.18.1":
     url: "https://github.com/c-ares/c-ares/releases/download/cares-1_18_1/c-ares-1.18.1.tar.gz"
     sha256: "1a7d52a8a84a9fbffb1be9133c0f6e17217d91ea5a6fa61f6b4729cda78ebbcf"
-  "1.17.2":
-    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_17_2/c-ares-1.17.2.tar.gz"
-    sha256: "4803c844ce20ce510ef0eb83f8ea41fa24ecaae9d280c468c582d2bb25b3913d"
-  "1.17.1":
-    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_17_1/c-ares-1.17.1.tar.gz"
-    sha256: "d73dd0f6de824afd407ce10750ea081af47eba52b8a6cb307d220131ad93fc40"
-  "1.16.1":
-    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_16_1/c-ares-1.16.1.tar.gz"
-    sha256: "d08312d0ecc3bd48eee0a4cc0d2137c9f194e0a28de2028928c0f6cae85f86ce"
-  "1.15.0":
-    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_15_0/c-ares-1.15.0.tar.gz"
-    sha256: "6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852"
-  "1.14.0":
-    url: "https://github.com/c-ares/c-ares/files/1731591/c-ares-1.14.0.tar.gz"
-    sha256: "45d3c1fd29263ceec2afc8ff9cd06d5f8f889636eb4e80ce3cc7f0eaf7aadc6e"
-patches:
-  "1.17.1":
-    - patch_file: "patches/upstream-pr-395-bundle-destination-v16-17.patch"
-      patch_description: "add `BUNDLE DESTINATION` to install"
-      patch_type: "portability"
-      patch_source: "https://github.com/c-ares/c-ares/pull/395"
-  "1.16.1":
-    - patch_file: "patches/upstream-pr-395-bundle-destination-v16-17.patch"
-      patch_description: "add `BUNDLE DESTINATION` to install"
-      patch_type: "portability"
-      patch_source: "https://github.com/c-ares/c-ares/pull/395"
-  "1.15.0":
-    - patch_file: "patches/upstream-pr-395-bundle-destination-v15.patch"
-      patch_description: "add `BUNDLE DESTINATION` to install"
-      patch_type: "portability"
-      patch_source: "https://github.com/c-ares/c-ares/pull/395"
-  "1.14.0":
-    - patch_file: "patches/option-tools.patch"
-      patch_description: "add `CARES_BUILD_TOOLS` option"
-      patch_type: "conan"
-      patch_source: "https://github.com/c-ares/c-ares/pull/214"
-    - patch_file: "patches/upstream-pr-395-bundle-destination-v14.patch"
-      patch_description: "add `BUNDLE DESTINATION` to install"
-      patch_type: "portability"
-      patch_source: "https://github.com/c-ares/c-ares/pull/395"
diff --git a/recipes/c-ares/all/conanfile.py b/recipes/c-ares/all/conanfile.py
index 7eea8faebb9ed..48b02d5029162 100644
--- a/recipes/c-ares/all/conanfile.py
+++ b/recipes/c-ares/all/conanfile.py
@@ -1,7 +1,7 @@
 from conan import ConanFile
 from conan.tools.apple import is_apple_os
 from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
-from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rm, rmdir
+from conan.tools.files import collect_libs, copy, get, rm, rmdir
 from conan.tools.scm import Version
 import os
 
@@ -29,9 +29,6 @@ class CAresConan(ConanFile):
         "tools": True,
     }
 
-    def export_sources(self):
-        export_conandata_patches(self)
-
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
@@ -58,7 +55,6 @@ def generate(self):
         tc.generate()
 
     def build(self):
-        apply_conandata_patches(self)
         cmake = CMake(self)
         cmake.configure()
         cmake.build()
@@ -83,6 +79,8 @@ def package_info(self):
             self.cpp_info.components["cares"].defines.append("CARES_STATICLIB")
         if self.settings.os == "Linux":
             self.cpp_info.components["cares"].system_libs.append("rt")
+            if Version(self.version) >= "1.23.0":
+                self.cpp_info.components["cares"].system_libs.append("pthread")
         elif self.settings.os == "Windows":
             self.cpp_info.components["cares"].system_libs.extend(["ws2_32", "advapi32"])
             if Version(self.version) >= "1.18.0":
diff --git a/recipes/c-ares/all/patches/option-tools.patch b/recipes/c-ares/all/patches/option-tools.patch
deleted file mode 100644
index 650eca0948612..0000000000000
--- a/recipes/c-ares/all/patches/option-tools.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -670,6 +670,8 @@ SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND")
- SET (CARES_LIBRARIES ${PROJECT_NAME}::cares CACHE INTERNAL "CARES LIBRARIES")
- 
- 
-+OPTION (CARES_BUILD_TOOLS "Build tools" ON)
-+IF(CARES_BUILD_TOOLS)
- # Build ahost
- ADD_EXECUTABLE (ahost ahost.c ${SAMPLESOURCES})
- TARGET_COMPILE_DEFINITIONS (ahost PRIVATE HAVE_CONFIG_H=1)
-@@ -695,3 +697,4 @@ TARGET_LINK_LIBRARIES (acountry PRIVATE ${PROJECT_NAME})
- IF (CARES_INSTALL)
- 	INSTALL (TARGETS acountry ${TARGETS_INST_DEST})
- ENDIF ()
-+ENDIF()
diff --git a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v14.patch b/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v14.patch
deleted file mode 100644
index 14536414d1c00..0000000000000
--- a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v14.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -65,6 +65,7 @@ SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package)
- # Destinations for installing different kinds of targets (pass to install command).
- SET (TARGETS_INST_DEST
- 	RUNTIME DESTINATION  ${CMAKE_INSTALL_BINDIR}
-+	BUNDLE DESTINATION   ${CMAKE_INSTALL_BINDIR}
- 	LIBRARY DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- 	ARCHIVE DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- 	INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
diff --git a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v15.patch b/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v15.patch
deleted file mode 100644
index 5049967cdd9a6..0000000000000
--- a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v15.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -66,6 +66,7 @@ SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package)
- # Destinations for installing different kinds of targets (pass to install command).
- SET (TARGETS_INST_DEST
- 	RUNTIME DESTINATION  ${CMAKE_INSTALL_BINDIR}
-+	BUNDLE DESTINATION   ${CMAKE_INSTALL_BINDIR}
- 	LIBRARY DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- 	ARCHIVE DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- 	INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
diff --git a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v16-17.patch b/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v16-17.patch
deleted file mode 100644
index ca07d535842b0..0000000000000
--- a/recipes/c-ares/all/patches/upstream-pr-395-bundle-destination-v16-17.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -74,6 +74,7 @@ SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package)
- # Destinations for installing different kinds of targets (pass to install command).
- SET (TARGETS_INST_DEST
- 	RUNTIME DESTINATION  ${CMAKE_INSTALL_BINDIR}
-+	BUNDLE DESTINATION   ${CMAKE_INSTALL_BINDIR}
- 	LIBRARY DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- 	ARCHIVE DESTINATION  ${CMAKE_INSTALL_LIBDIR}
- )
diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml
index fcaa857492587..a7d9e0d2c0d87 100644
--- a/recipes/c-ares/config.yml
+++ b/recipes/c-ares/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.25.0":
+    folder: all
   "1.22.1":
     folder: all
   "1.22.0":
@@ -13,13 +15,3 @@ versions:
     folder: all
   "1.18.1":
     folder: all
-  "1.17.2":
-    folder: all
-  "1.17.1":
-    folder: all
-  "1.16.1":
-    folder: all
-  "1.15.0":
-    folder: all
-  "1.14.0":
-    folder: all

From 3b78ae02c7ae61440d388db97386676fc6828390 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Thu, 18 Jan 2024 15:01:21 +0100
Subject: [PATCH 0910/1307] (#20071) gstreamer: bump dependencies + few build
 machine logic in build requirements + relocatable shared libs on macOS

* bump dependencies and use  in build requirements

* no self.info in validate()

* fix logic regarding flex/bison & winflexbison

check must be done against build machine, not host machine

* relocatable shared libs on macOS

* fix min conan v2 version

* bump meson & winflexbison

* bump deps

* add pkgconf to build requirements of test package

* pkgconf not needed in test v1 package

---------

Co-authored-by: Daniel 
---
 recipes/gstreamer/all/conanfile.py            | 34 +++++++++++++------
 .../gstreamer/all/test_package/conanfile.py   | 23 +++++--------
 2 files changed, 32 insertions(+), 25 deletions(-)

diff --git a/recipes/gstreamer/all/conanfile.py b/recipes/gstreamer/all/conanfile.py
index 7bd590a8dadbf..5f3d9d604b6b9 100644
--- a/recipes/gstreamer/all/conanfile.py
+++ b/recipes/gstreamer/all/conanfile.py
@@ -1,17 +1,17 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.env import VirtualBuildEnv
+from conan.tools.apple import fix_apple_shared_install_name
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
 from conan.tools.files import chdir, copy, get, rename, rm, rmdir
 from conan.tools.gnu import PkgConfigDeps
 from conan.tools.layout import basic_layout
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.microsoft import is_msvc, check_min_vs
-from conan.tools.scm import Version
 
 import glob
 import os
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.60.0 <2 || >=2.0.5"
 
 class GStreamerConan(ConanFile):
     name = "gstreamer"
@@ -33,6 +33,14 @@ class GStreamerConan(ConanFile):
         "with_introspection": False,
     }
 
+    @property
+    def _settings_build(self):
+        return getattr(self, "settings_build", self.settings)
+
+    @property
+    def _is_legacy_one_profile(self):
+        return not hasattr(self, "settings_build")
+
     def config_options(self):
         if self.settings.os == 'Windows':
             del self.options.fPIC
@@ -47,24 +55,25 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("glib/2.76.3", transitive_headers=True, transitive_libs=True)
+        self.requires("glib/2.78.3", transitive_headers=True, transitive_libs=True)
 
     def validate(self):
-        if not self.dependencies.direct_host["glib"].options.shared and self.info.options.shared:
+        if not self.dependencies.direct_host["glib"].options.shared and self.options.shared:
             # https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/133
             raise ConanInvalidConfiguration("shared GStreamer cannot link to static GLib")
 
     def build_requirements(self):
-        self.tool_requires("meson/1.1.1")
+        self.tool_requires("meson/1.3.0")
         # There used to be an issue with glib being shared by default but its dependencies being static
         # No longer the case, but see: https://github.com/conan-io/conan-center-index/pull/13400#issuecomment-1551565573 for context
-        self.tool_requires("glib/2.76.3")
-        if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
-            self.tool_requires("pkgconf/1.9.3")
+        if not self._is_legacy_one_profile:
+            self.tool_requires("glib/")
+        if not self.conf.get("tools.gnu:pkg_config", check_type=str):
+            self.tool_requires("pkgconf/2.1.0")
         if self.options.with_introspection:
             self.tool_requires("gobject-introspection/1.72.0")
-        if self.settings.os == 'Windows':
-            self.tool_requires("winflexbison/2.5.24")
+        if self._settings_build.os == 'Windows':
+            self.tool_requires("winflexbison/2.5.25")
         else:
             self.tool_requires("bison/3.8.2")
             self.tool_requires("flex/2.6.4")
@@ -75,6 +84,8 @@ def source(self):
     def generate(self):
         virtual_build_env = VirtualBuildEnv(self)
         virtual_build_env.generate()
+        if self._is_legacy_one_profile:
+            VirtualRunEnv(self).generate(scope="build")
         pkg_config_deps = PkgConfigDeps(self)
         pkg_config_deps.generate()
         tc = MesonToolchain(self)
@@ -112,6 +123,7 @@ def package(self):
         rmdir(self, os.path.join(self.package_folder, "lib", "gstreamer-1.0", "pkgconfig"))
         rmdir(self, os.path.join(self.package_folder, "share"))
         rm(self, "*.pdb", self.package_folder, recursive=True)
+        fix_apple_shared_install_name(self)
 
     def package_info(self):
         gst_plugin_path = os.path.join(self.package_folder, "lib", "gstreamer-1.0")
diff --git a/recipes/gstreamer/all/test_package/conanfile.py b/recipes/gstreamer/all/test_package/conanfile.py
index bdc56ffa1130e..c0da610abd3b1 100644
--- a/recipes/gstreamer/all/test_package/conanfile.py
+++ b/recipes/gstreamer/all/test_package/conanfile.py
@@ -1,31 +1,26 @@
 from conan import ConanFile
 from conan.tools.build import can_run
-from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain
-from conan.tools.env import Environment, VirtualRunEnv
-from conan.tools.gnu import PkgConfigDeps
+from conan.tools.cmake import CMake, cmake_layout
+from conan.tools.env import Environment
 import os
 
 
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeToolchain", "CMakeDeps", "PkgConfigDeps", "VirtualBuildEnv", "VirtualRunEnv"
     test_type = "explicit"
 
+    def layout(self):
+        cmake_layout(self)
+
     def requirements(self):
         self.requires(self.tested_reference_str)
 
-    def layout(self):
-        cmake_layout(self)
+    def build_requirements(self):
+        if not self.conf.get("tools.gnu:pkg_config", check_type=str):
+            self.tool_requires("pkgconf/2.1.0")
 
     def generate(self):
-        pkg_config_deps = PkgConfigDeps(self)
-        pkg_config_deps.generate()
-        cmake_deps = CMakeDeps(self)
-        cmake_deps.generate()
-        tc = CMakeToolchain(self)
-        tc.generate()
-        runenv = VirtualRunEnv(self)
-        runenv.generate()
-
         # Print debug information from gstreamer at runtime
         env = Environment()
         env.define("GST_DEBUG", "7")

From 66ef93e932c2bee07af648557f08777b8d622dd1 Mon Sep 17 00:00:00 2001
From: CJaccarino <144456768+CJaccarino@users.noreply.github.com>
Date: Thu, 18 Jan 2024 16:00:44 +0100
Subject: [PATCH 0911/1307] (#20155) Add LASlib package

* Add LASlib package

* Updated root path in conanfile.py and updated patch accordingly

* Updated include in test_package.cpp

* Remove unnecessary part of patch

* Added minimum compiler version property to recipe

* Added missing validate function to handle compilers compatibility

* Add imports function to conanfile.py of test_package

* Copy dll to the right path and remove import from test_package

* Use copy function compatible with conan V2
---
 recipes/laslib/all/conandata.yml              |   9 ++
 recipes/laslib/all/conanfile.py               | 108 ++++++++++++++++++
 .../all/patches/0001-build-only-laslib.patch  |  24 ++++
 .../laslib/all/test_package/CMakeLists.txt    |  15 +++
 recipes/laslib/all/test_package/conanfile.py  |  26 +++++
 recipes/laslib/all/test_package/test.laz      | Bin 0 -> 70993 bytes
 .../laslib/all/test_package/test_package.cpp  |  13 +++
 recipes/laslib/config.yml                     |   4 +
 8 files changed, 199 insertions(+)
 create mode 100644 recipes/laslib/all/conandata.yml
 create mode 100644 recipes/laslib/all/conanfile.py
 create mode 100644 recipes/laslib/all/patches/0001-build-only-laslib.patch
 create mode 100644 recipes/laslib/all/test_package/CMakeLists.txt
 create mode 100644 recipes/laslib/all/test_package/conanfile.py
 create mode 100644 recipes/laslib/all/test_package/test.laz
 create mode 100644 recipes/laslib/all/test_package/test_package.cpp
 create mode 100644 recipes/laslib/config.yml

diff --git a/recipes/laslib/all/conandata.yml b/recipes/laslib/all/conandata.yml
new file mode 100644
index 0000000000000..06edf050658b1
--- /dev/null
+++ b/recipes/laslib/all/conandata.yml
@@ -0,0 +1,9 @@
+sources:
+  "2.0.2":
+    url: "https://github.com/LAStools/LAStools/archive/refs/tags/v2.0.2.tar.gz"
+    sha256: "41200e2b6ad92fe057fc5008132978090890463d5b602bce89ecf8aa84c78a82"
+patches:
+  "2.0.2":
+    - patch_file: "patches/0001-build-only-laslib.patch"
+      patch_description: "Build only laslib from LASTools: update multiple CMakeList.txt"
+      patch_type: "conan"
diff --git a/recipes/laslib/all/conanfile.py b/recipes/laslib/all/conanfile.py
new file mode 100644
index 0000000000000..10c2dfd18d650
--- /dev/null
+++ b/recipes/laslib/all/conanfile.py
@@ -0,0 +1,108 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir, save
+from conan.tools.build import stdcpp_library, check_min_cppstd
+from conan.tools.scm import Version
+from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
+import os
+
+
+required_conan_version = ">=1.53.0"
+
+class LASlibConan(ConanFile):
+    name = "laslib"
+    description = "Efficient tools for lidar processing"
+    license = "LGPL-2.1"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/LAStools/LAStools/tree/master/LASlib"
+    topics = ("las", "laz", "lidar", "compression", "decompression")
+
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    @property
+    def _min_cppstd(self):
+        return 17
+    
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "7",
+            "clang": "7",
+            "apple-clang": "10",
+        }
+
+    def export_sources(self):
+        export_conandata_patches(self)
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.generate()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+
+        minimum_compiler = self._compilers_minimum_version.get(str(self.settings.compiler))
+        if minimum_compiler and Version(self.settings.compiler.version) < minimum_compiler:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def build(self):
+        apply_conandata_patches(self)
+        save(self, os.path.join(self.source_folder, "CMakeLists.txt"), "add_subdirectory(LASlib/src)")
+        save(self, os.path.join(self.source_folder, "LASlib", "example", "CMakeLists.txt"), "")
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, pattern="COPYING.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
+        cmake.install()
+
+        # Copy the libraries
+        if self.options.shared:
+            copy(self, pattern="*.dll", src=self.package_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False)
+
+        # some files extensions and folders are not allowed.
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rmdir(self, os.path.join(self.package_folder, "share"))
+        rm(self, "*.la", os.path.join(self.package_folder, "lib"))
+        rm(self, "*.pdb", os.path.join(self.package_folder, "lib"))
+        rm(self, "*.pdb", os.path.join(self.package_folder, "bin"))
+
+    def package_info(self):
+        self.cpp_info.libdirs = ["lib/LASlib"]
+        self.cpp_info.libs = ["LASlib"]
+
+        if not self.options.shared:
+            if self.settings.os in ["Linux", "FreeBSD"]:
+                self.cpp_info.system_libs.append("m")
+            libcxx = stdcpp_library(self)
+            if libcxx:
+                self.cpp_info.system_libs.append(libcxx)
diff --git a/recipes/laslib/all/patches/0001-build-only-laslib.patch b/recipes/laslib/all/patches/0001-build-only-laslib.patch
new file mode 100644
index 0000000000000..5680289b540d1
--- /dev/null
+++ b/recipes/laslib/all/patches/0001-build-only-laslib.patch
@@ -0,0 +1,24 @@
+diff --git a/LASlib/src/CMakeLists.txt b/LASlib/src/CMakeLists.txt
+index 1b170bf..6a114eb 100644
+--- a/LASlib/src/CMakeLists.txt
++++ b/LASlib/src/CMakeLists.txt
+@@ -101,15 +101,7 @@ endif()
+ 
+ install(FILES ${LAS_INCLUDES} DESTINATION include/LASlib)
+ 
+-if (MSVC)
+-	foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
+-		install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../lib/${OUTPUTCONFIG} DESTINATION lib/LASlib)
+-	endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
+-else()
+-	install(TARGETS LASlib EXPORT laslib-targets
+-		ARCHIVE DESTINATION lib/LASlib
+-		LIBRARY DESTINATION lib/LASlib
+-		RUNTIME DESTINATION lib/LASlib)
+-	install(EXPORT laslib-targets DESTINATION lib/cmake/LASlib)
+-	install(FILES ${CMAKE_SOURCE_DIR}/LASlib/src/laslib-config.cmake DESTINATION lib/cmake/LASlib)
+-endif(MSVC)
++install(TARGETS LASlib EXPORT laslib-targets
++	ARCHIVE DESTINATION lib/LASlib
++	LIBRARY DESTINATION lib/LASlib
++	RUNTIME DESTINATION lib/LASlib)
diff --git a/recipes/laslib/all/test_package/CMakeLists.txt b/recipes/laslib/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..befc74c6fea6a
--- /dev/null
+++ b/recipes/laslib/all/test_package/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package CXX)
+
+find_package(laslib REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+
+add_custom_command(
+        TARGET ${PROJECT_NAME} POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy
+                ${CMAKE_CURRENT_SOURCE_DIR}/test.laz
+                ${CMAKE_BINARY_DIR}/test.laz)
+
+target_link_libraries(${PROJECT_NAME} PRIVATE laslib::laslib)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
diff --git a/recipes/laslib/all/test_package/conanfile.py b/recipes/laslib/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..0af7e06b95a10
--- /dev/null
+++ b/recipes/laslib/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
+
diff --git a/recipes/laslib/all/test_package/test.laz b/recipes/laslib/all/test_package/test.laz
new file mode 100644
index 0000000000000000000000000000000000000000..0fc46a30c39b662d09bc5ca47f700e4b167a792f
GIT binary patch
literal 70993
zcmZs?1C%FCv*7)2+qOAv8`HLJ+qP}nwr$%srtO|~Pve{C*?Zq_ckjkIb$%I*4F~`P_yza{0sw&jwfUn0z~}$~
zK_UPk1R4O~2mVhxfEQ}5*nwv-|NqVZYT^HX6MC(vKKbFNAVJ7wLi_KZf@Y?sriS|H
zg8z8A)j$^vxm0M!Z%Y@r`il^fG=Z*4>Ay+p$vfIvnix4-*x3T=!ukPXCU(jerly4d
zznM_V#KY-7Vf_<60Du7ifCB!O{+1#CVGSY>WJ4GxfDHirukM2h@-Ih-!T)6}2?S()
z7!Uvk0Qs+Og#-1k4hewymrww>fBAO^VE^&w?*jze5XScROd$X2kO0ts`GW)u_8&hG
z0Puea0)Y6Jpa7_U2@Zh%mjD3FzXSpx{!3s0+P?$?{LifG!}R}?wXvOxp|uI2y@8{F
zjft~~(meW2xLz!Lvo
zyFjV3x?uU+Wino|XStf%B`
z;A|pqZD4DnCvReF>*QhWYG7+&peJkR=xnYhDj~0=$IQ;as3&S-;_NLZr1W1Ef;J|O
z7JskQf1P-DRmw_8C@L{B{C5(6rx+UWUp7Kz3mX$BX9FAi|J44k0uX@iWK{vFavbP?
z_6GuB|8M>Oj;n;Nv5EWt>EQ2NL;tVin|2&tFo^{i0e}Dq`FneGRazT3d0N;Ln%ElI
z8Jidb0NtvTfd5hmP3;^BolG2DOl+Mk46F$ajEqd2{+X?RuFijsf8-zjGjspD0R6q~
zQ2*BKOe+`8z)$MZ12_K!2IK)GfT01m03nPlv#x2UBlq&(5L)+UQo$njj42=3aJ3k}
zbMtgXC=u;-E;-)eW?c1}9Gu4!B(mLpLhGQeh8oo&pH{z1$}q@+``OEDl>tq0*y$yT
z0G72lG7ea`SWhgCF{q7b;AbOcav$KJt6q3|c(QSz8^#KuXG4%0*C6Tz?90WVTY`x7
zPk9EIKv3`^j`GW*q+#Yg?{_F2S;*A|tacV-x}yp12bO8~E22h{7{GR-Yp9yeb0o#MO@SaigUb-{>bdLf}o-t5DA{UHT3(xh(+gaBPz%0#pL8`2m@4rN^3ipL*
zp(RNVy{D{q`ymTn;O?3!BtegxT6ca-
z6A6XhYq1RODYRv39xgcC#`D`*Gf^ibZx#4l%H_sW6tzha^h;Dk;H#j0JgusyLFwXv
z$c|1|hYKI{RQl)yaEw;wAb>y4G?fVd+=rrTu!6ErGAnIEje-i=`@TX4$r@%GwDYuV
ztw<5!2fMXa!)+@O+?Hd^sa%q$iwWk`_A|s$Lqw{r5^t33^^I^z?AOoFU(p7B^uJtK
zh=_>gxn|+49*tVg*g&cK0~K3+@V5?8L-`_G9I{FH^=QwcdK4vI7E?-NM87Byv8jVY)N{ghqk)F$+nOe)b%NCZrm{
z(=>YEH`{hvSRLm>gPscgvY$>f1^aG3&UYC+qISSOD5Fq&VH#sxSqh@1=@65;-Z~mJ
zSXPfragMT-9vA;Kpl>6Gx$Db|Cikuw4Pt{je~#fy&PV`B_fIUDMi>?9gogzJxHGqo
zaRrMY5CLPF@`O%~TmWEwxV2>^rn^kbi1BR3dYNPr{Y;AaCAB8H1)2Yn_LAX1Zq-rO
z_8~)H2K$g$E(y~Bw)#g9Vt=M|cF(GVA^S4IrHFj`luN4YxjDz2{n-7}Y>dnZP#XPQ
zd6g_O6>2|0cgnottPib|=ose8=mRhdl%_dC%;vsP1g>6`je?h^AHo=`4OC6_|5
zn}^O|@Q6dD=xl}hhw`=Y&IqP+?{uKy&?1@JC|R@JL6(6#^68Vq$=2#4>9to)fX8PK
z@PX=Kp8_5jUobI-5!LNZdN=J5uu|Y7ZN|GOy7-0uLDM)^oZm;9s>EWD$tijmLuuNY18mx_Iv7rE##h?H+y{Qf(LDDO}IJrCzLr8L1HVJ1v;1fkz*aY?hiM1tdbp<{s+
z_a^^$zNL%PJ+yn}xeWW2mhjkMLTM9^jl)gM#`#W{zG-VNXQ@CGG6Dcrd9Ui}Vw$&s
zgRNBWS3A-1iz!SLLsv)aGQ63pEu^)HYBx_xN;e$>N`G~lv;b^C-R7Ya?0zg~7TbOz
z4eBp@GAE?IbpnTx?#+>#M~!juMSRlod-0|i0nJ!gO0)wl;>TJed^!;zF3-MzXjU$k
zhlXdh^^3<@t!wxcMY6&SJJ&4&`mNRkwj@U41mUQU@b3IJNQ=D^cDB=y8{aYx)$}7Z
zQ$lkujjY~QGk_y2(gvF+>>7?kI1DNFgW%l=gGqy%aVP|4-zoaEOFgfXHJ3SAkib|l
zgZls$Y(ha`u~f7vxFSc23ONi2swzCb?s)WxixOf4z?8IH=#9Y(va%s}9bB@V90MSi
z;8TNuFDNZ};PzQ&7e?4x6JI4zgJ)L|pN6I5f)r&lTuDYTw3bMRTRPbB?!nF>-ikRL
z^>N{HEL^vfb
z%s5P%;dfzPRFULYN!){niXW=dSHNWKt$g{JGM`!>2ZJ>rXfl+XeH+~&Ar}FQv4b$ws0S
zggxq{wVu@@S+diTl`U%fbk^*EB+=b^bk!>K0m+;dUjUW&^p^9G15+_|n^ROt=SH59
zq+D%p)AgrDT1i%)IyWQa1n4YP{w|^!K?uEY&ZJ*N{N2SjgM-dj%LSW=MAAEg-AnVZ
zabA4}N`tC5NQJy)?4{|fX)ibTT1^R=TIUg^4zw5<@~+Pyynld?m;JL0NBrPea63H%
zT20^97q%t3;Z|yOz`mG&GXp}c*rOPt1POQO=BYNbqT?~6Y*ka*sndM?cB4b>F|G@V
z!7=Zq
zA^$LKAZ!t#$?V1@dwLEh0ku#^?0C@`r;yq2l&@aRDtBh5A3Bo{)=4?FRL`|>H`$eh
zymY>KXT3Yv9QkNj-yWGlapClX5$@wR20TzZAeQ~=nzKIjseXw#xbHm_HCCoBeFUIu
z-k`p|Zdr7wS7D#-r@8S&(j^(xMv56BD@vEBF?^$e>J`&%_f4iDS-8DZS|>V&Rijrv
zbBgy?Zk1KSNnqYuYJFmdNq=<8o4)yDmZWN{C6QQ|6ryWm&?&m|3Z4aVwbqnV{4o0~
z*vB=lea^UkFBq~ZUG-h3I1=04NfO+;2W(cscGDK8@8wW*G)n1e_sslQ`i`n#|8m6B
zF`_@Yt!}M)XhYDM-Wn975!Sn?8+<7^D)b~g<0vYiu#d2}U;|f1Lk{cgpCq
zeZ6;$L=$4)UYcgho|H`*7Sb-&rBPeBU)zz^LQoGmqg%2@+K{}h7gCo%1febzy#BH*vMRZ8-ZqiJ#ZMLK
z?;FKq5i6u)KLwx_)G0W1S!N$=Lg`ol$?g3%jh5e;mKPG!{F4FYV31Xt=-7W?zCMg0
z{umMtz9CQl{BY0tq`CjIW6p+^Ol?xuOW0r5);oN>wK=G6Ai5A%Tas
zLR7w^F+*hapgbALJ3ZNEH9L?^psh$xcZK+!x7`o8v5?!%I2+&>?C=oIKwtl?Y9@9v
z-5%|QJ<E{xR;&MI?pF>LX+8dBk-qQmRZi-rkUG#wSZpEE%Mdib
z4JeGE5J0^7K<*yNos9b2fV*hub!W{nMZ-jtM|=k%4+Rj;R0k?F%TfUGRkQ}WaWLL8
zshHdYLI)dzNcWT_`j^Su{$x|E&WssFV%Y5=w-$84k5=XI3Dr;0%^wGwI~5z>+hKt4
z+X+`C5b}S|Gu3~O$pZ7+MdChGU7!@?0ZWk%qxXrCZGKmK8%y%cjN$XfgJx-Vp#%Sh
zdy*X_aZh7%QLr!{el1KB7~4*+y!8=AI2upQe;Tikj8pzGW+q?ukTH@;W}1+z1avgQ
zafZ~S%aoDdGX0VN?tBi?IQrv`V#~S})sf!-Dx}&Fpp^@z$SsDc+2=%cf#`T2hs4Ew
zY<4g>aE%KJt0sWFGQT19Rs(O@q8&y`jE!ZQFp~cH)d81ci%jJ7O3d>y4J33nYjY?H
zJkAJpABFC9=tO4l-N|mR>VPWBMZ6`W|
z5SFbX|FWG7>2F2v7%c$Lyc1>6Aecm*NZCtb1_v<@CwhEvIcll%j14vxX^9@r9fjKZ
zU?5GGsfoCh;$|TZMk41Mn`ah_7oXaiY2~gI!=D8th0JceD&$RRHxVx=2kxeolqLlF
zs48sYzTo0e@DjJUo{_NIxU{_leJDo!%vLv1QH(~>si%>45L-QRciBr}TAEEK5{uG-
zRbPQ@i;%jF=>|^hYPW2P-#y5RiUCFCF5X`~#URvbc=gzSVcP5R_ZgO@qlw@&y|Yt<
znMqG;7)-_|5cDkACS%rq^GOZE3?FJA$y<^QT@a2A%bxYvc}yDg%S~OChSD*n7~CX_
zU-5Y`Rv%W-vLc`9n5n!fwyO^y?#B~yR1Z2+UuxVN3dBf}A+AAwZmhNA*~(EP_O_%A
z3A(pW*Ylz)v7UZ3GqbnM(#R
zSTbGTLVn56?#p!&|B{Dg4=OgLftDi{5ZciM)9BL+BiTt>4x!_9ze$XX>h;O}1Fe2s-Yda{eK#|g#TF)vm$qF56a;6byXiq3T
zfcFBu*y%0CaQ{;@poi^DfqSr7Kgp13ump2s`dFnN6>8mfnb>Lo5pF5dGxrs3PwT`s8s3=cE#HgTUGI1M2xT=
zVyoQe-+3N92kXChN`I&=b1G8FR>{35bKvSXJg2qTWD%rS)S?c^9NrjE-1s2X)ZQOW
z154p+4uE>6Xl%cJeqW@Yf#Hk-I}dpk;4#6$U8gRh
z)pg&z6UL3%zYd*p;wnx3$XB?+gTAZv3LGNgh{qXT+i4McsAypN6>P`5~f{t3SOU9ePme3BE>J;64!Ui>&P)^{36eR4l09k
z7)*hBb+Xm*MuC_xUqO$7r}I(u%%aYR$f~$aB}>fwoaeRGt^^eTHLoplI)@>STS87}
zsVm+J7yT#=@V9X@(z!^nZ-3+WXQicm?B)zpvjbcBMcfO5K$`wKpPWlH^SdDx(|Ja$
zXuzgwyoG%7%xsXqU_0G&2^`CvlD?wj`EDrzitj0er;Ec1HLJp2cQ-<>ffy}<3|ymD
zPyIs=uKBt(&qcbSVm&JBGGbzGRg&Z$jALd(P3YXP-1))#R=zAIoxT+1^Qt1t-`o_;
z^x!vRZn0+&_Wf@KXQsr-8ObO&x;|s9qa%+YDJK2aReoS&i8k_`AC2*1pMak+B8P$7
z6*M(7hNt-hbp~djJO?&ga&>8IT)PvYmu~Fx1rRQD+U1+bG%Aj>iB+
zNr0(Dc`*yR6)qUl;5tXGDdh@Y+Dx!_<4j&rmUuIk4P;FMmqPLx*Yv
z1=b{96}uxP)B$ysLft|1(wWU(bt=2GUcc?0*;@~EyiR7>1P`wR|8eK6h`=ig!E}V5
zk>-Z_M#AVH^x9Ip$gSMg7(jE79Ym}i@tH0*_I-@!L|%%x4|H!*3t*PxNN|%KG$`Vd
z9*#;1e$e_sZ$KT|(+2slM|(`R7q~F1LsSV=xobH5{MZlv(Ighjcgf*k`i1i+fxji8
zF-Auh5VzA2!yhmF)}V>}Bdxpm#X7f3L-qctRiXa7_Cdm9koGpiB?!sHkmCwT7X!XR
zu9*`05vpd|7z82Ct)r}!D|^sv9X1Xuj>}u?HnLEK6NPr8{4zf6OrA7nAk%CMi?I@%
zOmte)>NF0pr!WI4p0R|WhD-9o+j-mB3ExmH=no7GngY#F=S^Ac-{QmQ-kb+%am_9q
zSA;@?$8_hjU{CuZa{K5lNk6?L|5axS#E8Ene`7)HIQy2W{2oM}BYk}4v_V9T^QQn_
zj_Fbc&W3xlpqXGs!PNQ-?Ak#%1vqsFp&9Wc1H)?&Wc;LB0Upd6L28#`o?7||g`-RS
z*ETjQ0Y`|Er(3Is3BlDr+M2-{sL
z7MLgUp0>YP;DwvcUR(AyGSzW+^+0vR{D~Q6dpLeA|L^5=PX+!&G%zAubfS9X#da!*
zJ1rMB)B7k@B#Vs8S`*ZGQfC!}N1^y9RIYF!dmW9mj_nFVhUG1q*f#N*$L?j$j)8ht
zvypuct?T&sCS1;#=42ean?R8T{EJBjV{ReW8qcnDR!>f1Z!KS{-6Zl9<-#w*lhr+j
zz@1vevP9utU3QViZ?iJ>xNFkoqGHhIJpPBo&`krZDI9i{$`I}j)q!rL@S`0;I9yO-
z+3VCOAkv_{7EOF_(Zyja!gC>Do0?tB$OIcFNcs
zn!r&g6Cn|REen(g*xupn@8Ba9b}BfF;xcze#kFS`r4oipjW6J@-zB^XXm5U)g+f~|
zD>x%0(Lfk@REFqhAX7i`!_X2jQ_uQ(O;X7=+kS@|0J3PfJ9eFn+*}3mJ$kiSaL}-L
zCcL`T)8cgx%<|mjJdKN8$b3>H9`wpYQ^6Tw;
zoK5l!LSAH0k_T}=*}}}&=2%{u7Ce^iNqHJp!Xzs3%`*QqrW7P>>ylgK0HOd_6dbW%
zc!o=b0MC9N4<*B$_M^G{_n)}R9eL&PM=rT+b~eX{ed?MH%3`*1^Hb$IzIJzSrZT|k
zOjZGAYUDoB+nmiRT>8n!m}!1Il%=tK6WHc0o99*zKMJamR4(E?VOqC?(qcw>h~)89
z-yJm(>&iokhgbaEEj_1Uj9J^EvEhMM$`nzi$barwIe9p?0nRpxD;l|%t$jqxBHQth
zfG7Eay{c4yL_eII@WwC(U~$guVEA}8`}FnrW3qW8U>3#(nkt~?T@T!bVy7q%qH>IN-*PZS`~v6`!14OgmEwD{LAxEU=;|
z0Sgjp))Ue-*WC2mw;~(ufVz~GF|WQLHOUs@)go~V*!JSJU6?tS2G-~?9Z|08%7Z{mm`nQm{AyA$}g(KK93O>055K}%Srm&)TC8F1rwGqRAU=y
z`)^B%BLRUgMZHz0ps%GSXsY4e;GSc;4vWo95P@AwB%5R<7im31l&#}0mpRpQ&|D^|
zqCD+4$3@o=oIB6*Zt=4anEDtp&18_*N<~dqNrUeRY;tKb5s+p~;DLHF{K8LFe`LM$
zcvby}W6cH{n^A(+-AYK$(jS}RooQn(
z=RKNb0qNYXGn^0R0shB6Z)J!6+1rpXsb78R%Fufip-4acSd0pbBZi|drr>^B`Q6PK
zs_90BGMmb_rRVBl8RnPOq@$Z^r}^r@89n{UXZc>g0vfL5e?!$1mi%U#{$Tj2-VQQ?
zM~#@qOF1^IR2#!sR>I&wlB8Ywpx7UkT77qYPfz)X_N&%UxEAI3k^|Ttt##&>E>lrThA<&W
zi}$IVSJJD!wUux`X5$B!;&r*@7|mJ(mDpVxzk3O`hvgZ^J%W&KIa}k|LuG-)P~yD?RXVeIr+@0eYVYT7Spj
zixLdX5r`UsR*-HpJfDvEAFJtDFq_5xsUIUiKYew>0#oQkHLW=BQ5UYia>Q1a$R}Px
zMm%ADetG>mGmNA!u&i?qGF6Zw00q01pO41}-B1r8y6Gn}vAS5^vo@%S>U=U}ux|yzE4O
z_iN=XTJugkCS6w(AfLJ4W-P$S3?4_(-&A4KqGi)atDIN3r=!IadQUtNhlo#3PHN1a
zf18hjf&X2&8D%S0r|CxV?pa|l4^d}q_KI);Yd8D!UYj+Z;Osud__Y?^<+FAbQX_(@
zQI1jSi!_Uj)4?2ou&bWzDB?A^N#p-nH)_%bNJa4$6!Ytq)_41fL#NF4Jm^j7J}xtk
zxf@8g6-13)B<`eix1iRMu&8K%1A`$@ne|Q(N7r1hj_oz06-RZ5fe-fkHyYxw6jcx6
z#MuzATbN&9@Rejh(?&H_7U2gXNX9F)&>$sR+t2JoQr_(7u@t=>%{Xi-E4klJKt&zA
zI!S8UOK+m7p?WM{>IS;kqrVeiAW1-%8fXy@GupIFg2^w#?NKESmPSQ2dI!D91#OR?
zufkqWUFpx{4oIZRJ_~V$)4Cr2JnL%Y{k(MRS8(UAsuWJ37kiC~-O?FB7pCUD(&*s4z(!7s{LCA`X6NB_^*$CASQwQpiz`9qmXE<=S
zdx_S~(1+
z@(yEO;)VqBxBlpCc(9_J_XqK9dj5H_gAli!8LU6~&3m;G)9r~G73FQ+?bL^pF%JFH
zshp@mrL7JtpjQe!4G{C
zryFRsK1CVbkEEmWcuEi~(u^QC`?`-PSstSyZ+H^590yk3p+v9kXteDb@9BGkczQOf
zs&Iof@ON-*c6T=`nJUa}JkqQ_hi*oe8otb)v_`G{S|&7>#_K=}T9cY-ZBKG9yc638
zQ|P2Z;Uz8E3ZGL{Qd$~9UmGZ2^0qv{hDR?4QVx7DPJ9uGsjJ?o1_8Q5#~2>eDwY{q
zN<~C6Zv*Lm1R{7o^=RR@?)yW5$}N{tW`7q>q_YOwKwom6htWj^X(ZKITggHpddL`{
zM6CVh2m?@K$jR?i&AvgeR8+6pl*Q0qJ84HtP6>a?Bk0K*b)l&r9qjjAf-?sTH1
z_P+UK=bmbv{17kyQM)|&X~tQSERoMh=~3A)x~wf$xjJ;hueH}tzFC}wEb)Z2GaR+7Hlux05Jmcm{i>a|gm9}*|gWt@Dcm7`uf
z67Xy20se%K9Ld(4n!DjJoB#Ql$k^%nx{&C0zLn8`KlUqDaktd0%<#neOKXigm`Ki9
z@;RGc2umUIBy4|ggb6jg44yiEhE{=5_k9d63rnDcb2`~muLiPq%HTyy6g?Q>IAn3%
zb?sV}^Ex+DNS*2uJQEwS@5dDIDi~eAxJiyKU|Nu9G7=8_nqYnJqhU-_3-r#O8J*8(
zl*B;rYN&OYONHdUEm37RcE+S~!HImdD))zKCGL2i@<*?${;tZNf2VKS1A!B6FINW{0c8&<`e*UQ_Fb
z8ipldsCw8!)!!VZBUvuYa#BlA;)uys)nWR#IPVj1AW?6k+ZE0so0*|j%Hz>BP3M_vun;{G)A;dt-
zQ5--~gv|AEZ2}K-VPtT_`l#u_Rsxr;f~~>p*-{h^3P`f#Z)uP8I$5g&L3&!bI1D{a
zg5$w%)gxG2x%5`h1-cPlCSVzRhh`QmsMgmyv{#8yvY~Rik+A%8_aiBPj8L8{cKWV_
zufIyHY!?Gx)x)_q>lAOzl5wc^f^81HL&?@|qB65_O1wED^`JlUTETq^ZiQR4V>~NPqsUJ
zD=W@Jp6?%zMH&r$^a}zQ@+v+~m>69-chzD~oVSwhH#wWf!j4|jgtxVDO9VYgAEbPG?VbK&b-+*?O~p#%l=b&sX|TLoR@Br5%@=*>_Tzv8t7rz~c(_qvy55m8+*Ok)P@U~O
znlAvXCfL88c~o0Xux_5GhRMq#B9_45PR&`PYZ#JdU=-)kU
z6q8oo7ZFZQ_yl|&0fbXz%6tAMad#7%A0g&?BM#M>hRH#F!ou!=CW&$XWCF&$7pbn6AaV
zJ|USK=E{)P@mJRcw&62HVWLq<7N^68%--lKnv6^~G(*KkVtV>qi!141w9zT!#i?vje*_)Bm%7L=`btE@VreD9
zcHx^t4w{0%Df3Efs~%O^V99F{oH+}7qz6CRjWY*JeJS&4Wqbe81#y8u;!7-6-MQkR
zg{Lu-cX2(zL^rYn*pyi+B*-lIJr&X=_1wg@d1GycSh9$~+{~M=Y488X7!1zKFK2mz
zp?u^ATf!j?7RvB_1_ODuvgnF`g@iEaC5_pE(^&2g1XW6Q;Hz*76i@OH3f^~O201rY
z;~1a*FQVrV!T>P@99XVgUO}(eVQ0W@s7&`C_3{NzCOQ;_k=HBs4=I;j16Qw#%Z>aH
z_t(<1j+;_uD4QmZ!nYbxLb=vgk}oztLRF$0B)JjL#<}nrPjKx&F-s`)kRou<vz?)G=kgwH$hILmO66C8!@)0usdoCHsh`tXwl@@k2vHyZmD~mWR)H+R7OiA7*
zH6(oNIOQto+F`pLe?x(yb@T29hzT_+r)-L2McwzB7sma)0PMF#kr65Y&
zwKW?)Q1DIQ1gi{+A}!Urt&bId1^H?1A_h&~PcpYVkYKnLL7q7(7u0-Mjr0s*M!lwN98Z(&YY1`=Jp}MsDd&Ap4D`AYA;CReK?o=GCfY0Xo8lYYKvKBYD65
zl7E=nR2q6ZwADFoU|o}NU#!7|a(>M1G3ulF_tU-cuHcGw-0r-Uq^Ig*&W0kI@t&V#
z2W76G8MdUGqY^7Gb3l{=E#16Z=wLn{eRiT0cwfCf&mrYI*UxV=>b#;fH;ZPaJ6?W2
ztlbQhq!XA73%KHTu%MyNPJOEn0ui$}B!zA}dvv|^6`yq0(Wa2cP4~xrjL(>&#XRu1gq&;iKQW`(~BebQg8~yV&!`Q6p(;gxGz?q$yc(
zm7XQ#_^Dy@k6%OIz~^7NoPV`d_4=&YZdWB~
z(BmCzWKj7#fo`W1dIj07YyJKB0{t4&$(HgDV%rf*5y$*|qkXHvlS`C9ZfoZfbK-Am
z__d)JkJUiFC__z-|2et|O&b4YGDS+QfA8byxb5xURM8ZtpxD~(uE;yS1bs=A
zYa7X1mP=HmM)qVs-Y^Ejai_MIRPOi=d?0fF9{mgy;Kv
zSeepU$?fexsqey8o_d4L#=Q)-qNsMQ$POVy7=TZwlD56A%ZLrV+aJI{DX!S5>{E#P
zcj0V3r4W6DQy??v@$+31wLY8L9f+3an8xbJALnDgWs)UO*)(oDA_|>4K(TvVPj!z3
zt7n#VFmt`vr9H~!vKGTQjcUiy)Nta!k;cZiGt9X{dfhvsyW(BNC`^pkl7^PTb5J!t
zULw7E6hEMZ8df*|hv;p_efu8QCUg7*SwF1ylXRV~U#m!ojZ?w&?w0}aMvP$zRQr@X
z$Usfz%8mIET*Yp89uecr6=vWNHz1ZMS
zQuVOgZnu1~4;iQkJ_^^M$9jOoSjn{P;gEC*YdZ)<7PRt#NP6~@)B?uT9nY>JyNsXT
zUaf3#Ecz|-0nhK4+nn_GqP?3ao1ddsom8-GAvGFx!o{r*TnHhh21sx5pM@qYg1FnL
z%;kNOV+ewY8B~#^Up&W`n9%pn1`_pHk1I_Zh^a#hP1Q^W?!7lIilaYA{Zc6d
zbhK$(eFN@n$XV-3QA~m{J;po}PSelMs0~jp0Cgo$*xblRN%s)gZ4|qn_s*;lX6EXL
zl~vK{2Kw;^k6!LPb(vRZB29<=C_0Hlp9-UdYu9PNcMU@PrO;?YVp;I^v%&B%BJnfq
zb*}i1AG=O{@bNM>0BEH9Uc#h_g@sQmBnVizd=+!|q_`kBO9vrqefhNm==izgZYY9GodEENT&EAdc5HsKo*9%`y%)dS%r@oVsK-&MnG+>7quqX$Y0Nq-AW$qZ
zCKzzHLrQJ`S>s;e?^XO%gZHz>aPQ?}i
z;Ny?_vnYXco#KWGeF(wAJ^NT3jdR&pO@L1Kw&BL*Ny*~&O$h79apcA(2OS$olQ=YJ
z7>A7oPA_{T3PKQ+`h`XkcGLC{zkAVeZeoTZ*IHiQ9d9pRY@BAY6|w|It=vCzTBg?f
zgs4ssjgz3`KS@WUkTHF0Gwey*P+77*TU%Q2{pL^jK{|*El*Wc-m>LHAE2)0ETnzp?Gb4AgcRqjBq+I*DD6?`m
z8|o|PMJMlEK{3aGCd^}@V?3l0{rI}QO=KU{sKJ?zz{7ZGr{Jrza%VM2J}ynlP$}8L
zJ<`4rg+NcVm3KSNZI(57L{IB&zE1o&2B#cO71Mr%V~r-@VDb+@{XlzYG&x2)17a{t
zE=z}Vf+>}O9)Vi`!BGJHkeH88Ctsg~m~NWvHLOW}2ofVVqZxBuT!ooFS!xJjZ`fPV
zIydLsAmPF*{-u+yG{p_R9f`A2-V-l=Ura$|V0BhmWKnQBd2^T;^^&U+wyn}??~-vQ
zfVcM^@>Jf5lyXm9IybDWKP!;V5JZkf_C5z1#0=x6(%yR~)(WP7131q#<%4H@QN#pe%j>yK%=``{ZiMPcl{ECOH_E4B|0CawFv#yFPlskOGrmE}}
zqcGC98#FKXK)REZhm&APKE=?6%3I_cl-R7U=Kz%C+x8$IjX`gpO#&j;J{)^}Q;Oqe
zHK7C6;v}e>L|(fl$*bfmu$;yWH$_ffAPV+#rJUrI;%VEw&mPV7Bu!OMJd-1`5RwWRNukPlZ<>p2Q
z`3|N^U98YIM(LS;yF%{AC~Au$bUzoK!xJ@zF*Ax?Y>@s*DQ7zrv}RqkbCT{iSq7XR
zWPd^gjSO(Py0|!{0piv}3e$d#Ww?_Ouj{)G_gp*Z;Xue|-KUNa7zTtF{n|>JOG{fs
z6v?5y${fMJKFZrb_j_%eHJKOUw|C(1t<*>|dF~+W_^M3?K#h-r{TQj8>IkmFj$~E}
z+aIk!__M=*i%_ti=*j!Jf4F-5sq6Fh%L*TbIrWkh1m`Y1l!4$9uHjD$zp>$w5b+js0(I0ep+zLyGSoL3xeL
zCKz-{XQJ7`%cYJTABRM4C{dN-R-KsT%p5aSa4giCfA@L)@h&?NR`bI4;G@N^hdaoX
zYGYm1HXxOw?68!Knr>lE@aGPgVP=+Cvz*{ItWvoKo?d>aa(G6P?myuw?K>wd$~wIqq(FYWyCvZpH7jtU*!_JIxNo1ujz2)9pL|3eUVg^HxlF
znJWx4uBk*N5GqdVZTL*<^ZmnuiU=`RDd60{QX5-czs+%&M|hx<|3_{GO*a8y#^T%%
z>1#5_`UM|cKxILwM?GABC+6f$bkI|lCqYd2O>=H8E=uOH89ar1vAj#g?CP7Y2feg_
z68&_%XxyNo=_0n~{q>O=9zYQ^3U;v-JpFKYzjK5-;QcfMFN)fDYfnQ9{+&cn}b
z*38UE#gCPadQ1^{Lg3qDB|^5g1^v1qxl@Tc6Qs%GY$j+3jpD8YhgRhRAx|xF#Y>=^AEXTof`p55ATyjcEP>aS9tTr-H@8}oNyoOIp!0cNaa6=|H5cZAmk6OI5
zi`uCMdc$heI)~3yjXkOQU>t~*2o>V&=K&sWJ}Bu+Sb1hmVGQhQOQWe1XyL{^L}cvD
z^Rp9wsCiU#+1&knU%v-#oSe>StqE!vdPIlBGJ8K>>^ZJ&!~=n&Z1Ns|s|{#^q`UP}
zFX0;^yu-r~c4#){dg)9>Dv+k6)wc=Jo&L>tYWnQ?Cfs2!1p6b%tOz+#_ltTMCv8UZ
zv;}R
zB=0Z11Ue*{rGfbOMyBq(C+I{X3+0xXM$rxYJknXkp*JmJ-lt;IBn$75Vg;ql5VG{i
z=tm%apM;-C1DEOR2`8wJFFv9V$BT%3D~rc@Oopf~{>jW1k)fYBBfUO$t}nqU{C9p=
z-+HW$R|GMz8C<_5r!48srEs;IrabT9_$!*8<{j(=K&g=hg@!(|D~KL?oN$$W!YssC
za!?wR*E3&}6IeA+RG3H@9}kuDr>M9xS5+}_mkjOi=$ExJo?Dj9)J^Y3A^
zj#c@AQ;)nucv~I0Xhd!umo3ruStdLI?Hh_!CndEUcjMl;+FK~Zj+(kp@J`{HMv_3f
zxh_BnE{Z)@*>PBhey4B+b2NHS>PlLu;#NVr9Akl&Sio5tHlm1As(KX|r!Wb9KZ(ihOPTv_ympB8
zh&;J<3jahG*#A6-FL)H6KsUWAhnmYWPH@{4Mh)|rI}Hll*tj@)_M
z&MifXGB+68gwH+#JLQd!&V+3ocz;n;U>tmwJu|+C)X1h6?-n>zam*P!xj8g}Vk^BL
zL=HrR;7nqluuU&X^(_BdIAI-$e`V|dioqY53%_$)@*#T!k7ZSzyeE(l^Vwp#RZpd6
z3(~dyUCyKHl0|sGf<}G<4lGUAEF#DUN_J)$dBm=6mV>kq^kZTX!>r4J|BYZB_RSgZ@{-Gir^pUMRaY!O`f$OB-DKL
zYgE;4pr-7nS>jAcWZ51a8(;m#fR^`niMH`5U1{rl&Ze*<^a{Z&D^
zWM^`yxhC-$N7)OrOf81u#YFB&f^-7$yZ4gmjgu}nsSbA3WkgC;
z0C;@6WI#C)M4e=(CGBxP2M(aTR@>u&XY;SJUC5!?3TJt3&S
zB)zc3GQL#b77*zBC{l!OB7o1ch66`fW8p|#Mgu<~1%ky#t=9Qvd-Ojngha=?X%Rq~
zIq4ksRxesf;+LakAOP>4OD~e?UVc{Y9zRPZh{8J~K@MPv-TLg9D%^~{xt2b=n5`I;
zkD^b#At%b^6RoRh9w5UoD)E6k%mN*7B8>FnUZAXF=+ZC3Ha&UTTalN2?)nsYS-a6P=M3^;C?K_rp5
zqS+SRz}S=ij!8zcltp3o!p=A;vbQ3|57`Kzr0&b^)kxXygCh_4Frl5R!ecHnjZl6!
zXbkI5RGpnu$3(zpG|U@O6oG68uMOYwRN`(3<->AzaN<++EdUVwe*hss-oHg%V(JG^
z8pb3-$I&3${qOJ}wHhjjbt9SmI+kmh9dH*n2hLqlEq%;aW&e1=(p4QKLVkosxq(Zq
zC{|euGx3-9$#O!+{l1;kl++Fl64us<1p|!yPl_iJn1=CazRvve(*4aXo-?}l0?mN>
zA?PStc>F6>Wfqp4;EFIB7|v~`I|l~^3=l;=SE;Qnu8;`>@k;4C))cu&667lT$-XOUNhhnB3zjqpmtdAr=5@>zOT1+%nQU0+5cfGE
z%a8(!%`WKPp^T1!J>#`sjd@Amcb4^gf#^wjv7^56Q*Zi?YcFspgK^bp`awd@$bLJ}
zLEfIeE96iGyr>V;gIeMxvxrV!UwPLlZ`+Uc?U2VLnw9lXl}>d%bV#yFjR$H)w}V<}
zxZ9hnB{Xu+C&(U{AJvgi`EmT3^ms*_k_k3#e}jHLqGL)9-GnW5@iSF*^v&K%0myJ9
zs!WM<;!X#I*XqP?GXRucym15X{sI#zgmsNuC72fwH7Z&zZ;RI$7MkVX
ztZGT#hb|;3HAks&7m2zaZ&A^@n3=fn+lg@6M~n>Gt;wWJw()@{`{dEM8EfM|YxHXg
zM}}NZ4e&0$I>ch;wWG32!VEnJJa~6eM3@ot_kW-Ce7LU=a=h-{@@}U
z%?xWwkCA>zd=5a@C<(qP*vkX?q#7*mQ-ZYh%a8Ic$08(d
z8Ngh8pRVvD&|dSs{Q;I52F*lW;FXb=IQDd#Y+R*i0Dn05dMeiiER>XnZTr55hl<|Q
z}{
zZ+X*xtiLjo=JaiL^DLS`WM2q)!YoHY*Ri=%Gn50?K&jTT@~@izJ!|AJc?AtTab-w*%w`Ils7U1r~>0B#m(w
z9$?(B4EC`ti)Ii}is@!mx0B!y;~2%V!iTezF6seu&VFT8DzzMUl6M5Q<;=rVwO>Gq
ziJK(+37P{~Jfe8y*
zKhcqqQ4E-DmY(R3{X#nl_L!!esEXf(;#~=nDvIJF}56Gsp2{8jcv`a
zNV-E&8N&0Jh#FT2yyBHPgaM`#RnG$GTba|gZ~UY+CR^xj&C}UBKC*Hr&WdmcFF0W|
z1P&?LJ7)ysDunkS4w_yGT3?WwG)9H
zmUy`08sz+-V!WpHW_}KcHZt);P2W>2^YUu8b)VMT{)ifoccLmGqxb(;a^5avl%`?2
zH(nSXh=F&=aT{oA?Va)n^hA48%Y#sI3dxSZf1522BBfF|A6LT{YMWyT+Uv=JeyaHc
z>hvl9~oZ#q+#3u8by&PUf?)?pQS?X+te$
z2I#?7G+c^7#(GS(7s*)FB95(D_9^aj;*J1}EyZDY?1mSIr?kIpa;IGui?Y7|`@aRH
z;J*!&r#jBE)mTCm7+21lwf-q;;0rpn&7};~A~sU6q0TO6uJ>VYLM|6UoMI|qG?D9w
zYPwd?)u#(Rh&x(tRQHTGvvE6i@UP0)Sx_5x)fPjBYZ5$1%%X-}``Z~sEMfnL(9VY?q_7jdhIp;XxGyljXd;rlEIB87m?o)>nrmmg)XA}Qt+5zH#p}qa0x;Q;U5O{ScW=$+I!lXKWAqV
zQc9T)DrQX)w;%06jfcKxREiDMbx}U^G5|vBKe~2Q!N89NTWJ~_;a{Fn$MtEesplky
zIwL%uEP?G*Ieb_1nA!n4
z#6>t=pqA{@6%9RzC5%eD*GnkQA;KF>6BUJV8#cVgO|N_1EU7zaRYQS-gy2$SBDkKG
zMDoMA5{ptpqwYIG`OQhWKyVn&=_~yV`dRY91o>|rB3FqQA+KmzsOjGBS|?_Z14ib|
z1xoI^bYtkU6k|?&>l?-o)dG^Dk&UL2?fOn3+}EuSGaV^a%mq@J?Hk*lqQvI;(B&#E
zod>HWD~IRGaCI6=cq?pwY{Nn2-E}Q5!A;b}5lxPZ=d+bpbt@AbdmjQeYf4(H!kF+u
zhcKdnqq>fyjrCDM!#GIs-1&{>RK?tgb_q1Cfma3G0
zu>rUq*S-l8zaH9=8=}eNmTLRP+6hY?|BZh=P;2KpIj(dGO&`Z|ixYP%qC}08?=dTj
zX?3ylBR&`huvxhSCN|yHU~;wq?Zu}8LAg!ibWeai9GOyp
z6=t~6pu?)P;cx^nn
zdT-@CFF!V0LA?G9bWM)|!OTdv#B&LW<;Uzp;WJKC|3-rr+2o1cjV@`5sqe37y=J$V
z*gNH1D{o30>GRutUJ&C=xyhk7{0p1+kT;*54)e0pOW3g@D;nQZ%i;gVEaXpWfiB2m
z9mombr@JEZo&mko(mTJAaH&&znM3&)X5Ex*1)s6ZhiO-6A{qd`EQKqMn*K1&qg{(&
z-hmKFwt@l`=!7=(nUwq9mFqlQ#|z|Lerb6FeE)
zsN^_Z2V~Zzf34Y=(xH5qGs%w_+W+#c>$qW2L54tx0a+1_PPZ*`ngC4Mgpa@9O)}+g
zL6@;X}p!0|vIkmt5Gn2NX9qs4VdK#jqtN+Z~U7s+}BRi@l3p
zBmM9r4jwIU(ENNAhdIgeP(spqf$u}Wr;d?%505MSJ*MVfWht=9bbKgzdiBIRH9~Caz*p--|t9W$Khdl-Tf*GN@Rk}K>sayt!
zS_$BzTZipUj3TFvQcc$2QNdPTM1KC#r|Kfv^`O$H7Q~7dm8y8v!pOZ9O*@Gk6K>VLU5jmNFZTv;
zyAIrS;&gqsMDkk%Nm{YsAknYMuMx`t7P7<4@3}X4?fcAm4z*%E~pO0^Azs
z+Nz)aejLmwwAnfd<{M{y5$dL$nOZ?huU@F!KO
zf^LDZl+sJnQp+#kI-)KbBCc|Vm+H|rJa)b)U`_4`vNhPptYR8);wv_kGmOIzi+FLL
zdXR@{0cK9))3t%~R*)rgp+d&ANo9Yc0Qd$@4g#0=GWId*%N78vk*3>aN|bY!+Urje
zxUXrj%IoeGI);J$okXzr?dXa)ED4-iQ@}6k$^2B>mBmAO4Za%}{=
zhM6wa2TSffY@BdMy==6M9NFDX??b3=G9wXMbYyYi@fR8H9b#Ivb1n-fax4g`1_G|F
z6XV_P)=AnqOgi4@Ga|1bAQHAZ?#+cySH{A-@P^30_O&2qitRx5T|#p0cvL_Z_nT7>TU
zY{FPhX2lxsY|TS^`=(a>wp$QuUZJer=p^{u^37oH8gc`OmqA)fN!L6Afep-LcjsX{
zA;wIkHTmrs?;{?>+@d2Is%!v&&c7ZJo(exlxowZo9<3*mo}mW0gUDrMME?8aj-cYHzO
ze_Wt13&%aU&ni4qG!N(M$#~eGe0S5r@TgfVFh2EDJiP$Mpjn_M7Bf3s8;hYv{?QI;
zO!wmPtkDiT;pC-RrKdbyo)L%aB|
zWXLSq6fBVlu7-AqK&WKkLQ}y?I~)_=y>Vm&Lj|}<2IUd(caT$6R1|Q2%r$>x>0=82
z8`>*LiXx+pVZx>4;*F9S9*2-PzRmMC9alRH8z=Arjq;Tuv?;HSw4eIQBo_1t?gom^6g8`u
z-@oHhWZ^93jf@?ON2M^qLV}z@nG3dasE+F#TqX^DBS-sAiBQ+c?ZeJTWs$Cv<3CfE
zGI~mZ@-zh*1_}XO=?#6udU+EBy@#A}4eHU6#ED1Pz(g#X+qBqS0zseSe*m2Z+MdGt
zg)Y$~7DFv}BaZ)?KUmZ>lWM;(%3u2~GXz|chXdR7xOW%|0PJ6oYQ=iWZm@{1f7?+q
zH6Siho{RsJpHNB0cHG=%{o0-Y>tujhGH))S3qY|_eXdd215JgXrBgpKCDz!p!5{ue
zH$|Pttn&@S6uGmc93na#SHO)BVb#Q`whCW74i=-)fe})+nI{Gtx2}e4-~8ri`?5-0
zlSYa6rdHbfJB*%>g*DLM=*h*s6U?{~h9YQzW_5UCL#z(76eiCfUr3?{SWU<5gCf@)
zvZEGhGgim{Sx(NE=zri!>Mw}^=UO^n&B-+N7nSvJ+wFq>XlU6v3%^6)su%Q
zkF&S5@v#~7M+?3504M;DRAyKxVgj!8+%h*`+*}*UqXlzNc^ago{aQ!MSdACFfB(4v
zmle`vPdvzyr$r$wDjh^%#dV_jF!if6+{$loSLDG`EoXFR$~(ahrbsz
zq*XeMH!SdQdix7!Di*9wM#OfqcbnR~@-}wI2T^Xy^Gud%h`QQk)7c%Fopl^89YolJ
z=bUCQ;mDt?PJATK!=9@1XU{eXHQUzz$wR*(zYQWg!83Q|YO{e|Y?KOyA>{N4Zr3es
z2De<*G`a&_Y>07zP2`R_Pq?wq!8(P$FuEO0pve7#mG1uVc&aghb!l6MkQY$^I>uxZC2n^wFZ}UJf?Wp7Q
z$)yRUVVK-9H_W~cs*pb|M!ySjbed5VHRo6B&tyXNw;+F#guIDvt&QiPg&xsb5uQ^k
z={aS4zN0MnooJ*Ehqc-qtyM_7`nzxa7~#?j|2oZ;+#~5I$D#i@4o$3k^}sY=B&U}>
zEVOEhnI5nkS!tOSWu24(h+Xe(?!IOqeS4QrsNt~7aiE2nAx-8qe-MCulBHxb05?wG
zvau<4xqlSrYVIvYM`Y=^Re?BfF;giKOxGp~REC6nDa&V5?!SKG+Bj&ilL6lnRkzS`UO3;Ul0Kra`
z!;6!f+$+S!X)(aZWUqk2ZCplQ-^-B-&M@lKR}1!F0T*02&7^X?+RqD0!KAa}Vc7}?8?JCw
zNj8EAQxsxuT2UKXCcC8ZipVXz>o8oX>alR~
zM@*|B>6AgYW{ogr!^gH_OCer%S>a6(tviZ4;wQ=za)80^TZnlcG-p=LliA)`;E!_Q
zfDFz^>f}o7e%0-=g#jpWP#Ub)=^@aq|C+m6+wuaS*7*kyMfP-e(HVz$9DFbW3pWP*
zVdObjopZvmYe-8%+%Rat8^(TPuWnnv3{|I%>6hpOsd8F@kiO`c#L_>Xt~N|lODJf5
z&%XS&BFz{QMn!#O!+q3Qn;4B;VoMQFm%Ga{H`b!;KSYW;qpaufpIPJt9Z=f~>}ZdG
zzf$A=Y60mL5z#igMDTE~X@VPJEa~0-GEjJ5(c!te^lG33HIsSjGTZ?Br9lK?v
zhtKN0srMLL|4c6|JUd|0c6Q}M88Xf
ztq9$44MjN=71_m8(QP`ni2Ka|Mnwo^!slIOH;EPyrDgytj+4;+5(?uI>#C92#tN
z!RYxn;%fa8p)iwndu#sR?xsxc9YF6%m*n)yF_oPh3$O)x`bfM|FiN3u$Zkt!ftY!I
zCuZU=tjGhG_ZSn8#Nscp5OPHE+O3UY1lq>~!4ufArj9_z105Q)aroMDV
z(W()+A_E29-s67r_RLsXISM+yR`u{C*zUR~WuaPO
z;bvY=zwx&dQtR=uU0O>iiPjZ7#p$(%95+c}aP1@t+;bf@0XWWxWmP*+`
z>@nLGV<&ytFOZ(583NefzH9D}emcT@WuImqW{BvF;{I!crEPdrY*t3AbXKelEYUnB
zZKK5mpTb>4IrM0kf$%$3?}n)veb2|H{2Z2>lC)`f7flT%zIb8)=(w)XCi^!+oQTc3
zm|3V2d4vBDq=CG1M7~(CMKh<#=MX{VAlw5lOMR$kwe8j9_J`D|xkTkhZx^VGo*ngF
zef;2{QxbrH@SNIf|3q2eB>NNLh2{SIPLL|3)`jkip90xFM)-4XK@
zu5bJXT(mrLnRO?4T|3+vi-u7^4VsyvE{p2_m=s9V>+T3TWz0ju0xu+U@=jQ)%|w&n
zX0r9c=i0l%xmE(YUixVCBpdGUM|!IlbZvle-Da07eETT7o>lkMKPld6
za;jjFSjI!NR8V8i*i1q=n-AVa@U;_j<8N*+@8!Oj<{8^`HupB6AzJVn2M>qv#us^?
z?(5Ze4%0*)j3r}VQQa{1vdoKCf;i8`Kl>*$?HSQl=aOR$eF6;Uz34Q+CD`s
zq9vT7Zg{0-mLQqG;^SQr4}&_4pvaeHxw5=n(PR2xkBm|);_ZMQ-Gq(^+xH6fbJrOV
z`qGpvREhkYy=g_3GyJn@3|kdK2mQ$p)I+#@uaPhYWvwpbGZZS&EjszG@nh|zN3ykj
zcfsr1@1|J5l5Ui3)=oOdjlGTKl|nWU^@10Q6c^C6D?O@$E_qhPWD5^RZdcF>eF@4w8W*ITymGZQ|BprnQcQpX
zf+aL0!d}IPZ0o{6XPHQ$whW_tdl-EGw?=_Bh}2uU1c#~k?uHg?qs^XTSV8p<^_;?H1A51&K{Rr3p*jS
zdgv7~nC+0vYp>5{I>Cb-I1`Uxyd_SlVyBs@)FNLNmga$6j{l#X>e8OYlY@G>57q*g
z=~>nwctC10B9f8eVXV(Kg#l6KcS~egf`v8(%1w4p7rO+kn;XSXCB@F$>F-~}g$>v6
z3U8lU(@|U17f(&^+}?h99?bS7lDNSoA20pw*Rz$i&TvM**SK&2>ESj(_yiWy+=|4^
zIXe_@&9Tvdyg!MxgQ6T}23-a=sWQt2mlYo3FsO)`5@~UfuU5S>QcT=f@>~Qi*3V`2
zGE=8&X%^q+gtE~J^DSLn%pfHo-=`QMsV%+=>zbHK`_
zEsLN9XQQw3pn92UEhJVDcD@R~7z+ms$kg=gRhJ}Mb9&OZ4XWR_!ZUt=_2Y_1@Wsg`
zA*ig70+mJ~nEg4R;V-07&QjW2x52wM1;{+XfZ^>h^;L^LvR5;_7{yPR7cDm8GB^}V
zZ@>@yQ-e{(2t&{RYip9s`Fm*e>yw^omA(T4(S38oQ_y#Y#|Fo)=X$E0v9caDSa*~9
z=`!OJK!QNeuDuY?ISV)z5M(vOr?^xdDD=o9VHF$ezfCJGjf7a*e)ET;D^N>|mAAp7
z#IO5qiPwFd^j8csLrVKar2l!(oFN<~FpfyI&iN+#vb@s)Mzi!UuvLMqY>v^R?)^++
z9oa&!gv@P#1$O->b>#|b<>NytikC3qLnl?x@G%Y{yzG1@tx}xpQT7)touu{5zb!M>
z*$J*cgg8|4#RC69;gA2HNPY9?-eE%xL!aX2Vmw|zmcYF9Rq9|Us(y;qp40)eK_QW)
zQh!w&hqA+9#u{{hw*&^eR>MPq=0x?z2=G;(p{vjgsDjj)p(HYCnT&j@XDR8Gm^D(A
zj5K~zsf~u8!n8}R&Gl+h*%JKg&O?FuLqp$IU8oidj7)$1C`SrsDMOj*rH^$M1PD49
zu8dH8`E;N=aVcpS;y=k4ov8!XPj6RYP*sic^0vgu4T?ssClQKg1zsVznGqGnjy0BI
zesY{)-?gIdo+Rb68b9C|$N%jnd9@_5aBB7v4tp3>hAo(5O(X?~yHQl!v~*uhLfO-F
zZjy0T*w^)}Vb1pkGcT9MB$x{(%dwl$g8dD?d6bvxpGR-%)Xjl;xPAe+kZlstLP8{p
zq?BQr3JY+6P$kGx#o|;GZvZOvP(U7&F6mj9N1|%lQe89??XN0v>B&F%yB8R$mrX#U
z&C&>Hc=sG%*NG=(zdLd}#yY6%A)0Vz;%&Y9l+Y~8%AK=sk$4P$U<=}dG>66VP9bIj
zB&>n5S&`jqAgs@X!fo6ck!V-)&RrpL&BW3*k5e*ry%|yaQ9&^XgYOue>I72RkQ8X>
zzsBb13VYZPCsdkyTW&<%1w&O&{Ol7Cj^MUx%>
zHj!2av8Oz&ibkZ~j-#i{dpnvEuzU0qk=8<2?VKrI*)|%!ME$F3|#>2Lpl1*5lTp0UQZLUi0NyWnU
zUHc43`~)eMoYtOG
z=%`grEx(ERBwO!EDC@WurcQEr8CFACqOP?U?Y`l0G6E@w4N^!@p!HH5{O^yjI!-xI
ztW!;p^r9|H@L5J~mqDli7*kuH++t%Uc08mD!SZorj_rz7cBBmRSlKo)9CIlpD|!X+
z#3K{?GFiBTf7nRT6PD;~JMJ8(Q8N8}(igA)z1irii5s?CnkkBl+8f9;$~eWUba9bD
za@Xb8Zj^a1f4Ja9>)^aeYoG)+#Y(#cHmpJ{`^SKM#W!>J8g(t7f>wzZw3**FGaeA4
zd63O}t>^&I?(Qc{ZJ;@mvyoJTY>nygOXtHZMJMkgZvevGE7L6T&v5LS#?cbH<1S|J
zCxr84t79H>O{+f5R@Cj>lVoMBM1K7t>7-IAT1L*i69X0Z5jkR|a)6x6ecMoNRG9h?
zGoXpYm?dOx|IM9Mfb!BzL|&prJDI3^<}T{lkjq@<1i+@~2X~nEZ+WD$c)&!&Fb_hc
zGSe(II=e~{Y5jnq4Dh^CYu3z9c{LYD(<@oc$9$JB$*;hofS91r&b7NJtrH@JfKBXj
zNRoYiW2{cnf^b#kb(Ft9UOw)cMaVP{I{ltlrJ92Ie}GH0=1(e-h@H_@Co<_eEZe?%
z4v}DykyYW*>S|>Gp`0ZUcp3bBhFFyL`G~qEU$nZ|uTvD&!OF4y7T?*}8q~RtRvQ9N
z6vO{S-SUX5F?LVX{|YvJO7xd6@g$Doev4Lhf6{YD#3(Br14L^PZ{wIN{oAv#ZDmO7(YaKB8(KrS$yb
zauM_ac!gZs*#ltWdO^3aAkKjmY3>J=g_`=3Jlfa`u&sl(ZStcNOjjmrvyW5TC5a?k
z3Y_{MRH9At+cv}h{OnorQTlX7b9I2S{skzXQjHyp?
z!vBbLk1E0{9bX<+nv)Nv=h;(a&XV3O;C3~CpwwplIOt&p*42vgXu)?Z1~kdpNbQgW
zZ58AHrarmPi)Qo1cdDOBBALamh4B&NvC4*z!f)lQ4uVrIGHJ1V3vtCuP_mJL#Zp5?
zf!(2rFQsfSP1%^{~&18)}jf}YAgf4=W=cmrPNX?kf7d8Py
z3z9He<^q4kxpOT)SwEOnZ$DM!ocsRV-W6z+!t6Q2H)TddK#yn>%ZP`nEIbPFYL3Pt6tMQ@iuThK9GEh3X@B3j)8`$Y9wbe
z8)6PI&ze-Zzc$r`LT5@?nL;_{Ocg~82e3smQyM9f5nUtP5;WrlB$3H(IAe|OewCb*
zs6I&H8I#f5UYInRBShoV(Yx%;wV4^RZ>*OfcC0kI{p^2R7H;{^7om(0@Ygv~K_mn0
z`I!KdS);R?&V?Q6qvmHQd%Z*mh^U(w?<+>#7^#rCSv6;B5fmMeyg-RpZiqg>h(BI^
z@b|p)RYVmvvC!olmHc$F$-X@w^Dm>7z0IHWmvqEnld7g3FUOi`)HF1xyjgT
zwCkm%1};noLdK4FL2fwP%BIV5Q^po54R8r3o#yQ=?oNa+Ce4~~&Ut5HaT#9$=G*3m
z8x34cyAptgF3-1nj@e=R4o%AQEjStZ1h2D%J%dvBpjUJYzGPPL_0;~ip>;;GA|+=N
zaUAf7P6UD`P^P=h9q|sSX8LKf=j>8aHd$NZ7LNo#wgFqs;?m=nU5bnZ_!}7?cVkN$0(l~061d74fYBIcf9Cfw>P>D|YXCsm9C_I~uf=1s+;0RY66CCzYpH
z;O48YQvaRhzwU#j$Zf)iMntk%<)LU49E9tVl)kx;mz^%yNggKU|44qH%`;0%CS@A|
zRX*pYq)#`59OL?s5`U~0K!cVcRHg$3N{?ZxsiYGwWPZwDn%o8lI6S(~X|*fJRW2mw
zmkw~;4``Ay2B*}x;Pz|486)nJk$DPYLoj)}=ozBB{m
zy5LuQD+Zw4Tg|9sjxB;vbq4T-{S4){yjxfv^!gx(?ThCBL1Su=toH#Vg$A_rznaRUgqBWue?N~&*J|j
zg9c4qgMrcVBKm>OA`oVUjZ$Dur{)ANTNn}mI7U
zNPISb_&v%cY0|4LX*O2BrO^S;98O3b_7_lNO;iH@)urJ&G5LU#p->j10+_aq$zXiG
zotE0!$NdbKApJeZUfJn^HVwd|k)c0t;Xhu0tb;A$*-W&Kfao9$S&DN}fYw@k+KLi$
zuw&F3Lx{sQ1&=}DL9aGKN|i5q7RDwve-}!Gc&o}2Y}T*2P?>6g5V(?6qVj`@2k-y=
zY>d)|I2j3@`zam_J2o%@@zV8#tr!bvkWpOh_e^H4WKMk8c>Hm~ngvXGxTj^2%q4BA
zOv+=;38zXK{Wi90d8q2nvwN2)IyImquXl7m+ZKdi@WWb(blE}n>pCG^z~xaKj-7A-
z@7ROEuS~dcLlwY=jPQ0wJ`_X*X@#?QrW?mvV%*NFay_@By*JE`7zOY4FQZd0YU%eN
zev%B1cr)xbb-&FZr6(w9VJ`_PW_5DLXtyX~9K<7>gR0=d{K+^}=e6r)bmrO?hEK5o
zRutn-sMSYvl*5HJe#ZJ+jV5Tret?BqC~oUp2K<$8vNhkh=bbapd2wqVN>|kXNt@c%0qtzW_!wso!=BF)M)5E
zNS1-Xrw3zJ)E&DnjrC8wSK$t|w~}|4chq54+}~+R-FYI8qDwC(GRodS*#ckv_sMCG
zJmJdiX+`6bfW&t6%Z(<@ltSUe5<_D>W|>ta<{TyT(I~Oj3F+#p*$XSG{8V)00(V;qj!#ZGvi*FTW0`&9t6+pfK*7|npt(L>lE;ENxyl>dVG
zZ3c)&ksk9BZXo-x~H|-;JL8~ZjV|T6{PF%VlLhGw=j{tq_G>5?>
zwRexHNNaoo`Cqx=EDtZzJA-ibKOqIdhq(nJ)68uw96<wk8t;iw
znN&Dp7((zuy&iF;hh5VEPWkkoHQuC_9>4z_U(D_KBfmBPzTw{T#fUMvh2-TETa1UX}n_%e?vB!&L3!OLx{P;T*=*}(-^rIR0G835>s@FN#KU+l1HDSeEeIf<70sA1Ak*iH
z)6|r4K&dSqPX7o2u!PXfyo6`XX$}=!G+r}H;e#lKh3Xvhe_4aw^tB|ETszC2e{toI
z#a?6@DyyE}YLJAma=Z`DDJ%qP6M4C`41QCdIZ)hNlpfMi_bEof>pJYX6&_0xtl%8O
zB%t#U0W3FWfTh5tsfSDu_0t$UoPAm_n3e?A0hd(>rtX@kw|9xh!LP}4aty6z{o-;{
zL_(Q3t``W+fQ8qs&8P>z&U^&W#Ymq!CqU&ztSQuRKZc~CjGx~@lD0%dE11Jt<%mDU
z+*Mnh74VP|lTYkzdL=tg&D&Y{*RqT1hEXM-vcDN8&QhmKfbVnKb3%L|kz9;TX<f4Y|6<`7!NE48$q8$Et=zqO_8&9{I^<3t
zdl>_ZFHrB+=qF7<&=sebgUrGigwIrbzjLaIIG7br_s4V)#0(*Zv(>u|z#S4ST`0tHBOkJjj6
zvZQ}w#uTkj+97R5dbk3`EnS!T
zv2+&NK3-YTP*G1GxZVb`ZkFN<$&mOts+DBKG0dRp4ogq8wwOHl-jm4xQ%yYK_}}fW
z6blskBd3?mZFLvo1?4%YI-%o0;1(}%13jPSl_HVrjm)>C-z_F@Vpnen7RZ!gS&ZEN
zn<8y$)0$$A>z#>eOKa-C1J#?cWe*-8G@N$aSB19+CZzQqT*4_*tO&hc?X%aNJA)cg
z=l}11N$9Vd&p%SYSsW`uu`kow`=Ng!dqzjB$YWY5{#325>wJiB_7hD4L&jIllArEa
zp7^|U>(tF#JRwTSLPhn-g1Kat?_;GCy;3i#HM{#*IN`b+`rt7-^l|g!<)GRnanh?&
z*hHd6I48fJkjQ*vru7rcd+=P+LAQqM<-n51<4HU5L_%Gr;Nu31;9&c(EDc4g<&4Rg
zd3OH!ER}val%eEa|LF(qgNrnnwjAt4mUXoJes5uKjoA@ovn2D5np|Bpd!U-^u}V>7
zb-x3^IRz3L=ngLH$dyeD-&s=c$%!x6Z@Iz8S{JxAi&$IK4Xyz4-_kV6cXZ<|R!@*G
zc4I~6U3=!D1poYkFtQ3|I>)_KOK4GSv`h2bY_+5eTABKnhd9vH>;#2d4@t6kyJo&%1r0}%XzO>*Fo2;
zDN$n(43G019r)P9saeMRHMj`Kn#GOI#%H`PjGC=k&VJ)Zk?eBYUiL*&n?r(gI9u@5
znIwaG*i}68sxSkVw=Q7I=N#jML+i|6Xc1`^3pwuJ-3ZB0z5bOj*(FB$GjUmH%tq5s
z;fO<7{pFUXyrZwwL)KWm(s#MvULXN&rKnZmcnj(CRWFJSlZ&5~s(xt*@U$C)imNs6
zOKWwDkZ>T?XkriExD2D`fpvRXr##4CWP*Cc#)9NH#tJPPCVz}&M2
zA|-zUJAxxcONo$Y!s$TdwF^h!@Zpcgtz6PGHOSMC4fB@~e(-B)B-dSRn8z?+`w(ZV
zy`NIpYR^CeW2HgU+N0a2EGTDG4}k6(&gx}6TmVWthV>yXA$wDQ#a3eOCK&{5+067}
z$UNOmq(4pN-%_962ETusXxdvTfYcXb`N4snP5Pg>E7s}Ow!<>$e6W}h35U!iqVE^9
z$`nPgso4s|*qGq5KW>XdT@~a@`H0KgmmCG+zJa0_2J&BbIg_u~eImAy?E5a%;~kzE
z)OZJ^NXhnycPM9;eCI~8l$rBa@*t)h!HDQ%#PK9^QltfjETW46nOe)Q_Wo|E91inH
zjM%N~25Rat?gS4-mkB4bn^FgrLFuOlLpKtR#aqeV
zNs`}|K?$v#m8Y0sAk4*gWgz0+si0bV&%A%(9w@E>%EhzRZoX{KvnIY8FhV}<<+E0c
zw2ic^KR%ANbUUbWJ1VQ?7%$yki6hmT$Q32hfiH`-7(~$_g=?Z@6wJC$nam*fFvMGX
zssg)k56UeoL!Oe6-n4J2xob(3)MnA;YP8RZU|m97&|
zVX>RD_U%Sz6Yod^Gzn)`azf-XEyKz$8J=oCnwY|^JAcFSNEI7u-z(XN3xm;p7{di4
zCo$S&I9O48aFP;_&Ty)<{@_D0a2FtULR@4V`#{VURiDG0_jb7iSeIL`uysp1zBs67
zA6wlF5j(`=uYg>n9a>bmUB`S0fk#r?048u0g=0|t-X1G?18~B*3YKP(wj+!AKpQ~wyG`cMTtyKjGl%`rA|U%P**6a9Eo
zU;Po;gN!=9w*AbBZ4=Jz13`=pVg@TfwPNO%5B>X1S?*gU^n-4+_!-1NnUzQ(q`L8V
zvnfx@;?+6$fu-t@&wQoxVM2S1He`F17F7@Qp#e6?V$gt631vFcre{p^k?N2--~mU-
zC@Q>XFqN2%K9Fol7&*&rhz9sx&E+;={G!8vBN-^j7K
z_OxPL8r!iM3=F_RiT#>x)`M1GV~Z`{b
zY}%ZI$%Yuo*J>GiesOlP!LYP?Ed`(;P>gHUOvN1v(RA$AkjJERu%ni=A&uW5tGa&&
z9;hj;UP!ga;?ma|6uA<0QSs)4`HW5;jT@m5)+n9;J3z$0>Gaqe9f3N^^d_@RXW=mv
zGA<3*1_KFecBy56mkt+M0C%MTSSj$%4Be!2^+1-hHPrbh&
zyWJ1H9+eMX!r5pvE5x}x1pyxKN#Ycof^G2>Ub~u^1Hr?>=^r0ubNzU%C}1>f&u=t&
zC`G2$amYA?T`}J|`8hZ_T|UHyj)0IA&IJJZp1TTM7*vn2g5GctL=I;swrG&I$9xD!
zMik8@yCGS8nz5J-`QK+xV(dofdfJQpbeDt|TU!VM1t)GU@x?Z`++dxiYQt{H$FxXh
z{@lQ<^K~B_?yow3Xo5?@F*W+U*!jwV^;Cf>(VVJ~`vUN&jyTEJix-4P`mqzkO)m}F
zF_tq|vN>DvII}OV8ukAd&G1FF9<)Wv&?w(o)(`J7pCR-hC4rbZz$R-TxJP
z(6CPlc~-9Vic)%+dRf$PFDjg-0TP~Mx(D8#7%S(-fRffTTqq(LuSyx0$SPb$)dDy>
z!|5fu;G%SEqtddO4(cuDN+XnD84FWmXu3m`!7Q)EmpMDB4MqV804
z((@<{-4h5f%w_=zwMU@>Q=JR87%H%XP*v+XHo9QMqzQG=0vd4UI~joM)XY)?^`M(K
zpdMPVi>3!|IqCk3O4A;tRakV8_wzT&p!)Nc?8@a!uLOwWV(3sWtmG1IAz3tszcq6N
zjD$#U&YQtQY}fgIe*$ZI=V{y?A?}pXUtP-?r~%UH4=VBxBlmpNiX#3@_?`SJTVel2VhcuDyKOgCmQ>HO%u<(
z>;9-@cLOYME;X_ychujXP?p)-!u~b1)Zf2Pm=p8$ahM*PlI+ZeUs{jAhSN-W`}8iY
zPW!=>6tD1Da@tRciPJ#l3XNq$PxMHZwJSk&10o=5{urG&+)ivjdZ1L9-Gya$zWx)xx5S
zkvqa5-JJ&eP$o8pPF`_H7SoZhR(7D^iH`p!y2YEi;f{kOtwVil0QE2;UfcXMfXFN&
zJ)UVxw3DA7RL;=;lgsHsaRwJ)VKxsrk$4ox=G@VlPF;alEFy`y=fL*jK8=&=1P>)z
z?nKJ|(%+kAQ*g~6-4#&!dW3lLlTGf;lOghf_7;E6h2??QGF-$9pXToFohNz2@6H(h
z78X~YArNrue2!qbP;H+T!UVlGj%>%2Ub`aCMN3J(AsD*w>Ika6h+YqP;DaaRsu
ztHE4_oTdKAbpREPu7Er%lQrr?=yQo8zK!3XlbJ?V&G;mE=+>YkA!s|T*CuJB3A0*}
zoym^%hmMpED%N1~1e%fuiioA1fZZkciD4;lqd8?!Iv$p_T}QRw@p6J08(+FYgo
zciFg45r_PL2FXjQ-Q6d^Jg?gAhF(8V2090>3k}#3KhCt#rpb~cBV&GffWw3he#h=S
zgbFQhG3Fj_Vog9?2o-wO`%D-IF=S+A)1LJAK}1{rd>XIDWZK|eOEDYd#w7TPZ-11V
z&>TqkrbJlWp?ghSB-rhD#1g3qisqG1lMtq9RM6xU>^V0L_4p2!l+UW!fC)Cdj8SzM
z_87L2brNg2jv{#I^_r2&HwNNRxqKfZu%a4h%%CSW2*>zH`9dH2)OK9k=neDomtLdp
zKNA{Po_C}~+%L%wNo<|bK5nQJQR5ciW>0qOQa-`V$9u1n<3!WyXYN!QR?n(9AS0tbLeaQxh@=+j&Ont$64$~gX{Y1
z3O_6j_P{f=?Y!u_^3n>6aByFzT@mM4zL=W#vf3=~DDbKni94t-)n?7b>!qqO@@M@^
zu@C~aFJ3|g-NMDvBUJ0=sA{p|AKM~eeb+xFw#gA4o>~3=xwp^o=c9YNM3t;0tOw(o
z%>~;D#%Q0U^{1Mtn02u=7u(r
zKJr{u;rL&4j0Ba%Wj`!ZRKu9|VVhic5eiO%9M>kR<4qcIBkdwH0pV=bdDEfAfIw&@}hlT
z1n_gZ~KR}hmqV=h}b?i*Xs4(m`|>b8shH1
zh}(Kt-pvwsLXd#Allq%fSD#4+;z?59ALOQf^_f(lxu~ZEB=q+GWF^*V>;W9x3a;f~
zvr!uFT_G;)LJB*0aMHP(F+PEm$*Y=iPCB^R14C@}5x|HsPr_WN{l_P!!JzWZXoqh$
z47W($347)w>s!aAi>
zirF0A@BFfE-s^SckP^1%OF#W*-X`ZLCCzIJNiucpms@^QEFqGLWlIv1jM_FewX2)b
zR(Ew*hvCGq3|&DD|Fj7jseN&WWWWE(izNhn6ZDS@4thRjek=KmMgM^|l-BjWyj~{#9w!!6@qKy9PWb4V(lLN$l{Fu5i%mXW5_&FWc&1$0bsp
zu#S*L7k#l~#!_#3FuV7lv5@a!&z>FnedFJ6ZDHRo8nfEwDf5L@UA(B+PpXbrK}jK<
zi(h1(8xFkn_Uq<%
zX^zyb^|1Fa6f@U+;jL^#>}*h$ux^NflOZmBUr^wr=WW>Has{P7FN8_1`*%gti;*}h
zfUZ0#V!#7w6pPK5{g9h#q<)Jx
zkC(5;k_qs4TeGXIGAg(i?p!b-jP*JtJlH3NvJyYNog&7~KY$2+1QBOAt^8LWjctBO
zpKvZZ`M|u(`ezz55>74{xJi=Q4S)rDHGCByEZQbzu<^f@IXSI7+>aogUAm^i-~@Q*
zKAMxKo-#A9U*=slmqUh=lAmsph+<#o^?Qo)7sTo)Cwxc#v>shc<^=}#Ron_3tYp;%
z#6psq6GJ8*tZ`qwH5hdKx-tMx|3vU(3Fw_z~8WZ0hih$UD#F;gF`|_TA6&PHSphYC~H3
z^%xnAPlNF}JP`f!ed)?91Q_V}C%5W{zCCCH%1$~^ZIJ}`sx|z0gi2*#qP<#$;%xO_=xN$af+Mv5DZ&VLE
zc1eDuj%;Fb{_$jCYI9h!v*#AFN-Bh8nD#A&N%l~?em|!)$37N1=%jI-|4v2E*=4$d
zmq|e>Ezlioq+xO?PrBM;FlNcwCRG`zyHeqMij&)}mOc6ahU-HFeWvN^OhUTYg38&2
zGGR=EB%{Z^z?rGP6!aRJJ67$21)bx({;ICqvBESbd4_+Z8`%<|e&o?wpb4Lvr{_(2
zGo!X}xjA3EK(87*RWF99Ks7rI(lQ~u_qx14!3&Gj#xN@ic!anO&7BLB)bNGs7jPfd
zx4(D0%|%Bp_b@?yR}lDUpXtmO9luC0VU5-tcie}+XSK1Tb!MmIGHjgi3ovK;u(i%;
z+q05imTq%i;0)FJ=W)`yO*cW#y1iB^o!GPgU!!jCpt_Eh?1`s8aJ1th_9_QPr@x5%-)Kna-XVgC--SW<*o+KiIa+pq%>5yOcZ#LiUo##T{(Kbdtq)m(^;D{y1hyKR~sKvLlfQTnG
zxw1Egp5E90mqnq`vKPOA+;mqhn%{=_iP=;nX3FgTJ#X@vc8gybgz@EYO#0BE-vmK&
z1kKc=E*m{q8Bz=Yit&;`<?FW_p+oC_%}cK8OiJ}&W!
zO8v)A#)Q{#DZ|aY&wUl@HUqLy-q>$@9Vi=98_`$yrMM``tn=}10TI$5T~3E0$t>Cz
zolwrEED)bT{MbeHb}vuA2EOLGI&-hpjTB1s&c!RayrOUAc{M!_iC?VAE{lvD4xMQ*
zt_ti^S$l4>>g5L&e^o=?P3yDK<#G|5K`Z8fhVbcmtZZwolCB3oFPR{1#07Lu*o)2p
z7E2e``i7r8i24cMvUn4@&zMnYU`TR!Q|We)2@v~+R98(`a5i9i
zKeBj|5lZv!eX8!J9}E{x!}rL9_Yfkj%(vNU{CBk6Jj*#;&QlbmY(5#h0|i?w&D
z*r5_Ksf}f73M&-FGFAk8fHWT)B!sN$&xO#|dx-}q&;Z*e&IJVMm+Djj1E!%6w!=*AMPRc9
zg>I8n6T@8Q(`bHVE0-5rJp{oN6|uOflOY?5Si~{=o-R#DRfG
zu#tiQ_STuO(BW6mZiz$MeC_e0^Zxq){4nlK^Yp<2)a$Kd=_ZWT2Kw;do?b_=&e}^x
zbUa}PTZ3CsImy5&0poD-rurkwJzw*l*pF?XtQ?@}Gu-SkS_+?c#CY5h7_
zQ2&TLESEi6fol_)JbHjbtQDQN0=elOQiyh->CDJwT>
zQ~LtRFoql&hkIUt7=!jLMy^`jhrtT#_!?L{_-4SN6!Iq(;?{??GxuD?yYZVIfKz?>
zlmt45NdwfXa^ikge?2Zn?{dJsQvi-l_va!B%Y@NL9~rj>N_$00x_$B86iC7mtxf;~
z6GRZ*Lpu(X<#ZrwHhr`lk8ODrs}DywIAhc9R9FhYNbI;EslMEX($C)0%jw?c#dE4_
z_Qn0k;>AtNG7ORUi%d_WWk^(m;H5Zi?b*J!r-!LY%A$>W3?-qL!
z4tyKh!rCjAMpr5IExvvZ+xgN0uXvO6r-TOlYB!cf+||~ueA&ezEBHRN6Ezji%Ka96
zt&K4Yt5AMUfWHSB=zseK63rBx5sA#ujJCw?&@`B`D#Xm`ag13>eV@;5fX1T!l}1Sh
zkJ%UveG*>54k(Iqn>q4~C!_)`1YN^y{&XL+wX_$tk;Tv-%#QAt@q4+b;#?o(*;X28
zTYh~XnG(k=?7o6ErXWEUp-LaJ_@Y(x8Emz;P);K5x`%%^F7n^lWcaj*Q7b>SZ>fuu
ztd>C~eLt$Rlqt1!P
zSb?zH)qjh&;mJw%o-CxLRw)CjODTY8!O^tbuzJE(NQo(C8_1V&XMVPeyI!g=hXrFu#1tGupsYM6nRpo~ZFK*zQt|Ck
zJAFr8)U~p@RAP|!eszg`$~sLHb09gfjI3xb!7!uf+#Kg*Y@bmkOR(WwXX&l;cls@v
z$zxh5>}B{s0rmZ}TR}BK`uS|4n62tL{TVTnCYcOoKn~r=A_*I|E>ivX*RqGF!uLKu
zgysLq5_fx(ecV^G%9>^hz{tNAn39io=IQ8FKCdLP&gr7S;tMHeO9-0$$2LA%sMHcw
zU(1gZlbTbFXp4@@bU8c0mS1LRfZ4d*c!Sn^;R8~nWinK*jvvxdWjn*>`N|okZ7)JL
zVgoao74<`t)}xC+|Afi+q~Ib??pJaP&j)5@yv@1Zo@$FeTi(vmhidrK1F8NU&jymJ
z;-}V2x>V-A%lES>$0<6V;8#Bu=ODs6$MNPF8BF55B%A79gxGpfnLggcbKzB|o=hzz
zLz|RwuG7=f~l#?URVo9gw3s-EQXc6!i9t_3Of&9!s(&!PYSb}H?RK;*+XeDeJ0b6KW$e0=Dyi5##Gr`NuB7Zl
zp`fGZ@(tri21v;V*-AM^50%^b^DV~ujXYA)A%w%v{pp#`F=E8|uq(bC0yi)O93mzh
z0IZw~mt3N-ql{M)bGx@2_8jLWWVxj#pSY<-Tpgpe!H&hTq;fvQidb#@=`g)hW=l+o
z)3oe
z-K-I>CB{1Jj%KiMIW(SF`0+d5>^SZWcd?a1RVb_P)V4)rcV&57PzYZiS1D(>oIEY1
zx7o>qi0u9SDG>0jci~_7aJ`>p?wr8;_#rB@f9^>?6UTx}i?(M)>YB$n_Klq(*t4aN
zpE0jcZuLK7L$}dMCR`WqD-T-;v5KvWfCPRxiL&ZOb;*ajnC3NE(4?E%lPL&(pzic$
zA^fqw>GOpfTL&o(OQxw?*ACJlZW#otw1%v+71tzk09;;6oZq-_2B}U-tCr;5s^9*e
zV|WyV7eT?8&wH(M4eQ5F@^$TI30B`tzsK(n05~6{_Tjk^%z45)=_oi>>QXEyqfE6lz;p8_eOP9a*^0KE
zlH`j#OhQdVTyYTL)mG#lgdK=f%cd;u4(=>z@Rj5Y?5L)LoSZ&7ZLY(*F0J{LYsnsoUE3Vwgt@L)+
zYjuhr#Lah%-_p1bqk(p-Uq@ZBDo@K}Y_X3owmR}&5;ZNjDA^48yKHt;zyXY+!puGc
zDg0zjx+M7wFIY$CKDS0#q1x10%8bg=q0OX=MN#v8pV}lIfm$Ukftur=&v*1Nly%;q
zNuhmzbOK67`>UD1x0P7A5o%HVY`VdC&w3n)Pyn|^%B^9E*HhmI-UUb~>*2K1JrgKc
zuMygkezv%^o8(%SX<7M`*1s?a7$Y5uLS&w@vIX%`Ti*)kaHoi2x2izM$omZ9+|1MC
z833xI*0~%_5pciom6+x6N&oI~d*5E1kBK6~%q}~oA*2@a
zwZ*8x_0n!_pK(ta$@Ts5oZuw@ra(xZR9BS9U~+{UlpgCoZD{VPa(!gFW#YK}(<*Og
zLM%W^A1S9YugsPVUnlriJdz_}seMx?-X5N5Q*ZtZu
zF=a}#Kr8!OqUk+OOpQyjd|fwzEg*oW)X44jM
zhh^R0g&Jgm2aj%TM@I}dKS%ek6GPkEk4s31F8C}pM`wT3vOBs%$_@K%M;^42!`SA5
zI;K49P3ehGWa5>OBpL#O{#P@ch_b_d50*7uHKC@ms&I6Dwi&Ucng#wF9DFmtloYmC
zS?G~rST%;J7J)iiz;gKqr5RJsE)?A_Mw5ApKjnAs%Uj-0?6LT8t*(lyNt5Ub&-3@K
zudwK98!dz}=o`&zQhfk4;RN**vN)&nO?xW{lAfu6F`?k}0ZPGD{k!fJ=|@4tZ4J(p
z7SFhm>X4XOy2pA63VT?o+b_eK_jrrAI7%z&3|N0Q3TBLWP_R^hcG4m3j3pH-;NeVF
zu{D}E5L0BnO>Nzc9f9JiRB2}XO+T~4zIEu
z7#?jgW6qi&6j&durDwQFDM${t5A%5*El;5C$V3`7FssbA|qQ*7G%8_EZ}AD?`OF`ndHVZ
z%sS>6p+*->$%wX7la=v}GDy+$QLD<6;+%?vXc&3$8V!iC?N7|9DKHcn8Ajw_)?2$A
z+vq0u8J-@@;hBR^#>0|64ywEXm33T=@7LT^Or&jB{@>Q$8W`6hxHLfU9l|i)&$Q9$N3lt0p?@#z-}38eqKLIANbe#)F90QPl?E
zj9P<+B1b{GWfTMs8?TY}-TF&X_R~W*07ozYo+okEeDhh3j%cK*_h-^cz&%|=$3q}9
z;KkPv0N8A-Ey<-?k68G$fAvF(@k{aw+{%+9cS=sbBoOG@N$-1)ch9h%I=93)3VV)A
z#_$X0$8Cweo9;URJ_Y5dl53}Gwo_?+=jn{ER?m;#a{8+rq0}uXB3JZyia=CE19Yk&
zR3N8B3_a%46ygTh8+$10l;*im#k#eiwgkf@%M86ee;&q8nl#T;m)fKVmY_25e7q3xXqZu5Nj-czd;fJhEAFOn(@59E5b$-arX1jXal=5qw&h;
zajuJN@aomfe*`V;`LFl1%PQF)ox#QWL4wXvsF*IMqxmK}RI8yC(RI-k2lER(l@b|+9}%iETQyr
zfL-86?q4owkbIS0rD$R@oW=EhQq-)%IM=6?hb&wLxp`9`@FmdunJ9PqI}T(P$1vTI
zF*!e4a8%hkb2MA4^PB|rnSpJ^KbT3M(VK?}!9lx@x_Z%vY?G}|BI-4bX!$kGUKgb4
zj5SR9R-X!?>`G9p}D!N_v6s0U9WIOYOn0LsqBtDSz645H8)$knNDJJyU(Y
zTD2VUbh4|f7?VPjeGqcL{R3
zVzI!@{%b>`gTUtO7{hWDg4H-Hw^xq1vY~sD)eJ?mVZ~i*qr)v@nLS@E?oX4WOqhOB}*fcq`
z=6JX+k@Cu_`_RkT2(4Y*Ou0N^o~_HmQGH8#en32JaxQeicFYmUX124e?yGwnOw#u<
zdr{AP9x)A#jN+{fA5==uf4nLtp`l%xKh=~$2$B)+Za;F~a71%`hp9nbP5Gj?OTsxw
z8VGz742WJ?X5z#xn-pexxX4pe;pJX{?54Tth@)niF$o1-rKCP=P_8}hqc`kIWz!Q=
z3?Pn`M#}N!EiF25>-mnp^a?I)Y_ZV$A3UzZAxg;$tx^n0^?O8Ff<$gn)Xq(EF|$%3TqEe`R1BgMJslf#~Msw;S{ncB=^lfOC}u@k(Up}+>Q2K
z!m-B+Ed}pN80&sr@5kak7V!{wys%K`3{(X*vhFHQBIcqwxTPXFnT}PkCK~Exup6Iv4z*UG&A_sl;;(KnJ%(GAd4f5!8ch8%#V%5p?HUT2JCLMHk
zvmInb1{
zYfWT9>nLDXD)nR8T-y7KIH>XIQ(6VftM^5R`NcJ|h*SPlH8Q|)0{hM@sk~-;_r$%S
zd_HR!8Y!iz_a@jMf)tWpB{;mOVMlN90WVwh%su`UBADp)4fnSx=DG&*)&Us)(dwIQ
zq?<;33k3^T_RMvgafLL<$v7?O+)7>oOLmuEl%nnmW6M!RyOUH#C)-mTMw9R@=?Z=X
zNdxj&7GzFuL;NiX`TFh6Vmx%8Kb*d;k!(hDup6{ag{QqA0dbfzG`}q83qQZ0kJoc0
zwv466RUKPc%iQrZQ$XN>k}8^cbv*j}`Ud^-l7m!NFAqK=wS;`{hcZpXQ0;gW=|zR?78>8Y}|t{Kk4
zZ^M2v)A9j*$Ky|(TGX&nrgDM7yY5;$BOr@dPowZP_*YEKj32B(hmf|Lm-7$dQSSC_
zm9wVe-`S>GPxHZ`*LJ;y~14
zfgeJdpI85_D)0;$3`<5t8<>gAkzt&PHD8>$y}me-!p34*8tu*=U^1aC8GVgzvQYX|
zzBU+|fKN<$?O`6VLvc!RU?i5&(1NZICeV~f94dF8Z`<_+HSxL>)Itg4tguSWo9;CIBer=su>L=WtOA~y
zR`IBlPWo+l3?TW_I;@W-AxMj&$9WF3X}+zS;P8X6AhIRp7tsy`Ah#h17Qt?k!^W*K;Q-O}
zG5ipXt9Fw%rQItyM8pwXu`C~VgG=$=4%QTqWB5nKCuprO@DxJi+v;H~l?z$EB)OW1
zhq!~Y(^oP#LbKg1(kqmB*s3$9wQ-07(js`|+I~UpB8k@~Zfbf930s`eqFjnkxw+|j
z@kRWCd#ly7ziPt{Psijr}}sAc-_aZHD?UN!UlsH
zEUSHVW6U!$Cw~)FazjK}A+^5;UKJ=fTetlUu2fm-dMvTKuNP9O_n|iQAK*`I2UN)*
zqmUU5`Kfn0_W*;g8p|%8O`6Y&f%2WXG*FrT7pp5+>4@50r~`Z7ep)=3G9S)@<=7sTZHWc#O&m}XG7GO_%aJa6vRJX`FEfIp=dD}9Kw)vF
zyCTs-S=%*Ehl@z^QLHDTjYvF89xQgOEAL{i>{aAMO<=C|8!VXUJ}8pjb=?c`BR^t$
zMH{C{M}isb?x|ea`e+^2r#^K3qWi3{GTQb@;7S|}w|hW??`E_Ij;^29qz&Fpk5(pan^>@+kAH33*Eh>o&z
z(saCWmoHryWriFlywj{{D>}VvvBb_A9*`5+d&#o_H;^$&U;jt3Cg-1&=_8zM+qpQ3~_JULi>^)`MD8hx)D(q?#{KJZD(#taM-91w_d+XmSJ`+d@K3fE|y7Dhv##pK)*%h5gJe@_DXI7s}E5DJqa-
zn@Xmer)T51sX;j>BG91X#+W}+$Xah@qzK1nX_hE`J1QI)gqk**#xUAU`0U~Tx?4q9AC<-HNYBgR?&(HvUCu3VJ
z3P$8Rz4CbpFU&majn4W-o9Q_cknzf_^bzt@oY0~LRw{u4TCnr?B&#FE9>a
zOyBc^Sq|{-)kQ$4?)y@sdHu^SG^^6Ru1im$*4;ei8O3lTdODmm)VvpG#eTHQcuU?y
zlQZni2dSDFcq;l?x9F#wz!^#(G2b=4)pt`?$TaR=&qOcl$zP($iq|DFbbSy{DuHA-
zz9rK~!HpzUCTIk=+1hd>W4p3)WSx#y)s2F!wnn#gk7U4sgm
zV;EIhU!S??G~F|TaGp#}79yTS
ztLCez*S?-Hd)rR5HQDQJwsElJ9QWAH3l{wWTo|iB2|e{SP16P2?O$ZmtU~l7l}#Z<
ze5ESB;+VpxC{87MP;S8LU%a3ZW^^pCddMx);Auev2G&tGKBqkrJXZ`dTe2H})VNMK
z_QN7&0Gml>SwjMdO___|?r}rltZva-V#FwG^3PmY7}GFj^XGKTxiJd_`r6z7Mybjh
zg#V!QIN=kg{T-Td>Pw-S^FqH)^X8ierr+KA8f|a^Y5u4H8ohX+XpE8tR^Y(3nZ%&L
zo{fyLnjT(ZjgKp_!P#y~8U;^mr(=P%#Zo@z!d|}I!qep+@VCUb{$X3Vi%E@w6KHX%
zu%Dh!0cZ5+`t``$*N?If6L+UR@F}&ZB2V@MRjO(N2Ys=p+iP#z&2qpqT4gD+|cJ6b#KCU~c6gz03M&8Mj=i`bNw9ZQ&)Z1<&G
zexSw*_Ks$TdL8Y87R&WiZ#?za(ROS1OW(X4&%Xm2=NKQKdTm=U^`4EjUuS
zqHq06;08TFMSO}x3C7a;KhBN-p6-eki6rzA!A^oYN>@A^++VH5*m%S5QL{=R_e~$!
zydvH@s*&3^%K-6*H5|T#Y6xm~+(ogh(^F{-#6$yNoBUC;1+im1ArpxEP|`^m3T{`l
z#SIX6SCQ@w-@>leJpFfh0^<4j_PcBtx3{-p(^F_uIiQ7owgUOK6HE4B%FHMrqRoi)56pA7V7qe~$+SPp?6Pq$k{5-iFyH%zi!IT;;H@s6$Nau<#cD4j||NY~`j@n)|B`N*dLq@RrEa
z^@tKHp(Ge)-(l#E&~zS(THsxHXD?6Jy;y$^CU0+wwY!9J&VO*E8-n#4+?UCG&9vmTkHkjg)S~
zCTXxaNL+Jmu?H;V{rF!DMmtUt^cD{cFubgo-@iC}Dhbh8_r^qL2#QfPydy!aU3%-hW`8unah)$oRWw``s*Y4Ha__0)8n2VcBqrlmrVJH*MYPDS1
z`|diw30X}U1R%8`s>w#O46pf&CgJ3)l(lx;XGDaodSdpvSqtNfczFbRQQl0Zv@m4>
zp~*^SRNaMzMEKjY?1lg3kWQ2+1H=UNR_X0z5bz^$r^Xk;yHEl=wIPc(F{mZlf84dJ
z98ZNfZQyo`Qz*?!VZ~C
zim?2@FwdWI@dI*lG=;yXYuL7!O&kd?jQ6UUJ~sf7-A2o1DqCM754V)IdPR0E+4rRT
ze1=!fR~{EbC`-8i_q}tU)v3sJ$^z@*(gG6j#Pl2N!_Mw<6wNHBa2O6#!HE
zb8&QBSlc;q&x(=YOeztH0m~{$1K$Y?>zDOZZ{lt<7YelQCwG@V_yW)b;tFNR^xi-q
zzn@a!qnDoh%>ofPmb&r2I-+}t>4hJP#!NiA7_w1upGO>#Hc#ZQ%zw`^R>ACjUO9|1_lDM5@f#rJ
zsUf1fEbPMp_4jCccQ&o*SxN
zT0X8o8Z$DZ0j|#R=1-R1r#`l|p%2Y8YzP*0GtSRi95*>7%>sc*q8jNHI^pd)R0xJq
zx#@`%em`QC%zSsJM8XUyu4zQA|EcUB@g))=$sj3_=pXEKFXmWZ^~=LY^QY1(lt7h!
zzgI6SiBh!@Ku3h;pPtE6zo1`e3I4msQs+06-1$Rnl#KF-NI}9?IcA2!xL~9SsWO7D
zfNdsB$A*H<;?Gm}K}cN4yN5H;T=W_l5=NMLa%y|MnoNJIi5dANc6lYeu((pUhjwpq
zswnx;LKt#%xUuNqkbOh<@gv+r1(s;iH3v-7n={}*)tX+_%i|sU(GdySFDL<#v9C#z
z@eE_HULanK&x6|Naqbr{c`}x!*=#jv5zG`#jFb0aY3>-*1qF|rC-mdABKN}N!<#V$UJv-PLXO;MeC^#7%dj;(I
z$Q|A?G6EshG6|RT)dqJC$~}m9m-#j}b9bL?zVP-6#0jPodCHvPL|3by&Y;IoF(1i#
z0JWupUHG*ZM)wr%1TxT}z^Mh;AbMT_21Gc8qO$rNr9*kkY$97T%qOR|NR1m;ecalV
zrCu}A3c}~He9~mw5K=1*;wootc|BO=Br)eXEZuC6YlcctsiG{VF912~^>8!C#yoan
zOiSI9KXHUM6*~xJBn-cB8VS5_BA*Ml%cc-sH&Qr1CH(rNlp}+pBd4H;UG?94p#hgL
z$1|a0=!9L1Lj;H_K0IYC8BznLbZ}9*l2(uOFw?ROs8IhTxYybl;M;2+4leMu%HJ7a)}k*z*^|$e--Wo1&JJn+D*@oh5et|JV}aC&6uDCv{uN
zlCqx?s=I#RQ15V9Dx#l>;#uh3hTk!e_G6Ibm$g2v9~`x?=W=T_YM~B1`1wDP?ekR`
zP?OQa82R0!K+u;J+KwNLLH{*~QrVD=7i)d`S6Xn(TDy+Ndhigcr&ihE)-Xx{KS030
z8!Kxcne{d`J
z1{8US^(PKSbA5=`dAT1^%;F=TCB$=DoU~GOd4!KTz9kfCA;^OccZzSj8QB_^Z6^*JYgH6sj;W!by3_v3mmgc
zt+w0UxC3|%8AHDG@ma}=aQQ3+f!kA;)|}tBEzxu1%wN(t$?%-ScSP~a64An!5vHgr
z4RdP2e}>Ts$2XHDBFhm0E=j@EkBZ}szbl-bTo4G`r&F@R?fMUm#Clydz(yD9{jqM&
zx;Vs2y2a{A5E*0E{
z*=yuv<)Q7|YQ3tIXY<3jx9ZQRf@k#l(d@7LYG&@dT1g1urfJdw
ze;%x1(&}r)AB}eW#U+;^5VKghWNz%ME_TsFYcREFeN6-P&4eqqam~~q2HB>aLjb~k
zt8VuAFjE-hEQi;yr*g?evImF=lspa;!@ECvq#aIpilh@jzql_&R|7bcU$C}CaXqEF
zAq(FFw0rI2jyU?OcW!wLpZ;>#bw{X`tbAo|1Hl
zo5w&~1RXeccAuc&CKMEG>C*uuf`h<(!T3$UC{`4GGy}>-6Kn~RJK)K@i1+;{4XPgZ
zVJ_@kcOlSp3Qntj!5M`Z|9~JjPRhDIbqz#fhgQ_7L)Vg!%Bx#^2pQ^nOF(=K^s$$4
zQY!Nc@)E@B4j*6*S9v@6AiOzmJ9XRkfzit=6xQN6zC*S+j5EoZ9!C;co(r{w!*A2A
zs-u)IC%}!<`^X_Scz-1&I55tR7ruDMie}1Xh?0cUZbKPK_-K%Mtu={Aj~2z|ORdk4
zm9Fwm+XE0trNI;5@J7FjC0K;UX2uyrC7B2DAmslMi$~2xD0IX*GJE4oC3EcM*FpPGCFC`ShWYjMsTWo0
z+^0(;2u0CO!3vvHK2E3
z5GTOM#$j%PRBo|_e(`v1Q;faVd}6gOq6qhV4C?@GTOwxHt4Q}X9isnN>&taQ=X;l@_U@e7==
z`UsbdVoBpOm8Wug_{9&-#j~mY1O^^vC5b+JBgF0Tg|$VzUk&S`K!5FLj#xG0tyC$sqn|wO)nL?r
z6z)Y6t;}HqY}c)tm2aUA`A~VnResjH8Sf1xEzUw+c2HjtGo4)ZL8-7|j;syK>2mh{
z7~>fb$mNB{PUvX;G@~IEXb*Vc-ZJPT-0uhc-22o-y(Jn=z3iBQrT}6=CD)0N
zML_Cc-O8u3c(QF4G`AE2p9u-LD&;axl}I1XuALDg^*{%~)6(oM0UXQ4!Z+%8`Dciq
z5D=GZ60}lgf9Wr|_hAFs)1kwAE%EP2<0bFPY_R^~7>ng);0rIrzr@xynN+
z=5AaGX%EI>suR=tbExihr4VHop{_t;Aqk>HS=dik1+&8i!FNy`l7QddrvY{O;zKh2
zk!yoKe3R?`_8CIlITVqS=cYQ4>WZV2?v+Gruwc67oHxN6TXWj9d)PyVgZ%&zYg9=e@48W1OA8i
zH{F6O#_b|Vq7arY*e+pGU@JMg*;PJYz7WSSu0QG1Mtl-*TCJC}n$j9|L4PFmF+nuG
z@a)9)+_NlPCT#e|3KaNXFLzi#=-e6&WCm?9SvQr5#9qgybhbMVYVTZ(YFiWh8GE$_
zI?As$omvA2o+VA2oiZk#TpUxAMPo{)-o(5OI5^y)h)!xNNKJ5pC3j%<9fOX;M{xH<
z!e0;a
z8*ek*Ms3z>GHI^3&i+{$Cj@Wq3uo1}2=Gb>bf8^AlAju16{Otp14j2`|}1)AnSzDbP3AY-`np|4V8nyzF!iUZ6{;xb>P4`eY@Aw
zxS!>~6et5RG?U^l!XeE>@nJToA4=Js>&smeQc)c@qiYimtvk-CJkzyXz5l$XFR0*2
zs|wT!ywD7+0Hzm>xLIJ$40cfOvi-`!n+-VLt>zw{dG0zW9J1X3%~tiA6JKzhck7v@
zvpgAVfRvT%&us2BkF!B~Ta*SY@TO$^ave0gd`2Scmj7~cc4S?yAT*@S*n~hqqaofL
z;qLq{h(xuf6P|csE#RB{X{_nSeoLA?eu~^7fzY=?hASG|o6P>a8xG>hVRAv?o|Tt^
zN=gE31MKh9dy<74o$?UG%ac_#5)s`
z*QJye_XHfI4gCKRRS1A5<P#OAXAdTF5ddA|qmJ9Dvb+3jBT=
zRdQJ>&lanniAMl_V8ZZ}9ol_FXyvc5p9)UMGHt&8iygNvPw;97J*=gI5`FX`8Fj@F
zyvTK5a0*ZQ35l3X=Koo~iP{|HMg0xm(ti+_OntJ5ykEA!l&pf&`w
zxh@eJ+UtbZ1qNjdDoBy>H44_%dv6pLN9gdifNj>r-86g!{yI(c_jnKmR-R^U;dZoL
z@kNJC8{-G-yWhPRe`W3hn`)Em>_Pqcz5F;Sfd`R7d%e5V^$l+8JRW^y@p$
zp{#4h^@KzyknPOKMx7VQVw+iXFfjDV<%A(0SuhdH42No&L7>L+L|PxJj1>wny{v)sEr
z_Yz?w?9Gdlc<|LRTNH`4A{wGw*Q!
z61!0Y)8Hk8!oqx`?!u@4+94?(!(l`DN``_6(fxvg?c3$Zrp`~$b_0v~Tl1^MQC>!3UC)(JoT@t?!67qUGfPLgd&p>IU(c66z=}GA^`SaUSAMjD2g`!Vu
zkKNRo3i+>+LnjH0%lz0`LG^J`n3=GWuW;(tsEm!0UqNj2g
zG^dK!3J_qb6z@>apYE^!3@*LMoP7ss`mv*nZa`(0|1HdII@Eq=v@^pSU_!NueE
zv1Vd*ym3PtS2SmPe`)jkiG7W^VWL?fgB*r8*i&zH|H##5o<)+IH}#eGYGdBzb5A2Z
zEL*<9MCfw}=(%=ewDLt}*5T;q02^_+qA>>HC7}p8%p6>zJ{`2S7Gxz1k6Z4=95r3v
zFXtsveT7RZxM>88`lT=1iI0YllTK
z&|bTGr-f8&8pU?Q(|w5YqC)Yg0?80+-L-^4Hs46GYHvx?uU+&Vi3ErQ;H`jvM^q)3
zMjO`sv@-#h9*unINcm7pNGR)BwbkBs0(1E1QK)(nv4Fwtl3FlKx@P_)B~1{|YBUN4
z5L^nB&^(}cTy5)5&5T;%F3fNN8*lvY{zygJ)my2v6lcg&9%(w$n@@^5OCN{nR1IH!
zmSUl8^OR(ug~S*4^Vs}{riu`k0|jj7uZW6&?m|#DYgTkZo<^tO7-i+ch8?LeMBM-_
zE^whRItH7(LW?a*1Ib=
zUG4b!yx7E04!S6uy)(fuID|4u{XB_jI^EfeVbBVWC)XD<_`2vM>ftq&lT>Mlw+LrZ
zr?+e*i=Q|p#n{yYi08`W2av9$NJkL4bmuc;MHkpsaFNS}y%waVk?<5qmiqh;{W`A-
zg7wb4IJEa4S=$8c}_BXUFA!l9w7HZAnQ!?Aawm3zk?(*^@^oK;+C
za^4BypuHru`ia@qv6g#Zm%V01SV*NZo5ub(rHu8eieT|hZG)ba=tlfUl_PQYrDPrA
z|E5I1Zi3$UAP+|n2AmF#%`I$;sJ&~NX!b-aS=hu_QxVg_OH8e{{Wi&cnEvsl8`$S0
zQZvM8%5gbvHyxF+`^F99ZK3=jvkIShGTxVLKPSztUzkuEx!1Lg$I64Lz7Fq}ey}KS
zq3M)Y4iS4@1O#M6f^l^9OgNol+9dx&I~IHVKSD3?5eZ
z;f`=~0Q-KsiD^B?(-J?NHtilE9_E2nN0c%}DX_?=O{mMPdaI{sGnij|@gT+|SUJ3-pVhuSeQ>msfRQsz{_I#@*7
zX!@vDtjP-a1ezB9U4x>)K(a13g>B_05GsE_%lK?Vmdt@;AZ^mbFmz795xTi$JNL6j
zc?qBaGa52Vf^ZGyCX(*E6$OFQqB$~e90leOkzch|)Kvpbj=Z_Q>OS!545_)q2(px9
z+Yl9mTF4Asx8ZkkoLsFq20ZOmw%7%kf@xE|lL%h~|3W6HSU&*`k3=o~T}1LW8&?dc
z5hVw&1yBdy(}w$x#H#VmybGd~Mzl~8<^z_||GRiUf<2KrJZE02
z0$%CO-LQ~MDt}4%j0bdB@d`E`v4U$w
z4H5YmOU
z7C6C@m*#LhLm88uVq+ZjqiXv2Ni?76(%_-XxE7e2Q_V6(jq4$~yKt<;Fi{hX^DEd{
zgXHPV4nk4HPm?HT>XDZh#`Saqu^spF)3iRt{9RblEkJ5IAjc)aHy{%U6e+=12bX9P
z&Hj|q{#{K~uDzqfAh-}Vk;F#!_+&nytBfSuh>i^oiMBXN3ECS1PpHmeKC)gLkEjxF
zB$ZANy#V(qPp@4j{`8<)(@S!?
zDYG|LI6?$F}K1VtCD|3Uc*?
zO&l3|Y+sceE+_+H94Q|=?A%&}Q3c5mz2GNTp*}8qaO#~I$MW&}$X=EA{<4%HlHu9G
z>{knek|TrIBrp1RA{UsAfB;7_hghceLc`Eq8wkkQXC<;pj#*oRZy`h~mw9Vu{yBrB
z71>rt-^)ZewP*D2F?@uWC#Mm{H{Bl>O?jipJ==y$Ytt*+lhh))8TC7?LJy$EN0VDe
zl3N9l4L4UiEA_+&_chR3P8mB8x7=Z@jX=WU>(&z8@iA{U?IjhGEKH#PD8c*>lq|TfzE`g}S
zDVp*d*r>bwC~)fZ51_DK3R!i+j&~ee%OPOiBTN*fqG1L5&=(4MAYEWZ6(N$;HCT2d
zSHwj~P0gF>v$MeG)cUC6fC
z*uAb6NGeYCe8ozzjo4q-8!=LVTGG(iXq-6h4NO2MfMdF&9YyU0s1*uIH+w{*7F=PA
z95zcr8#*+HEOX{}?x{eJKZS~Xw<IZ~tq25f2n}pm2n6RZEBjzDoiins
zj77$WdL103kJWz*eXd8;p5*w3vW|>Iq7ABoJu-jN2xQ=+v@Wo#L4>_H8SpdT2n3zx
z!SOP!7Jq1J(NH#}PB@M?&H3MI_iDy`JzlE>61~+FU;J^ZG;q1Jy8-4lyD{8YrxyC;|m86H(HilD!#A~Iu58=FqCV4#>T6Ejsx^G?U^gs+CG
zfxsCe7#(bUQ?mx{s+L
z#EK?FUbV&TM32HTTa&y2QSl&P-yeeER(E&%2w;d2fn?hYhUzOQywKw6blKdF;uJ_H
z-%XjLCHu;Eu)HM|=sQQLMLAU7`uJ14}YKvK^?BFbi(g(+Z`2)oiq6r0E+V2KLtZJ
zP)*@6)GyIdx|FgnW+lgY=jgMcgBG@pGCUgG2)`=2&ubdNZ|z6OMKwO=y_VKQD$ZkZ
z%vD%38In@SqNz%ENn%uXO2b66!HKeaw1~N?G)=UdOFCC@MZ{u6DQ0;CcqUP(sUMfy
zx|e=H`=u*L9cRmu++f>lEj;qx+HOmc|86SZ|KTOXiqWp>(9xLY1yM+W9DdrF+*}$N
z&7|~Cjfr8mP$OVE?b_`?Y|K?Y!LW9WEx}{B+fgpyu~(AnyHO+eR>c9{Uh=*)e~#QZ
z+A|>Bw&k2TCBe;NT9t(khl(J0dzi%;MM$^Q{731ptE&)PJ|!iTY)Qsu1rI8
z=Aa{vD>U5)npwV9K19v8KC&7XfnuDA%@+(+#!_52qy)zNE-jd}Tnk;v?l$Qu~i4b|obiB@XVY#9w6+5R8$DYVChF*C@q`h>j
z04pyF^{y41Ff`Z2s=FImhuB32Lmz?_SYMct!(PI!&m=p|hYhxjg&2`KckvE~wGY$?
zphP%u4Jby;J=}Kt7{VKbANdH1gpW=H@IvCiVO0>q^c_*|ySjIl@d!?QCSh*DZC$wo
z1~fE+T$lTOYB8>XcA+PfRg(qy%jSRt`W@=7UwJyulS14G7i&|0Bj0$yU(55TWkgBRn}YUCn2jCVeT
zVrWQ}hx<)P@9>@yE6Il-O$GT%SJ+2ZN52%^F#b9lMi(A``nh{qJnONZ^vBl|36Cyo
z^*f#hSCCW-fOhDJrv$jtmIHDJ=zWoO6_gP#7vwnU7);Lh5
z;uqS@z0hRCec5ekrt8$$rG?I(q9;oh7%7Wg*Y_n$r`SQZL>SH|FsBAO;8RR_q#Cbn
z$Rb@N>?obF6k|6qUm;rJL+KeP!%TtTt8v_WFV+rg|23({$Qb|`kmj5Csc=~Ncc0Z<
zG>a4uwbmnNWAhw<{U#3v7pl4u&7WAs`r0G`+7kADb3iLrA|W1Qao^yf(euGGLz3ZK
zONe7?m6$3;C#c)&D=SjCeQ40*uhC=>IkWDgBjE5sn=kIdvsciaz_PP4h
zFam+aWtMb20n^UsBP`u$XpM|dzCDOdNB(E^ciw#=h$@KqhlboF5IWtdfpWSEA3wSa
zNnkgRno)Jq)f&Z?%IvlQWLYT`E#o{IX%XZD=Ot(^&XDXikfTMVXsi%rTug`qX0;M~
za6|CvngaHv3;{nnfSTs-L$*Fmu**k0$aGs4kGL+Eg~|(9Nw
zs7Y*Dn&9?1+B;Hm9whVjBo%75BXZMw<9qPI%U-g@A%XRj8R&)bT!7aZq077W6gjuA
z53C3sjtQ0S{iPh6Wra%;Wd@>oGW{~3w@&4G5nBUtdHZh^G?yS_(3a2L{H
z5ak~fo?Ln}wWUpA^5g8{G}m2+>GPUisXTJLQktm)6X`lYX^Ra{G0R0g?%?)L_9Xp3it5)$V1u;U@P$|MSr
zkkP{Wu9I|gm-P~8>jEDt9e-%V_F)w&)l2kGc1NGk!y#s^$8ByO!TQ*(;yPME%Sb+P(l|y9o(Kvqhk&&p2K%KvQ@D?|5=wjlFG?S@7MY+o_$JyQBDeWE=yv8(<>9e2h`N`X#tPL|F^T
zDnRSA+~0NADP^v_C2CM9GTP_wXPaCH3VBl@$6+g!0h_q%f|wWdDxjs!U|+e2>1KWx
z8kKu@}Fb5&K)lp!Or;#X$L5gH)=VHlRF
zkX00N`pZ_CY!ri{A{G<>m?vJ&y%fgU2&4$)r}m!_`VyP}d+4Pu8OZ~Pgr%DP$hzk9
z19(>n=9J{71Q-0_7l+)dErIqzrdEA``f?z(?
z5eJtq6$HajPEA3&C3n5d2G$;rXAZq#%(kbDdH1Lb`oD9YQWe@-6)tK59xk>szey%o
zlNaK7gCJe@Z61{r1^i4gf6(#;>9=nsbarkE2u^T}_~dQJ0A+4;fR}q_V%B_SjG^f{@Jx)X
z4ymIzy_8%dZm{pj_1Z@=GaPhOc@>H!J_Vt`5(~_CnFETFQ?^J-FIKLuOE)Dfj#YqG
zTGU#jeDMAC!&h)QVwhV6;0dE~pvwkhK-A-I;=Y4lIB0_8uc_@E-!NehH7-zuit2WS
zJQXkWV>^sfpOwqShD6h){TEwq*Nw~VAi)I0E^z1ygnTrR({tPjmf@p5v_2pXH
z^+jbDcDbmABXU(Z*a6N!sLk~&UFL57CH!}fr4&=6%chOaK)FHZaE(}e0#1iPB}xTT
z0#*^P`y5zM199P(+@V6aXKv6)Y6H{6?o)4&o)oJ@7z;9pxdtmP0^UX+x%Q#07n$_-
z>=kR<`1k7;(>c8HUi-FKT?7@9+5nmJ;t`9LD`H(%S4wjpnsSfeQ%Pd*F*yW7
zD`R9ezKj{gfa+ab$SAF_2&Wx5qwFWvy-$QlHEM`$3X+xY7$W4-s_%;agdxr>!1k~x
z%i9SsLihRE;DG}?G=-};d%Ly8I=RZ+dSOUsMJ&6i*=a-d(~Tuy&UX-eXx)8lX$+y<
zV>wE6cI4GgN4B!|{J!&qG;M~K9Ya%TUo2*>tKdL~X@(RMzwj%C;`T?PxfzaT
z`kG%E{B_Mo#*+kM#3Jc^EBqLnq47KS*q*jvR-^waK^|Xw*v6Q~!!tB}Vp;n7f<|45
zcMNAwE41e<1aqFM55P6ePEK{avk?ErUupVU;YPIS4~j$an`~;s)w2lk2lN(aUGF&*
zgO%*}bymtZC^%L@U_WiZn$@J2v&C)Ig)t64$@~W*}561B{fjq(#
z)v_BUSTA%WHfa@z(Y<9vAf{*;*uAl%8(_EjBN7BW(`b!$JU0eP{DZrUw9@xb7aqax
zkNkUV59D|lJ+zR4%G>ty?s36ipZzh`;`
z2Y$IacS(9SyLv&%#@%@A6Ir;e$lJ>FTie7iD$xk})tytn
zLw?m+qE~YTD=y@BtX6>ruHlLIu6KXOWG~}J_L@RGiQDOsbG!6qEE@^Eo`E7>5R}cZ
z>#B8B3AAhS!t4Jsn93L%!SsSJFYn$FV|H$iWf$h50ypz7z!B#k{+$a4qfG`;WeKGQ
z{tG0FPM1qk(NYq=0v
zvP;cIdr5t=Of5?^JaaQKwB3VNiv2EgC*zOy3rMe;dN=%;f^c;IN(lVed1g$2WWx3xOcZ^*iVmeIdlF(HaGyv{KmL^d_xb*rh!`p`Sc@kqi`jNLliK
zND<8`&m4WdG{ZHRThigLx68KtRrG@tCDl=YxhUJFec2e+QMDvwxT?anSx=a_fzp78
zC&bzQT=Ccu232ewm#dH|E)F%2g`C8&uY&>vB3X3b&w9nMel`cyv+zS&g;-fw`zVz
zX1uNh;_e`utX!(ss>9dKDjr*AXNA_vV#azw&Cq|NpyQclOZw+VkMy#%#ROh4r0{Xgc$eCRH>Ivd_`-sZXl&W5LRDspE%-b#jZ2~%Uw>1
zdT|*qxd+InrZ0YV%wF!uR_!eO++rzqg9XI*>$5!iJ?Pkm2>3>=%DyJKQcXI1=mCUO
zKg}H4C~9~U7%_r^%%>Y$ZXeh)SKm2TAUkl6AEWg98r$+Vv$lD`w)7I*acr!tO|G_B
zr6M$+-wD)@3Fc4=F*K|Uypi{xL*ELx-4w$~S?h6l2a;d_0P@No=_dKfX5)ER=KyPo
z>v-6}6Lfrf=ci{A8Bb!yIEElEg&(Wy7Tmg}oc0JN_s>*JbkdL*o}oh3xR4oiJ~if{Qq_vLd*XVR2lDelKT~2r3#nV5UmM*%
zY&%6Rg%QkoeZ4!gmpDG;(CwDhRtcP=yGN)RNeTO!Ox4UBpgN0@nmEnNs+sjkHsIGsA)#uAD%`X
z3e#4E?xcIUsdUhp=n%=J6qV(_H^=j}9)d(+=677)LUnRDAXO~0%j&m7eh
zTn~sXL#_lPbpyJNCs&))s$8`lHZjV;)HeZgH~B(z))3alNFEe-VR5>-mFvYQdIB*|
zdDqk?ve3q&aX%L(>5fQ#PNa*uSxhDJpg<#GzL77bRo_z@o@L?7x~^n5Z|V8AyLI*t
z-dQUZ`m_Rrx+vgA=ESpCj8vytARB7ZLs3^L)p7d_bc;S|_sGnx%JEV~|{~BD;lW}{x
zUB=p$ry2C5qoOTpbt#N6R2zC%)!Bx!@w3wg;r?4-kup{|HYQ67IK$7rnDJy6E;~=B
z(jNzr^M4$oAX3sJHjbMd15#zz&ST{_>u0D85Wtx;2QWs6{G(!sBu7sW2FeO;=aQ{S
zU%{$jqGb7=YIc+!z5}R~!85A>MV;b4k|@Ts>R8!NTRb+7f`~Te?)Qtw5=g0}uOEV;
zs~O4;=T97_E84V96_q7Gne&RD$Qtey{B}W%hc>0)!E=kKX5mlQck2+k%Q3nF&2kd9
zf)D%L6Kl*hL?t2AwSp`jHcvgju_^rtdPvmIT{%N%uQBErbTE(rX`hubwMv
z4BVg}XzBeKkw1@I&!+AIrl2`4hih@vQpMLhR4`7!nRsu;Ia$(Krj>%aoOh57cQFa@
zJ1;b~Ce7{+KTS&7&BdF-W!~{;?I*B6ouH%wwc~x{N-svH%4>t~y>5$c=GpQ~1E`jx
zAL^;_`E;6KHZBgau*-(l94?lHUiqogTPP299T1aLf2-rn`Y^w0UWv{DRr}}(Xb2QfvWNF^fOr74PngRHHO+Sv^S(C2
zN2YtS*(V6EIi&BK1~rKr+oxH#r2;R23U^eYJ4p}Rz48f+_XwNY~mB6k=6x9koc6c+@+MKTuK+=sfy6fedX0Oj(@p5aXA
zmW(t9ZX$H&u|qHF(-DMofZxAf(sH4`mfCVn*HM8gqKsJ3eIN@yeT*pQARon`S%BYc
zcBi?>z`52vvu~159IvB~yJX6sVDTz9aE^<~ogq@gw?86S>dzTvyDK~M=Za(-SWnr%
zv-JlDE5lny`ZXiI3*(CGOU+*b1Hyh^yVoo4EH(ZPq1v_RgR;usjeH}fBFLY}b(+tO
z)gBirKsw0od@@;$sB0UI4eY}#G}Jg}%;3tMEu=8vT9C#``*x-ezg#zjB$l*7hTN2>
zTaYQKGjL$;;Q|<7hBomc+EzI+ChM$vmBjlY&lO%t2lS0vX2L=9o{2i>;EDacLB
z1r61Nja~uk1nHK+eSa9&RN(RUBAUrr?-N9@b9`)=ZymPaE&9L8L-dQo2$>zSInSeY
z-zt;8if27XnKh=>@0yS4$LQ!Xnxx*tDDKE^nwL$Vp2pK^S(wbI;6v+c5YP!eu`2U(
z>flr|5HqXVa&Ro7o8MV&KsK
z0-yg-
zw>bmBS4da1Q_6`}+PZ#&-wKpQHqgQzr(fn}5|)rGMoEX*2Ad;hr9SyuN0>Kubp
zko`p)JMkDH1d8h3`rysK7@lcu|AKWKTeMl+L$pROp|r&=<>e_n_pdvYvHG;#?_!Wa
zjpY>KO63WKz~2oS*zOiSwCwbG-2Ogu>e-iOdH`hX`T|pwhNV2wUQUpg=%8M9_Q6<%
z7r{_-P5R{BO_`obn>E8#D6|z*PNKay5UyCT{`@LHdlY!BiAR!enruqm469*65m;U1
zV?juawX%tVaXaO{p0kQW%?TASp1a<4^-)KXr;3c!`a`4k!lzLSTn4utf99q*w*gUytpqrZQVK4j#{UW=OGBQvPkBl8(NpEg@!LXasEnsg?ql(2Gs
z+eLm{XN5BV+QLY&Ow}iwRgrk?C*&_9B!&b%ZxN1YiwDd`*6;L&&M#T&R}=VdQUxwO
zfxje;dkvX;{?jqfQnnU|m83-JYW-jgej{z6J)J~HT@;mx>?~>(RpgQ-GO4-SIfi5u
z`Fo?5WvjYht#?rjPpqM9gR#z7&G|
z;=5pXQxoi|OJtoLQ|hSjk62=nJ)nEkd*4(#I0lJ6O^5##@?5#A5k`|D%B}`0o4vJ{
zEGve;xO>S9VkYIr%Kn4u%%reLEdR@Gn*GVA;xXOng+U4KgD0
zIYl;l2^A(R0GN~#+pnSdV+xa^he_+P4B=p0%KJZsMDv4i*+&kQ)cL=W=jF0@(TAr2
z$E3m)7y;V;cYkG0i4&AMi!ja=L)QO-wU)j?do*hkb-`5~fCW#f+dk8l09_1viXk?Q0LW
zKd&{&LGHSj#@DO(_#^+kE@9ilaHpts1W;<`2PA>GP;bxJG^2dxy~AYF$^mIdV}PTA
zE8xLxv^8K~B>?5@bJl_)MWk2Ey%p{-ccc9RO}EgSD)_ozJFi*+(5WG7TIGstm!u3e
z8MD;&i`Y@#NKSnz3z$yHKR??|;w|knnA;KcB_@C#~VU**{4I%&!3-YHBW;ex2p9pUzso#h}G_mYk{thcf6+xEZY
zjzI4rGWHTCkR0xqW;G(Q9Xd{V9%-dpE*rTqfghmkcrCTENmZ)q@}lV0Bmn@%rj}73
z(VZR*;S9r+)2p
zHUW)xZ9m{rRp7lI`gV+$Xjn=92n^lb`$v@J+&*EUe7V}0)1mEbm(BXE-zk0a=7S9`
zUl414gktfZBj-VAFQf0!IVwb5{;48@(d&?9ICnbAS@Z3yOFhFIHlMBRc)r|*DwnIdP
zYWb5mO;KaVB-%8M%UTHr;NTXM=No{c=Wm~`3U1qrfI-1O(s9Z8V9?2;h@fugq=)qzG
zV_1I6Dv+OQNi*LGvinc@Q(z4XCy_SuJif7$PsOxge9Pm{!aLSjfbk-PT)N^Fw{~{c
zSTAZ0U9RNVO9Fd=9~&O85S_qy5Nz-)+c}id>zd^kNSS)G_2f_Y^zQ8>jLX#3W6tdW
z%h5}6{<-`4g-LuV&dW~JFwgAPTB`s!8ZW7!(k4=vI0RRQ9Ad+A2sW7GUd^P;LY4@-OzlOD)Z%3`E;1xn87b*LX^Sbx!zsCCdL
zX(l=#pV$%;QdHyb1Kt42;#+DbS*^xVo5X)QCUyaRk)Y1#iT3qXL=TGBFR8R>X^yj{nGgxHyMEo?vAiKM}k6WRoLj3S~UJ&~UtQm-)W
zx^OIo#=W_QO6mjAZ|uEd{9WdPW;B5G-jg8{WlYt?qewjjyW3wO2!J!V>5B`KSvKrH
zhQZt@q$Hg@L^H3c3FD1ddg@QJz`VupotfK1rDhzg6`D`I8rLt8c>sMb(-05TxI%m<
zPl-_4%p`g!Cw*|#BUwP2uT#AAs}*r^swCNOJ@zB!QwOb|V7l`-nt|syk!ZsQs45Z$
z;clm(kRH_#%bUkTXNm?51>WOFiL%SHwI@*_B5AIWa1$TwB$=;ClB&!KDq+<{kchg5
zb|MG&kzDQ8aZ9zHY{o~pDK%XtycDcJE6K^FC_<8A<4@G0?YM=DQAsQd0b;HCM%vaV
z1Qd@pVRdWY^<^sW!PhwYkP
zY*XuR*bx+KoNadE3I%25^Jy>loM3@HkeDg+;yuCSPK#xRJc(KwT-p*B6Yceh05hs1
zCnFGToP^(CED_q+|5(6CzM8I@ymioSy^`GBolb{+55ZzF7LVZHwV!)SJ6w9`4pR!@zn3P!Aa@~8@f%}^{TDj7M@e#ly(EB|2PJ6WitxIE#(_Iu}_3dVdg6P=?H3y
z{csA=S4DZ$xpUXX<%B%rS3-7N{sNoE@+^jlF?neG4LTyUKLF@I#)G!Rs}C7*J!s%$
zp&Gg6*8s1zVGp`oL{!lq0ePeYolJc0d)ak;mt-(_=o|f
z>%=~q4=HN&91)KZIYVRaD#BMCGGqKj4g!52mb^j@4LSAbj>~)YMDQ8?fC+ddrN_IL
z?;&FD7>_jKf-JQJ0`Hfyq9&o?DM!6A=1z6__h?cR=k}q6rK#*>oyV3cP
z_lY&a!35o5?#xTV#nbt94Xp=3*uETxW&y}GgsTRZBhgy!>u#tI76dunsKp0Moj5!6^^6-1SUus
zyKe-;a0==Bn;^+K(r@qh9roAFrz0keYXJxK3@2S~goWL9(nfZ!6=UZ<4i
zJ~EiT_@nz%Eylgn6JV#xulYp_q-wP*YW{I(!&tv@$umtRyi~%K=>**vrQfq@mD4Z$
zBYYSqPOpI^7>f-Mk2tURhrb2~=uUKl?%J;<3gdEv!Rw-OGJhd$S58D=r7>cUS(%c{
z4)48<(%}FK%6($u2J^zW88g9sp@Eh0fE_pByb|)o?Uo-c0CapxpS~VKu*%5x+P1(v
z{hpIpj>XpIj_W0t3~d7Q7r;^_NHCiWp3k^{7_^a!s;WnhKnPB0(RGy
zw_Bw~7=kw-qUete_%kDMTn$;&A{DEBxTMm<@40W=DV_`!hAdcX_q1l&i%S}jH8+w&
zp2pqGivUVeJ}=d2@O#w4DL48(tEDfIJjt!$lU;DoQjM4T!Zt*$!+#29XP-v;TnCj^
z&nr{dMqzyiEIg$fPo)&A(8v{*znUb->;)vB5rktkFO}iTO2N}|&sRa}{+uVPi(
zH`TmLrS0>Uq+>S711UCn!tYd{9~1m&14K$Z;pi}ev^b)Os(SJA{QMKGER&n<(U{w$
zHt2>W6P*3I8YooNYKdw8$)(8*f#$6K5G6SNzI<)-#cVbXaG{#@D8etU*^4nX;`)P(
z3i*nf(^cap*tkmx2QjKEkm>o&0_s>lt^v|YUm$jPVaTi3r-z7J)Yk3s@$vijba2TH
zKp2F!>(DBOa3oW1W#4hMDD2c(K>8vWJ<6U4T
zE#vH1lJT(#HjqRg`8|O$!n0gaB_aqXutlP8>Vs~&(M%<&XOI5kWPs|@e7Z;~WskTl
zZ10gmf3E)7Z}v@v<_{LTmyC_!`ZW!Bt)@wUfdK#b_6Dc+BaV4!`b?YtX)N(#>lvT+
zAu$9wK8cJR?n;ys$Z|Qb58*S*hxofp3Q#X7jL>8n;&nlU8gCqv4g@4!$tc
z$93r*=2AbLPQ(+FaCIxUGHwK5l83thI`bu?)*)N;I5(nsCb#QE+If*kEdv>S-;qCO
ze$VZKX?N~N$f3QcYD(@FHhTN%xn*x#L5hE(gXz&GF$5{$)7qOFY`2gA
z@?$u0UE7)L2S23^ZbGu6wu#$6K@uCro={?+^7sN&XLFUR=eXB
ze;8EGVyNf1_>RbMH(#NXBlR
z*)U5->Rk(~1K(!AQ;$AfNp_o__p1s>Lvu3Oz2Kijq@$4V9tYP+EQqM
zsRq4%1=Ng9oxix$h)#&0?2OEb%>)e%OT{(Mq9-%Id93!4^DN$EDg+DK<`l6t4E%2p
zhbyMW11dPX8Cx31*ZmJ9W^)^}Q4bezdn_J^$S5w?*+qJlPxRAw!Mqk17=hHBBMXx;
zEv8_(gJclCE}0t5UezbC#8Ygwc`8xo4#uy&x0(+%kla@PB5WMD0Y%8yKkXQ2CY$cR
zVjIMS4!z9IL(8*pnCp`U4Q4U40Psfu;G^G#7~}2G^E1+|a9wO&wn$Os2VuIn=x_5M
zY3*L}g`M63pu%$8f@?{ilON-QJ#GBYLILZt!LO(n=s0XgP<*b$6{dVY82~L$0Kdw@
znLD`(N(oaq6x_5Hix&3l6zM9bOTxBOe62@odQgnCCLpp6nGC8XwMagiaHRys6tb@U
zE|ehqF*|;!Wgx-qW$fbZ0_}AIJ9-n0_|&yBgo%bGS`i`M{%MgL891`5u~U2ORbPds
zV{|&O#{VM9&tNgt_aj(jZcr5@wo@Y~2m)HBcl|Py&rP~fjzXfB*})L4ZKXY{5VdgI
zF(x)3+(?_OXo}=|x7;&@7|hKwJ;A~JH!q}ZZ{m0a_bedJVO0$hn0{s1p1L?T+-%~y
zzc_{mj`HI5-?I27Yh)wDM@VQ%Vy`or+1CHc`E03&G)TRo3FG6xV~NquPa#Oghli|T
zlqyqW$joG%E1C7>QFpqeEUe}&X{Yj_iD0_pGDyjO=&i(_Ll(b1B6B58NmWpLsh#fH
zVP7PtL2Jn&pPH<*`PHp
zl^EfpgrkY}1Q)Lb40T9%`SBRy4k<&Mb1lUQ=8FxaX4hw-edz{lOhZU<1HodY(Aqdh
z4ik=Yi2URftRfJDHA|2FOtYXxx!%B8pwnO%^@5XF|ObESe<6gS+7Ls82rv-FTd#^X=UyJ`|jb-8kmwxE}(
zOiQQ{y9Lkn0fV#A8du4{GpPMa_xIDJ(J6b_vygeLfY~3|{d(Xaf88(kmss=+NjKapP+!)2A
ztdco#ZK`_o@I##O_c;98gdxbp#LV}~+02A1b04icQhVBPk+i@1&S4L(uoxSf8sbc9NYyH|lAm?2?2&sFWqP^3Hd
zc9oeRN*p?`YW({>L^um@Rwby^J|+LO^QRVGT}%G(q$uGIv29UXZ>%|wj*3wTba*$s
zJ)U9RepKO`RA%y+s(}ke6>*CGy>~!@`r-*;r9)hp?3R*6$PC`nToo1c)^4D|ZLB)0
zblg#R0y{MmxS7g7EI={ur3fX|L#wU%6>bkn{RM~)N{wlHlm9DLgHd3+B_^HDJM3cQ
zwrEdDmfSJ4!>J4~paS1tzx)an##u$nnNW$`4PwT292~g{LbnL71-|Is;S2E6P>ews
zz;LXM!Gy^A97PPk&(K%|4q8A0vb8${k^?GGzu?Q!5}J)
zSo>_C%R*9yGX9+X-`2>_op`dyAm)T%(!A7!|H$e(Y~y@%?#wje49K(wYJwv`BMhS9
z;p-JYj(5F)jPWW!1KTMq;1KG69mD79a^s(<+wv5gAKdqm&_SK`L^EZQc)lf_N~&MN
z>(!fqtE2^A2iHO;i9a8$-}e>!AA2zQ3s1vqXaPO5V-mq8mE9ZprTRfvqesFNCk2)9
zOS&`Om8&=p8A9wr^(qkPS8CF=*D`YnO^U<$<(6Xn*SX(u0jmBHXTNGp#JM_Iz%@#m
z$#nhHDp=g~CLFUjdb+dqD!}H7$q~PIsK#jS!=WISXXME4{#yR|vGH9$
+#include "LASlib/lasreader.hpp"
+
+int main(void) {
+
+    LASreadOpener readOpener;
+    readOpener.set_file_name("test.laz");
+    LASreader* lasreader = readOpener.open();
+
+    std::cout << "test.laz number of points : " << lasreader->header.number_of_point_records << std::endl;
+
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/laslib/config.yml b/recipes/laslib/config.yml
new file mode 100644
index 0000000000000..766ae143dc2cf
--- /dev/null
+++ b/recipes/laslib/config.yml
@@ -0,0 +1,4 @@
+versions:
+  # Newer versions at the top
+  "2.0.2":
+    folder: all

From 9c669788cf924ed3096f3412527ed5e866543943 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 18 Jan 2024 17:39:15 +0200
Subject: [PATCH 0912/1307] (#20323) recastnavigation: add v1.6.0, simplify
 patching

* recastnavigation: add v1.6.0, simplify patching

* recastnavigation: restore patches for DLL install on Windows

* recastnavigation: remove pkgconfig and cmake dirs from package

* recastnavigation: add missing -d suffix for Debug builds

* recastnavigation: remove *.pdb files
---
 recipes/recastnavigation/all/conandata.yml    |  3 +
 recipes/recastnavigation/all/conanfile.py     | 44 ++++++---
 .../all/patches/001_fix_shared_option.patch   | 99 ++-----------------
 .../all/test_package/test_package.cpp         |  2 +-
 recipes/recastnavigation/config.yml           |  4 +-
 5 files changed, 46 insertions(+), 106 deletions(-)

diff --git a/recipes/recastnavigation/all/conandata.yml b/recipes/recastnavigation/all/conandata.yml
index eeea285038775..e686b4b075c59 100644
--- a/recipes/recastnavigation/all/conandata.yml
+++ b/recipes/recastnavigation/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.6.0":
+    url: "https://github.com/recastnavigation/recastnavigation/archive/refs/tags/v1.6.0.tar.gz"
+    sha256: "d48ca0121962fa0639502c0f56c4e3ae72f98e55d88727225444f500775c0074"
   "cci.20200511":
     url: "https://github.com/recastnavigation/recastnavigation/archive/df27e4eb1a4ade9912f8b7d75c25769a3193dbd0.tar.gz"
     sha256: "299fdcfe14749a26041f54b4a018b8c4918e0dd0283f77823b96247bc97c9400"
diff --git a/recipes/recastnavigation/all/conanfile.py b/recipes/recastnavigation/all/conanfile.py
index cc3eb12118665..b65376a3de248 100644
--- a/recipes/recastnavigation/all/conanfile.py
+++ b/recipes/recastnavigation/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
-from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get
+from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, mkdir, move_folder_contents, rmdir, rm
 import os
 
 required_conan_version = ">=1.52.0"
@@ -35,23 +35,21 @@ def config_options(self):
 
     def configure(self):
         if self.options.shared:
-            try:
-                del self.options.fPIC
-            except Exception:
-                pass
+            self.options.rm_safe("fPIC")
 
     def layout(self):
         cmake_layout(self, src_folder="src")
 
     def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-            destination=self.source_folder, strip_root=True)
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
         tc = CMakeToolchain(self)
-        tc.variables["RECASTNAVIGATION_DEMO"] = False
-        tc.variables["RECASTNAVIGATION_TESTS"] = False
-        tc.variables["RECASTNAVIGATION_EXAMPLES"] = False
+        tc.cache_variables["RECASTNAVIGATION_DEMO"] = False
+        tc.cache_variables["RECASTNAVIGATION_TESTS"] = False
+        tc.cache_variables["RECASTNAVIGATION_EXAMPLES"] = False
+        tc.cache_variables["RECASTNAVIGATION_STATIC"] = not self.options.shared
+        tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared
         tc.generate()
 
     def build(self):
@@ -64,29 +62,45 @@ def package(self):
         copy(self, "License.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
         cmake = CMake(self)
         cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rm(self, "*.pdb", self.package_folder, recursive=True)
+        if self.version == "cci.20200511":
+            # Move the includes under recastnavigation/ prefix for future compatibility
+            mkdir(self, os.path.join(self.package_folder, "include", "recastnavigation"))
+            move_folder_contents(self, os.path.join(self.package_folder, "include"),
+                                 os.path.join(self.package_folder, "include", "recastnavigation"))
 
     def package_info(self):
         self.cpp_info.set_property("cmake_file_name", "recastnavigation")
         self.cpp_info.set_property("pkg_config_name", "recastnavigation")
 
+        suffix = ""
+        if self.settings.build_type == "Debug" and self.version != "cci.20200511":
+            suffix = "-d"
+
         self.cpp_info.components["Recast"].set_property("cmake_target_name", "RecastNavigation::Recast")
-        self.cpp_info.components["Recast"].libs = ["Recast"]
+        self.cpp_info.components["Recast"].libs = ["Recast" + suffix]
 
         self.cpp_info.components["Detour"].set_property("cmake_target_name", "RecastNavigation::Detour")
-        self.cpp_info.components["Detour"].libs = ["Detour"]
+        self.cpp_info.components["Detour"].libs = ["Detour" + suffix]
 
         self.cpp_info.components["DetourCrowd"].set_property("cmake_target_name", "RecastNavigation::DetourCrowd")
-        self.cpp_info.components["DetourCrowd"].libs = ["DetourCrowd"]
+        self.cpp_info.components["DetourCrowd"].libs = ["DetourCrowd" + suffix]
         self.cpp_info.components["DetourCrowd"].requires = ["Detour"]
 
         self.cpp_info.components["DetourTileCache"].set_property("cmake_target_name", "RecastNavigation::DetourTileCache")
-        self.cpp_info.components["DetourTileCache"].libs = ["DetourTileCache"]
+        self.cpp_info.components["DetourTileCache"].libs = ["DetourTileCache" + suffix]
         self.cpp_info.components["DetourTileCache"].requires = ["Detour"]
 
         self.cpp_info.components["DebugUtils"].set_property("cmake_target_name", "RecastNavigation::DebugUtils")
-        self.cpp_info.components["DebugUtils"].libs = ["DebugUtils"]
+        self.cpp_info.components["DebugUtils"].libs = ["DebugUtils" + suffix]
         self.cpp_info.components["DebugUtils"].requires = ["Recast", "Detour", "DetourTileCache"]
 
+        if self.version == "cci.20200511":
+            for component in self.cpp_info.components.values():
+                component.includedirs.append(os.path.join("include", "recastnavigation"))
+
         # TODO: to remove in conan v2
         self.cpp_info.filenames["cmake_find_package"] = "recastnavigation"
         self.cpp_info.filenames["cmake_find_package_multi"] = "recastnavigation"
diff --git a/recipes/recastnavigation/all/patches/001_fix_shared_option.patch b/recipes/recastnavigation/all/patches/001_fix_shared_option.patch
index bacfaff6244ab..3d9c7f9ec982f 100644
--- a/recipes/recastnavigation/all/patches/001_fix_shared_option.patch
+++ b/recipes/recastnavigation/all/patches/001_fix_shared_option.patch
@@ -1,129 +1,50 @@
---- CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
-+++ CMakeLists.txt	2020-08-07 12:39:31.306787200 -0400
-@@ -9,7 +9,10 @@
- option(RECASTNAVIGATION_DEMO "Build demo" ON)
- option(RECASTNAVIGATION_TESTS "Build tests" ON)
- option(RECASTNAVIGATION_EXAMPLES "Build examples" ON)
--option(RECASTNAVIGATION_STATIC "Build static libraries" ON)
-+
-+if(MSVC AND BUILD_SHARED_LIBS)
-+    set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
-+endif()
-
- add_subdirectory(DebugUtils)
- add_subdirectory(Detour)
-@@ -25,3 +28,4 @@
-     enable_testing()
-     add_subdirectory(Tests)
- endif ()
-+
 --- DebugUtils/CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
 +++ DebugUtils/CMakeLists.txt	2020-08-07 12:40:03.921473100 -0400
-@@ -1,10 +1,6 @@
- file(GLOB SOURCES Source/*.cpp)
-
--if (RECASTNAVIGATION_STATIC)
--    add_library(DebugUtils STATIC ${SOURCES})
--else()
--    add_library(DebugUtils SHARED ${SOURCES})
--endif()
-+add_library(DebugUtils ${SOURCES})
-
- add_library(RecastNavigation::DebugUtils ALIAS DebugUtils)
-
-@@ -26,6 +22,7 @@
+@@ -26,6 +26,7 @@
          )
 
  install(TARGETS DebugUtils
-+		RUNTIME DESTINATION bin
++        RUNTIME DESTINATION bin
          ARCHIVE DESTINATION lib
          LIBRARY DESTINATION lib
          COMPONENT library
 --- Detour/CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
 +++ Detour/CMakeLists.txt	2020-08-07 12:40:36.783319300 -0400
-@@ -1,10 +1,6 @@
- file(GLOB SOURCES Source/*.cpp)
-
--if(RECASTNAVIGATION_STATIC)
--    add_library(Detour STATIC ${SOURCES})
--else()
--    add_library(Detour SHARED ${SOURCES})
--endif()
-+add_library(Detour ${SOURCES})
-
- add_library(RecastNavigation::Detour ALIAS Detour)
-
-@@ -20,6 +16,7 @@
+@@ -20,6 +10,7 @@
          )
 
  install(TARGETS Detour
-+		RUNTIME DESTINATION bin
++        RUNTIME DESTINATION bin
          ARCHIVE DESTINATION lib
          LIBRARY DESTINATION lib
          COMPONENT library
 --- DetourCrowd/CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
 +++ DetourCrowd/CMakeLists.txt	2020-08-07 12:41:02.664066800 -0400
-@@ -1,10 +1,6 @@
- file(GLOB SOURCES Source/*.cpp)
-
--if (RECASTNAVIGATION_STATIC)
--    add_library(DetourCrowd STATIC ${SOURCES})
--else ()
--    add_library(DetourCrowd SHARED ${SOURCES})
--endif ()
-+add_library(DetourCrowd ${SOURCES})
-
- add_library(RecastNavigation::DetourCrowd ALIAS DetourCrowd)
-
-@@ -24,6 +20,7 @@
+@@ -24,6 +24,7 @@
          )
 
  install(TARGETS DetourCrowd
-+		RUNTIME DESTINATION bin
++        RUNTIME DESTINATION bin
          ARCHIVE DESTINATION lib
          LIBRARY DESTINATION lib
          COMPONENT library
 --- DetourTileCache/CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
 +++ DetourTileCache/CMakeLists.txt	2020-08-07 12:41:30.253060000 -0400
-@@ -1,10 +1,6 @@
- file(GLOB SOURCES Source/*.cpp)
-
--if (RECASTNAVIGATION_STATIC)
--    add_library(DetourTileCache STATIC ${SOURCES})
--else ()
--    add_library(DetourTileCache SHARED ${SOURCES})
--endif ()
-+add_library(DetourTileCache ${SOURCES})
-
- add_library(RecastNavigation::DetourTileCache ALIAS DetourTileCache)
-
-@@ -25,6 +21,7 @@
+@@ -25,6 +25,7 @@
 
 
  install(TARGETS DetourTileCache
-+		RUNTIME DESTINATION bin
++        RUNTIME DESTINATION bin
          ARCHIVE DESTINATION lib
          LIBRARY DESTINATION lib
          COMPONENT library
 --- Recast/CMakeLists.txt	2020-05-11 12:26:17.000000000 -0400
 +++ Recast/CMakeLists.txt	2020-08-07 12:41:53.370875500 -0400
-@@ -1,10 +1,6 @@
- file(GLOB SOURCES Source/*.cpp)
-
--if (RECASTNAVIGATION_STATIC)
--    add_library(Recast STATIC ${SOURCES})
--else ()
--    add_library(Recast SHARED ${SOURCES})
--endif ()
-+add_library(Recast ${SOURCES})
-
- add_library(RecastNavigation::Recast ALIAS Recast)
-
-@@ -20,6 +16,7 @@
+@@ -20,6 +20,7 @@
          )
 
  install(TARGETS Recast
-+		RUNTIME DESTINATION bin
++        RUNTIME DESTINATION bin
          ARCHIVE DESTINATION lib
          LIBRARY DESTINATION lib
          COMPONENT library
diff --git a/recipes/recastnavigation/all/test_package/test_package.cpp b/recipes/recastnavigation/all/test_package/test_package.cpp
index d2e829330dc17..3d78635409b1f 100644
--- a/recipes/recastnavigation/all/test_package/test_package.cpp
+++ b/recipes/recastnavigation/all/test_package/test_package.cpp
@@ -1,4 +1,4 @@
-#include "Recast.h"
+#include "recastnavigation/Recast.h"
 
 int main() {
     rcSqrt(2);
diff --git a/recipes/recastnavigation/config.yml b/recipes/recastnavigation/config.yml
index 1a308ccfdedcc..a9e154d1a98c6 100644
--- a/recipes/recastnavigation/config.yml
+++ b/recipes/recastnavigation/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.6.0":
+    folder: all
   "cci.20200511":
-    folder: "all"
+    folder: all

From 41b4cff21fc028f4414107c2ef379b5529760d06 Mon Sep 17 00:00:00 2001
From: jmalopoy <107631972+jmalopoy@users.noreply.github.com>
Date: Thu, 18 Jan 2024 18:08:21 +0100
Subject: [PATCH 0913/1307] (#21708) Improvement of recipe for OpenSSL -
 Addition of custom default OPENSSL_TLS_SECURITY_LEVEL (issue #21707)

* Addition of option securitylevel to define OPENSSL_TLS_SECURITY_LEVEL

* Fixing code style

* Enforcing value checking based on numeric range

* Adoption of suggested improvement

* Renaming option to suggested name

* Removal of obsolete condition

---------

Co-authored-by: Uilian Ries 
---
 recipes/openssl/3.x.x/conanfile.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py
index 0aebce72e25fa..b7033e12ed40c 100644
--- a/recipes/openssl/3.x.x/conanfile.py
+++ b/recipes/openssl/3.x.x/conanfile.py
@@ -6,6 +6,7 @@
 from conan.tools.gnu import AutotoolsToolchain
 from conan.tools.layout import basic_layout
 from conan.tools.microsoft import is_msvc, msvc_runtime_flag, unix_path
+from conan.tools.scm import Version
 
 import fnmatch
 import os
@@ -85,11 +86,13 @@ class OpenSSLConan(ConanFile):
         "no_whirlpool": [True, False],
         "no_zlib": [True, False],
         "openssldir": [None, "ANY"],
+        "tls_security_level": [0, 1, 2, 3, 4, 5],
     }
     default_options = {key: False for key in options.keys()}
     default_options["fPIC"] = True
     default_options["no_md2"] = True
     default_options["openssldir"] = None
+    default_options["tls_security_level"] = 1
 
     @property
     def _is_clang_cl(self):
@@ -109,6 +112,8 @@ def _settings_build(self):
         return getattr(self, "settings_build", self.settings)
 
     def config_options(self):
+        self.options.tls_security_level = 1 if Version(self.version) < "3.2" else 2
+
         if self.settings.os != "Windows":
             self.options.rm_safe("capieng_dialog")
             self.options.rm_safe("enable_capieng")
@@ -379,6 +384,7 @@ def _configure_args(self):
 
         args.append("no-fips" if self.options.get_safe("no_fips", True) else "enable-fips")
         args.append("no-md2" if self.options.get_safe("no_md2", True) else "enable-md2")
+        args.append("-DOPENSSL_TLS_SECURITY_LEVEL=%s" % str(self.options.tls_security_level))
 
         if self.settings.os == "Neutrino":
             args.append("no-asm -lsocket -latomic")
@@ -403,7 +409,7 @@ def _configure_args(self):
             ])
 
         for option_name in self.default_options.keys():
-            if self.options.get_safe(option_name, False) and option_name not in ("shared", "fPIC", "openssldir", "capieng_dialog", "enable_capieng", "zlib", "no_fips", "no_md2"):
+            if self.options.get_safe(option_name, False) and option_name not in ("shared", "fPIC", "openssldir", "tls_security_level", "capieng_dialog", "enable_capieng", "zlib", "no_fips", "no_md2"):
                 self.output.info(f"Activated option: {option_name}")
                 args.append(option_name.replace("_", "-"))
         return args

From 4b036b0daf257ef3c9e9492b2c2088a0208196b4 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 19 Jan 2024 02:19:28 +0900
Subject: [PATCH 0914/1307] (#22423) xmlsec: add version 1.3.3

---
 recipes/xmlsec/all/conandata.yml | 3 +++
 recipes/xmlsec/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/xmlsec/all/conandata.yml b/recipes/xmlsec/all/conandata.yml
index 7f3fc57bc6bab..17da2946f298e 100644
--- a/recipes/xmlsec/all/conandata.yml
+++ b/recipes/xmlsec/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.3.3":
+    url: "https://github.com/lsh123/xmlsec/releases/download/1.3.3/xmlsec1-1.3.3.tar.gz"
+    sha256: "ab5b9a9ffd6960f46f7466d9d91f174ec37e8c31989237ba6b9eacdd816464f2"
   "1.3.2":
     url: "https://github.com/lsh123/xmlsec/releases/download/xmlsec_1_3_2/xmlsec1-1.3.2.tar.gz"
     sha256: "4003c56b3d356d21b1db7775318540fad6bfedaf5f117e8f7c010811219be3cf"
diff --git a/recipes/xmlsec/config.yml b/recipes/xmlsec/config.yml
index f6bb070510906..cbe3ff0b5cda4 100644
--- a/recipes/xmlsec/config.yml
+++ b/recipes/xmlsec/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.3.3":
+    folder: all
   "1.3.2":
     folder: all
   "1.2.38":

From 30f7d3bda62b08a8a4d8a4487bc63512aa4bddf7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 19 Jan 2024 02:40:23 +0900
Subject: [PATCH 0915/1307] (#22424) entt: add version 3.13.0

---
 recipes/entt/3.x.x/conandata.yml | 3 +++
 recipes/entt/config.yml          | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/entt/3.x.x/conandata.yml b/recipes/entt/3.x.x/conandata.yml
index 24bd7f949e5dc..47adab23698d5 100644
--- a/recipes/entt/3.x.x/conandata.yml
+++ b/recipes/entt/3.x.x/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.13.0":
+    url: "https://github.com/skypjack/entt/archive/refs/tags/v3.13.0.tar.gz"
+    sha256: "dc0ab3ee136a1fe7f92df8898ff215dff1fe4d05d81b60144c7c0468446540a9"
   "3.12.2":
     url: "https://github.com/skypjack/entt/archive/refs/tags/v3.12.2.tar.gz"
     sha256: "3F3E43988218DAECC0530CCAF45E960F7F7416E1FCF2C69799160C18B6A2FEE3"
diff --git a/recipes/entt/config.yml b/recipes/entt/config.yml
index 3eaedc6257e18..10a22d0efa93f 100644
--- a/recipes/entt/config.yml
+++ b/recipes/entt/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.13.0":
+    folder: 3.x.x
   "3.12.2":
     folder: 3.x.x
   "3.11.1":

From 615b3a7281350f1a583cd30d586cbb70576c3bc0 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 19 Jan 2024 02:49:52 +0900
Subject: [PATCH 0916/1307] (#22425) jasper: add version 4.1.2

---
 recipes/jasper/all/conandata.yml | 11 +++++++++++
 recipes/jasper/config.yml        |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml
index e552f7fe9fae8..0873904e06da9 100644
--- a/recipes/jasper/all/conandata.yml
+++ b/recipes/jasper/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "4.1.2":
+    url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.2/jasper-4.1.2.tar.gz"
+    sha256: "22392e439b87c79aaf8689ec79a286a7147e811c4bee34edf3d0b239798d672b"
   "4.1.1":
     url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.1/jasper-4.1.1.tar.gz"
     sha256: "03ba86823f8798f3f60a5a34e36f3eff9e9cbd76175643a33d4aac7c0390240a"
@@ -15,6 +18,14 @@ sources:
     url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz"
     sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a"
 patches:
+  "4.1.2":
+    - patch_file: "patches/4.1.1-0001-skip-rpath.patch"
+      patch_description: "Do not enforce rpath configuration"
+      patch_source: "https://github.com/jasper-software/jasper/pull/347"
+      patch_type: "conan"
+    - patch_file: "patches/4.1.1-0003-deterministic-libname.patch"
+      patch_description: "No generator dependent libname"
+      patch_type: "conan"
   "4.1.1":
     - patch_file: "patches/4.1.1-0001-skip-rpath.patch"
       patch_description: "Do not enforce rpath configuration"
diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml
index a8896535acc48..d3b9298f87c1c 100644
--- a/recipes/jasper/config.yml
+++ b/recipes/jasper/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "4.1.2":
+    folder: all
   "4.1.1":
     folder: all
   "4.1.0":

From 7014dee7eb624f7bdd2bf880bebed90768a7dc44 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 19 Jan 2024 16:28:41 +0900
Subject: [PATCH 0917/1307] (#22070) arsenalgear: add version 2.1.1

* arsenalgear: add version 2.1.1

* disable cppcheck on debug build

* revert unintended modification
---
 recipes/arsenalgear/all/conandata.yml               |  7 +++++++
 .../all/patches/2.1.1-0001-fix-cmake.patch          | 13 +++++++++++++
 recipes/arsenalgear/config.yml                      |  2 ++
 3 files changed, 22 insertions(+)
 create mode 100644 recipes/arsenalgear/all/patches/2.1.1-0001-fix-cmake.patch

diff --git a/recipes/arsenalgear/all/conandata.yml b/recipes/arsenalgear/all/conandata.yml
index 0408a2c5f4e26..b4fd8ef5a1604 100644
--- a/recipes/arsenalgear/all/conandata.yml
+++ b/recipes/arsenalgear/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.1.1":
+    url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v2.1.1.tar.gz"
+    sha256: "5bcad6f0a2dfa3c271a532d60bfd7e45dd150fdd3c12503354718ff2b62ce967"
   "2.1.0":
     url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v2.1.0.tar.gz"
     sha256: "2548a0452f3c290f4912ccc3511ae70be62ef4cd8e5d372e27423184d72785f9"
@@ -9,6 +12,10 @@ sources:
     url: "https://github.com/JustWhit3/arsenalgear-cpp/archive/refs/tags/v1.2.2.tar.gz"
     sha256: "556155d0be0942bcdd5df02fcda258579915e76b5a70e7220de6ef38c8ca7779"
 patches:
+  "2.1.1":
+    - patch_file: "patches/2.1.1-0001-fix-cmake.patch"
+      patch_description: "disable cppcheck"
+      patch_type: "conan"
   "2.1.0":
     - patch_file: "patches/2.1.0-0001-fix-cmake.patch"
       patch_description: "CMake: allow shared, honor compiler.cppstd, avoid to download and build doctest"
diff --git a/recipes/arsenalgear/all/patches/2.1.1-0001-fix-cmake.patch b/recipes/arsenalgear/all/patches/2.1.1-0001-fix-cmake.patch
new file mode 100644
index 0000000000000..b982bc01e9479
--- /dev/null
+++ b/recipes/arsenalgear/all/patches/2.1.1-0001-fix-cmake.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e5a01e7..17fb0e5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,7 +47,7 @@ endif()
+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMPILE_FLAGS}" )
+ 
+ # Adding cppcheck properties
+-if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
++if(0)
+     set( cppcheck cppcheck "--enable=warning" "--inconclusive" "--force" "--inline-suppr" )
+     set_target_properties( arsenalgear PROPERTIES CXX_CPPCHECK ${cppcheck})
+ endif()
diff --git a/recipes/arsenalgear/config.yml b/recipes/arsenalgear/config.yml
index b3de9cadbac04..2fc28a2652c51 100644
--- a/recipes/arsenalgear/config.yml
+++ b/recipes/arsenalgear/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.1.1":
+    folder: all
   "2.1.0":
     folder: all
   "2.0.1":

From 33b3c8672bc0805da2079da7aa4ea99db776f97d Mon Sep 17 00:00:00 2001
From: Gregor Jasny 
Date: Fri, 19 Jan 2024 09:43:59 +0100
Subject: [PATCH 0918/1307] (#22131) ccache: add version 4.9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Francisco Ramírez 
---
 recipes/ccache/all/conandata.yml                      |  7 +++++++
 .../ccache/all/patches/4.9-cmake-msvc-runtime.patch   | 11 +++++++++++
 recipes/ccache/config.yml                             |  2 ++
 3 files changed, 20 insertions(+)
 create mode 100644 recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch

diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml
index ca431f6e0685b..57fc624c15481 100644
--- a/recipes/ccache/all/conandata.yml
+++ b/recipes/ccache/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "4.9":
+    url: "https://github.com/ccache/ccache/releases/download/v4.9/ccache-4.9.tar.xz"
+    sha256: "1ebc72324e3ab52af0b562bf54189d108e85eef6478d6304a345a3c2dc4018e0"
   "4.8.3":
     url: "https://github.com/ccache/ccache/releases/download/v4.8.3/ccache-4.8.3.tar.xz"
     sha256: "e47374c810b248cfca3665ee1d86c7c763ffd68d9944bc422d9c1872611f2b11"
@@ -15,6 +18,10 @@ sources:
     url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz"
     sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36"
 patches:
+  "4.9":
+    - patch_file: "patches/4.9-cmake-msvc-runtime.patch"
+      patch_description: "fixup MSVC runtime"
+      patch_type: "conan"
   "4.8.3":
     - patch_file: "patches/4.8-cmake-msvc-runtime.patch"
       patch_description: "fixup MSVC runtime"
diff --git a/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch b/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch
new file mode 100644
index 0000000000000..c0aa5be876cb8
--- /dev/null
+++ b/recipes/ccache/all/patches/4.9-cmake-msvc-runtime.patch
@@ -0,0 +1,11 @@
+--- cmake/StaticLinkSupport.cmake
++++ cmake/StaticLinkSupport.cmake
+@@ -18,7 +18,7 @@
+ if(WIN32)
+   # Link MSVC runtime statically.
+   if(MSVC)
+-    set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")
++
+   # Link MINGW runtime statically.
+   else()
+     if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang)\$")
diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml
index 98dd3df9a94de..c2b3794787244 100644
--- a/recipes/ccache/config.yml
+++ b/recipes/ccache/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "4.9":
+    folder: all
   "4.8.3":
     folder: all
   "4.8.2":

From bdb4808ccf32ebf7e4c29fc5a375906559bd9f54 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Fri, 19 Jan 2024 12:28:56 +0200
Subject: [PATCH 0919/1307] (#22430) libversion: new recipe

* libversion: new recipe

* libversion: fix Windows build
---
 recipes/libversion/all/conandata.yml          |  4 +
 recipes/libversion/all/conanfile.py           | 91 +++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |  7 ++
 .../libversion/all/test_package/conanfile.py  | 26 ++++++
 .../all/test_package/test_package.c           | 61 +++++++++++++
 recipes/libversion/config.yml                 |  3 +
 6 files changed, 192 insertions(+)
 create mode 100644 recipes/libversion/all/conandata.yml
 create mode 100644 recipes/libversion/all/conanfile.py
 create mode 100644 recipes/libversion/all/test_package/CMakeLists.txt
 create mode 100644 recipes/libversion/all/test_package/conanfile.py
 create mode 100644 recipes/libversion/all/test_package/test_package.c
 create mode 100644 recipes/libversion/config.yml

diff --git a/recipes/libversion/all/conandata.yml b/recipes/libversion/all/conandata.yml
new file mode 100644
index 0000000000000..7acd1fda14fab
--- /dev/null
+++ b/recipes/libversion/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "3.0.3":
+    url: "https://github.com/repology/libversion/archive/refs/tags/3.0.3.tar.gz"
+    sha256: "bb49d745a0c8e692007af6d928046d1ab6b9189f8dbba834cdf3c1d251c94a1d"
diff --git a/recipes/libversion/all/conanfile.py b/recipes/libversion/all/conanfile.py
new file mode 100644
index 0000000000000..350b19652c4dc
--- /dev/null
+++ b/recipes/libversion/all/conanfile.py
@@ -0,0 +1,91 @@
+import os
+
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps
+from conan.tools.files import copy, get, replace_in_file, rm, rmdir, save
+from conan.tools.microsoft import is_msvc
+
+required_conan_version = ">=1.53.0"
+
+
+class LibversionConan(ConanFile):
+    name = "libversion"
+    description = "Advanced version string comparison library"
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/repology/libversion"
+    topics = ("versioning", "version")
+
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+        "build_tools": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+        "build_tools": False,
+    }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+            # Requires getopt.h and unistd.h
+            del self.options.build_tools
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.cppstd")
+        self.settings.rm_safe("compiler.libcxx")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.generate()
+
+    def _patch_sources(self):
+        # Disable tests
+        save(self, os.path.join(self.source_folder, "tests", "CMakeLists.txt"), "")
+        # Disable tools
+        if not self.options.get_safe("build_tools"):
+            save(self, os.path.join(self.source_folder, "utils", "CMakeLists.txt"), "")
+        # Install only the appropriate target
+        target = "libversion" if self.options.shared else "libversion_static"
+        replace_in_file(self, os.path.join(self.source_folder, "libversion", "CMakeLists.txt"),
+                        "install(TARGETS libversion libversion_static EXPORT libversion)",
+                        f"install(TARGETS {target} EXPORT libversion)")
+
+    def build(self):
+        self._patch_sources()
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rm(self, "*.pdb", self.package_folder, recursive=True)
+
+    def package_info(self):
+        self.cpp_info.set_property("cmake_file_name", "libversion")
+        self.cpp_info.set_property("cmake_target_name", "libversion::libversion")
+        self.cpp_info.set_property("pkg_config_name", "libversion")
+
+        if is_msvc(self) and self.options.shared:
+            self.cpp_info.libs = ["libversion"]
+        else:
+            self.cpp_info.libs = ["version"]
+
+        if not self.options.shared:
+            self.cpp_info.defines.append("LIBVERSION_STATIC_DEFINE")
diff --git a/recipes/libversion/all/test_package/CMakeLists.txt b/recipes/libversion/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..83cab1b5e13a3
--- /dev/null
+++ b/recipes/libversion/all/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES C)
+
+find_package(libversion REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE libversion::libversion)
diff --git a/recipes/libversion/all/test_package/conanfile.py b/recipes/libversion/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/libversion/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/libversion/all/test_package/test_package.c b/recipes/libversion/all/test_package/test_package.c
new file mode 100644
index 0000000000000..1fde3fd757058
--- /dev/null
+++ b/recipes/libversion/all/test_package/test_package.c
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2017-2019 Dmitry Marakasov 
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include 
+#include 
+
+int main() {
+    /* 0.99 < 1.11 */
+    assert(version_compare2("0.99", "1.11") == -1);
+
+    /* 1.0 == 1.0.0 */
+    assert(version_compare2("1.0", "1.0.0") == 0);
+
+    /* 1.0alpha1 < 1.0.rc1 */
+    assert(version_compare2("1.0alpha1", "1.0.rc1") == -1);
+
+    /* 1.0 > 1.0.rc1 */
+    assert(version_compare2("1.0", "1.0-rc1") == 1);
+
+    /* 1.2.3alpha4 is the same as 1.2.3~a4 */
+    assert(version_compare2("1.2.3alpha4", "1.2.3~a4") == 0);
+
+    /* by default, `p' is treated as `pre'... */
+    assert(version_compare2("1.0p1", "1.0pre1") == 0);
+    assert(version_compare2("1.0p1", "1.0post1") == -1);
+    assert(version_compare2("1.0p1", "1.0patch1") == -1);
+
+    /* ...but this is tunable: here it's handled as `patch` */
+    assert(version_compare4("1.0p1", "1.0pre1", VERSIONFLAG_P_IS_PATCH, 0) == 1);
+    assert(version_compare4("1.0p1", "1.0post1", VERSIONFLAG_P_IS_PATCH, 0) == 0);
+    assert(version_compare4("1.0p1", "1.0patch1", VERSIONFLAG_P_IS_PATCH, 0) == 0);
+
+    /* a way to check that the version belongs to a given release */
+    assert(
+        (version_compare4("1.0alpha1", "1.0", 0, VERSIONFLAG_LOWER_BOUND) == 1) &&
+        (version_compare4("1.0alpha1", "1.0", 0, VERSIONFLAG_UPPER_BOUND) == -1) &&
+        (version_compare4("1.0.1", "1.0", 0, VERSIONFLAG_LOWER_BOUND) == 1) &&
+        (version_compare4("1.0.1", "1.0", 0, VERSIONFLAG_UPPER_BOUND) == -1)
+        /* 1.0alpha1 and 1.0.1 belong to 1.0 release, e.g. they lie between
+           (lowest possible version in 1.0) and (highest possible version in 1.0) */
+    );
+}
diff --git a/recipes/libversion/config.yml b/recipes/libversion/config.yml
new file mode 100644
index 0000000000000..9542a01cf889e
--- /dev/null
+++ b/recipes/libversion/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "3.0.3":
+    folder: all

From b986ef1de268775bf4a3a9dae82ea14ee351ab7c Mon Sep 17 00:00:00 2001
From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
Date: Fri, 19 Jan 2024 11:42:49 +0000
Subject: [PATCH 0920/1307] (#22429) Update CI Conan 1.x configurations

* Update CI Conan 1.x configurations

* Fix typo
---
 .c3i/config_v1.yml | 33 +++++++++++++++------------------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml
index 6fd58a85275b0..bc13119efc515 100644
--- a/.c3i/config_v1.yml
+++ b/.c3i/config_v1.yml
@@ -74,15 +74,25 @@ tasks:
 
 # Profile configurations to build packages
 configurations:
-  - id: linux-gcc
-    hrname: "Linux, GCC"
+  - id: linux-gcc-legacy
+    hrname: "Linux, GCC-legacy"
     content:
       - os: ["Linux"]
         arch: ["x86_64"]
         compiler:
           - "gcc":
               compiler.libcxx: [ "libstdc++11" ]
-              compiler.version: ["5", "7", "9", "10", "11"]
+              compiler.version: ["5", "7", "9"]
+              build_type: ["Release"]
+  - id: linux-gcc11
+    hrname: "Linux, GCC11"
+    content:
+      - os: ["Linux"]
+        arch: ["x86_64"]
+        compiler:
+          - "gcc":
+              compiler.libcxx: [ "libstdc++11" ]
+              compiler.version: ["11"]
               build_type: ["Release", "Debug"]
   - id: linux-clang
     hrname: "Linux, Clang"
@@ -92,21 +102,8 @@ configurations:
         compiler:
           - "clang":
               compiler.libcxx: ["libstdc++", "libc++"]
-              compiler.version: ["12", "13"]
-              build_type: ["Release", "Debug"]
-  - id: macos-clang
-    hrname: "macOS, Clang"
-    build_profile:
-      os: "Macos"
-      arch: "armv8"
-    content:
-      - os: [ "Macos" ]
-        arch: [ "x86_64" ]
-        compiler:
-          - "apple-clang":
-              compiler.version: [ "13.0" ]
-              compiler.libcxx: [ "libc++" ]
-              build_type: [ "Release", "Debug" ]
+              compiler.version: ["13"]
+              build_type: ["Release"]
   - id: macos-m1-clang
     hrname: "macOS, Clang (M1/arm64)"
     content:

From b808f3c96021f9b120aa6d222c6157a1a6afcfbd Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 19 Jan 2024 23:03:18 +0900
Subject: [PATCH 0921/1307] (#22438) trantor: add version 1.5.16

---
 recipes/trantor/all/conandata.yml | 7 +++++++
 recipes/trantor/config.yml        | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/recipes/trantor/all/conandata.yml b/recipes/trantor/all/conandata.yml
index 5d96de887257b..8d7d3d5b8bb82 100644
--- a/recipes/trantor/all/conandata.yml
+++ b/recipes/trantor/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.5.16":
+    url: "https://github.com/an-tao/trantor/archive/v1.5.16.tar.gz"
+    sha256: "ef6f4d9c855ea7823dd9bfb094e852d23450b5fc149936f09964d19cb34741e9"
   "1.5.15":
     url: "https://github.com/an-tao/trantor/archive/v1.5.15.tar.gz"
     sha256: "478d33bc2d48ef2511969c1024eeeee5cf0ef4eea6c65761d0a72b8b9b3004be"
@@ -24,6 +27,10 @@ sources:
     url: "https://github.com/an-tao/trantor/archive/v1.5.7.tar.gz"
     sha256: "42576563afbf1e58c7d68f758cf3fca4d193496d4e3f82c80069d8389a7839d5"
 patches:
+  "1.5.16":
+    - patch_file: "patches/1.5.15-0001-disable-werror.patch"
+      patch_description: "disable -Werror for gcc5"
+      patch_type: "portability"
   "1.5.15":
     - patch_file: "patches/1.5.15-0001-disable-werror.patch"
       patch_description: "disable -Werror for gcc5"
diff --git a/recipes/trantor/config.yml b/recipes/trantor/config.yml
index dddf9970713ce..be5d52dcb95bc 100644
--- a/recipes/trantor/config.yml
+++ b/recipes/trantor/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.5.16":
+    folder: "all"
   "1.5.15":
     folder: "all"
   "1.5.14":

From 51cc2572dabdfe134c232f6773f9c45e3d2b31a1 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 02:16:11 +0900
Subject: [PATCH 0922/1307] (#22445) libcoro: update c-ares

---
 recipes/libcoro/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py
index 53cdfa2743c0f..7873b320afe48 100644
--- a/recipes/libcoro/all/conanfile.py
+++ b/recipes/libcoro/all/conanfile.py
@@ -65,7 +65,7 @@ def layout(self):
     def requirements(self):
         if "with_ssl" not in self.options or self.options.with_ssl:
             self.requires("openssl/[>=1.1 <4]", transitive_headers=True)
-        self.requires("c-ares/1.22.1", transitive_headers=True)
+        self.requires("c-ares/1.25.0", transitive_headers=True)
         self.requires("tl-expected/1.1.0", transitive_headers=True)
 
     def validate(self):

From 9866d88d1440f21ce7a8cf6c5d1dcf1c779cc966 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 02:27:09 +0900
Subject: [PATCH 0923/1307] (#22443) osmanip: update arsenalgear

---
 recipes/osmanip/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/osmanip/all/conanfile.py b/recipes/osmanip/all/conanfile.py
index b4052b2cbc953..dfd876744d966 100644
--- a/recipes/osmanip/all/conanfile.py
+++ b/recipes/osmanip/all/conanfile.py
@@ -50,7 +50,7 @@ def requirements(self):
         # https://github.com/JustWhit3/osmanip/commit/43c8bd8d018fcb3bce6443f7388e042d5457d4fb
         if Version(self.version) < "4.6.0":
             # osmanip/progressbar/progress_bar.hpp includes arsenalgear/constants.hpp
-            self.requires("arsenalgear/2.1.0", transitive_headers=True)
+            self.requires("arsenalgear/2.1.1", transitive_headers=True)
 
     @property
     def _min_cppstd(self):

From fc1e00e4d8bfc140070aa51cc17d579554a9d102 Mon Sep 17 00:00:00 2001
From: Jordan Williams 
Date: Fri, 19 Jan 2024 12:59:48 -0600
Subject: [PATCH 0924/1307] (#22414) cairo: Fix cross-compilation when using
 Meson

Set ipc_rmid_deferred_release property when cross building.
Setting this according to runtime behavior is impossible when cross-compiling.
Refer to https://gitlab.freedesktop.org/cairo/cairo/-/issues/408
To fix this, set the property ipc_rmid_deferred_release.
According to the discussion in the issue, this should at least be enabled on Linux.
Since other systems may behave differently, this is disabled otherwise.
---
 recipes/cairo/meson/conanfile.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/recipes/cairo/meson/conanfile.py b/recipes/cairo/meson/conanfile.py
index 76c7813fd5b69..9cddead167dbc 100644
--- a/recipes/cairo/meson/conanfile.py
+++ b/recipes/cairo/meson/conanfile.py
@@ -4,6 +4,7 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.apple import fix_apple_shared_install_name, is_apple_os
+from conan.tools.build import cross_building
 from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, replace_in_file, rm, rmdir
 from conan.tools.gnu import PkgConfigDeps
@@ -189,6 +190,9 @@ def is_enabled(value):
         meson = MesonToolchain(self)
         meson.project_options.update(options)
 
+        if cross_building(self):
+            meson.properties["ipc_rmid_deferred_release"] = self.settings.os == "Linux"
+
         if is_apple_os(self) and Version(self.version) < "1.17.6":
             # This was fixed in the meson build from 1.17.6
             meson.c_link_args += ["-framework", "ApplicationServices", "-framework", "CoreFoundation"]

From 1f9eecb518c0a52e2a703dd2b663b017e93ee152 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 04:20:14 +0900
Subject: [PATCH 0925/1307] (#22442) drogon: update dependencies

---
 recipes/drogon/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/drogon/all/conanfile.py b/recipes/drogon/all/conanfile.py
index 89a3a646123b9..953a213b3cedc 100644
--- a/recipes/drogon/all/conanfile.py
+++ b/recipes/drogon/all/conanfile.py
@@ -110,7 +110,7 @@ def validate(self):
             raise ConanInvalidConfiguration(f"{self.ref} requires boost on C++14")
 
     def requirements(self):
-        self.requires("trantor/1.5.15", transitive_headers=True, transitive_libs=True)
+        self.requires("trantor/1.5.16", transitive_headers=True, transitive_libs=True)
         self.requires("jsoncpp/1.9.5", transitive_headers=True, transitive_libs=True)
         self.requires("openssl/[>=1.1 <4]")
         self.requires("zlib/[>=1.2.11 <2]")
@@ -127,7 +127,7 @@ def requirements(self):
         if self.options.get_safe("with_mysql"):
             self.requires("libmysqlclient/8.1.0")
         if self.options.get_safe("with_sqlite"):
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.get_safe("with_redis"):
             self.requires("hiredis/1.2.0")
         if self.options.get_safe("with_yaml_cpp", False):

From 69b09c502684804e96329210d7d5b27559ca3d66 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 11:17:09 +0900
Subject: [PATCH 0926/1307] (#22444) libnghttp2: update dependencices

---
 recipes/libnghttp2/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py
index 7a30076b7b190..09c3826e37175 100644
--- a/recipes/libnghttp2/all/conanfile.py
+++ b/recipes/libnghttp2/all/conanfile.py
@@ -60,10 +60,10 @@ def requirements(self):
         if self.options.with_app or self.options.get_safe("with_asio"):
             self.requires("openssl/[>=1.1 <4]")
         if self.options.with_app:
-            self.requires("c-ares/1.22.0")
+            self.requires("c-ares/1.25.0")
             self.requires("libev/4.33")
             self.requires("libevent/2.1.12")
-            self.requires("libxml2/2.12.3")
+            self.requires("libxml2/2.12.4")
             self.requires("zlib/[>=1.2.11 <2]")
             if self.options.with_jemalloc:
                 self.requires("jemalloc/5.3.0")

From 5dbdbaf9a890b04ff5e4c5cc16dcfff85670b187 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 11:51:50 +0900
Subject: [PATCH 0927/1307] (#22452) fakeit: update dependencies

---
 recipes/fakeit/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/fakeit/all/conanfile.py b/recipes/fakeit/all/conanfile.py
index 93fa295330a4d..4d9a65b5c58a1 100644
--- a/recipes/fakeit/all/conanfile.py
+++ b/recipes/fakeit/all/conanfile.py
@@ -36,11 +36,11 @@ def requirements(self):
         if self.options.integration == "boost":
             self.requires("boost/1.83.0")
         elif self.options.integration == "catch":
-            self.requires("catch2/3.4.0")
+            self.requires("catch2/3.5.2")
         elif self.options.integration == "gtest":
             self.requires("gtest/1.14.0")
         elif self.options.integration == "qtest":
-            self.requires("qt/6.6.0")
+            self.requires("qt/6.6.1")
         elif self.options.integration == "standalone":
             pass
         else:

From 6dee1551a4ed5dc6dc3fe9105d021d1e7040842a Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 12:02:21 +0900
Subject: [PATCH 0928/1307] (#22454) serdepp: update dependencies

---
 recipes/serdepp/all/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/serdepp/all/conanfile.py b/recipes/serdepp/all/conanfile.py
index 433b310f78080..8db8ca27da233 100644
--- a/recipes/serdepp/all/conanfile.py
+++ b/recipes/serdepp/all/conanfile.py
@@ -59,15 +59,15 @@ def requirements(self):
         self.requires("nameof/0.10.3")
         self.requires("magic_enum/0.9.5")
         if self.options.with_toml11:
-            self.requires("toml11/3.7.1")
+            self.requires("toml11/3.8.1")
         if self.options.with_yamlcpp:
             self.requires("yaml-cpp/0.8.0")
         if self.options.with_rapidjson:
             self.requires("rapidjson/1.1.0")
         if self.options.with_fmt:
-            self.requires("fmt/10.1.0")
+            self.requires("fmt/10.2.1")
         if self.options.with_nlohmann_json:
-            self.requires("nlohmann_json/3.11.2")
+            self.requires("nlohmann_json/3.11.3")
 
     def package_id(self):
         self.info.clear()

From a48edf4f404ca5877a8aaa41c17034d8a806055d Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 14:10:25 +0900
Subject: [PATCH 0929/1307] (#22450) trantor: update dependencies

---
 recipes/trantor/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/trantor/all/conanfile.py b/recipes/trantor/all/conanfile.py
index 9deee06df4b9b..7b8288e622c8a 100644
--- a/recipes/trantor/all/conanfile.py
+++ b/recipes/trantor/all/conanfile.py
@@ -66,9 +66,9 @@ def layout(self):
     def requirements(self):
         self.requires("openssl/[>=1.1 <4]")
         if self.options.with_c_ares:
-            self.requires("c-ares/1.22.0")
+            self.requires("c-ares/1.25.0")
         if self.options.get_safe("with_spdlog"):
-            self.requires("spdlog/1.12.0")
+            self.requires("spdlog/1.13.0")
 
     def validate(self):
         if self.info.settings.compiler.get_safe("cppstd"):

From 4324bcc3dc3b0fa285fc4daf0fedc67a3d767f3d Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 20:07:56 +0900
Subject: [PATCH 0930/1307] (#22457) cpp-validator: update fmt

---
 recipes/cpp-validator/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/cpp-validator/all/conanfile.py b/recipes/cpp-validator/all/conanfile.py
index 664a6a31ab470..befec7e45358b 100644
--- a/recipes/cpp-validator/all/conanfile.py
+++ b/recipes/cpp-validator/all/conanfile.py
@@ -64,7 +64,7 @@ def validate(self):
 
     def requirements(self):
         self.requires("boost/1.83.0")
-        self.requires("fmt/10.2.0")
+        self.requires("fmt/10.2.1")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From ad6cc7b49805650d6cd30ba52d8bbde1527265d4 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 21:07:13 +0900
Subject: [PATCH 0931/1307] (#22458) jsonnet: update nlohmann_json

---
 recipes/jsonnet/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/jsonnet/all/conanfile.py b/recipes/jsonnet/all/conanfile.py
index 0581568a5b5ce..01b0516363b18 100644
--- a/recipes/jsonnet/all/conanfile.py
+++ b/recipes/jsonnet/all/conanfile.py
@@ -84,7 +84,7 @@ def validate(self):
             raise ConanInvalidConfiguration(f"shared {self.ref} requires rapidyaml to be built as shared")
 
     def requirements(self):
-        self.requires("nlohmann_json/3.11.2")
+        self.requires("nlohmann_json/3.11.3")
         if Version(self.version) >= "0.18.0":
             self.requires("rapidyaml/0.5.0")
 

From a0fa46253018454977f535f6957d5cd9d8867286 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 22:11:53 +0900
Subject: [PATCH 0932/1307] (#22460) sqlitecpp: update sqlite3/3.45.0

---
 recipes/sqlitecpp/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/sqlitecpp/all/conanfile.py b/recipes/sqlitecpp/all/conanfile.py
index c0bfff9f89eee..fb8b5040fb9dc 100644
--- a/recipes/sqlitecpp/all/conanfile.py
+++ b/recipes/sqlitecpp/all/conanfile.py
@@ -43,7 +43,7 @@ def configure(self):
             self.options.rm_safe("fPIC")
 
     def requirements(self):
-        self.requires("sqlite3/3.44.2")
+        self.requires("sqlite3/3.45.0")
 
     def validate(self):
         if Version(self.version) >= "3.0.0" and self.info.settings.compiler.get_safe("cppstd"):

From feeebf1e52f8fa347395148c64ecd8a2dd60659f Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 20 Jan 2024 23:04:05 +0900
Subject: [PATCH 0933/1307] (#22459) poco: update sqlite3/3.45.0

---
 recipes/poco/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py
index 4f4346cde29c2..d677c8b157a1b 100644
--- a/recipes/poco/all/conanfile.py
+++ b/recipes/poco/all/conanfile.py
@@ -153,7 +153,7 @@ def requirements(self):
         if self.options.enable_xml:
             self.requires("expat/2.5.0")
         if self.options.enable_data_sqlite:
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.enable_apacheconnector:
             self.requires("apr/1.7.4")
             self.requires("apr-util/1.6.1")

From 60980a71b6950b095d8c67ead6265f12ce7af374 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Sat, 20 Jan 2024 19:06:07 +0200
Subject: [PATCH 0934/1307] (#21865) libe57format: add v3.1.1, drop old version

* libe57format: add v3.1.1, drop old version

* libe57format: upgrade cmake

* libe57format: disable warnings
---
 recipes/libe57format/all/conandata.yml        | 14 ++----
 recipes/libe57format/all/conanfile.py         | 43 ++++++++++++-------
 .../all/patches/0001-fix-pic.patch            | 10 -----
 .../all/patches/0002-missing-include.patch    | 11 -----
 .../all/patches/2.3.0-0001-fix-pic.patch      | 10 -----
 recipes/libe57format/config.yml               |  2 +-
 6 files changed, 33 insertions(+), 57 deletions(-)
 delete mode 100644 recipes/libe57format/all/patches/0001-fix-pic.patch
 delete mode 100644 recipes/libe57format/all/patches/0002-missing-include.patch
 delete mode 100644 recipes/libe57format/all/patches/2.3.0-0001-fix-pic.patch

diff --git a/recipes/libe57format/all/conandata.yml b/recipes/libe57format/all/conandata.yml
index 857bfbb53a2a6..22a85d05a2b6c 100644
--- a/recipes/libe57format/all/conandata.yml
+++ b/recipes/libe57format/all/conandata.yml
@@ -1,13 +1,7 @@
 sources:
-  "2.2.0":
-    sha256: "19df04af07925bf43e1793534b0c77cb1346a2bee7746859d2fe1714a24f1c7d"
-    url: "https://github.com/asmaloney/libE57Format/archive/refs/tags/v2.2.0.tar.gz"
+  "3.1.1":
+    url: "https://github.com/asmaloney/libE57Format/archive/refs/tags/v3.1.1.tar.gz"
+    sha256: "949e73db3cb90ed7d286c49d12c6925813ead8d92ff9b84e0fba17fa015194d0"
   "2.3.0":
-    sha256: "124cc8f7dda84e8686ff2bcffc524ee4677eba3183631ec847a5f4a6ea60b254"
     url: "https://github.com/asmaloney/libE57Format/archive/refs/tags/v2.3.0.tar.gz"
-patches:
-  "2.2.0":
-    - patch_file: "patches/0001-fix-pic.patch"
-    - patch_file: "patches/0002-missing-include.patch"
-  "2.3.0":
-    - patch_file: "patches/2.3.0-0001-fix-pic.patch"
+    sha256: "124cc8f7dda84e8686ff2bcffc524ee4677eba3183631ec847a5f4a6ea60b254"
diff --git a/recipes/libe57format/all/conanfile.py b/recipes/libe57format/all/conanfile.py
index 479e129d3bbf3..b93bf7c1a17a2 100644
--- a/recipes/libe57format/all/conanfile.py
+++ b/recipes/libe57format/all/conanfile.py
@@ -1,11 +1,14 @@
+import os
+import textwrap
+
 from conan import ConanFile
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
-from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir, save
-import os
-import textwrap
+from conan.tools.env import VirtualBuildEnv
+from conan.tools.files import copy, get, rmdir, save, replace_in_file
+from conan.tools.scm import Version
 
-required_conan_version = ">=1.52.0"
+required_conan_version = ">=1.53.0"
 
 
 class LibE57FormatConan(ConanFile):
@@ -16,6 +19,7 @@ class LibE57FormatConan(ConanFile):
     description = "Library for reading & writing the E57 file format"
     topics = ("e57", "io", "point-cloud")
 
+    package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
         "shared": [True, False],
@@ -26,43 +30,52 @@ class LibE57FormatConan(ConanFile):
         "fPIC": True,
     }
 
-    def export_sources(self):
-        export_conandata_patches(self)
-
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
 
     def configure(self):
         if self.options.shared:
-            try:
-                del self.options.fPIC
-            except Exception:
-                pass
+            self.options.rm_safe("fPIC")
 
     def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("xerces-c/3.2.3")
+        self.requires("xerces-c/3.2.4")
 
     def validate(self):
         if self.info.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, "11")
 
+    def build_requirements(self):
+        if Version(self.version) >= "1.17":
+            self.tool_requires("cmake/[>=3.16.3 <4]")
+
     def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-            destination=self.source_folder, strip_root=True)
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
+        venv = VirtualBuildEnv(self)
+        venv.generate()
         tc = CMakeToolchain(self)
+        tc.variables["E57_BUILD_SHARED"] = self.options.shared
+        tc.variables["E57_BUILD_TEST"] = False
         tc.variables["USING_STATIC_XERCES"] = not self.dependencies["xerces-c"].options.shared
         tc.generate()
         deps = CMakeDeps(self)
         deps.generate()
 
+    def _patch_sources(self):
+        replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
+                        "POSITION_INDEPENDENT_CODE ON", "")
+        # Disable compiler warnings, which cause older versions of GCC to fail due to unrecognized flags
+        if Version(self.version) >= "3.0":
+            replace_in_file(self, os.path.join(self.source_folder, "cmake", "CompilerWarnings.cmake"),
+                            " -W", " # -W")
+
     def build(self):
-        apply_conandata_patches(self)
+        self._patch_sources()
         cmake = CMake(self)
         cmake.configure()
         cmake.build()
diff --git a/recipes/libe57format/all/patches/0001-fix-pic.patch b/recipes/libe57format/all/patches/0001-fix-pic.patch
deleted file mode 100644
index 76ed8c2509a69..0000000000000
--- a/recipes/libe57format/all/patches/0001-fix-pic.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -104,7 +104,6 @@
- 		CXX_STANDARD_REQUIRED YES
- 		CXX_EXTENSIONS NO
- 		DEBUG_POSTFIX "-d"
--		POSITION_INDEPENDENT_CODE ON
- )
- 
- # Target definitions
diff --git a/recipes/libe57format/all/patches/0002-missing-include.patch b/recipes/libe57format/all/patches/0002-missing-include.patch
deleted file mode 100644
index 50253b05d6c2a..0000000000000
--- a/recipes/libe57format/all/patches/0002-missing-include.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/E57XmlParser.cpp
-+++ b/src/E57XmlParser.cpp
-@@ -42,6 +42,8 @@
- #include "StringNodeImpl.h"
- #include "VectorNodeImpl.h"
- 
-+#include 
-+
- using namespace e57;
- using namespace XERCES_CPP_NAMESPACE;
- 
diff --git a/recipes/libe57format/all/patches/2.3.0-0001-fix-pic.patch b/recipes/libe57format/all/patches/2.3.0-0001-fix-pic.patch
deleted file mode 100644
index a2ecc0de60e33..0000000000000
--- a/recipes/libe57format/all/patches/2.3.0-0001-fix-pic.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -127,7 +127,6 @@
- 		CXX_STANDARD_REQUIRED YES
- 		CXX_EXTENSIONS NO
- 		DEBUG_POSTFIX "-d"
--		POSITION_INDEPENDENT_CODE ON
- )
- 
- # Target definitions
diff --git a/recipes/libe57format/config.yml b/recipes/libe57format/config.yml
index 137671316c059..79be4753bc883 100644
--- a/recipes/libe57format/config.yml
+++ b/recipes/libe57format/config.yml
@@ -1,5 +1,5 @@
 versions:
-  "2.2.0":
+  "3.1.1":
     folder: all
   "2.3.0":
     folder: all

From 1495d37c60394694bb390fbc2e6908ef2e7c2906 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 21 Jan 2024 02:17:00 +0900
Subject: [PATCH 0935/1307] (#22465) sqlite_orm: update sqlite3/3.45.0

---
 recipes/sqlite_orm/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/sqlite_orm/all/conanfile.py b/recipes/sqlite_orm/all/conanfile.py
index 23fa807bf57d5..056b8b5414928 100644
--- a/recipes/sqlite_orm/all/conanfile.py
+++ b/recipes/sqlite_orm/all/conanfile.py
@@ -39,7 +39,7 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True)
+        self.requires("sqlite3/3.45.0", transitive_headers=True, transitive_libs=True)
 
     def package_id(self):
         self.info.clear()

From 260340890ea0057c2d36d0466d001ecd36694928 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 21 Jan 2024 02:30:36 +0900
Subject: [PATCH 0936/1307] (#22463) dlib: update dependencies

---
 recipes/dlib/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/dlib/all/conanfile.py b/recipes/dlib/all/conanfile.py
index bad5b166dc9bf..0bfd41e940b0f 100644
--- a/recipes/dlib/all/conanfile.py
+++ b/recipes/dlib/all/conanfile.py
@@ -96,9 +96,9 @@ def requirements(self):
         if self.options.get_safe("with_webp"):
             self.requires("libwebp/1.3.2")
         if self.options.with_sqlite3:
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.with_openblas:
-            self.requires("openblas/0.3.20")
+            self.requires("openblas/0.3.26")
 
     def validate(self):
         if self.settings.compiler.cppstd:

From 7603a4c37219aa79ceeacf62aecc7a35f00f458f Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 21 Jan 2024 10:58:43 +0900
Subject: [PATCH 0937/1307] (#22462) apr-util: update sqlite3/3.45.0

---
 recipes/apr-util/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/apr-util/all/conanfile.py b/recipes/apr-util/all/conanfile.py
index c6efeb71fc33d..ed635923b1c3a 100644
--- a/recipes/apr-util/all/conanfile.py
+++ b/recipes/apr-util/all/conanfile.py
@@ -88,7 +88,7 @@ def requirements(self):
         if self.options.with_mysql:
             self.requires("libmysqlclient/8.1.0")
         if self.options.with_sqlite3:
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.with_expat:
             self.requires("expat/2.5.0")
         if self.options.with_postgresql:

From d162b9b2715a4bc162151e777bf4c65bc1c057cd Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 21 Jan 2024 16:25:40 +0900
Subject: [PATCH 0938/1307] (#22474) daw utf range header libraries 2.97.0

* daw_utf_range: update daw_header_libraries

* remove transitive_headers
---
 recipes/daw_utf_range/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py
index 23fff04d5723f..0db5a7b2716bd 100644
--- a/recipes/daw_utf_range/all/conanfile.py
+++ b/recipes/daw_utf_range/all/conanfile.py
@@ -38,7 +38,7 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("daw_header_libraries/2.96.1")
+        self.requires("daw_header_libraries/2.97.0")
 
     def package_id(self):
         self.info.clear()

From a5d18e35abe83b19de0230f8e9ce1049a8778e21 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 21 Jan 2024 20:40:53 +0900
Subject: [PATCH 0939/1307] (#22475) daw_json_link: update
 daw_header_libraries/2.97.0

---
 recipes/daw_json_link/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py
index a22aa6b41c06b..941ce50d79e01 100644
--- a/recipes/daw_json_link/all/conanfile.py
+++ b/recipes/daw_json_link/all/conanfile.py
@@ -39,7 +39,7 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("daw_header_libraries/2.96.1")
+        self.requires("daw_header_libraries/2.97.0")
         self.requires("daw_utf_range/2.2.3")
 
     def package_id(self):

From 0f346a05d08817d37657158c67c5c3c688a794a1 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 22 Jan 2024 01:20:35 +0900
Subject: [PATCH 0940/1307] (#22476) libnghttp2: add version 1.59.0

---
 recipes/libnghttp2/all/conandata.yml | 3 +++
 recipes/libnghttp2/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libnghttp2/all/conandata.yml b/recipes/libnghttp2/all/conandata.yml
index a883c4b7d535a..66dd4333f96a2 100644
--- a/recipes/libnghttp2/all/conandata.yml
+++ b/recipes/libnghttp2/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.59.0":
+    url: "https://github.com/nghttp2/nghttp2/archive/v1.59.0.tar.gz"
+    sha256: "0dd5c980f1262ff5f03676fd99f46f250b66c842f7d864fa1ca9f8453e5f8868"
   "1.58.0":
     url: "https://github.com/nghttp2/nghttp2/archive/v1.58.0.tar.gz"
     sha256: "7da19947b33a07ddcf97b9791331bfee8a8545e6b394275a9971f43cae9d636b"
diff --git a/recipes/libnghttp2/config.yml b/recipes/libnghttp2/config.yml
index 9868faae8fd3c..3479f13f33830 100644
--- a/recipes/libnghttp2/config.yml
+++ b/recipes/libnghttp2/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.59.0":
+    folder: all
   "1.58.0":
     folder: all
   "1.57.0":

From c1ab317a6c1f872674eef0a5efda4952484f5799 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 22 Jan 2024 14:03:20 +0900
Subject: [PATCH 0941/1307] (#22487) libcurl: update dependencies

---
 recipes/libcurl/all/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py
index d2f7a3c31bd9a..942a9be8530db 100644
--- a/recipes/libcurl/all/conanfile.py
+++ b/recipes/libcurl/all/conanfile.py
@@ -174,9 +174,9 @@ def requirements(self):
         if self.options.with_ssl == "openssl":
             self.requires("openssl/[>=1.1 <4]")
         elif self.options.with_ssl == "wolfssl":
-            self.requires("wolfssl/5.6.3")
+            self.requires("wolfssl/5.6.6")
         if self.options.with_nghttp2:
-            self.requires("libnghttp2/1.58.0")
+            self.requires("libnghttp2/1.59.0")
         if self.options.with_libssh2:
             self.requires("libssh2/1.11.0")
         if self.options.with_zlib:
@@ -186,7 +186,7 @@ def requirements(self):
         if self.options.with_zstd:
             self.requires("zstd/1.5.5")
         if self.options.with_c_ares:
-            self.requires("c-ares/1.22.1")
+            self.requires("c-ares/1.25.0")
         if self.options.get_safe("with_libpsl"):
             self.requires("libpsl/0.21.1")
 

From 1239b6d149614f20f5b2733b7c6b16275494c107 Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Mon, 22 Jan 2024 09:55:38 +0000
Subject: [PATCH 0942/1307] (#22419) [bot] Update authorized users list
 (2024-01-18)

Co-authored-by: conan-center-bot 
---
 .c3i/authorized_users.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index 728bf5a4863bf..4e2bf8b8abec4 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1270,3 +1270,5 @@ authorized_users:
 - tomasz-wezyk
 - RaguzovaTatyana
 - st9007a
+- TheClockTwister
+- Taepper

From bda3c0c88e80e1fe1e38434224faea6fa7fb3c1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Francisco=20Ram=C3=ADrez?= 
Date: Mon, 22 Jan 2024 11:32:58 +0100
Subject: [PATCH 0943/1307] (#22440) [libvpx] iOS/arm* fix

* Fixing bad behavior for arch64 and iOS

* Validate message correction
---
 recipes/libvpx/all/conanfile.py | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/recipes/libvpx/all/conanfile.py b/recipes/libvpx/all/conanfile.py
index b2f09424321e7..e53344de221a5 100644
--- a/recipes/libvpx/all/conanfile.py
+++ b/recipes/libvpx/all/conanfile.py
@@ -69,8 +69,8 @@ def validate(self):
             raise ConanInvalidConfiguration(f"Unsupported compiler {self.settings.compiler}")
         if self.settings.os == "Macos" and self.settings.arch == "armv8" and Version(self.version) < "1.10.0":
             raise ConanInvalidConfiguration("M1 only supported since 1.10, please upgrade")
-        if self.settings.os == "iOS" and (self.settings.os.sdk != "iphonesimulator" or self.settings.arch not in ["x86_64", "x86"]):
-            raise ConanInvalidConfiguration("iOS target platform only supports 'iphonesimulator' SDK option and x86/x86_64 architectures")
+        if self.settings.os == "iOS" and (self.settings.os.sdk != "iphonesimulator" and self.settings.arch in ["x86_64", "x86"]):
+            raise ConanInvalidConfiguration("iOS platform with x86/x86_64 architectures only supports 'iphonesimulator' SDK option")
 
     def build_requirements(self):
         self.tool_requires("yasm/1.3.0")
@@ -91,6 +91,7 @@ def _target_name(self):
         arch = {'x86': 'x86',
                 'x86_64': 'x86_64',
                 'armv7': 'armv7',
+                'armv7s': 'armv7s',
                 'armv8': 'arm64',
                 'mips': 'mips32',
                 'mips64': 'mips64',
@@ -106,21 +107,18 @@ def _target_name(self):
             compiler = f"vs{vc_version}"
         elif self.settings.compiler in ["gcc", "clang", "apple-clang"]:
             compiler = 'gcc'
-
         host_os = str(self.settings.os)
         if host_os == 'Windows':
             os_name = 'win32' if self.settings.arch == 'x86' else 'win64'
         elif is_apple_os(self):
-            # Solves cross-building for iOS
-            # Issue related: https://github.com/conan-io/conan-center-index/issues/20513
-            if self.settings.os == "iOS":
-                os_name = 'iphonesimulator'
-            elif self.settings.arch in ["x86", "x86_64"]:
-                os_name = 'darwin11'
-            elif self.settings.arch == "armv8" and self.settings.os == "Macos":
-                os_name = 'darwin20'
+            if self.settings.arch in ["x86", "x86_64"]:
+                if self.settings.os == "Macos":
+                    os_name = f'darwin11'
+                else:
+                    os_name = 'iphonesimulator'
+            elif self.settings.arch == "armv8":
+                os_name = 'darwin21'
             else:
-                # Unrecognized toolchain 'arm64-darwin11-gcc', see list of toolchains in ./configure --help
                 os_name = 'darwin'
         elif host_os == 'Linux':
             os_name = 'linux'

From 3d501da8d2dcf59517d8fa50d067e9dc5cbf9d57 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Mon, 22 Jan 2024 11:45:15 +0100
Subject: [PATCH 0944/1307] (#22484) libe57format: disable warnings as errors

---
 recipes/libe57format/all/conanfile.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes/libe57format/all/conanfile.py b/recipes/libe57format/all/conanfile.py
index b93bf7c1a17a2..77d659af02459 100644
--- a/recipes/libe57format/all/conanfile.py
+++ b/recipes/libe57format/all/conanfile.py
@@ -69,10 +69,12 @@ def generate(self):
     def _patch_sources(self):
         replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
                         "POSITION_INDEPENDENT_CODE ON", "")
-        # Disable compiler warnings, which cause older versions of GCC to fail due to unrecognized flags
         if Version(self.version) >= "3.0":
+            # Disable compiler warnings, which cause older versions of GCC to fail due to unrecognized flags
             replace_in_file(self, os.path.join(self.source_folder, "cmake", "CompilerWarnings.cmake"),
                             " -W", " # -W")
+            # Disable warnings as errors
+            replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), "set_warning_as_error()", "")
 
     def build(self):
         self._patch_sources()

From ca3339b8367a47d79ea80489499e9337d221012f Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Mon, 22 Jan 2024 13:26:10 +0200
Subject: [PATCH 0945/1307] (#22447) libsystemd: correct
 required_conan_version, add v255.2

* libsystemd: correct required_conan_version, add v255.2

* libsystemd: apply patches correctly
---
 recipes/libsystemd/all/conandata.yml | 7 +++++++
 recipes/libsystemd/all/conanfile.py  | 2 +-
 recipes/libsystemd/config.yml        | 2 ++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml
index e4def90fd702a..83ec00dfb06e8 100644
--- a/recipes/libsystemd/all/conandata.yml
+++ b/recipes/libsystemd/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "255.2":
+    url: "https://github.com/systemd/systemd-stable/archive/v255.2.tar.gz"
+    sha256: "ba7354a742dc9a8bb7dbeaa40cbf7cf2ca84f506d5b7ae5ab8d14c8eecb7aca0"
   "255":
     url: "https://github.com/systemd/systemd-stable/archive/v255.tar.gz"
     sha256: "a3eb766ee96eb9f4cc25c2a6c933f3299e1b7ae22e72507dade0a5c86d92534f"
@@ -30,6 +33,10 @@ sources:
     url: "https://github.com/systemd/systemd-stable/archive/v246.16.tar.gz"
     sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2"
 patches:
+  "255.2":
+    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+      patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
+      patch_type: "conan"
   "255":
     - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py
index 0529c3adb62c2..e5501372e20b5 100644
--- a/recipes/libsystemd/all/conanfile.py
+++ b/recipes/libsystemd/all/conanfile.py
@@ -11,7 +11,7 @@
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.scm import Version
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.60.0"
 
 
 class LibsystemdConan(ConanFile):
diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml
index 53e3ab4f8fc90..fb6ca133775a2 100644
--- a/recipes/libsystemd/config.yml
+++ b/recipes/libsystemd/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "255.2":
+    folder: all
   "255":
     folder: all
   "253.14":

From f6e7ba31774893236d6e3fb8453ae1b32c444bc9 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Mon, 22 Jan 2024 12:41:02 +0100
Subject: [PATCH 0946/1307] (#22437) qt5: fix qt3D without qtgamepad

* qt5: fix qt3D without qtgamepad

cf https://github.com/qt/qt3d/blob/v5.15.12-lts-lgpl/src/input/frontend/frontend.pri#L82
fixes conan-io/conan-center-index#22435

* bump deps
---
 recipes/qt/5.x.x/conanfile.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py
index c3ba904144ea5..ff873bf5ea419 100644
--- a/recipes/qt/5.x.x/conanfile.py
+++ b/recipes/qt/5.x.x/conanfile.py
@@ -360,9 +360,9 @@ def requirements(self):
         if self.options.get_safe("with_freetype", False) and not self.options.multiconfiguration:
             self.requires("freetype/2.13.2")
         if self.options.get_safe("with_fontconfig", False):
-            self.requires("fontconfig/2.14.2")
+            self.requires("fontconfig/2.15.0")
         if self.options.get_safe("with_icu", False):
-            self.requires("icu/74.1")
+            self.requires("icu/74.2")
         if self.options.get_safe("with_harfbuzz", False) and not self.options.multiconfiguration:
             self.requires("harfbuzz/8.3.0")
         if self.options.get_safe("with_libjpeg", False) and not self.options.multiconfiguration:
@@ -373,7 +373,7 @@ def requirements(self):
         if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration:
             self.requires("libpng/1.6.40")
         if self.options.with_sqlite3 and not self.options.multiconfiguration:
-            self.requires("sqlite3/3.44.2")
+            self.requires("sqlite3/3.45.0")
         if self.options.get_safe("with_mysql", False):
             self.requires("libmysqlclient/8.1.0")
         if self.options.with_pq:
@@ -400,7 +400,7 @@ def requirements(self):
                 self.requires("xorg-proto/2022.2")
             self.requires("libxshmfence/1.3")
             self.requires("nss/3.93")
-            self.requires("libdrm/2.4.114")
+            self.requires("libdrm/2.4.119")
             self.requires("egl/system")
         if self.options.get_safe("with_gstreamer", False):
             self.requires("gst-plugins-base/1.19.2")
@@ -413,7 +413,7 @@ def requirements(self):
         if self.settings.os in ['Linux', 'FreeBSD'] and self.options.with_gssapi:
             self.requires("krb5/1.18.3") # conan-io/conan-center-index#4102
         if self.options.get_safe("with_atspi"):
-            self.requires("at-spi2-core/2.50.0")
+            self.requires("at-spi2-core/2.51.0")
         if self.options.get_safe("with_md4c", False):
             self.requires("md4c/0.4.8")
 
@@ -1341,7 +1341,7 @@ def _create_plugin(pluginname, libname, plugintype, requires):
             _create_plugin("Scene2DPlugin", "scene2d", "renderplugins", [])
 
             _create_module("3DAnimation", ["3DRender", "3DCore", "Gui"])
-            _create_module("3DInput", ["3DCore", "Gamepad", "Gui"])
+            _create_module("3DInput", ["3DCore", "Gui"] + (["Gamepad"] if self.options.qtgamepad else []))
             _create_module("3DLogic", ["3DCore", "Gui"])
             _create_module("3DExtras", ["3DRender", "3DInput", "3DLogic", "3DCore", "Gui"])
             _create_module("3DQuick", ["3DCore", "Quick", "Gui", "Qml"])

From 6333873397d8c914c381927c02e261d227efd0cb Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Mon, 22 Jan 2024 12:12:51 +0000
Subject: [PATCH 0947/1307] (#22492) [bot] Update authorized users list
 (2024-01-22)

Co-authored-by: conan-center-bot 
---
 .c3i/authorized_users.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index 4e2bf8b8abec4..d5beb3f10c604 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1272,3 +1272,6 @@ authorized_users:
 - st9007a
 - TheClockTwister
 - Taepper
+- anthonyliot
+- obnyis
+- johningve

From 000b5e36cc89f863a8f23868596840c62cdfe3e8 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 22 Jan 2024 21:31:32 +0900
Subject: [PATCH 0948/1307] (#22451) spdlog: update fmt

---
 recipes/spdlog/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py
index 82eb2fb07b1de..f48df9bb2bbe0 100644
--- a/recipes/spdlog/all/conanfile.py
+++ b/recipes/spdlog/all/conanfile.py
@@ -57,7 +57,7 @@ def requirements(self):
         fmt_version = "7.1.3"
 
         if self_version >= "1.12.0":
-            fmt_version = "10.2.0"
+            fmt_version = "10.2.1"
         elif self_version >= "1.11.0":
             fmt_version = "10.0.0"
         elif self_version >= "1.10.0":

From 2c5cd7dccb4d274d5eb53e54f4b528f6971b5d9a Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 22 Jan 2024 21:42:57 +0900
Subject: [PATCH 0949/1307] (#22469) libmicrohttpd: fix pkg_config_name

---
 recipes/libmicrohttpd/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/libmicrohttpd/all/conanfile.py b/recipes/libmicrohttpd/all/conanfile.py
index c81f9e360d523..93b7eea08cff3 100644
--- a/recipes/libmicrohttpd/all/conanfile.py
+++ b/recipes/libmicrohttpd/all/conanfile.py
@@ -175,7 +175,7 @@ def package(self):
             fix_apple_shared_install_name(self)
 
     def package_info(self):
-        self.cpp_info.set_property("pkg_config_name", "libmicrohttps")
+        self.cpp_info.set_property("pkg_config_name", "libmicrohttpd")
         libname = "microhttpd"
         if is_msvc(self):
             libname = "libmicrohttpd"

From 6a85543691627bd8c3cc6bd49c3937a5f3bcc7d0 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Mon, 22 Jan 2024 14:10:47 +0100
Subject: [PATCH 0950/1307] (#22477) copypp: fix min msvc version

---
 recipes/copypp/all/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/copypp/all/conanfile.py b/recipes/copypp/all/conanfile.py
index 9f6b782973eb5..c70109c5ba246 100644
--- a/recipes/copypp/all/conanfile.py
+++ b/recipes/copypp/all/conanfile.py
@@ -24,14 +24,14 @@ class BasicConanfile(ConanFile):
     @property
     def _min_cppstd(self):
         return 20
-    
+
     @property
     def _compilers_minimum_version(self):
         return {
             "apple-clang": "15",
             "clang": "13",
             "gcc": "11",
-            "msvc": "19.3",
+            "msvc": "193",
             "Visual Studio": "17",
         }
 
@@ -44,7 +44,7 @@ def package_id(self):
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, self._min_cppstd)
-            
+
         minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
         if minimum_version and Version(self.settings.compiler.version) < minimum_version:
             raise ConanInvalidConfiguration(

From 854f746cfb249aa88699c0999085b13786dd7f61 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Mon, 22 Jan 2024 14:21:24 +0100
Subject: [PATCH 0951/1307] (#22480) cairomm: relocatable shared lib on macOS

---
 recipes/cairomm/all/conanfile.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes/cairomm/all/conanfile.py b/recipes/cairomm/all/conanfile.py
index 96f403d024d1e..3b77adb9dbed4 100644
--- a/recipes/cairomm/all/conanfile.py
+++ b/recipes/cairomm/all/conanfile.py
@@ -4,7 +4,7 @@
 
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.apple import is_apple_os
+from conan.tools.apple import fix_apple_shared_install_name, is_apple_os
 from conan.tools.build import check_min_cppstd, cross_building
 from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import copy, get, rename, replace_in_file, rm, rmdir
@@ -140,6 +140,8 @@ def package(self):
         for dir_to_remove in ["pkgconfig", f"cairomm-{self._abi_version}"]:
             rmdir(self, os.path.join(self.package_folder, "lib", dir_to_remove))
 
+        fix_apple_shared_install_name(self)
+
     def package_info(self):
         name = f"cairomm-{self._abi_version}"
         self.cpp_info.components[name].set_property("pkg_config_name", name)

From f1f19eabb0f7ba67183efa5338af5075b8f10f90 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Mon, 22 Jan 2024 14:31:40 +0100
Subject: [PATCH 0952/1307] (#22481) lksctp-tools: add libtool in build
 requirements

autoreconf is called in build(), therefore libtool is a build requirement
---
 recipes/lksctp-tools/all/conanfile.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/recipes/lksctp-tools/all/conanfile.py b/recipes/lksctp-tools/all/conanfile.py
index c114e01dc9df2..00f9a40b4e58b 100644
--- a/recipes/lksctp-tools/all/conanfile.py
+++ b/recipes/lksctp-tools/all/conanfile.py
@@ -1,5 +1,6 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
+from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import get, chdir, copy, rm, rmdir
 from conan.tools.gnu import Autotools, AutotoolsToolchain
 from conan.tools.layout import basic_layout
@@ -34,17 +35,21 @@ def configure(self):
         self.settings.rm_safe("compiler.cppstd")
         self.settings.rm_safe("compiler.libcxx")
 
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
     def validate(self):
         if self.settings.os != "Linux":
             raise ConanInvalidConfiguration(f"{self.ref} is only available on Linux")
 
-    def layout(self):
-        basic_layout(self, src_folder="src")
+    def build_requirements(self):
+        self.tool_requires("libtool/2.4.7")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
+        VirtualBuildEnv(self).generate()
         tc = AutotoolsToolchain(self)
         tc.configure_args.extend([
             "--disable-tests",

From 9dd308330ab68abdcf526eadbb8b33abdd6bf882 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= 
Date: Mon, 22 Jan 2024 14:42:02 +0100
Subject: [PATCH 0953/1307] (#22491) arrow: add version 15.0.0

---
 recipes/arrow/all/conandata.yml | 3 +++
 recipes/arrow/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/arrow/all/conandata.yml b/recipes/arrow/all/conandata.yml
index 4edf7cbfb21e7..5521daf96b996 100644
--- a/recipes/arrow/all/conandata.yml
+++ b/recipes/arrow/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "15.0.0":
+    url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-15.0.0/apache-arrow-15.0.0.tar.gz?action=download"
+    sha256: "01dd3f70e85d9b5b933ec92c0db8a4ef504a5105f78d2d8622e84279fb45c25d"
   "14.0.2":
     url: "https://www.apache.org/dyn/closer.lua/arrow/arrow-14.0.2/apache-arrow-14.0.2.tar.gz?action=download"
     sha256: "1304dedb41896008b89fe0738c71a95d9b81752efc77fa70f264cb1da15d9bc2"
diff --git a/recipes/arrow/config.yml b/recipes/arrow/config.yml
index c3c169ecfec73..fdbc85ca26541 100644
--- a/recipes/arrow/config.yml
+++ b/recipes/arrow/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "15.0.0":
+    folder: all
   "14.0.2":
     folder: all
   "14.0.1":

From acc9ab337d93d0c52739e7e32fcd54c4c9dd76c6 Mon Sep 17 00:00:00 2001
From: Daniel 
Date: Mon, 22 Jan 2024 17:30:00 +0200
Subject: [PATCH 0954/1307] (#22495) [config] Update conan version to 1.62.0
 and 2.0.16

---
 .c3i/config_v1.yml | 2 +-
 .c3i/config_v2.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml
index bc13119efc515..9f1e9165a4c48 100644
--- a/.c3i/config_v1.yml
+++ b/.c3i/config_v1.yml
@@ -3,7 +3,7 @@
 id: 'conan-io/conan-center-index'
 
 conan:
-  version: 1.61.0
+  version: 1.62.0
 
 artifactory:
   url: "https://c3i.jfrog.io/c3i"
diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml
index 14bd7fa1314b4..ddc9a435fe82a 100644
--- a/.c3i/config_v2.yml
+++ b/.c3i/config_v2.yml
@@ -3,7 +3,7 @@
 id: 'conan-io/conan-center-index'
 
 conan:
-  version: 2.0.12
+  version: 2.0.16
   backup_sources:
     upload_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/"
     download_url: "https://c3i.jfrog.io/artifactory/conan-center-backup-sources/"

From 4d858fdbbb2ec39987a618a0de10c4b1f2b5ad5f Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 02:45:53 +0900
Subject: [PATCH 0955/1307] (#22382) libxmlpp: add version 5.2.0

* libxmlpp: add version 5.2.0

* update libxml2
---
 recipes/libxmlpp/all/conandata.yml            |  8 +++++++
 recipes/libxmlpp/all/conanfile.py             |  2 +-
 ....0-0001-enable_static_builds_on_msvc.patch | 21 +++++++++++++++++++
 recipes/libxmlpp/config.yml                   |  2 ++
 4 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 recipes/libxmlpp/all/patches/5.2.0-0001-enable_static_builds_on_msvc.patch

diff --git a/recipes/libxmlpp/all/conandata.yml b/recipes/libxmlpp/all/conandata.yml
index 70b3ca66d954f..b93f808923cc5 100644
--- a/recipes/libxmlpp/all/conandata.yml
+++ b/recipes/libxmlpp/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "5.2.0":
+    url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.2.0/libxml++-5.2.0.tar.xz"
+    sha256: "e41b8eae55210511585ae638615f00db7f982c0edea94699865f582daf03b44f"
   "5.0.3":
     url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/5.0.3/libxml++-5.0.3.tar.xz"
     sha256: "13074f59e3288a378cafe9e6847df17f764c23fa29bc94f3305b8bf81efb2cf7"
@@ -9,6 +12,11 @@ sources:
     url: "https://github.com/libxmlplusplus/libxmlplusplus/releases/download/2.42.1/libxml++-2.42.1.tar.xz"
     sha256: "9b59059abe5545d28ceb388a55e341095f197bd219c73e6623aeb6d801e00be8"
 patches:
+  "5.2.0":
+    - patch_file: "patches/5.2.0-0001-enable_static_builds_on_msvc.patch"
+      patch_type: "portability"
+      patch_description: "Manage dllexport correctly to be able to build static libraries on MSVC"
+      patch_source: "https://github.com/libxmlplusplus/libxmlplusplus/commit/2a2825c67a30ea34f3514659bfd91111db8e009d.patch"
   "5.0.3":
     - patch_file: "patches/5.0.3-0001-enable_static_builds_on_msvc.patch"
       patch_type: "portability"
diff --git a/recipes/libxmlpp/all/conanfile.py b/recipes/libxmlpp/all/conanfile.py
index 4a4582e3b0921..b79b459f36df3 100644
--- a/recipes/libxmlpp/all/conanfile.py
+++ b/recipes/libxmlpp/all/conanfile.py
@@ -53,7 +53,7 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("libxml2/2.12.3")
+        self.requires("libxml2/2.12.4")
         if Version(self.version) <= "2.42.1":
             self.requires("glibmm/2.66.4", transitive_headers=True, transitive_libs=True)
         else:
diff --git a/recipes/libxmlpp/all/patches/5.2.0-0001-enable_static_builds_on_msvc.patch b/recipes/libxmlpp/all/patches/5.2.0-0001-enable_static_builds_on_msvc.patch
new file mode 100644
index 0000000000000..f95ca04ba12f6
--- /dev/null
+++ b/recipes/libxmlpp/all/patches/5.2.0-0001-enable_static_builds_on_msvc.patch
@@ -0,0 +1,21 @@
+diff --git a/meson.build b/meson.build
+index e4b27ed..1e7288c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -356,11 +356,11 @@ library_build_type = get_option('default_library')
+ pkg_conf_data.set('LIBXMLXX_STATIC', library_build_type == 'static')
+ 
+ 
+-if cpp_compiler.get_argument_syntax() == 'msvc'
+-  if library_build_type == 'both'
+-    error('Dynamic+Static builds are not supported by MSVC-style builds')
+-  endif
+-endif
++#if cpp_compiler.get_argument_syntax() == 'msvc'
++#  if library_build_type == 'both'
++#    error('Dynamic+Static builds are not supported by MSVC-style builds')
++#  endif
++#endif
+ 
+ configure_file(
+   input: 'libxml++.pc.in',
diff --git a/recipes/libxmlpp/config.yml b/recipes/libxmlpp/config.yml
index 884c9a00e9000..9005a59d2fb31 100644
--- a/recipes/libxmlpp/config.yml
+++ b/recipes/libxmlpp/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "5.2.0":
+    folder: all
   "5.0.3":
     folder: all
   "5.0.1":

From 86e23d5ef60a8e0922d7ae29e030195c2da2d25d Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Mon, 22 Jan 2024 19:56:21 +0200
Subject: [PATCH 0956/1307] (#22380) gperftools: fix missing libcxx dependency

* gperftools: fix missing libcxx dependency

* gperftools: use tc_version() to get the version in test_pckage

Co-authored-by: ericLemanissier 

---------

Co-authored-by: ericLemanissier 
---
 recipes/gperftools/all/conanfile.py                      | 4 +++-
 recipes/gperftools/all/test_package/CMakeLists.txt       | 9 ++++-----
 .../test_package/{test_package.cpp => test_package.c}    | 8 ++++----
 3 files changed, 11 insertions(+), 10 deletions(-)
 rename recipes/gperftools/all/test_package/{test_package.cpp => test_package.c} (57%)

diff --git a/recipes/gperftools/all/conanfile.py b/recipes/gperftools/all/conanfile.py
index 74afc04ddfcc6..7f78bb711b730 100644
--- a/recipes/gperftools/all/conanfile.py
+++ b/recipes/gperftools/all/conanfile.py
@@ -1,7 +1,7 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun
-from conan.tools.build import cross_building, check_min_cppstd
+from conan.tools.build import cross_building, check_min_cppstd, stdcpp_library
 from conan.tools.cmake import cmake_layout
 from conan.tools.env import VirtualRunEnv
 from conan.tools.files import get, copy, rm, rmdir, replace_in_file
@@ -196,6 +196,8 @@ def package(self):
     def _add_component(self, lib):
         self.cpp_info.components[lib].libs = [lib]
         self.cpp_info.components[lib].set_property("pkg_config_name", f"lib{lib}")
+        if stdcpp_library(self):
+            self.cpp_info.components[lib].system_libs.append(stdcpp_library(self))
 
     def package_info(self):
         self._add_component("tcmalloc_minimal")
diff --git a/recipes/gperftools/all/test_package/CMakeLists.txt b/recipes/gperftools/all/test_package/CMakeLists.txt
index 0f311015a73f5..5baf67b50cd5e 100644
--- a/recipes/gperftools/all/test_package/CMakeLists.txt
+++ b/recipes/gperftools/all/test_package/CMakeLists.txt
@@ -1,12 +1,11 @@
 cmake_minimum_required(VERSION 3.15)
-project(test_package LANGUAGES CXX)
+project(test_package LANGUAGES C)
 
 find_package(gperftools REQUIRED CONFIG)
 
-add_executable(${PROJECT_NAME} test_package.cpp)
+add_executable(${PROJECT_NAME} test_package.c)
 target_link_libraries(${PROJECT_NAME} PRIVATE gperftools::gperftools)
-target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
 
-add_executable(${PROJECT_NAME}_minimal test_package.cpp)
+add_executable(${PROJECT_NAME}_minimal test_package.c)
 target_link_libraries(${PROJECT_NAME}_minimal PRIVATE gperftools::tcmalloc_minimal)
-target_compile_features(${PROJECT_NAME}_minimal PRIVATE cxx_std_11)
+
diff --git a/recipes/gperftools/all/test_package/test_package.cpp b/recipes/gperftools/all/test_package/test_package.c
similarity index 57%
rename from recipes/gperftools/all/test_package/test_package.cpp
rename to recipes/gperftools/all/test_package/test_package.c
index ee9b96dfbc3cd..1c8031c880cd6 100644
--- a/recipes/gperftools/all/test_package/test_package.cpp
+++ b/recipes/gperftools/all/test_package/test_package.c
@@ -1,12 +1,12 @@
 #include 
 
-#include 
-#include 
-#include 
+#include 
+#include 
+#include 
 
 int main() {
     void *p = tc_malloc(100);
     tc_free(p);
-    std::cout << TC_VERSION_STRING << std::endl;
+    puts(tc_version(NULL, NULL, NULL));
     return p == 0 ? EXIT_FAILURE : EXIT_SUCCESS;
 }

From b4365fe69fb96d4db354fa7a9582d0aba6bb96ad Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Mon, 22 Jan 2024 22:34:51 +0200
Subject: [PATCH 0957/1307] (#21905) nasm: add v2.16.01

* nasm: add v2.16.01

* nasm: update and apply patch from v2.15
---
 recipes/nasm/all/conandata.yml                |  5 +++
 recipes/nasm/all/conanfile.py                 | 28 ++++++++-------
 ...newly-integrated-dependency-tracking.patch | 34 +++++++++++++++++++
 recipes/nasm/all/test_package/conanfile.py    |  7 +++-
 recipes/nasm/config.yml                       |  2 ++
 5 files changed, 62 insertions(+), 14 deletions(-)
 create mode 100644 recipes/nasm/all/patches/2.16.01-0001-disable-newly-integrated-dependency-tracking.patch

diff --git a/recipes/nasm/all/conandata.yml b/recipes/nasm/all/conandata.yml
index c97415979c9f2..86a26c26eef1a 100644
--- a/recipes/nasm/all/conandata.yml
+++ b/recipes/nasm/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.16.01":
+    sha256: "c77745f4802375efeee2ec5c0ad6b7f037ea9c87c92b149a9637ff099f162558"
+    url: "https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz"
   "2.15.05":
     sha256: "3caf6729c1073bf96629b57cee31eeb54f4f8129b01902c73428836550b30a3f"
     url: "https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.xz"
@@ -12,5 +15,7 @@ sources:
     sha256: "aa0213008f0433ecbe07bb628506a5c4be8079be20fc3532a5031fd639db9a5e"
     url: "https://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.xz"
 patches:
+  "2.16.01":
+    - patch_file: "patches/2.16.01-0001-disable-newly-integrated-dependency-tracking.patch"
   "2.15.05":
     - patch_file: "patches/2.15.05-0001-disable-newly-integrated-dependency-tracking.patch"
diff --git a/recipes/nasm/all/conanfile.py b/recipes/nasm/all/conanfile.py
index f570e673ace4d..16c994e86edd0 100644
--- a/recipes/nasm/all/conanfile.py
+++ b/recipes/nasm/all/conanfile.py
@@ -83,19 +83,20 @@ def build(self):
             with chdir(self, self.source_folder):
                 self.run(f'nmake /f {os.path.join("Mkfiles", "msvc.mak")}')
         else:
-            autotools = Autotools(self)
-            autotools.configure()
+            with chdir(self, self.source_folder):
+                autotools = Autotools(self)
+                autotools.configure()
 
-            # GCC9 - "pure" attribute on function returning "void"
-            replace_in_file(self, "Makefile", "-Werror=attributes", "")
+                # GCC9 - "pure" attribute on function returning "void"
+                replace_in_file(self, "Makefile", "-Werror=attributes", "")
 
-            # Need "-arch" flag for the linker when cross-compiling.
-            # FIXME: Revisit after https://github.com/conan-io/conan/issues/9069, using new Autotools integration
-            # TODO it is time to revisit, not sure what to do here though...
-            if str(self.version).startswith("2.13"):
-                replace_in_file(self, "Makefile", "$(CC) $(LDFLAGS) -o", "$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o")
-                replace_in_file(self, "Makefile", "$(INSTALLROOT)", "$(DESTDIR)")
-            autotools.make()
+                # Need "-arch" flag for the linker when cross-compiling.
+                # FIXME: Revisit after https://github.com/conan-io/conan/issues/9069, using new Autotools integration
+                # TODO it is time to revisit, not sure what to do here though...
+                if str(self.version).startswith("2.13"):
+                    replace_in_file(self, "Makefile", "$(CC) $(LDFLAGS) -o", "$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o")
+                    replace_in_file(self, "Makefile", "$(INSTALLROOT)", "$(DESTDIR)")
+                autotools.make()
 
     def package(self):
         copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
@@ -105,8 +106,9 @@ def package(self):
                 shutil.copy2("nasm.exe", "nasmw.exe")
                 shutil.copy2("ndisasm.exe", "ndisasmw.exe")
         else:
-            autotools = Autotools(self)
-            autotools.install()
+            with chdir(self, self.source_folder):
+                autotools = Autotools(self)
+                autotools.install()
             rmdir(self, os.path.join(self.package_folder, "share"))
         self._chmod_plus_x(self._nasm)
         self._chmod_plus_x(self._ndisasm)
diff --git a/recipes/nasm/all/patches/2.16.01-0001-disable-newly-integrated-dependency-tracking.patch b/recipes/nasm/all/patches/2.16.01-0001-disable-newly-integrated-dependency-tracking.patch
new file mode 100644
index 0000000000000..b65e6fbc40d86
--- /dev/null
+++ b/recipes/nasm/all/patches/2.16.01-0001-disable-newly-integrated-dependency-tracking.patch
@@ -0,0 +1,34 @@
+--- Mkfiles/msvc.mak
++++ Mkfiles/msvc.mak
+@@ -226,7 +226,7 @@
+ x86\regs.h: x86\regs.dat x86\regs.pl
+ 	$(RUNPERL) $(srcdir)\x86\regs.pl h \
+ 		$(srcdir)\x86\regs.dat > x86\regs.h
+-
++!IF 0
+ # Extract warnings from source code. This is done automatically if any
+ # C files have changed; the script is fast enough that that is
+ # reasonable, but doesn't update the time stamp if the files aren't
+@@ -262,7 +262,7 @@
+ 
+ doc\warnings.src : doc\warnings.src.time
+ 	@: Side effect
+-
++!ENDIF
+ # Assembler token hash
+ asm\tokhash.c: x86\insns.dat x86\insnsn.c asm\tokens.dat asm\tokhash.pl \
+ 	perllib\phash.ph
+@@ -402,7 +402,7 @@
+ # @exclude: "config/config.h"
+ # @external: "msvc.dep"
+ # @selfrule: "1"
+-#-- Everything below is generated by mkdep.pl - do not edit --#
++!IF 0
+ asm\assemble.$(O): asm\assemble.c asm\assemble.h asm\directiv.h \
+  asm\listing.h asm\pptok.h asm\preproc.h asm\srcfile.h asm\tokens.h \
+  config\msvc.h config\unconfig.h config\unknown.h config\watcom.h \
+@@ -854,3 +854,4 @@
+ x86\regvals.$(O): x86\regvals.c config\msvc.h config\unconfig.h \
+  config\unknown.h config\watcom.h include\compiler.h include\nasmint.h \
+  include\tables.h x86\insnsi.h
++!ENDIF
diff --git a/recipes/nasm/all/test_package/conanfile.py b/recipes/nasm/all/test_package/conanfile.py
index 8ec69275ade00..87cdd6462f79f 100644
--- a/recipes/nasm/all/test_package/conanfile.py
+++ b/recipes/nasm/all/test_package/conanfile.py
@@ -1,6 +1,8 @@
+import os
+
 from conan import ConanFile
 from conan.tools.build import can_run
-import os
+from conan.tools.cmake import cmake_layout
 
 
 class TestPackageConan(ConanFile):
@@ -11,6 +13,9 @@ class TestPackageConan(ConanFile):
     def build_requirements(self):
         self.tool_requires(self.tested_reference_str)
 
+    def layout(self):
+        cmake_layout(self)
+
     def test(self):
         self.run("nasm --version")
         asm_file = os.path.join(self.source_folder, "hello_linux.asm")
diff --git a/recipes/nasm/config.yml b/recipes/nasm/config.yml
index 2034e05cda1be..70e3f3ec75d45 100644
--- a/recipes/nasm/config.yml
+++ b/recipes/nasm/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.16.01":
+    folder: all
   "2.15.05":
     folder: all
   "2.14":

From d4b8aa1d9e72fe469d461fa40e3ceee24caf0734 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 05:59:18 +0900
Subject: [PATCH 0958/1307] (#22384) md4c: add version 0.5.1, add patch_type

* md4c: add version 0.5.0

* update 0.5.1

* rename patch file
---
 recipes/md4c/all/conandata.yml                | 10 ++++++-
 recipes/md4c/all/conanfile.py                 |  2 +-
 ...atch => 0.4.8-0001-honor-vc-runtime.patch} |  0
 .../patches/0.5.1-0001-honor-vc-runtime.patch | 29 +++++++++++++++++++
 recipes/md4c/config.yml                       |  2 ++
 5 files changed, 41 insertions(+), 2 deletions(-)
 rename recipes/md4c/all/patches/{0001-honor-vc-runtime.patch => 0.4.8-0001-honor-vc-runtime.patch} (100%)
 create mode 100644 recipes/md4c/all/patches/0.5.1-0001-honor-vc-runtime.patch

diff --git a/recipes/md4c/all/conandata.yml b/recipes/md4c/all/conandata.yml
index 013088e384ddf..370a89be42a32 100644
--- a/recipes/md4c/all/conandata.yml
+++ b/recipes/md4c/all/conandata.yml
@@ -1,8 +1,16 @@
 sources:
+  "0.5.1":
+    url: "https://github.com/mity/md4c/archive/refs/tags/release-0.5.1.tar.gz"
+    sha256: "2dca17c6175a7f11182943079c2a4f9adb5071433e3d3d05ba801ff794993f34"
   "0.4.8":
     url: "https://github.com/mity/md4c/archive/refs/tags/release-0.4.8.tar.gz"
     sha256: "4a457df853425b6bb6e3457aa1d1a13bccec587a04c38c622b1013a0da41439f"
 patches:
+  "0.5.1":
+    - patch_file: "patches/0.5.1-0001-honor-vc-runtime.patch"
+      patch_description: "Honor msvc runtime from profile"
+      patch_type: "conan"
   "0.4.8":
-    - patch_file: "patches/0001-honor-vc-runtime.patch"
+    - patch_file: "patches/0.4.8-0001-honor-vc-runtime.patch"
       patch_description: "Honor msvc runtime from profile"
+      patch_type: "conan"
diff --git a/recipes/md4c/all/conanfile.py b/recipes/md4c/all/conanfile.py
index ad333104761a5..554edcc0d2057 100644
--- a/recipes/md4c/all/conanfile.py
+++ b/recipes/md4c/all/conanfile.py
@@ -12,9 +12,9 @@ class Md4cConan(ConanFile):
     name = "md4c"
     description = "C Markdown parser. Fast. SAX-like interface. Compliant to CommonMark specification."
     license = "MIT"
-    topics = ("markdown-parser", "markdown")
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/mity/md4c"
+    topics = ("markdown-parser", "markdown")
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
diff --git a/recipes/md4c/all/patches/0001-honor-vc-runtime.patch b/recipes/md4c/all/patches/0.4.8-0001-honor-vc-runtime.patch
similarity index 100%
rename from recipes/md4c/all/patches/0001-honor-vc-runtime.patch
rename to recipes/md4c/all/patches/0.4.8-0001-honor-vc-runtime.patch
diff --git a/recipes/md4c/all/patches/0.5.1-0001-honor-vc-runtime.patch b/recipes/md4c/all/patches/0.5.1-0001-honor-vc-runtime.patch
new file mode 100644
index 0000000000000..a6ad62492c9da
--- /dev/null
+++ b/recipes/md4c/all/patches/0.5.1-0001-honor-vc-runtime.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index be781e5..c60da0a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,15 +46,15 @@ elseif(MSVC)
+     # Disable warnings about the so-called unsecured functions:
+     add_definitions(/D_CRT_SECURE_NO_WARNINGS /W3)
+ 
+-    # Specify proper C runtime library:
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELWITHDEBINFO "{$CMAKE_C_FLAGS_RELWITHDEBINFO}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
+-    set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
+-    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
+-    set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /MT")
+-    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /MT")
++#    # Specify proper C runtime library:
++#    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
++#    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
++#    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELWITHDEBINFO "{$CMAKE_C_FLAGS_RELWITHDEBINFO}")
++#    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
++#    set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
++#    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
++#    set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /MT")
++#    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /MT")
+ endif()
+ 
+ include(GNUInstallDirs)
diff --git a/recipes/md4c/config.yml b/recipes/md4c/config.yml
index e89d9145fbd26..01472ee72ef90 100644
--- a/recipes/md4c/config.yml
+++ b/recipes/md4c/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "0.5.1":
+    folder: all
   "0.4.8":
     folder: all

From 1f272bb21cf5273fbd191173269cc4e38b0d476f Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Mon, 22 Jan 2024 23:19:38 +0200
Subject: [PATCH 0959/1307] (#22401) flux: new recipe

---
 recipes/flux/all/conandata.yml                |  4 +
 recipes/flux/all/conanfile.py                 | 77 +++++++++++++++++++
 recipes/flux/all/test_package/CMakeLists.txt  |  8 ++
 recipes/flux/all/test_package/conanfile.py    | 26 +++++++
 .../flux/all/test_package/test_package.cpp    |  9 +++
 recipes/flux/config.yml                       |  3 +
 6 files changed, 127 insertions(+)
 create mode 100644 recipes/flux/all/conandata.yml
 create mode 100644 recipes/flux/all/conanfile.py
 create mode 100644 recipes/flux/all/test_package/CMakeLists.txt
 create mode 100644 recipes/flux/all/test_package/conanfile.py
 create mode 100644 recipes/flux/all/test_package/test_package.cpp
 create mode 100644 recipes/flux/config.yml

diff --git a/recipes/flux/all/conandata.yml b/recipes/flux/all/conandata.yml
new file mode 100644
index 0000000000000..da78f9215ab45
--- /dev/null
+++ b/recipes/flux/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "cci.20240115":
+    url: "https://codeload.github.com/tcbrindle/flux/zip/e942a678ed3b46c7f7ffeebe47eed5c5bec005b2"
+    sha256: "3832fb160417d14cfb3636c8edab04b2d0cd6c230b4d474a18bb1389fa1c3b8f"
diff --git a/recipes/flux/all/conanfile.py b/recipes/flux/all/conanfile.py
new file mode 100644
index 0000000000000..275dd18e535b9
--- /dev/null
+++ b/recipes/flux/all/conanfile.py
@@ -0,0 +1,77 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import copy, get
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import is_msvc
+from conan.tools.scm import Version
+import os
+
+
+required_conan_version = ">=1.52.0"
+
+
+class PackageConan(ConanFile):
+    name = "flux"
+    description = ("Flux is an experimental C++20 library for working with sequences of values. "
+                   "It offers similar facilities to C++20 ranges, D ranges, Python itertools, "
+                   "Rust iterators and related libraries for other languages.")
+    license = "BSL-1.0"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/tcbrindle/flux"
+    topics = ("algorithms", "collections", "sequences", "ranges", "header-only")
+
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        # https://github.com/tcbrindle/flux/blob/e942a678/CMakeLists.txt#L21
+        if is_msvc(self):
+            return 23
+        return 20
+
+    @property
+    def _compilers_minimum_version(self):
+        # https://github.com/tcbrindle/flux?tab=readme-ov-file#compiler-support
+        return {
+            "apple-clang": "15",
+            "clang": "16",
+            "gcc": "11",
+            "msvc": "193",
+            "Visual Studio": "17",
+        }
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def build(self):
+        pass
+
+    def package(self):
+        copy(self, "LICENSE_1_0.txt", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        copy(self, "*", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include"))
+
+    def package_info(self):
+        self.cpp_info.set_property("cmake_file_name", "flux")
+        self.cpp_info.set_property("cmake_target_name", "flux::flux")
+
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
+
diff --git a/recipes/flux/all/test_package/CMakeLists.txt b/recipes/flux/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..584da8ad2d297
--- /dev/null
+++ b/recipes/flux/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(flux REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE flux::flux)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
diff --git a/recipes/flux/all/test_package/conanfile.py b/recipes/flux/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..3a91c9439218e
--- /dev/null
+++ b/recipes/flux/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/flux/all/test_package/test_package.cpp b/recipes/flux/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..54a70bdd39bbc
--- /dev/null
+++ b/recipes/flux/all/test_package/test_package.cpp
@@ -0,0 +1,9 @@
+#include 
+
+int main() {
+    constexpr auto result = flux::from(std::array{1, 2, 3, 4, 5})
+                             .filter(flux::pred::even)
+                             .map([](int i) { return i * 2; })
+                             .sum();
+    static_assert(result == 12);
+}
diff --git a/recipes/flux/config.yml b/recipes/flux/config.yml
new file mode 100644
index 0000000000000..4edf0b751a05e
--- /dev/null
+++ b/recipes/flux/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "cci.20240115":
+    folder: all

From cee049b4d082fb425ced492114b31250b7e7b3ad Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 06:30:35 +0900
Subject: [PATCH 0960/1307] (#22486) wolfssl: add with_curl option

---
 recipes/wolfssl/all/conanfile.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/recipes/wolfssl/all/conanfile.py b/recipes/wolfssl/all/conanfile.py
index 7233278df2e56..696d7e8d4ff17 100644
--- a/recipes/wolfssl/all/conanfile.py
+++ b/recipes/wolfssl/all/conanfile.py
@@ -39,6 +39,7 @@ class WolfSSLConan(ConanFile):
         "sessioncerts": [True, False],
         "sni": [True, False],
         "testcert": [True, False],
+        "with_curl": [True, False],
     }
     default_options = {
         "shared": False,
@@ -55,6 +56,7 @@ class WolfSSLConan(ConanFile):
         "sessioncerts": False,
         "sni": False,
         "testcert": False,
+        "with_curl": False,
     }
 
     @property
@@ -64,6 +66,8 @@ def _settings_build(self):
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
+        if Version(self.version) < "5.2.0":
+            del self.options.with_curl
 
     def configure(self):
         if self.options.shared:
@@ -114,6 +118,8 @@ def generate(self):
             "--enable-shared={}".format(yes_no(self.options.shared)),
             "--enable-static={}".format(yes_no(not self.options.shared)),
         ])
+        if self.options.get_safe("with_curl"):
+            tc.configure_args.append("--enable-curl")
         if is_msvc(self):
             tc.extra_ldflags.append("-ladvapi32")
             if check_min_vs(self, "180", raise_invalid=False):

From 4474a7b945eccfe1f70954dfeeeb82f03b969963 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 07:49:40 +0900
Subject: [PATCH 0961/1307] (#22453) drogon: add version 1.9.2, remove older
 versions

---
 recipes/drogon/all/conandata.yml              |  81 ++----------
 .../patches/1.7.5-0001-disable_trantor.patch  |  29 -----
 .../1.7.5-0002-remove-boost-components.patch  |  14 ---
 .../1.7.5-0003-find-package-trantor.patch     |  14 ---
 .../1.7.5-0004-find-package-jsoncpp.patch     |  17 ---
 .../1.7.5-0005-remove-msvc-check.patch        |  92 --------------
 .../1.8.0-0001-disable-unused-data.patch      |  41 ------
 .../1.8.0-0002-find-package-jsoncpp.patch     |  17 ---
 .../1.8.0-0003-find-package-sqlite.patch      |  13 --
 .../1.8.0-0004-remove-msvc-check.patch        | 117 ------------------
 .../1.8.2-0003-find-package-sqlite.patch      |  13 --
 .../1.8.3-0003-find-package-sqlite.patch      |  13 --
 .../1.9.2-0002-find-cci-packages.patch        |  71 +++++++++++
 recipes/drogon/config.yml                     |  10 +-
 14 files changed, 83 insertions(+), 459 deletions(-)
 delete mode 100644 recipes/drogon/all/patches/1.7.5-0001-disable_trantor.patch
 delete mode 100644 recipes/drogon/all/patches/1.7.5-0002-remove-boost-components.patch
 delete mode 100644 recipes/drogon/all/patches/1.7.5-0003-find-package-trantor.patch
 delete mode 100644 recipes/drogon/all/patches/1.7.5-0004-find-package-jsoncpp.patch
 delete mode 100644 recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.0-0001-disable-unused-data.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.0-0002-find-package-jsoncpp.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.0-0003-find-package-sqlite.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.2-0003-find-package-sqlite.patch
 delete mode 100644 recipes/drogon/all/patches/1.8.3-0003-find-package-sqlite.patch
 create mode 100644 recipes/drogon/all/patches/1.9.2-0002-find-cci-packages.patch

diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml
index 746215039912d..363e991a86f99 100644
--- a/recipes/drogon/all/conandata.yml
+++ b/recipes/drogon/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.9.2":
+    url: "https://github.com/drogonframework/drogon/archive/v1.9.2.tar.gz"
+    sha256: "5bfcb7e11df83de45efc24e2785646276a0166893e0475221d8e7fa82832ffbd"
   "1.9.1":
     url: "https://github.com/drogonframework/drogon/archive/v1.9.1.tar.gz"
     sha256: "0f8bab22e02681d05787c88cbef5d04b105f6644ebf7cf29898d0a52ebe959e4"
@@ -17,19 +20,14 @@ sources:
   "1.8.4":
     url: "https://github.com/drogonframework/drogon/archive/v1.8.4.tar.gz"
     sha256: "6f2f59ead0f0c37b0aac4bc889cbaedf3c2540f3020e892596c72f0a4d887a18"
-  "1.8.3":
-    url: "https://github.com/drogonframework/drogon/archive/v1.8.3.tar.gz"
-    sha256: "db6d92a0c40ec52d5704fb4128860b9eecdc284653e8d85113b4219b96dc7129"
-  "1.8.2":
-    url: "https://github.com/drogonframework/drogon/archive/v1.8.2.tar.gz"
-    sha256: "1182cab00c33e400eac617c6dbf44fa2f358e1844990b6b8c5c87783024f9971"
-  "1.8.0":
-    url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.8.0.tar.gz"
-    sha256: "bc6503cf213ed961d4a5e9fd7cb8e75b6b11045a67840ea2241e57321dd8711b"
-  "1.7.5":
-    url: "https://github.com/drogonframework/drogon/archive/refs/tags/v1.7.5.tar.gz"
-    sha256: "e2af7c55dcabafef16f26f5b3242692f5a2b54c19b7b626840bf9132d24766f6"
 patches:
+  "1.9.2":
+    - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
+      patch_description: "remove shared libs option"
+      patch_type: "conan"
+    - patch_file: "patches/1.9.2-0002-find-cci-packages.patch"
+      patch_description: "Fix jsoncpp cmake target name"
+      patch_type: "conan"
   "1.9.1":
     - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
       patch_description: "remove shared libs option"
@@ -82,62 +80,3 @@ patches:
       patch_description: "Fix compilation error on gcc13 with C++17"
       patch_type: "portability"
       patch_source: "https://github.com/drogonframework/drogon/pull/1563/"
-  "1.8.3":
-    - patch_file: "patches/1.8.0-0001-disable-unused-data.patch"
-      patch_description: "Consume Trantor package from Conan instead of using the\
-        \ subproject"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.0-0002-find-package-jsoncpp.patch"
-      patch_description: "Fix jsoncpp cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.3-0003-find-package-sqlite.patch"
-      patch_description: "Fix sqlite cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.2-0004-support-gcc13.patch"
-      patch_description: "Fix compilation error on gcc13 with C++17"
-      patch_type: "portability"
-      patch_source: "https://github.com/drogonframework/drogon/pull/1563/"
-  "1.8.2":
-    - patch_file: "patches/1.8.0-0001-disable-unused-data.patch"
-      patch_description: "Consume Trantor package from Conan instead of using the\
-        \ subproject"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.0-0002-find-package-jsoncpp.patch"
-      patch_description: "Fix jsoncpp cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.2-0003-find-package-sqlite.patch"
-      patch_description: "Fix sqlite cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.2-0004-support-gcc13.patch"
-      patch_description: "Fix compilation error on gcc13 with C++17"
-      patch_type: "portability"
-      patch_source: "https://github.com/drogonframework/drogon/pull/1563/"
-  "1.8.0":
-    - patch_file: "patches/1.8.0-0001-disable-unused-data.patch"
-      patch_description: "Consume Trantor package from Conan instead of using the subproject"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.0-0002-find-package-jsoncpp.patch"
-      patch_description: "Fix jsoncpp cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.0-0003-find-package-sqlite.patch"
-      patch_description: "Fix sqlite cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.8.0-0004-remove-msvc-check.patch"
-      patch_description: "remove msvc check for C++17 support"
-      patch_type: "portability"
-  "1.7.5":
-    - patch_file: "patches/1.7.5-0001-disable_trantor.patch"
-      patch_description: "Consume Trantor package from Conan instead of using the subproject"
-      patch_type: "conan"
-    - patch_file: "patches/1.7.5-0002-remove-boost-components.patch"
-      patch_description: "Do not consume specific Boost components"
-      patch_type: "conan"
-    - patch_file: "patches/1.7.5-0003-find-package-trantor.patch"
-      patch_description: "Fix Trantor cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.7.5-0004-find-package-jsoncpp.patch"
-      patch_description: "Fix jsoncpp cmake target name"
-      patch_type: "conan"
-    - patch_file: "patches/1.7.5-0005-remove-msvc-check.patch"
-      patch_description: "remove msvc check for C++17 support"
-      patch_type: "portability"
diff --git a/recipes/drogon/all/patches/1.7.5-0001-disable_trantor.patch b/recipes/drogon/all/patches/1.7.5-0001-disable_trantor.patch
deleted file mode 100644
index bd56d16c697b5..0000000000000
--- a/recipes/drogon/all/patches/1.7.5-0001-disable_trantor.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 146d2b8..f83e119 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -52,7 +52,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
- endif ()
- 
- if (BUILD_DROGON_SHARED)
--    set(BUILD_TRANTOR_SHARED TRUE)
-     set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
-     find_package(Threads)
-     # set(BUILD_EXAMPLES FALSE)
-@@ -110,7 +109,6 @@ target_include_directories(
-     $
-     $
-     $
--    $
-     $
-     $)
- 
-@@ -120,8 +118,6 @@ if (WIN32)
-         PRIVATE $)
- endif (WIN32)
- 
--add_subdirectory(trantor)
--
- target_link_libraries(${PROJECT_NAME} PUBLIC trantor)
- 
- if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
diff --git a/recipes/drogon/all/patches/1.7.5-0002-remove-boost-components.patch b/recipes/drogon/all/patches/1.7.5-0002-remove-boost-components.patch
deleted file mode 100644
index 6823964b810ea..0000000000000
--- a/recipes/drogon/all/patches/1.7.5-0002-remove-boost-components.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f83e119..46a23fd 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -177,7 +177,8 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Android")
- endif ()
- 
- if(NEED_BOOST_FS)
--    find_package(Boost 1.49.0 COMPONENTS filesystem system REQUIRED)
-+    # TODO: component specified find_package is always failed. Need to fix it.
-+    find_package(Boost 1.49.0 REQUIRED)
-     message(STATUS "Using Boost filesytem::path")
-     message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
-     include_directories(${BOOST_INCLUDE_DIRS})
diff --git a/recipes/drogon/all/patches/1.7.5-0003-find-package-trantor.patch b/recipes/drogon/all/patches/1.7.5-0003-find-package-trantor.patch
deleted file mode 100644
index d2e449648defd..0000000000000
--- a/recipes/drogon/all/patches/1.7.5-0003-find-package-trantor.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 46a23fd..d2e2f69 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -118,7 +118,8 @@ if (WIN32)
-         PRIVATE $)
- endif (WIN32)
- 
--target_link_libraries(${PROJECT_NAME} PUBLIC trantor)
-+find_package(Trantor REQUIRED)
-+target_link_libraries(${PROJECT_NAME} PUBLIC Trantor::Trantor)
- 
- if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
-     target_link_libraries(${PROJECT_NAME} PRIVATE network)
diff --git a/recipes/drogon/all/patches/1.7.5-0004-find-package-jsoncpp.patch b/recipes/drogon/all/patches/1.7.5-0004-find-package-jsoncpp.patch
deleted file mode 100644
index dc4849690a251..0000000000000
--- a/recipes/drogon/all/patches/1.7.5-0004-find-package-jsoncpp.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index d2e2f69..61fb3bf 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -199,9 +199,9 @@ else()
- endif()
- 
- # jsoncpp
--find_package(Jsoncpp REQUIRED)
--target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib)
--list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS})
-+find_package(jsoncpp REQUIRED)
-+target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp_lib)
-+list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${jsoncpp_INCLUDE_DIRS})
- 
- if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
-     AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD"
diff --git a/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch b/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch
deleted file mode 100644
index 61bc8404888cc..0000000000000
--- a/recipes/drogon/all/patches/1.7.5-0005-remove-msvc-check.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/lib/inc/drogon/utils/any.h b/lib/inc/drogon/utils/any.h
-index 63abd2e..8ac74d8 100644
---- a/lib/inc/drogon/utils/any.h
-+++ b/lib/inc/drogon/utils/any.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -21,7 +21,7 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::any;
- using std::any_cast;
- #else
-diff --git a/lib/inc/drogon/utils/optional.h b/lib/inc/drogon/utils/optional.h
-index 2dde172..297a819 100644
---- a/lib/inc/drogon/utils/optional.h
-+++ b/lib/inc/drogon/utils/optional.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -21,9 +21,9 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::optional;
- #else
- using boost::optional;
- #endif
--}  // namespace drogon
-\ No newline at end of file
-+}  // namespace drogon
-diff --git a/lib/inc/drogon/utils/string_view.h b/lib/inc/drogon/utils/string_view.h
-index a2362b7..074d05f 100644
---- a/lib/inc/drogon/utils/string_view.h
-+++ b/lib/inc/drogon/utils/string_view.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -25,7 +25,7 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::string_view;
- #else
- using boost::string_view;
-@@ -40,10 +40,10 @@ inline LogStream &operator<<(LogStream &ls, const drogon::string_view &v)
- }
- }  // namespace trantor
- 
--#if __cplusplus < 201703L && !(defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus < 201703L
- namespace drogon
- {
--#ifndef _MSC_VER
-+#if 1
- template 
- struct StringViewHasher;
- 
-@@ -319,7 +319,7 @@ struct hash
-     size_t operator()(const drogon::string_view &__str) const noexcept
-     {
-         // MSVC is having problems with non-aligned strings
--#ifndef _MSC_VER
-+#if 1
-         return drogon::StringViewHasher()(__str);
- #else
-         return drogon::ShortStringViewHasher(__str);
diff --git a/recipes/drogon/all/patches/1.8.0-0001-disable-unused-data.patch b/recipes/drogon/all/patches/1.8.0-0001-disable-unused-data.patch
deleted file mode 100644
index 3038da266a3a2..0000000000000
--- a/recipes/drogon/all/patches/1.8.0-0001-disable-unused-data.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-index ca6dff2..ba015d2 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -16,7 +16,6 @@ option(BUILD_CTL "Build drogon_ctl" ${BUILD_PROGRAMS})
- option(BUILD_EXAMPLES "Build examples" ${BUILD_PROGRAMS})
- option(BUILD_ORM "Build orm" ON)
- option(COZ_PROFILING "Use coz for profiling" OFF)
--option(BUILD_SHARED_LIBS "Build drogon as a shared lib" OFF)
- option(BUILD_DOC "Build Doxygen documentation" OFF)
- option(BUILD_BROTLI "Build Brotli" ON)
- 
-@@ -106,7 +105,6 @@ target_include_directories(
-     $
-     $
-     $
--    $
-     $
-     $)
- 
-@@ -116,9 +114,8 @@ if (WIN32)
-         PRIVATE $)
- endif (WIN32)
- 
--add_subdirectory(trantor)
--
--target_link_libraries(${PROJECT_NAME} PUBLIC trantor)
-+find_package(Trantor REQUIRED)
-+target_link_libraries(${PROJECT_NAME} PUBLIC Trantor::Trantor)
- 
- if(${CMAKE_SYSTEM_NAME} STREQUAL "Haiku")
-     target_link_libraries(${PROJECT_NAME} PRIVATE network)
-@@ -177,7 +174,8 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Android")
- endif ()
- 
- if(NEED_BOOST_FS)
--    find_package(Boost 1.49.0 COMPONENTS filesystem system REQUIRED)
-+    # TODO: component specified find_package is always failed. Need to fix it.
-+    find_package(Boost 1.49.0 REQUIRED)
-     message(STATUS "Using Boost filesytem::path")
-     message(STATUS "Boost include dir: " ${Boost_INCLUDE_DIR})
-     include_directories(${BOOST_INCLUDE_DIRS})
diff --git a/recipes/drogon/all/patches/1.8.0-0002-find-package-jsoncpp.patch b/recipes/drogon/all/patches/1.8.0-0002-find-package-jsoncpp.patch
deleted file mode 100644
index 2402bc2bfdf71..0000000000000
--- a/recipes/drogon/all/patches/1.8.0-0002-find-package-jsoncpp.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ba015d2..02c2ccc 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -195,9 +195,9 @@ else()
- endif()
-
- # jsoncpp
--find_package(Jsoncpp REQUIRED)
--target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib)
--list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS})
-+find_package(jsoncpp REQUIRED)
-+target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp_lib)
-+list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${jsoncpp_INCLUDE_DIRS})
-
- if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD"
-     AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD"
diff --git a/recipes/drogon/all/patches/1.8.0-0003-find-package-sqlite.patch b/recipes/drogon/all/patches/1.8.0-0003-find-package-sqlite.patch
deleted file mode 100644
index 908cb3b2952e3..0000000000000
--- a/recipes/drogon/all/patches/1.8.0-0003-find-package-sqlite.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5d92323..b971267 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -394,7 +394,7 @@     # Find sqlite3.
-     find_package(SQLite3 QUIET)
-     find_package(unofficial-sqlite3 QUIET)
-     if (SQLite3_FOUND)
--        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib)
-+        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
-         set(DROGON_FOUND_SQLite3 TRUE)
-     elseif (unofficial-sqlite3_FOUND)
-         target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3)
diff --git a/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch b/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch
deleted file mode 100644
index 5b0923c887cc6..0000000000000
--- a/recipes/drogon/all/patches/1.8.0-0004-remove-msvc-check.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/lib/inc/drogon/utils/any.h b/lib/inc/drogon/utils/any.h
-index 63abd2e..8ac74d8 100644
---- a/lib/inc/drogon/utils/any.h
-+++ b/lib/inc/drogon/utils/any.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -21,7 +21,7 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::any;
- using std::any_cast;
- #else
-diff --git a/lib/inc/drogon/utils/apply.h b/lib/inc/drogon/utils/apply.h
-index a9049af..97d55b7 100644
---- a/lib/inc/drogon/utils/apply.h
-+++ b/lib/inc/drogon/utils/apply.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -29,7 +29,7 @@ constexpr decltype(auto) apply_impl(F &&f, Tuple &&t, std::index_sequence)
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::apply;
- #else
- template 
-@@ -42,4 +42,4 @@ constexpr decltype(auto) apply(F &&f, Tuple &&t)
-             std::tuple_size >::value>{});
- }
- #endif
--}  // namespace drogon
-\ No newline at end of file
-+}  // namespace drogon
-diff --git a/lib/inc/drogon/utils/optional.h b/lib/inc/drogon/utils/optional.h
-index 19ced06..c049553 100644
---- a/lib/inc/drogon/utils/optional.h
-+++ b/lib/inc/drogon/utils/optional.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -21,7 +21,7 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::nullopt;
- using std::optional;
- #else
-diff --git a/lib/inc/drogon/utils/string_view.h b/lib/inc/drogon/utils/string_view.h
-index a2362b7..074d05f 100644
---- a/lib/inc/drogon/utils/string_view.h
-+++ b/lib/inc/drogon/utils/string_view.h
-@@ -13,7 +13,7 @@
-  */
- 
- #pragma once
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- #include 
- #else
- #include 
-@@ -25,7 +25,7 @@
- 
- namespace drogon
- {
--#if __cplusplus >= 201703L || (defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus >= 201703L
- using std::string_view;
- #else
- using boost::string_view;
-@@ -40,10 +40,10 @@ inline LogStream &operator<<(LogStream &ls, const drogon::string_view &v)
- }
- }  // namespace trantor
- 
--#if __cplusplus < 201703L && !(defined _MSC_VER && _MSC_VER > 1900)
-+#if __cplusplus < 201703L
- namespace drogon
- {
--#ifndef _MSC_VER
-+#if 1
- template 
- struct StringViewHasher;
- 
-@@ -319,7 +319,7 @@ struct hash
-     size_t operator()(const drogon::string_view &__str) const noexcept
-     {
-         // MSVC is having problems with non-aligned strings
--#ifndef _MSC_VER
-+#if 1
-         return drogon::StringViewHasher()(__str);
- #else
-         return drogon::ShortStringViewHasher(__str);
diff --git a/recipes/drogon/all/patches/1.8.2-0003-find-package-sqlite.patch b/recipes/drogon/all/patches/1.8.2-0003-find-package-sqlite.patch
deleted file mode 100644
index c54242f8776df..0000000000000
--- a/recipes/drogon/all/patches/1.8.2-0003-find-package-sqlite.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 5d92323..b971267 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -402,7 +402,7 @@     # Find sqlite3.
-     find_package(SQLite3 QUIET)
-     find_package(unofficial-sqlite3 QUIET)
-     if (SQLite3_FOUND)
--        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib)
-+        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
-         set(DROGON_FOUND_SQLite3 TRUE)
-     elseif (unofficial-sqlite3_FOUND)
-         target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3)
diff --git a/recipes/drogon/all/patches/1.8.3-0003-find-package-sqlite.patch b/recipes/drogon/all/patches/1.8.3-0003-find-package-sqlite.patch
deleted file mode 100644
index f4d98d1fd03e8..0000000000000
--- a/recipes/drogon/all/patches/1.8.3-0003-find-package-sqlite.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 680dc46..28cbcf4 100755
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -405,7 +405,7 @@ if (BUILD_SQLITE)
-     find_package(SQLite3 QUIET)
-     find_package(unofficial-sqlite3 QUIET)
-     if (SQLite3_FOUND)
--        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib)
-+        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
-         set(DROGON_FOUND_SQLite3 TRUE)
-     elseif (unofficial-sqlite3_FOUND)
-         target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3)
diff --git a/recipes/drogon/all/patches/1.9.2-0002-find-cci-packages.patch b/recipes/drogon/all/patches/1.9.2-0002-find-cci-packages.patch
new file mode 100644
index 0000000000000..bcc9b35c8ecff
--- /dev/null
+++ b/recipes/drogon/all/patches/1.9.2-0002-find-cci-packages.patch
@@ -0,0 +1,71 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8fbe8f9..68043fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -180,9 +180,9 @@ endif()
+ 
+ 
+ # jsoncpp
+-find_package(Jsoncpp REQUIRED)
+-target_link_libraries(${PROJECT_NAME} PUBLIC Jsoncpp_lib)
+-list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${JSONCPP_INCLUDE_DIRS})
++find_package(jsoncpp REQUIRED)
++target_link_libraries(${PROJECT_NAME} PUBLIC jsoncpp_lib)
++list(APPEND INCLUDE_DIRS_FOR_DYNAMIC_VIEW ${jsoncpp_INCLUDE_DIRS})
+ 
+ # yamlcpp
+ if(BUILD_YAML_CONFIG)
+@@ -194,7 +194,7 @@ if(BUILD_YAML_CONFIG)
+                 message(STATUS "yaml-cpp not used")
+             else()
+                 message(STATUS "yaml-cpp found ")
+-                target_link_libraries(${PROJECT_NAME} PUBLIC ${YAML_CPP_LINK_LIBRARY})
++                target_link_libraries(${PROJECT_NAME} PUBLIC yaml-cpp)
+                 target_compile_definitions(${PROJECT_NAME} PUBLIC HAS_YAML_CPP)
+             endif()
+         else()
+@@ -429,7 +429,7 @@ if (BUILD_SQLITE)
+     find_package(SQLite3 QUIET)
+     find_package(unofficial-sqlite3 QUIET)
+     if (SQLite3_FOUND)
+-        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite3_lib)
++        target_link_libraries(${PROJECT_NAME} PRIVATE SQLite::SQLite3)
+         set(DROGON_FOUND_SQLite3 TRUE)
+     elseif (unofficial-sqlite3_FOUND)
+         target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::sqlite3::sqlite3)
+@@ -452,10 +452,10 @@ if (BUILD_SQLITE)
+ endif (BUILD_SQLITE)
+ 
+ if (BUILD_REDIS)
+-    find_package(Hiredis)
+-    if (Hiredis_FOUND)
++    find_package(hiredis)
++    if (hiredis_FOUND)
+         add_definitions(-DUSE_REDIS)
+-        target_link_libraries(${PROJECT_NAME} PRIVATE Hiredis_lib)
++        target_link_libraries(${PROJECT_NAME} PRIVATE hiredis::hiredis)
+         set(DROGON_SOURCES
+             ${DROGON_SOURCES}
+             nosql_lib/redis/src/RedisClientImpl.cc
+@@ -475,10 +475,10 @@ if (BUILD_REDIS)
+             nosql_lib/redis/src/SubscribeContext.h
+             nosql_lib/redis/src/RedisSubscriberImpl.h)
+ 
+-    endif (Hiredis_FOUND)
++    endif ()
+ endif (BUILD_REDIS)
+ 
+-if (NOT Hiredis_FOUND)
++if (NOT hiredis_FOUND)
+     set(DROGON_SOURCES
+         ${DROGON_SOURCES}
+         lib/src/RedisClientSkipped.cc
+@@ -487,7 +487,7 @@ if (NOT Hiredis_FOUND)
+     set(private_headers
+         ${private_headers}
+         lib/src/RedisClientManager.h)
+-endif (NOT Hiredis_FOUND)
++endif ()
+ 
+ if (BUILD_TESTING)
+     add_subdirectory(nosql_lib/redis/tests)
diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml
index 82e0951737eeb..0849cdfebfa68 100644
--- a/recipes/drogon/config.yml
+++ b/recipes/drogon/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.9.2":
+    folder: "all"
   "1.9.1":
     folder: "all"
   "1.9.0":
@@ -11,11 +13,3 @@ versions:
     folder: "all"
   "1.8.4":
     folder: "all"
-  "1.8.3":
-    folder: "all"
-  "1.8.2":
-    folder: "all"
-  "1.8.0":
-    folder: "all"
-  "1.7.5":
-    folder: "all"

From f442c3af9a8de2913dccb3fd11528e3e504f5bc5 Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Mon, 22 Jan 2024 23:36:23 +0000
Subject: [PATCH 0962/1307] (#22500) [bot] Update list of references
 (prod-v2/ListPackages)

Co-authored-by: conan-center-bot 
---
 .c3i/conan_v2_ready_references.yml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml
index fdbc9c12931b7..14e8b6b61af0d 100644
--- a/.c3i/conan_v2_ready_references.yml
+++ b/.c3i/conan_v2_ready_references.yml
@@ -276,6 +276,7 @@ required_for_references:
 - decimal_for_cpp
 - deco
 - dependencies
+- depot_tools
 - detools
 - dfp
 - di
@@ -373,6 +374,7 @@ required_for_references:
 - flann
 - flatbuffers
 - flatbush
+- flatcc
 - flecs
 - flex
 - flint
@@ -409,6 +411,7 @@ required_for_references:
 - fxdiv
 - g3log
 - gainput
+- gamenetworkingsockets
 - gamma
 - gcem
 - gdbm
@@ -422,6 +425,7 @@ required_for_references:
 - geotrans
 - getopt-for-visual-studio
 - gettext
+- gf-complete
 - gflags
 - gfortran
 - ghc-filesystem
@@ -446,6 +450,7 @@ required_for_references:
 - gm2calc
 - gmp
 - gnu-config
+- gnulib
 - gnutls
 - godot_headers
 - googleapis
@@ -495,6 +500,7 @@ required_for_references:
 - hlslpp
 - homog2d
 - http_parser
+- huffman
 - hunspell
 - hwdata
 - hwloc
@@ -538,6 +544,7 @@ required_for_references:
 - jasper
 - jbig
 - jeaiii-itoa
+- jemalloc
 - jerryscript
 - jfalcou-eve
 - jinja2cpp
@@ -572,6 +579,7 @@ required_for_references:
 - ktx
 - kuba-zip
 - lager
+- laslib
 - laszip
 - lazycsv
 - lcms
@@ -758,6 +766,7 @@ required_for_references:
 - libva
 - libvault
 - libvdpau
+- libversion
 - libverto
 - libvips
 - libvpx
@@ -854,6 +863,7 @@ required_for_references:
 - mikktspace
 - mimalloc
 - mingw-builds
+- mingw-w64
 - miniaudio
 - minimp3
 - minisat
@@ -995,6 +1005,7 @@ required_for_references:
 - opus
 - opusfile
 - orcania
+- osmanip
 - osqp
 - out_ptr
 - outcome
@@ -1319,6 +1330,7 @@ required_for_references:
 - tng
 - toml11
 - tomlplusplus
+- tqdm-cpp
 - tracy
 - transwarp
 - trantor

From 0f5f3ae6b731ad3cd91307a9de00d1ad2d26d0ac Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 23 Jan 2024 11:03:45 +0200
Subject: [PATCH 0963/1307] (#21112) sassc: migrate to Conan v2

* sassc: migrate to Conan v2

* sassc: fix MSVC build, add VS 2022 support
---
 recipes/sassc/all/conandata.yml               |   3 -
 recipes/sassc/all/conanfile.py                | 149 ++++++++++++------
 recipes/sassc/all/test_package/conanfile.py   |  14 +-
 .../sassc/all/test_v1_package/conanfile.py    |   9 ++
 recipes/sassc/config.yml                      |   2 -
 5 files changed, 116 insertions(+), 61 deletions(-)
 create mode 100644 recipes/sassc/all/test_v1_package/conanfile.py

diff --git a/recipes/sassc/all/conandata.yml b/recipes/sassc/all/conandata.yml
index 5119b677bea74..23ccaaba2c88a 100644
--- a/recipes/sassc/all/conandata.yml
+++ b/recipes/sassc/all/conandata.yml
@@ -2,6 +2,3 @@ sources:
   "3.6.2":
     url: "https://github.com/sass/sassc/archive/3.6.2.tar.gz"
     sha256: "608dc9002b45a91d11ed59e352469ecc05e4f58fc1259fc9a9f5b8f0f8348a03"
-  "3.6.1":
-    sha256: 8cee391c49a102b4464f86fc40c4ceac3a2ada52a89c4c933d8348e3e4542a60
-    url: https://github.com/sass/sassc/archive/3.6.1.tar.gz
diff --git a/recipes/sassc/all/conanfile.py b/recipes/sassc/all/conanfile.py
index b9452a96ffc40..4aed7995e790a 100644
--- a/recipes/sassc/all/conanfile.py
+++ b/recipes/sassc/all/conanfile.py
@@ -1,91 +1,138 @@
+import os
+
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.files import get, replace_in_file, chdir, save
-from conan.tools.microsoft import is_msvc
-from conans import AutoToolsBuildEnvironment, tools, MSBuild
-import os
+from conan.tools.env import VirtualBuildEnv
+from conan.tools.files import chdir, copy, get, replace_in_file, save
+from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import MSBuild, is_msvc, MSBuildToolchain, MSBuildDeps
 
-required_conan_version = ">=1.47.0"
+required_conan_version = ">=1.53.0"
 
 
 class SasscConan(ConanFile):
     name = "sassc"
+    description = "libsass command line driver"
     license = "MIT"
-    homepage = "https://sass-lang.com/libsass"
     url = "https://github.com/conan-io/conan-center-index"
-    description = "libsass command line driver"
-    topics = ("Sass", "sassc", "compiler")
-    settings = "os", "compiler", "build_type", "arch"
-    generators = "visual_studio"
-
-    _autotools = None
+    homepage = "https://sass-lang.com/libsass"
+    topics = ("Sass", "compiler")
 
-    @property
-    def _source_subfolder(self):
-        return "source_subfolder"
+    package_type = "application"
+    settings = "os", "arch", "compiler", "build_type"
 
     def config_options(self):
-        del self.settings.compiler.libcxx
-        del self.settings.compiler.cppstd
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("libsass/3.6.5")
 
     def package_id(self):
         del self.info.settings.compiler
 
     def validate(self):
         if not is_msvc(self) and self.info.settings.os not in ["Linux", "FreeBSD", "Macos"]:
-            raise ConanInvalidConfiguration("sassc supports only Linux, FreeBSD, Macos and Windows Visual Studio at this time, contributions are welcomed")
-
-    def requirements(self):
-        self.requires("libsass/3.6.5")
+            raise ConanInvalidConfiguration(
+                "sassc supports only Linux, FreeBSD, Macos and Windows Visual Studio at this time,"
+                " contributions are welcomed"
+            )
 
     def build_requirements(self):
         if not is_msvc(self):
             self.tool_requires("libtool/2.4.7")
 
     def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-                  destination=self._source_subfolder, strip_root=True)
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    @property
+    def _msbuild_configuration(self):
+        return "Debug" if self.settings.build_type == "Debug" else "Release"
+
+    @property
+    def _msbuild_platform(self):
+        return "Win32" if self.settings.arch == "x86" else "Win64"
+
+    def generate(self):
+        if is_msvc(self):
+            tc = MSBuildToolchain(self)
+            tc.configuration = self._msbuild_configuration
+            tc.platform = self._msbuild_platform
+            # FIXME: setting this property does not work, applied as a patch instead
+            # tc.properties["LIBSASS_DIR"] = self.dependencies["libsass"].package_folder
+            tc.generate()
+            deps = MSBuildDeps(self)
+            deps.configuration = self._msbuild_configuration
+            deps.generate()
+        else:
+            env = VirtualBuildEnv(self)
+            env.generate()
+            tc = AutotoolsToolchain(self)
+            tc.configure_args += ["--disable-tests"]
+            tc.generate()
+            deps = AutotoolsDeps(self)
+            deps.generate()
 
     def _patch_sources(self):
-        replace_in_file(self,
-            os.path.join(self.build_folder, self._source_subfolder, "win", "sassc.vcxproj"),
-            "$(LIBSASS_DIR)\\win\\libsass.targets",
-            os.path.join(self.build_folder, "conanbuildinfo.props"))
-
-    def _configure_autotools(self):
-        if self._autotools:
-            return self._autotools
-        self._autotools = AutoToolsBuildEnvironment(self)
-        self._autotools.configure(args=["--disable-tests"])
-        return self._autotools
-
-    def _build_msbuild(self):
-        msbuild = MSBuild(self)
-        platforms = {
-            "x86": "Win32",
-            "x86_64": "Win64"
-        }
-        msbuild.build("win/sassc.sln", platforms=platforms)
+        platform_toolset = MSBuildToolchain(self).toolset
+        import_conan_generators = ""
+        for props_file in ["conantoolchain.props", "conandeps.props"]:
+            props_path = os.path.join(self.generators_folder, props_file)
+            if os.path.exists(props_path):
+                import_conan_generators += f''
+        vcxproj_file = os.path.join(self.source_folder, "win", "sassc.vcxproj")
+        for existing_toolset in ["v120", "v140", "v141", "v142", "v143"]:
+            replace_in_file(self, vcxproj_file,
+                            f"{existing_toolset}",
+                            f"{platform_toolset}", strict=False)
+        # Inject VS 2022 support
+        replace_in_file(self, vcxproj_file,
+                        '\n'
+                         f'  {platform_toolset}\n'
+                         '\n'
+                         '..\\..',
+                        f"{self.dependencies['libsass'].package_folder}")
+        replace_in_file(self, vcxproj_file, r'', "")
+        if props_path:
+            replace_in_file(self, vcxproj_file,
+                            r'',
+                            rf'{import_conan_generators}')
 
     def build(self):
         self._patch_sources()
-        with chdir(self, self._source_subfolder):
+        with chdir(self, self.source_folder):
             if is_msvc(self):
-                self._build_msbuild()
+                msbuild = MSBuild(self)
+                msbuild.build_type = self._msbuild_configuration
+                msbuild.platform = self._msbuild_platform
+                msbuild.build(sln=os.path.join("win", "sassc.sln"))
             else:
-                self.run("{} -fiv".format(tools.get_env("AUTORECONF")), run_environment=True)
                 save(self, path="VERSION", content=f"{self.version}")
-                autotools = self._configure_autotools()
+                autotools = Autotools(self)
+                autotools.autoreconf()
+                autotools.configure()
                 autotools.make()
 
     def package(self):
-        with chdir(self, self._source_subfolder):
+        with chdir(self, self.source_folder):
             if is_msvc(self):
-                self.copy("*.exe", dst="bin", src=os.path.join(self._source_subfolder, "bin"), keep_path=False)
+                copy(self, "*.exe",
+                     dst=os.path.join(self.package_folder, "bin"),
+                     src=os.path.join(self.source_folder, "bin"),
+                     keep_path=False)
             else:
-                autotools = self._configure_autotools()
+                autotools = Autotools(self)
                 autotools.install()
-        self.copy("LICENSE", src=self._source_subfolder, dst="licenses")
+        copy(self, "LICENSE",
+             src=self.source_folder,
+             dst=os.path.join(self.package_folder, "licenses"))
 
     def package_info(self):
         self.cpp_info.frameworkdirs = []
@@ -93,6 +140,6 @@ def package_info(self):
         self.cpp_info.resdirs = []
         self.cpp_info.includedirs = []
 
-        bin_folder = os.path.join(self.package_folder, "bin")
         # TODO: Legacy, to be removed on Conan 2.0
+        bin_folder = os.path.join(self.package_folder, "bin")
         self.env_info.PATH.append(bin_folder)
diff --git a/recipes/sassc/all/test_package/conanfile.py b/recipes/sassc/all/test_package/conanfile.py
index 70d62ab9bfc61..cad02af78d9e1 100644
--- a/recipes/sassc/all/test_package/conanfile.py
+++ b/recipes/sassc/all/test_package/conanfile.py
@@ -1,9 +1,13 @@
-from conans import ConanFile, tools
+from conan import ConanFile
 
 
-class LibsassTestConan(ConanFile):
-    settings = "os", "compiler", "build_type", "arch"
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "VirtualBuildEnv"
+    test_type = "explicit"
+
+    def build_requirements(self):
+        self.tool_requires(self.tested_reference_str)
 
     def test(self):
-        if not tools.cross_building(self):
-            self.run("sassc --version", run_environment=True)
+        self.run("sassc --version")
diff --git a/recipes/sassc/all/test_v1_package/conanfile.py b/recipes/sassc/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..70d62ab9bfc61
--- /dev/null
+++ b/recipes/sassc/all/test_v1_package/conanfile.py
@@ -0,0 +1,9 @@
+from conans import ConanFile, tools
+
+
+class LibsassTestConan(ConanFile):
+    settings = "os", "compiler", "build_type", "arch"
+
+    def test(self):
+        if not tools.cross_building(self):
+            self.run("sassc --version", run_environment=True)
diff --git a/recipes/sassc/config.yml b/recipes/sassc/config.yml
index bfe5b909d834d..4c410b4e03fe2 100644
--- a/recipes/sassc/config.yml
+++ b/recipes/sassc/config.yml
@@ -1,5 +1,3 @@
 versions:
   "3.6.2":
     folder: all
-  "3.6.1":
-    folder: all

From 3bdb9eedb0a3e18ba3d7657f0c14be594e1c5105 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 23 Jan 2024 11:25:28 +0200
Subject: [PATCH 0964/1307] (#18795) srt: migrate to Conan v2

* srt: migrate to Conan v2

* srt: add version 1.5.3

Generated and committed by [Conan Center Bot](https://github.com/qchateau/conan-center-bot)
Find more updatable recipes in the [GitHub Pages](https://qchateau.github.io/conan-center-bot/)

* srt: simplify _has_posix_threads

* srt: fix pthreads4w patching

* srt: fix test_v1_package

* srt: drop old versions

---------

Co-authored-by: Quentin Chateau via Conan Center Bot 
---
 recipes/srt/all/CMakeLists.txt                |  12 --
 recipes/srt/all/conandata.yml                 |  16 +--
 recipes/srt/all/conanfile.py                  | 127 ++++++++----------
 .../all/patches/no-delayload-libeay32.patch   |  15 ---
 recipes/srt/all/test_package/CMakeLists.txt   |   7 +-
 recipes/srt/all/test_package/conanfile.py     |  20 ++-
 .../srt/all/test_v1_package/CMakeLists.txt    |   8 ++
 recipes/srt/all/test_v1_package/conanfile.py  |  16 +++
 recipes/srt/config.yml                        |   6 +-
 9 files changed, 104 insertions(+), 123 deletions(-)
 delete mode 100644 recipes/srt/all/CMakeLists.txt
 delete mode 100644 recipes/srt/all/patches/no-delayload-libeay32.patch
 create mode 100644 recipes/srt/all/test_v1_package/CMakeLists.txt
 create mode 100644 recipes/srt/all/test_v1_package/conanfile.py

diff --git a/recipes/srt/all/CMakeLists.txt b/recipes/srt/all/CMakeLists.txt
deleted file mode 100644
index 591533b782973..0000000000000
--- a/recipes/srt/all/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-cmake_minimum_required(VERSION 2.8.11)
-project(cmake_wrapper)
-
-include(conanbuildinfo.cmake)
-conan_basic_setup()
-
-if(CONAN_LIBS_PTHREADS4W)
-    set(PTHREAD_LIBRARY "${CONAN_LIBS_PTHREADS4W}")
-    set(PTHREAD_INCLUDE_DIR "${CONAN_INCLUDE_DIRS_PTHREADS4W}")
-endif()
-
-add_subdirectory("source_subfolder")
diff --git a/recipes/srt/all/conandata.yml b/recipes/srt/all/conandata.yml
index e10fcb414463b..f2aa06e6bc0c5 100644
--- a/recipes/srt/all/conandata.yml
+++ b/recipes/srt/all/conandata.yml
@@ -1,17 +1,7 @@
 sources:
-  "1.4.1":
-    sha256: e80ca1cd0711b9c70882c12ec365cda1ba852e1ce8acd43161a21a04de0cbf14
-    url: https://github.com/Haivision/srt/archive/v1.4.1.tar.gz
-  "1.4.2":
-    sha256: 28a308e72dcbb50eb2f61b50cc4c393c413300333788f3a8159643536684a0c4
-    url: https://github.com/Haivision/srt/archive/v1.4.2.tar.gz
-  "1.4.3":
-    sha256: c06e05664c71d635c37207a2b5a444f2c4a95950a3548402b3e0c524f735b33d
-    url: https://github.com/Haivision/srt/archive/refs/tags/v1.4.3.tar.gz
+  "1.5.3":
+    url: "https://github.com/Haivision/srt/archive/v1.5.3.tar.gz"
+    sha256: "befaeb16f628c46387b898df02bc6fba84868e86a6f6d8294755375b9932d777"
   "1.4.4":
     url: "https://github.com/Haivision/srt/archive/v1.4.4.tar.gz"
     sha256: "93f5f3715bd5bd522b8d65fc0d086ef2ad49db6a41ad2d7b35df2e8bd7094114"
-patches:
-  "1.4.1":
-    - patch_file: "patches/no-delayload-libeay32.patch"
-      base_path: "source_subfolder"
diff --git a/recipes/srt/all/conanfile.py b/recipes/srt/all/conanfile.py
index dfed1538859cc..de823d876bdc8 100644
--- a/recipes/srt/all/conanfile.py
+++ b/recipes/srt/all/conanfile.py
@@ -1,41 +1,34 @@
-from conans import ConanFile, CMake, tools
 import os
 
-required_conan_version = ">=1.33.0"
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.files import copy, get, replace_in_file, rmdir
+from conan.tools.microsoft import is_msvc
+
+required_conan_version = ">=1.53.0"
 
 
 class SrtConan(ConanFile):
     name = "srt"
-    homepage = "https://github.com/Haivision/srt"
-    description = "Secure Reliable Transport (SRT) is an open source transport technology that optimizes streaming performance across unpredictable networks, such as the Internet."
-    topics = ("conan", "srt", "ip", "transport")
-    url = "https://github.com/conan-io/conan-center-index"
+    description = (
+        "Secure Reliable Transport (SRT) is an open source transport technology that optimizes streaming"
+        " performance across unpredictable networks, such as the Internet."
+    )
     license = "MPL-2.0"
-    settings = "os", "compiler", "build_type", "arch"
-    options = {"shared": [True, False], "fPIC": [True, False]}
-    default_options = {"shared": False, "fPIC": True}
-    short_paths = True
-
-    exports_sources = ["CMakeLists.txt", "patches/*"]
-    generators = "cmake", "cmake_find_package"
-    _cmake = None
-
-    @property
-    def _source_subfolder(self):
-        return "source_subfolder"
-
-    @property
-    def _build_subfolder(self):
-        return "build_subfolder"
-
-    @property
-    def _has_stdcxx_sync(self):
-        return tools.Version(self.version) >= "1.4.2"
-
-    @property
-    def _has_posix_threads(self):
-        return not (self.settings.os == "Windows" and (self.settings.compiler == "Visual Studio" or \
-               (self.settings.compiler == "gcc" and self.settings.compiler.get_safe("threads") == "win32")))
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/Haivision/srt"
+    topics = ("ip", "transport")
+
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
 
     def config_options(self):
         if self.settings.os == "Windows":
@@ -43,61 +36,59 @@ def config_options(self):
 
     def configure(self):
         if self.options.shared:
-            del self.options.fPIC
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("openssl/1.1.1q")
-        if not self._has_posix_threads and not self._has_stdcxx_sync:
-            self.requires("pthreads4w/3.0.0")
+        self.requires("openssl/[>=1.1 <4]")
 
     def source(self):
-        tools.get(**self.conan_data["sources"][self.version],
-                  destination=self._source_subfolder, strip_root=True)
-
-    def _patch_sources(self):
-        for patch in self.conan_data.get("patches", {}).get(self.version, []):
-            tools.patch(**patch)
-        tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"),
-                              "set (CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/scripts\")",
-                              "list(APPEND CMAKE_MODULE_PATH \"${CMAKE_CURRENT_SOURCE_DIR}/scripts\")")
-
-    def _configure_cmake(self):
-        if self._cmake:
-            return self._cmake
-        self._cmake = CMake(self)
-        self._cmake.definitions["ENABLE_APPS"] = False
-        self._cmake.definitions["ENABLE_LOGGING"] = False
-        self._cmake.definitions["ENABLE_SHARED"] = self.options.shared
-        self._cmake.definitions["ENABLE_STATIC"] = not self.options.shared
-        if self._has_stdcxx_sync:
-            self._cmake.definitions["ENABLE_STDCXX_SYNC"] = True
-        self._cmake.definitions["ENABLE_ENCRYPTION"] = True
-        self._cmake.definitions["USE_OPENSSL_PC"] = False
-        if self.settings.compiler == "Visual Studio":
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.variables["ENABLE_APPS"] = False
+        tc.variables["ENABLE_LOGGING"] = False
+        tc.variables["ENABLE_SHARED"] = self.options.shared
+        tc.variables["ENABLE_STATIC"] = not self.options.shared
+        tc.variables["ENABLE_STDCXX_SYNC"] = True
+        tc.variables["ENABLE_ENCRYPTION"] = True
+        tc.variables["USE_OPENSSL_PC"] = False
+        if is_msvc(self):
             # required to avoid warnings when srt shared, even if openssl shared,
             # otherwise upstream CMakeLists would add /DELAYLOAD:libeay32.dll to link flags
-            self._cmake.definitions["OPENSSL_USE_STATIC_LIBS"] = True
-        self._cmake.configure(build_folder=self._build_subfolder)
-        return self._cmake
+            tc.variables["OPENSSL_USE_STATIC_LIBS"] = True
+        tc.generate()
+
+        tc = CMakeDeps(self)
+        tc.generate()
+
+    def _patch_sources(self):
+        replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
+                        'set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/scripts")',
+                        'list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/scripts")')
 
     def build(self):
         self._patch_sources()
-        cmake = self._configure_cmake()
+        cmake = CMake(self)
+        cmake.configure()
         cmake.build()
 
     def package(self):
-        self.copy("LICENSE", dst="licenses", src=self._source_subfolder)
-        cmake = self._configure_cmake()
+        copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
         cmake.install()
-        tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
 
     def package_info(self):
-        self.cpp_info.names["pkg_config"] = "srt"
-        suffix = "_static" if self.settings.compiler == "Visual Studio" and not self.options.shared else ""
+        self.cpp_info.set_property("pkg_config_name", "srt")
+        suffix = "_static" if is_msvc(self) and not self.options.shared else ""
         self.cpp_info.libs = ["srt" + suffix]
         if self.options.shared:
             self.cpp_info.defines = ["SRT_DYNAMIC"]
-        if self.settings.os == "Linux":
+        if self.settings.os in ["Linux", "FreeBSD"]:
             self.cpp_info.system_libs = ["pthread"]
         if self.settings.os == "Windows":
             self.cpp_info.system_libs = ["ws2_32"]
diff --git a/recipes/srt/all/patches/no-delayload-libeay32.patch b/recipes/srt/all/patches/no-delayload-libeay32.patch
deleted file mode 100644
index 9916c2deb6bec..0000000000000
--- a/recipes/srt/all/patches/no-delayload-libeay32.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -627,7 +627,11 @@ if (srt_libspec_shared)
- 	endif()
- 	if (MICROSOFT)
- 		target_link_libraries(${TARGET_srt}_shared PRIVATE ws2_32.lib)
--		set_target_properties(${TARGET_srt}_shared PROPERTIES LINK_FLAGS "/DELAYLOAD:libeay32.dll")
-+		if (OPENSSL_USE_STATIC_LIBS)
-+			target_link_libraries(${TARGET_srt}_shared PRIVATE crypt32.lib)
-+		else()
-+			set_target_properties(${TARGET_srt}_shared PROPERTIES LINK_FLAGS "/DELAYLOAD:libeay32.dll")
-+		endif()
- 	elseif (MINGW)
- 		target_link_libraries(${TARGET_srt}_shared PRIVATE wsock32.lib ws2_32.lib)
- 	elseif (APPLE)
diff --git a/recipes/srt/all/test_package/CMakeLists.txt b/recipes/srt/all/test_package/CMakeLists.txt
index dd27cce4bb0ad..d665f87ea9368 100644
--- a/recipes/srt/all/test_package/CMakeLists.txt
+++ b/recipes/srt/all/test_package/CMakeLists.txt
@@ -1,10 +1,7 @@
-cmake_minimum_required(VERSION 3.1.2)
+cmake_minimum_required(VERSION 3.15)
 project(test_package CXX)
 
-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
-conan_basic_setup(TARGETS)
-
-find_package(srt REQUIRED)
+find_package(srt REQUIRED CONFIG)
 
 add_executable(${CMAKE_PROJECT_NAME} test_package.cpp)
 target_link_libraries(${CMAKE_PROJECT_NAME} srt::srt)
diff --git a/recipes/srt/all/test_package/conanfile.py b/recipes/srt/all/test_package/conanfile.py
index 9294e13566895..ef5d7042163ec 100644
--- a/recipes/srt/all/test_package/conanfile.py
+++ b/recipes/srt/all/test_package/conanfile.py
@@ -1,10 +1,19 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
 import os
-from conans import ConanFile, CMake, tools
 
 
 class TestPackageConan(ConanFile):
-    settings = "os", "compiler", "build_type", "arch"
-    generators = "cmake_find_package", "cmake"
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
 
     def build(self):
         cmake = CMake(self)
@@ -12,5 +21,6 @@ def build(self):
         cmake.build()
 
     def test(self):
-        if not tools.cross_building(self.settings):
-            self.run(os.path.join("bin","test_package"), run_environment=True)
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/srt/all/test_v1_package/CMakeLists.txt b/recipes/srt/all/test_v1_package/CMakeLists.txt
new file mode 100644
index 0000000000000..91630d79f4abb
--- /dev/null
+++ b/recipes/srt/all/test_v1_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package)
+
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup(TARGETS)
+
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package/)
diff --git a/recipes/srt/all/test_v1_package/conanfile.py b/recipes/srt/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..b5ecfa88d3a13
--- /dev/null
+++ b/recipes/srt/all/test_v1_package/conanfile.py
@@ -0,0 +1,16 @@
+import os
+from conans import ConanFile, CMake, tools
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "compiler", "build_type", "arch"
+    generators = "cmake_find_package_multi", "cmake"
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if not tools.cross_building(self.settings):
+            self.run(os.path.join("bin","test_package"), run_environment=True)
diff --git a/recipes/srt/config.yml b/recipes/srt/config.yml
index 09ca969e279a3..6cb0ec6a4e99a 100644
--- a/recipes/srt/config.yml
+++ b/recipes/srt/config.yml
@@ -1,9 +1,5 @@
 versions:
-  "1.4.1":
-    folder: all
-  "1.4.2":
-    folder: all
-  "1.4.3":
+  "1.5.3":
     folder: all
   "1.4.4":
     folder: all

From 2e1fd7a4f02b5414e51ad12cda08a1d2b60ee890 Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Tue, 23 Jan 2024 12:14:50 +0100
Subject: [PATCH 0965/1307] (#19972) grpc: use `protobuf/` in
 build requirements + version range for zlib
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* use  in build requirements

* use version range for zlib

* fix min conan version

* add protobuf to requirements & build requirements of test package

* more robust protobuf handling for conan v1 with one profile when protobuf is overridden in requirements

* typo

* restore some trick for 1 profile in test package

* limit the diff with previous revision

* cleanup package_info()

* improve definition of executable imported targets for conan v2

* remove protobuf tool_requires in test package

* small change

* fix syntax in grpc_plugin_template.cmake.in

* fix build requirements of test package

* typo

---------

Co-authored-by: Rubén Rincón Blanco 
---
 .../all/cmake/grpc_plugin_template.cmake.in   | 22 +++++++-------
 recipes/grpc/all/conanfile.py                 | 30 +++++++++----------
 recipes/grpc/all/test_package/CMakeLists.txt  |  4 +--
 recipes/grpc/all/test_package/conanfile.py    | 21 ++++++++-----
 4 files changed, 42 insertions(+), 35 deletions(-)

diff --git a/recipes/grpc/all/cmake/grpc_plugin_template.cmake.in b/recipes/grpc/all/cmake/grpc_plugin_template.cmake.in
index 4685c5c34b8fc..5ab1d94fab8cd 100644
--- a/recipes/grpc/all/cmake/grpc_plugin_template.cmake.in
+++ b/recipes/grpc/all/cmake/grpc_plugin_template.cmake.in
@@ -1,28 +1,28 @@
 if(NOT TARGET @target_name@)
+    # Find @executable_name@
+    ## Workaround for legacy "cmake" generator in case of cross-build
     if(CMAKE_CROSSCOMPILING)
         find_program(@find_program_variable@
             NAMES @executable_name@
             PATHS ENV PATH
             NO_DEFAULT_PATH
         )
-    else()
+    endif()
+    ## And here this will work fine with "CMakeToolchain" (for native & cross-build)
+    ## and legacy "cmake" generator in case of native build
+    if(NOT @find_program_variable@)
+        find_program(@find_program_variable@ NAMES @executable_name@)
+    endif()
+    ## Last resort: we search in package folder directly
+    if(NOT @find_program_variable@)
         find_program(@find_program_variable@
             NAMES @executable_name@
             PATHS "${CMAKE_CURRENT_LIST_DIR}/@relative_path@bin/"
             NO_DEFAULT_PATH
         )
     endif()
-    # TODO: In conan v2 with CMakeToolchain, can be replaced by:
-    # find_program(@find_program_variable@ NAMES @executable_name@))
-    # # Nice enough to handle grpc not in build_requires for native build
-    # if(NOT @find_program_variable@ AND NOT CMAKE_CROSSCOMPILING)
-    #     find_program(@find_program_variable@
-    #         NAMES @executable_name@
-    #         PATHS "${CMAKE_CURRENT_LIST_DIR}/@relative_path@bin/"
-    #         NO_DEFAULT_PATH
-    #     )
-    # endif()
 
+    # Define @target_name@ imported target
     if(@find_program_variable@)
         get_filename_component(@find_program_variable@ "${@find_program_variable@}" ABSOLUTE)
         add_executable(@target_name@ IMPORTED)
diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py
index 998e680f1000a..f091a8cd082f2 100644
--- a/recipes/grpc/all/conanfile.py
+++ b/recipes/grpc/all/conanfile.py
@@ -3,14 +3,14 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.apple import is_apple_os
-from conan.tools.build import can_run, cross_building, valid_min_cppstd, check_min_cppstd
+from conan.tools.build import cross_building, valid_min_cppstd, check_min_cppstd
 from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain, CMakeDeps
 from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, replace_in_file, rmdir
 from conan.tools.microsoft import check_min_vs, is_msvc
 from conan.tools.scm import Version
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.60.0 <2 || >=2.0.5"
 
 
 class GrpcConan(ConanFile):
@@ -63,6 +63,10 @@ def _grpc_plugin_template(self):
     def _cxxstd_required(self):
         return 14 if Version(self.version) >= "1.47" else 11
 
+    @property
+    def _is_legacy_one_profile(self):
+        return not hasattr(self, "settings_build")
+
     def export_sources(self):
         copy(self, "conan_cmake_project_include.cmake", self.recipe_folder, os.path.join(self.export_sources_folder, "src"))
         copy(self, f"cmake/{self._grpc_plugin_template}", self.recipe_folder, os.path.join(self.export_sources_folder, "src"))
@@ -94,9 +98,9 @@ def requirements(self):
             self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True)
         self.requires("c-ares/1.19.1")
         self.requires("openssl/[>=1.1 <4]")
+        self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True)
         self.requires("re2/20230301")
         self.requires("zlib/[>=1.2.11 <2]")
-        self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True, run=can_run(self))
 
     def package_id(self):
         del self.info.options.secure
@@ -112,16 +116,15 @@ def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, self._cxxstd_required)
 
-        if self.options.shared and \
-           (not self.dependencies["protobuf"].options.shared):
+        if self.options.shared and not self.dependencies.host["protobuf"].options.shared:
             raise ConanInvalidConfiguration(
                 "If built as shared protobuf must be shared as well. "
                 "Please, use `protobuf:shared=True`.",
             )
 
     def build_requirements(self):
-        if not can_run(self):
-            self.tool_requires("protobuf/3.21.12")
+        if not self._is_legacy_one_profile:
+            self.tool_requires("protobuf/")
         if cross_building(self):
             # when cross compiling we need pre compiled grpc plugins for protoc
             self.tool_requires(f"grpc/{self.version}")
@@ -132,7 +135,7 @@ def source(self):
     def generate(self):
         # Set up environment so that we can run grpc-cpp-plugin at build time
         VirtualBuildEnv(self).generate()
-        if can_run(self):
+        if self._is_legacy_one_profile:
             VirtualRunEnv(self).generate(scope="build")
 
         # This doesn't work yet as one would expect, because the install target builds everything
@@ -394,7 +397,6 @@ def package_info(self):
         self.cpp_info.resdirs = ["res"]
         ssl_roots_file_path = os.path.join(self.package_folder, "res", "grpc", "roots.pem")
         self.runenv_info.define_path("GRPC_DEFAULT_SSL_ROOTS_FILE_PATH", ssl_roots_file_path)
-        self.env_info.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH = ssl_roots_file_path # remove in conan v2?
 
         for component, values in self._grpc_components.items():
             target = values.get("lib")
@@ -420,14 +422,12 @@ def package_info(self):
                 grpc_modules.append(os.path.join(self._module_path, grpc_module_filename))
         self.cpp_info.set_property("cmake_build_modules", grpc_modules)
 
-        if any(self.options.get_safe(plugin_option) for plugin_option in self._grpc_plugins.keys()):
-            bindir = os.path.join(self.package_folder, "bin")
-            self.output.info("Appending PATH environment variable: {}".format(bindir))
-            self.env_info.PATH.append(bindir)
-
-        # TODO: to remove in conan v2 once cmake_find_package_* generators removed
+        # TODO: to remove once conan v1 not supported anymore
         self.cpp_info.names["cmake_find_package"] = "gRPC"
         self.cpp_info.names["cmake_find_package_multi"] = "gRPC"
+        self.env_info.GRPC_DEFAULT_SSL_ROOTS_FILE_PATH = ssl_roots_file_path
         if grpc_modules:
             self.cpp_info.components["grpc_execs"].build_modules["cmake_find_package"] = grpc_modules
             self.cpp_info.components["grpc_execs"].build_modules["cmake_find_package_multi"] = grpc_modules
+        if any(self.options.get_safe(plugin_option) for plugin_option in self._grpc_plugins.keys()):
+            self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
diff --git a/recipes/grpc/all/test_package/CMakeLists.txt b/recipes/grpc/all/test_package/CMakeLists.txt
index 36ab1457a65dd..15a54da82cf76 100644
--- a/recipes/grpc/all/test_package/CMakeLists.txt
+++ b/recipes/grpc/all/test_package/CMakeLists.txt
@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.15)
 project(test_package LANGUAGES CXX)
 
 
-find_package(protobuf CONFIG REQUIRED QUIET)
-find_package(gRPC CONFIG REQUIRED QUIET)
+find_package(protobuf CONFIG REQUIRED)
+find_package(gRPC CONFIG REQUIRED)
 
 message("DYLD_LIBRARY_PATH from CMake: $ENV{DYLD_LIBRARY_PATH}")
 
diff --git a/recipes/grpc/all/test_package/conanfile.py b/recipes/grpc/all/test_package/conanfile.py
index 0f6a5af6c45a4..cb18d0a94bddb 100644
--- a/recipes/grpc/all/test_package/conanfile.py
+++ b/recipes/grpc/all/test_package/conanfile.py
@@ -1,7 +1,7 @@
 from conan import ConanFile
 from conan.tools.build import can_run
-from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain
-from conan.tools.env import VirtualRunEnv, VirtualBuildEnv
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
 from conan.tools.microsoft import is_msvc
 import os
 
@@ -10,22 +10,29 @@ class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
     test_type = "explicit"
 
+    @property
+    def _is_legacy_one_profile(self):
+        return not hasattr(self, "settings_build")
+
     def layout(self):
         cmake_layout(self)
 
     def requirements(self):
-        self.requires(self.tested_reference_str, run=can_run(self))
+        self.requires(self.tested_reference_str)
+        self.requires("protobuf/3.21.12")
 
     def build_requirements(self):
-        if not can_run(self):
+        if not self._is_legacy_one_profile:
             # For the grpc-cpp-plugin executable at build time
             self.tool_requires(self.tested_reference_str)
+            self.tool_requires("protobuf/")
 
     def generate(self):
-        # Set up environment so that we can run grpc-cpp-plugin at build time
-        VirtualBuildEnv(self).generate()
-        if can_run(self):
+        # Set up environment so that we can run protoc & grpc-cpp-plugin at build time
+        if self._is_legacy_one_profile:
             VirtualRunEnv(self).generate(scope="build")
+        else:
+            VirtualBuildEnv(self).generate()
 
         # Environment so that the compiled test executable can load shared libraries
         runenv = VirtualRunEnv(self)

From e402b1726f4b75461435bd59923f83a93bc63f13 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 20:41:32 +0900
Subject: [PATCH 0966/1307] (#22409) pistache: add version cci.20240107 with
 several improvements

* pistache: add version cci.20240107 with several improvements

* fix typo

* require date not in cci.20201127

* support gcc13 laster on cci.20201127 and 0.0.5
---
 recipes/pistache/all/conandata.yml            | 17 +++++-
 recipes/pistache/all/conanfile.py             | 56 +++++++++++--------
 .../patches/0.0.5-0001-include-cstdint.patch  | 13 +++++
 ...ch => cci.20201127-0001-remove-fpic.patch} |  0
 ...=> cci.20201127-0002-include-stddef.patch} |  0
 .../cci.20201127-0003-include-cstdint.patch   | 13 +++++
 .../pistache/all/test_package/CMakeLists.txt  |  2 +-
 recipes/pistache/config.yml                   |  2 +
 8 files changed, 77 insertions(+), 26 deletions(-)
 create mode 100644 recipes/pistache/all/patches/0.0.5-0001-include-cstdint.patch
 rename recipes/pistache/all/patches/{0001-remove-fpic.patch => cci.20201127-0001-remove-fpic.patch} (100%)
 rename recipes/pistache/all/patches/{0002-include-stddef.patch => cci.20201127-0002-include-stddef.patch} (100%)
 create mode 100644 recipes/pistache/all/patches/cci.20201127-0003-include-cstdint.patch

diff --git a/recipes/pistache/all/conandata.yml b/recipes/pistache/all/conandata.yml
index 4badc3fded984..7d45092404e53 100644
--- a/recipes/pistache/all/conandata.yml
+++ b/recipes/pistache/all/conandata.yml
@@ -2,14 +2,27 @@ sources:
   "0.0.5":
     url: "https://github.com/pistacheio/pistache/archive/refs/tags/0.0.5.tar.gz"
     sha256: "e2da87ebc01367e33bd8d7800cb2bf5c23e9fb4e6f49dce2cab5f8756df8dca0"
+  "cci.20240107":
+    url: "https://github.com/pistacheio/pistache/archive/1c733a145b01a4737cf5c7dd3709bd85be404886.tar.gz"
+    sha256: "156d2a4503be3d6c0726009c83e6d2e6e2e6378e6136436fc2d82d13597b6b0b"
   "cci.20201127":
     url: "https://github.com/pistacheio/pistache/archive/a3c5c68e0f08e19331d53d12846079ad761fe974.tar.gz"
     sha256: "f1abb9e43ff847ebff8edb72623c9942162df134bccfb571af9c7817d3261fae"
 patches:
+  "0.0.5":
+    - patch_file: "patches/0.0.5-0001-include-cstdint.patch"
+      patch_description: "include "
+      patch_type: "portability"
+      patch_source: "https://github.com/pistacheio/pistache/pull/1142"
   "cci.20201127":
-    - patch_file: "patches/0001-remove-fpic.patch"
+    - patch_file: "patches/cci.20201127-0001-remove-fpic.patch"
       patch_description: "disable fPIC"
       patch_type: "conan"
-    - patch_file: "patches/0002-include-stddef.patch"
+    - patch_file: "patches/cci.20201127-0002-include-stddef.patch"
+      patch_description: "include "
+      patch_type: "portability"
+      patch_source: "https://github.com/pistacheio/pistache/pull/965"
+    - patch_file: "patches/cci.20201127-0003-include-cstdint.patch"
       patch_description: "include "
       patch_type: "portability"
+      patch_source: "https://github.com/pistacheio/pistache/pull/1142"
diff --git a/recipes/pistache/all/conanfile.py b/recipes/pistache/all/conanfile.py
index f80811935c92f..3577526d2b30c 100644
--- a/recipes/pistache/all/conanfile.py
+++ b/recipes/pistache/all/conanfile.py
@@ -16,12 +16,12 @@
 
 class PistacheConan(ConanFile):
     name = "pistache"
+    description = "Pistache is a modern and elegant HTTP and REST framework for C++"
     license = "Apache-2.0"
-    homepage = "https://github.com/pistacheio/pistache"
     url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/pistacheio/pistache"
     topics = ("http", "rest", "framework", "networking")
-    description = "Pistache is a modern and elegant HTTP and REST framework for C++"
-
+    package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
         "shared": [True, False],
@@ -34,6 +34,17 @@ class PistacheConan(ConanFile):
         "with_ssl": False,
     }
 
+    @property
+    def _min_cppstd(self):
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "7",
+            "clang": "6",
+        }
+
     def export_sources(self):
         export_conandata_patches(self)
 
@@ -52,37 +63,32 @@ def layout(self):
             basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("rapidjson/cci.20220822")
+        self.requires("rapidjson/cci.20230929")
         if self.options.with_ssl:
-            self.requires("openssl/1.1.1s")
+            self.requires("openssl/[>=1.1 <4]")
         if self.version != "cci.20201127":
             self.requires("date/3.0.1")
 
     def validate(self):
-        compilers = {
-            "gcc": "7",
-            "clang": "6",
-        }
         if self.settings.os != "Linux":
             raise ConanInvalidConfiguration(f"{self.ref} is only support on Linux.")
 
-        if self.settings.compiler == "clang":
-            raise ConanInvalidConfiguration("Clang support is broken. See pistacheio/pistache#835.")
+        if self.settings.compiler == "clang" and self.version in ["cci.20201127", "0.0.5"]:
+            raise ConanInvalidConfiguration(f"{self.ref}'s clang support is broken. See pistacheio/pistache#835.")
 
         if self.settings.compiler.cppstd:
-            check_min_cppstd(self, 17)
-        minimum_compiler = compilers.get(str(self.settings.compiler))
-        if minimum_compiler:
-            if Version(self.settings.compiler.version) < minimum_compiler:
-                raise ConanInvalidConfiguration(f"{self.ref} requires c++17, which your compiler does not support.")
-        else:
-            self.output.warn(f"{self.ref} requires c++17, but this compiler is unknown to this recipe. Assuming your compiler supports c++17.")
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
 
     def build_requirements(self):
         if self.version != "cci.20201127":
-            self.tool_requires("meson/1.0.0")
+            self.tool_requires("meson/1.3.1")
             if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
-                self.tool_requires("pkgconf/1.9.3")
+                self.tool_requires("pkgconf/2.1.0")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -116,8 +122,8 @@ def build(self):
         apply_conandata_patches(self)
         if self.version != "cci.20201127":
             replace_in_file(self, os.path.join(self.source_folder, "meson.build"),
-                                    "dependency('RapidJSON', fallback: ['rapidjson', 'rapidjson_dep']),",
-                                    "dependency('rapidjson', fallback: ['rapidjson', 'rapidjson_dep']),")
+                                    "dependency('RapidJSON', fallback: ['rapidjson', 'rapidjson_dep'])",
+                                    "dependency('rapidjson', fallback: ['rapidjson', 'rapidjson_dep'])")
 
         if self.version == "cci.20201127":
             cmake = CMake(self)
@@ -152,11 +158,15 @@ def package_info(self):
 
         self.cpp_info.components["libpistache"].libs = collect_libs(self)
         self.cpp_info.components["libpistache"].requires = ["rapidjson::rapidjson"]
+        if self.version != "cci.20201127":
+            self.cpp_info.components["libpistache"].requires.append("date::date")
         if self.options.with_ssl:
             self.cpp_info.components["libpistache"].requires.append("openssl::openssl")
             self.cpp_info.components["libpistache"].defines = ["PISTACHE_USE_SSL=1"]
-        if self.settings.os == "Linux":
+        if self.settings.os in ["Linux", "FreeBSD"]:
             self.cpp_info.components["libpistache"].system_libs = ["pthread"]
+            if self.version != "cci.20201127":
+                self.cpp_info.components["libpistache"].system_libs.append("m")
 
         # TODO: to remove in conan v2 once cmake_find_package_* generators removed
         self.cpp_info.filenames["cmake_find_package"] = "Pistache"
diff --git a/recipes/pistache/all/patches/0.0.5-0001-include-cstdint.patch b/recipes/pistache/all/patches/0.0.5-0001-include-cstdint.patch
new file mode 100644
index 0000000000000..459b71e89e5e7
--- /dev/null
+++ b/recipes/pistache/all/patches/0.0.5-0001-include-cstdint.patch
@@ -0,0 +1,13 @@
+diff --git a/include/pistache/flags.h b/include/pistache/flags.h
+index 9be2b32..ed37150 100644
+--- a/include/pistache/flags.h
++++ b/include/pistache/flags.h
+@@ -11,7 +11,7 @@
+ */
+ 
+ #pragma once
+-
++#include 
+ #include 
+ #include 
+ #include 
diff --git a/recipes/pistache/all/patches/0001-remove-fpic.patch b/recipes/pistache/all/patches/cci.20201127-0001-remove-fpic.patch
similarity index 100%
rename from recipes/pistache/all/patches/0001-remove-fpic.patch
rename to recipes/pistache/all/patches/cci.20201127-0001-remove-fpic.patch
diff --git a/recipes/pistache/all/patches/0002-include-stddef.patch b/recipes/pistache/all/patches/cci.20201127-0002-include-stddef.patch
similarity index 100%
rename from recipes/pistache/all/patches/0002-include-stddef.patch
rename to recipes/pistache/all/patches/cci.20201127-0002-include-stddef.patch
diff --git a/recipes/pistache/all/patches/cci.20201127-0003-include-cstdint.patch b/recipes/pistache/all/patches/cci.20201127-0003-include-cstdint.patch
new file mode 100644
index 0000000000000..93b9a3569853b
--- /dev/null
+++ b/recipes/pistache/all/patches/cci.20201127-0003-include-cstdint.patch
@@ -0,0 +1,13 @@
+diff --git a/include/pistache/flags.h b/include/pistache/flags.h
+index 2538773..fcd0252 100644
+--- a/include/pistache/flags.h
++++ b/include/pistache/flags.h
+@@ -5,7 +5,7 @@
+ */
+ 
+ #pragma once
+-
++#include 
+ #include 
+ #include 
+ #include 
diff --git a/recipes/pistache/all/test_package/CMakeLists.txt b/recipes/pistache/all/test_package/CMakeLists.txt
index 879baa5c03bf1..fd8a15bd81880 100644
--- a/recipes/pistache/all/test_package/CMakeLists.txt
+++ b/recipes/pistache/all/test_package/CMakeLists.txt
@@ -4,7 +4,7 @@ project(test_package LANGUAGES CXX)
 find_package(Pistache REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.cpp)
-target_link_libraries(${PROJECT_NAME} Pistache::Pistache)
+target_link_libraries(${PROJECT_NAME} PRIVATE Pistache::Pistache)
 if(Pistache_VERSION EQUAL "cci.20201127")
   target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
 else()
diff --git a/recipes/pistache/config.yml b/recipes/pistache/config.yml
index 7515a206bd537..3f8e40dcd1442 100644
--- a/recipes/pistache/config.yml
+++ b/recipes/pistache/config.yml
@@ -1,5 +1,7 @@
 versions:
   "0.0.5":
     folder: all
+  "cci.20240107":
+    folder: all
   "cci.20201127":
     folder: all

From 80964334e2ba8a97f286cfb1e89617d07e641f2f Mon Sep 17 00:00:00 2001
From: TheClockTwister 
Date: Tue, 23 Jan 2024 14:23:39 +0100
Subject: [PATCH 0967/1307] (#22164) Fix abseil conanfile.py for
 cross-compilation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When cross-compiling, we add the `CMAKE_SYSTEM_PROCESSOR` check, but since this is written in the same line as the previous `endif()`, we encounter a syntax error and the build fails

Co-authored-by: Francisco Ramírez 
---
 recipes/abseil/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/abseil/all/conanfile.py b/recipes/abseil/all/conanfile.py
index b7ffcdd9c1625..1d57cb0be91b0 100644
--- a/recipes/abseil/all/conanfile.py
+++ b/recipes/abseil/all/conanfile.py
@@ -98,7 +98,7 @@ def _patch_sources(self):
         # In case of cross-build, set CMAKE_SYSTEM_PROCESSOR if not set by toolchain or user
         if cross_building(self):
             toolchain_file = os.path.join(self.generators_folder, "conan_toolchain.cmake")
-            cmake_system_processor_block = textwrap.dedent("""\
+            cmake_system_processor_block = textwrap.dedent("""
                 if(NOT CMAKE_SYSTEM_PROCESSOR)
                     set(CMAKE_SYSTEM_PROCESSOR {})
                 endif()

From f90cdb12137e075e4f5f0a37a27a70ea2bb714f7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 23:01:46 +0900
Subject: [PATCH 0968/1307] (#22503) ada: add verison 2.7.5

---
 recipes/ada/all/conandata.yml | 3 +++
 recipes/ada/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/ada/all/conandata.yml b/recipes/ada/all/conandata.yml
index e07ea43a3e678..1a32e1d601610 100644
--- a/recipes/ada/all/conandata.yml
+++ b/recipes/ada/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.7.5":
+    url: "https://github.com/ada-url/ada/archive/v2.7.5.tar.gz"
+    sha256: "25a5d62fdd4950dbef785db5725675c15f3df2cf899a4a920449fe9a05fc6d00"
   "2.7.4":
     url: "https://github.com/ada-url/ada/archive/v2.7.4.tar.gz"
     sha256: "897942ba8c99153f916c25698a49604022f3e54441cfa9b76f657ad15b6ca041"
diff --git a/recipes/ada/config.yml b/recipes/ada/config.yml
index e97d7f2aa5a29..a50d2c958edf8 100644
--- a/recipes/ada/config.yml
+++ b/recipes/ada/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.7.5":
+    folder: all
   "2.7.4":
     folder: all
   "2.7.3":

From ea1775cad7a64200c735908d3aac7674099e0c2e Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Tue, 23 Jan 2024 15:13:11 +0100
Subject: [PATCH 0969/1307] (#22509) wil: add version 1.0.240122.1

---
 recipes/wil/all/conandata.yml | 3 +++
 recipes/wil/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/wil/all/conandata.yml b/recipes/wil/all/conandata.yml
index d5f4e93a4cb65..50c0114259eca 100644
--- a/recipes/wil/all/conandata.yml
+++ b/recipes/wil/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.0.240122.1":
+    url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.240122.1.tar.gz"
+    sha256: "e599f2843c01b9e4827e46f11d3651180675c8ecdbba8bdae735f533672989d3"
   "1.0.231216.1":
     url: "https://github.com/microsoft/wil/archive/refs/tags/v1.0.231216.1.tar.gz"
     sha256: "4c15ba5e357f19449222b89f6e34d590d9d3f3d67e704a5cc5f4caa74228dd7e"
diff --git a/recipes/wil/config.yml b/recipes/wil/config.yml
index 58a0a4f3fc832..f3a417272a35c 100644
--- a/recipes/wil/config.yml
+++ b/recipes/wil/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.0.240122.1":
+    folder: "all"
   "1.0.231216.1":
     folder: "all"
   "1.0.231028.1":

From 5fdccb86906e9cd9e77d60e53c2e9f469d066769 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 23 Jan 2024 15:23:23 +0100
Subject: [PATCH 0970/1307] (#22488) libe57format: bump deps

---
 recipes/libe57format/all/conanfile.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/recipes/libe57format/all/conanfile.py b/recipes/libe57format/all/conanfile.py
index 77d659af02459..6b01ec8d3ecfa 100644
--- a/recipes/libe57format/all/conanfile.py
+++ b/recipes/libe57format/all/conanfile.py
@@ -42,15 +42,14 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("xerces-c/3.2.4")
+        self.requires("xerces-c/3.2.5")
 
     def validate(self):
         if self.info.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, "11")
 
     def build_requirements(self):
-        if Version(self.version) >= "1.17":
-            self.tool_requires("cmake/[>=3.16.3 <4]")
+        self.tool_requires("cmake/[>=3.16.3 <4]")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From f69137c6149e1df0079bc6ecada08179ab00de85 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 23 Jan 2024 23:32:19 +0900
Subject: [PATCH 0971/1307] (#21947) serd: add version 0.32.0

* serd: add version 0.32.0

* add "-0" in lib name on MSVC
---
 recipes/serd/all/conandata.yml | 3 +++
 recipes/serd/all/conanfile.py  | 3 ++-
 recipes/serd/config.yml        | 2 ++
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/recipes/serd/all/conandata.yml b/recipes/serd/all/conandata.yml
index b401b2ad15e33..87d44aaa3ef2a 100644
--- a/recipes/serd/all/conandata.yml
+++ b/recipes/serd/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.32.0":
+    url: "https://gitlab.com/drobilla/serd/-/archive/v0.32.0/serd-v0.32.0.tar.gz"
+    sha256: "355bc7c7fe366e5d4ce32641e4f55d35f8226169ac2d9a2824b1443ab7c03ec8"
   "0.30.16":
     url: "https://gitlab.com/drobilla/serd/-/archive/v0.30.16/serd-v0.30.16.tar.gz"
     sha256: "c139e02af039e277fb1b7deb2a687477bf6ec46cd6348bbb1232c2727a1dd744"
diff --git a/recipes/serd/all/conanfile.py b/recipes/serd/all/conanfile.py
index b5008dc8cfa01..cfa7c895a4697 100644
--- a/recipes/serd/all/conanfile.py
+++ b/recipes/serd/all/conanfile.py
@@ -5,6 +5,7 @@
 from conan.tools.layout import basic_layout
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.microsoft import is_msvc
+from conan.tools.scm import Version
 import os
 
 required_conan_version = ">=1.53.0"
@@ -74,7 +75,7 @@ def package(self):
     def package_info(self):
         self.cpp_info.set_property("pkg_config_name", "serd-0")
         libname = "serd"
-        if not (is_msvc(self) and self.options.shared):
+        if (not (is_msvc(self) and self.options.shared)) or (Version(self.version) >= "0.32.0" and is_msvc(self)):
             libname += "-0"
         self.cpp_info.libs = [libname]
         self.cpp_info.includedirs = [os.path.join("include", "serd-0")]
diff --git a/recipes/serd/config.yml b/recipes/serd/config.yml
index 9877695aeb2f5..bfcc718ff5128 100644
--- a/recipes/serd/config.yml
+++ b/recipes/serd/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.32.0":
+    folder: all
   "0.30.16":
     folder: all
   "0.30.14":

From 890e9ca1adb1826c931dfc27ed086ff01be35623 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 23 Jan 2024 16:10:04 +0100
Subject: [PATCH 0972/1307] (#21765) Opencv/4.x: bump deps

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* opencv/4.x: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* Update conanfile.py

* Update conanfile.py

* revert gdal

* downgrade qt to 5

* restore qt patch
---
 recipes/opencv/4.x/conandata.yml              |  3 +++
 recipes/opencv/4.x/conanfile.py               | 25 ++++++++-----------
 .../patches/4.8.1-0004-link-qt-targets.patch  | 22 ++++++++++++++++
 3 files changed, 36 insertions(+), 14 deletions(-)
 create mode 100644 recipes/opencv/4.x/patches/4.8.1-0004-link-qt-targets.patch

diff --git a/recipes/opencv/4.x/conandata.yml b/recipes/opencv/4.x/conandata.yml
index 867bde99de61c..523e50b3b56b9 100644
--- a/recipes/opencv/4.x/conandata.yml
+++ b/recipes/opencv/4.x/conandata.yml
@@ -27,6 +27,9 @@ patches:
     - patch_file: "patches/4.5.5-0003-find-quirc.patch"
       patch_description: "Robust discovery & injection of quirc"
       patch_type: "conan"
+    - patch_file: "patches/4.8.1-0004-link-qt-targets.patch"
+      patch_description: "Link to Qt through CMake targets"
+      patch_type: "conan"
     - patch_file: "patches/4.8.1-0001-find-ade.patch"
       patch_description: "Robust discovery & injection of ade"
       patch_type: "conan"
diff --git a/recipes/opencv/4.x/conanfile.py b/recipes/opencv/4.x/conanfile.py
index 31a4382eaa728..2c4952f422304 100644
--- a/recipes/opencv/4.x/conanfile.py
+++ b/recipes/opencv/4.x/conanfile.py
@@ -1101,21 +1101,21 @@ def requirements(self):
         if self.options.get_safe("with_gtk"):
             self.requires("gtk/system")
         if self.options.get_safe("with_qt"):
-            self.requires("qt/5.15.11")
+            self.requires("qt/5.15.12")
         if self.options.get_safe("with_wayland"):
             self.requires("xkbcommon/1.6.0")
             self.requires("wayland/1.22.0")
         # imgcodecs module dependencies
         if self.options.get_safe("with_avif"):
-            self.requires("libavif/1.0.1")
+            self.requires("libavif/1.0.2")
         if self.options.get_safe("with_jpeg") == "libjpeg":
             self.requires("libjpeg/9e")
         elif self.options.get_safe("with_jpeg") == "libjpeg-turbo":
-            self.requires("libjpeg-turbo/3.0.0")
+            self.requires("libjpeg-turbo/3.0.1")
         elif self.options.get_safe("with_jpeg") == "mozjpeg":
-            self.requires("mozjpeg/4.1.3")
+            self.requires("mozjpeg/4.1.5")
         if self.options.get_safe("with_jpeg2000") == "jasper":
-            self.requires("jasper/4.0.0")
+            self.requires("jasper/4.1.0")
         elif self.options.get_safe("with_jpeg2000") == "openjpeg":
             self.requires("openjpeg/2.5.0")
         if self.options.get_safe("with_png"):
@@ -1139,11 +1139,11 @@ def requirements(self):
             self.requires("ffmpeg/4.4.4")
         # freetype module dependencies
         if self.options.freetype:
-            self.requires("freetype/2.13.0")
-            self.requires("harfbuzz/8.2.2")
+            self.requires("freetype/2.13.2")
+            self.requires("harfbuzz/8.3.0")
         # hdf module dependencies
         if self.options.hdf:
-            self.requires("hdf5/1.14.2")
+            self.requires("hdf5/1.14.3")
         # ovis module dependencies
         if self.options.ovis:
             self.requires("ogre/1.10.2")
@@ -1210,11 +1210,11 @@ def build_requirements(self):
             if not self._is_legacy_one_profile:
                 self.tool_requires("protobuf/")
         if self.options.get_safe("with_wayland"):
-            self.tool_requires("wayland-protocols/1.31")
+            self.tool_requires("wayland-protocols/1.32")
             if not self._is_legacy_one_profile:
                 self.tool_requires("wayland/")
             if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-                self.tool_requires("pkgconf/2.0.3")
+                self.tool_requires("pkgconf/2.1.0")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version][0], strip_root=True)
@@ -1290,10 +1290,7 @@ def _patch_sources(self):
                 )
 
         ## Cleanup RPATH
-        if Version(self.version) < "4.1.2":
-            install_layout_file = os.path.join(self.source_folder, "CMakeLists.txt")
-        else:
-            install_layout_file = os.path.join(self.source_folder, "cmake", "OpenCVInstallLayout.cmake")
+        install_layout_file = os.path.join(self.source_folder, "cmake", "OpenCVInstallLayout.cmake")
         replace_in_file(self, install_layout_file,
                               "ocv_update(CMAKE_INSTALL_RPATH \"${CMAKE_INSTALL_PREFIX}/${OPENCV_LIB_INSTALL_PATH}\")",
                               "")
diff --git a/recipes/opencv/4.x/patches/4.8.1-0004-link-qt-targets.patch b/recipes/opencv/4.x/patches/4.8.1-0004-link-qt-targets.patch
new file mode 100644
index 0000000000000..d4ceb77155293
--- /dev/null
+++ b/recipes/opencv/4.x/patches/4.8.1-0004-link-qt-targets.patch
@@ -0,0 +1,22 @@
+--- a/contrib/modules/cvv/CMakeLists.txt
++++ b/contrib/modules/cvv/CMakeLists.txt
+@@ -18,7 +18,7 @@
+ set(CMAKE_AUTOMOC ON)
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+ foreach(module ${CVV_QT_MODULES})
+-  list(APPEND CVV_LIBRARIES ${Qt${QT_VERSION_MAJOR}${module}_LIBRARIES})
++  list(APPEND CVV_LIBRARIES Qt${QT_VERSION_MAJOR}::${module})
+ endforeach()
+ 
+ ocv_glob_module_sources()
+--- a/modules/highgui/CMakeLists.txt
++++ b/modules/highgui/CMakeLists.txt
+@@ -116,7 +116,7 @@ if(HAVE_QT)
+     foreach(dt_dep ${qt_deps})
+       add_definitions(${Qt${QT_VERSION_MAJOR}${dt_dep}_DEFINITIONS})
+       include_directories(${Qt${QT_VERSION_MAJOR}${dt_dep}_INCLUDE_DIRS})
+-      list(APPEND HIGHGUI_LIBRARIES ${Qt${QT_VERSION_MAJOR}${dt_dep}_LIBRARIES})
++      list(APPEND HIGHGUI_LIBRARIES Qt${QT_VERSION_MAJOR}::${dt_dep})
+     endforeach()
+   else()
+     ocv_assert(QT_VERSION_MAJOR EQUAL 4)

From 7bd308f437c9d0952b56df169c9192496a79a8e5 Mon Sep 17 00:00:00 2001
From: Manel Jimeno <52399441+mjimenofluendo@users.noreply.github.com>
Date: Tue, 23 Jan 2024 17:16:54 +0100
Subject: [PATCH 0973/1307] (#20183) gstreamer: Add version 1.22.6

* (#20182) glib version updated to 2.77.0

* (#20182) Add 1.22.6 version

* Useless blank space

---------

Co-authored-by: Francisco Ramirez de Anton 
---
 recipes/gstreamer/all/conandata.yml | 3 +++
 recipes/gstreamer/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/gstreamer/all/conandata.yml b/recipes/gstreamer/all/conandata.yml
index c81d17d89f92b..b40d98596b59c 100644
--- a/recipes/gstreamer/all/conandata.yml
+++ b/recipes/gstreamer/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.22.6":
+    url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.6.tar.xz"
+    sha256: "f500e6cfddff55908f937711fc26a0840de28a1e9ec49621c0b6f1adbd8f818e"
   "1.22.3":
     url: "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.3.tar.xz"
     sha256: "9ffeab95053f9f6995eb3b3da225e88f21c129cd60da002d3f795db70d6d5974"
diff --git a/recipes/gstreamer/config.yml b/recipes/gstreamer/config.yml
index e4692dfb998b7..a3f838574c2f1 100644
--- a/recipes/gstreamer/config.yml
+++ b/recipes/gstreamer/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.22.6":
+    folder: all
   "1.22.3":
     folder: all
   "1.20.6":

From ba3fe9f0ee53b80620e74acdab461c283d03a145 Mon Sep 17 00:00:00 2001
From: Taepper 
Date: Tue, 23 Jan 2024 19:00:14 +0100
Subject: [PATCH 0974/1307] (#22361) [fix] Fix DuckDB extension build

---
 recipes/duckdb/all/conanfile.py | 77 ++++++++++++++++++++++++---------
 1 file changed, 57 insertions(+), 20 deletions(-)

diff --git a/recipes/duckdb/all/conanfile.py b/recipes/duckdb/all/conanfile.py
index 2010b8b18210e..bb764a9d7f7ea 100644
--- a/recipes/duckdb/all/conanfile.py
+++ b/recipes/duckdb/all/conanfile.py
@@ -23,15 +23,17 @@ class DuckdbConan(ConanFile):
     options = {
         "shared": [True, False],
         "fPIC": [True, False],
+        "with_autocomplete": [True, False],
         "with_icu": [True, False],
         "with_parquet": [True, False],
         "with_tpch": [True, False],
         "with_tpcds": [True, False],
         "with_fts": [True, False],
-        "with_httpfs": [True, False],
         "with_visualizer": [True, False],
+        "with_httpfs": [True, False],
         "with_json": [True, False],
         "with_excel": [True, False],
+        "with_inet": [True, False],
         "with_sqlsmith": [True, False],
         "with_odbc": [True, False],
         "with_query_log": [True, False],
@@ -42,15 +44,17 @@ class DuckdbConan(ConanFile):
     default_options = {
         "shared": False,
         "fPIC": True,
+        "with_autocomplete": False,
         "with_icu": False,
         "with_parquet": False,
         "with_tpch": False,
         "with_tpcds": False,
         "with_fts": False,
-        "with_httpfs": False,
         "with_visualizer": False,
+        "with_httpfs": False,
         "with_json": False,
         "with_excel": False,
+        "with_inet": False,
         "with_sqlsmith": False,
         "with_odbc": False,
         "with_query_log": False,
@@ -92,7 +96,7 @@ def validate(self):
             check_min_cppstd(self, self._min_cppstd)
         # FIXME: drop support MSVC debug shared build
         if Version(self.version) >= "0.9.2" and \
-            is_msvc(self) and self.options.shared and self.settings.build_type == "Debug":
+                is_msvc(self) and self.options.shared and self.settings.build_type == "Debug":
             raise ConanInvalidConfiguration(f"{self.ref} does not support MSVC debug shared build")
 
     def source(self):
@@ -104,17 +108,46 @@ def generate(self):
         tc.variables["DUCKDB_MINOR_VERSION"] = Version(self.version).minor
         tc.variables["DUCKDB_PATCH_VERSION"] = Version(self.version).patch
         tc.variables["DUCKDB_DEV_ITERATION"] = 0
-        tc.variables["BUILD_ICU_EXTENSION"] = self.options.with_icu
+
         if "with_parquet" in self.options:
             tc.variables["BUILD_PARQUET_EXTENSION"] = self.options.with_parquet
-        tc.variables["BUILD_TPCH_EXTENSION"] = self.options.with_tpch
-        tc.variables["BUILD_TPCDS_EXTENSION"] = self.options.with_tpcds
-        tc.variables["BUILD_FTS_EXTENSION"] = self.options.with_fts
-        tc.variables["BUILD_HTTPFS_EXTENSION"] = self.options.with_httpfs
-        tc.variables["BUILD_VISUALIZER_EXTENSION"] = self.options.with_visualizer
-        tc.variables["BUILD_JSON_EXTENSION"] = self.options.with_json
-        tc.variables["BUILD_EXCEL_EXTENSION"] = self.options.with_excel
-        tc.variables["BUILD_SQLSMITH_EXTENSION"] = self.options.with_sqlsmith
+
+        if Version(self.version) >= "0.9.0":
+            build_extensions = ""
+            if self.options.with_icu:
+                build_extensions += ";icu"
+            if self.options.with_autocomplete:
+                build_extensions += ";autocomplete"
+            if self.options.with_tpch:
+                build_extensions += ";tpch"
+            if self.options.with_tpcds:
+                build_extensions += ";tpcds"
+            if self.options.with_fts:
+                build_extensions += ";fts"
+            if self.options.with_visualizer:
+                build_extensions += ";visualizer"
+            if self.options.with_httpfs:
+                build_extensions += ";httpfs"
+            if self.options.with_json:
+                build_extensions += ";json"
+            if self.options.with_excel:
+                build_extensions += ";excel"
+            if self.options.with_inet:
+                build_extensions += ";inet"
+            if self.options.with_sqlsmith:
+                build_extensions += ";sqlsmith"
+            tc.variables["BUILD_EXTENSIONS"] = build_extensions
+        else:
+            tc.variables["BUILD_ICU_EXTENSION"] = self.options.with_icu
+            tc.variables["BUILD_TPCH_EXTENSION"] = self.options.with_tpch
+            tc.variables["BUILD_TPCDS_EXTENSION"] = self.options.with_tpcds
+            tc.variables["BUILD_FTS_EXTENSION"] = self.options.with_fts
+            tc.variables["BUILD_HTTPFS_EXTENSION"] = self.options.with_httpfs
+            tc.variables["BUILD_VISUALIZER_EXTENSION"] = self.options.with_visualizer
+            tc.variables["BUILD_JSON_EXTENSION"] = self.options.with_json
+            tc.variables["BUILD_EXCEL_EXTENSION"] = self.options.with_excel
+            tc.variables["BUILD_SQLSMITH_EXTENSION"] = self.options.with_sqlsmith
+
         tc.variables["BUILD_ODBC_DRIVER"] = self.options.with_odbc
         tc.variables["FORCE_QUERY_LOG"] = self.options.with_query_log
         tc.variables["BUILD_SHELL"] = self.options.with_shell
@@ -135,13 +168,13 @@ def build(self):
         apply_conandata_patches(self)
         if is_msvc(self) and not self.options.shared:
             replace_in_file(self, os.path.join(self.source_folder, "src", "include", "duckdb.h"),
-                "#define DUCKDB_API __declspec(dllimport)",
-                "#define DUCKDB_API"
-            )
+                            "#define DUCKDB_API __declspec(dllimport)",
+                            "#define DUCKDB_API"
+                            )
             replace_in_file(self, os.path.join(self.source_folder, "src", "include", "duckdb", "common", "winapi.hpp"),
-                "#define DUCKDB_API __declspec(dllimport)",
-                "#define DUCKDB_API"
-            )
+                            "#define DUCKDB_API __declspec(dllimport)",
+                            "#define DUCKDB_API"
+                            )
 
         cmake = CMake(self)
         cmake.configure()
@@ -179,6 +212,8 @@ def package_info(self):
             if Version(self.version) >= "0.6.0":
                 self.cpp_info.libs.append("duckdb_fsst")
 
+            if self.options.with_autocomplete:
+                self.cpp_info.libs.append("autocomplete_extension")
             if self.options.with_icu:
                 self.cpp_info.libs.append("icu_extension")
             if self.options.get_safe("with_parquet", True):
@@ -189,16 +224,18 @@ def package_info(self):
                 self.cpp_info.libs.append("tpcds_extension")
             if self.options.with_fts:
                 self.cpp_info.libs.append("fts_extension")
-            if self.options.with_httpfs:
-                self.cpp_info.libs.append("httpfs_extension")
             if self.options.with_visualizer:
                 self.cpp_info.libs.append("visualizer_extension")
+            if self.options.with_httpfs:
+                self.cpp_info.libs.append("httpfs_extension")
             if Version(self.version) >= "0.6.0" and self.settings.os == "Linux":
                 self.cpp_info.libs.append("jemalloc_extension")
             if self.options.with_json:
                 self.cpp_info.libs.append("json_extension")
             if self.options.with_excel:
                 self.cpp_info.libs.append("excel_extension")
+            if self.options.with_inet:
+                self.cpp_info.libs.append("inet_extension")
             if self.options.with_sqlsmith:
                 self.cpp_info.libs.append("sqlsmith_extension")
 

From 9a82cce2e8931041b0c36ecd1a859bad50565b0d Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Tue, 23 Jan 2024 10:41:15 -0800
Subject: [PATCH 0975/1307] (#22498) gegles-spdlog_setup: bump to `fmt/10.2.1`

---
 recipes/gegles-spdlog_setup/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/gegles-spdlog_setup/all/conanfile.py b/recipes/gegles-spdlog_setup/all/conanfile.py
index be8372966178f..0d3d8a4382c9e 100644
--- a/recipes/gegles-spdlog_setup/all/conanfile.py
+++ b/recipes/gegles-spdlog_setup/all/conanfile.py
@@ -40,7 +40,7 @@ def layout(self):
     def requirements(self):
         self.requires("cpptoml/0.1.1")
         self.requires("spdlog/1.13.0")
-        self.requires("fmt/10.2.0")
+        self.requires("fmt/10.2.1")
 
     def package_id(self):
         self.info.clear()

From e143fa4ceb067a0858d9fb000f1e5009621368f5 Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Tue, 23 Jan 2024 17:32:20 -0800
Subject: [PATCH 0976/1307] (#22499) restinio: bump to `fmt/10.2.1`

---
 recipes/restinio/v0.7/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py
index 29aee97b93a3d..32b02cb75a0d3 100644
--- a/recipes/restinio/v0.7/conanfile.py
+++ b/recipes/restinio/v0.7/conanfile.py
@@ -36,7 +36,7 @@ def layout(self):
 
     def requirements(self):
         self.requires("llhttp/9.1.3")
-        self.requires("fmt/10.2.0")
+        self.requires("fmt/10.2.1")
         self.requires("expected-lite/0.6.3")
 
         if self.options.asio == "standalone":

From a87c29f6123b122cfa65231369c5c65a37f745ab Mon Sep 17 00:00:00 2001
From: toge 
Date: Wed, 24 Jan 2024 10:41:45 +0900
Subject: [PATCH 0977/1307] (#22497) uwebsockets: add version 20.57.0

---
 recipes/uwebsockets/all/conandata.yml | 3 +++
 recipes/uwebsockets/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml
index 2e1be00494550..0b78fc75b8d0f 100644
--- a/recipes/uwebsockets/all/conandata.yml
+++ b/recipes/uwebsockets/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "20.57.0":
+    url: "https://github.com/uNetworking/uWebSockets/archive/v20.57.0.tar.gz"
+    sha256: "82d15eea0889a6b73c6e6170dd506995162bddfc7565c6df2c2d1e8287bbb9b0"
   "20.56.0":
     url: "https://github.com/uNetworking/uWebSockets/archive/v20.56.0.tar.gz"
     sha256: "bbac3e317eabf4e558dffe9bfeab4f5ae2d23affcc6df54fb8e580a9e0372767"
diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml
index 1af0d5c400e72..bfab662ebfead 100644
--- a/recipes/uwebsockets/config.yml
+++ b/recipes/uwebsockets/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "20.57.0":
+    folder: all
   "20.56.0":
     folder: all
   "20.55.0":

From a73631858a3ee5911cab99e69bac9bcccd2b84fe Mon Sep 17 00:00:00 2001
From: toge 
Date: Wed, 24 Jan 2024 19:19:47 +0900
Subject: [PATCH 0978/1307] (#21747) boost: add version 1.84.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* boost: add version 1.84.0

* add C++11 requiring libraries

* add iconv to locale

* remove cobalt on older compilers

* fix condition for default std version

* (trial) disable shared build for fiber

* add fixme comment

* skip fiber on 1.84.0

Signed-off-by: Uilian Ries 

* disable fiber for boost-1.84 on Windows

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Rubén Rincón Blanco 
Co-authored-by: Uilian Ries 
---
 recipes/boost/all/conandata.yml               |   9 +
 recipes/boost/all/conanfile.py                |  54 +++-
 .../all/dependencies/dependencies-1.84.0.yml  | 283 ++++++++++++++++++
 recipes/boost/all/rebuild-dependencies.py     |   1 +
 recipes/boost/config.yml                      |   2 +
 5 files changed, 346 insertions(+), 3 deletions(-)
 create mode 100644 recipes/boost/all/dependencies/dependencies-1.84.0.yml

diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml
index 3ffdd91d528ab..da5e5a928df63 100644
--- a/recipes/boost/all/conandata.yml
+++ b/recipes/boost/all/conandata.yml
@@ -1,4 +1,9 @@
 sources:
+  "1.84.0":
+    url:
+      - "https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2"
+      - "https://sourceforge.net/projects/boost/files/boost/1.84.0/boost_1_84_0.tar.bz2"
+    sha256: "cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454"
   "1.83.0":
     url:
       - "https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2"
@@ -63,6 +68,10 @@ sources:
     url: "https://boostorg.jfrog.io/artifactory/main/release/1.71.0/source/boost_1_71_0.tar.bz2"
     sha256: "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee"
 patches:
+  "1.84.0":
+    - patch_file: "patches/1.82.0-locale-iconv-library-option.patch"
+      patch_description: "Optional flag to specify iconv from either libc of libiconv"
+      patch_type: "conan"
   "1.83.0":
     - patch_file: "patches/1.82.0-locale-iconv-library-option.patch"
       patch_description: "Optional flag to specify iconv from either libc of libiconv"
diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py
index 5bab9c6c7ebdd..dcf1bb623f35d 100644
--- a/recipes/boost/all/conanfile.py
+++ b/recipes/boost/all/conanfile.py
@@ -29,6 +29,7 @@
 CONFIGURE_OPTIONS = (
     "atomic",
     "chrono",
+    "cobalt",
     "container",
     "context",
     "contract",
@@ -163,16 +164,25 @@ def export_sources(self):
     @property
     def _min_compiler_version_default_cxx11(self):
         # Minimum compiler version having c++ standard >= 11
-        if self.settings.compiler == "apple-clang":
-            # For now, assume apple-clang will enable c++11 in the distant future
-            return 99
         return {
             "gcc": 6,
             "clang": 6,
+            "apple-clang": 14,
             "Visual Studio": 14,  # guess
             "msvc": 190,  # guess
         }.get(str(self.settings.compiler))
 
+    @property
+    def _min_compiler_version_default_cxx20(self):
+        return {
+            "gcc": 99,
+            "clang": 99,
+            # As of the end of 2023, only apple-clang >=14 use C++20 as their default C++ version.
+            "apple-clang": 14,
+            "Visual Studio": 99,
+            "msvc": 999,
+        }.get(str(self.settings.compiler))
+
     @property
     def _min_compiler_version_nowide(self):
         # Nowide needs c++11 + swappable std::fstream
@@ -369,6 +379,32 @@ def disable_locale():
                 elif Version(self.settings.compiler.version) < min_compiler_version:
                     disable_locale()
 
+        if Version(self.version) >= "1.84.0":
+            # Starting from 1.84.0, Boost.Cobalt requires a c++20 capable compiler
+            # ==> disable it by default for older compilers or c++ standards
+
+            def disable_cobalt():
+                super_modules = self._all_super_modules("cobalt")
+                for smod in super_modules:
+                    try:
+                        setattr(self.options, f"without_{smod}", True)
+                    except ConanException:
+                        pass
+
+            if self.settings.compiler.get_safe("cppstd"):
+                if not valid_min_cppstd(self, 20):
+                    disable_cobalt()
+            else:
+                min_compiler_version = self._min_compiler_version_default_cxx20
+                if min_compiler_version is None:
+                    self.output.warning("Assuming the compiler supports c++20 by default")
+                elif Version(self.settings.compiler.version) < min_compiler_version:
+                    disable_cobalt()
+
+            # FIXME: Compilation errors on msvc shared build for boost.fiber https://github.com/boostorg/fiber/issues/314
+            if is_msvc(self):
+                self.options.without_fiber = True
+
     @property
     def _configure_options(self):
         return self._dependencies["configure_options"]
@@ -441,6 +477,14 @@ def _cxx11_boost_libraries(self):
             libraries.append("wave")
         if Version(self.version) >= "1.81.0":
             libraries.append("locale")
+        if Version(self.version) >= "1.84.0":
+            libraries.append("atomic")
+            libraries.append("filesystem")
+            libraries.append("log")
+            libraries.append("random")
+            libraries.append("stacktrace")
+            libraries.append("test")
+            libraries.append("thread")
         libraries.sort()
         return filter(lambda library: f"without_{library}" in self.options, libraries)
 
@@ -457,6 +501,10 @@ def validate(self):
         if is_msvc(self) and self._shared and is_msvc_static_runtime(self):
             raise ConanInvalidConfiguration("Boost can not be built as shared library with MT runtime.")
 
+        # FIXME: In 1.84.0, there are compilation errors on msvc shared build for boost.fiber. https://github.com/boostorg/fiber/issues/314
+        if Version(self.version) >= "1.84.0" and is_msvc(self) and self._shared and not self.options.without_fiber:
+            raise ConanInvalidConfiguration("Boost.fiber can not be built as shared library on MSVC.")
+
         if not self.options.without_locale and self.options.i18n_backend_iconv == "off" and \
            not self.options.i18n_backend_icu and not self._is_windows_platform:
             raise ConanInvalidConfiguration(
diff --git a/recipes/boost/all/dependencies/dependencies-1.84.0.yml b/recipes/boost/all/dependencies/dependencies-1.84.0.yml
new file mode 100644
index 0000000000000..064fb7bca5d2a
--- /dev/null
+++ b/recipes/boost/all/dependencies/dependencies-1.84.0.yml
@@ -0,0 +1,283 @@
+configure_options:
+- atomic
+- chrono
+- cobalt
+- container
+- context
+- contract
+- coroutine
+- date_time
+- exception
+- fiber
+- filesystem
+- graph
+- graph_parallel
+- iostreams
+- json
+- locale
+- log
+- math
+- mpi
+- nowide
+- program_options
+- python
+- random
+- regex
+- serialization
+- stacktrace
+- system
+- test
+- thread
+- timer
+- type_erasure
+- url
+- wave
+dependencies:
+  atomic: []
+  chrono:
+  - system
+  cobalt:
+  - container
+  - system
+  container: []
+  context: []
+  contract:
+  - exception
+  - thread
+  coroutine:
+  - context
+  - exception
+  - system
+  date_time: []
+  exception: []
+  fiber:
+  - context
+  - filesystem
+  fiber_numa:
+  - fiber
+  filesystem:
+  - atomic
+  - system
+  graph:
+  - math
+  - random
+  - regex
+  - serialization
+  graph_parallel:
+  - filesystem
+  - graph
+  - mpi
+  - random
+  - serialization
+  iostreams:
+  - random
+  - regex
+  json:
+  - container
+  - system
+  locale:
+  - thread
+  log:
+  - atomic
+  - date_time
+  - exception
+  - filesystem
+  - random
+  - regex
+  - system
+  - thread
+  log_setup:
+  - log
+  math: []
+  math_c99:
+  - math
+  math_c99f:
+  - math
+  math_c99l:
+  - math
+  math_tr1:
+  - math
+  math_tr1f:
+  - math
+  math_tr1l:
+  - math
+  mpi:
+  - graph
+  - serialization
+  mpi_python:
+  - mpi
+  - python
+  nowide:
+  - filesystem
+  numpy:
+  - python
+  prg_exec_monitor:
+  - test
+  program_options: []
+  python: []
+  random:
+  - system
+  regex: []
+  serialization: []
+  stacktrace: []
+  stacktrace_addr2line:
+  - stacktrace
+  stacktrace_backtrace:
+  - stacktrace
+  stacktrace_basic:
+  - stacktrace
+  stacktrace_noop:
+  - stacktrace
+  stacktrace_windbg:
+  - stacktrace
+  stacktrace_windbg_cached:
+  - stacktrace
+  system: []
+  test:
+  - exception
+  test_exec_monitor:
+  - test
+  thread:
+  - atomic
+  - chrono
+  - container
+  - date_time
+  - exception
+  - system
+  timer: []
+  type_erasure:
+  - thread
+  unit_test_framework:
+  - prg_exec_monitor
+  - test
+  - test_exec_monitor
+  url:
+  - system
+  wave:
+  - filesystem
+  - serialization
+  wserialization:
+  - serialization
+libs:
+  atomic:
+  - boost_atomic
+  chrono:
+  - boost_chrono
+  cobalt:
+  - boost_cobalt
+  container:
+  - boost_container
+  context:
+  - boost_context
+  contract:
+  - boost_contract
+  coroutine:
+  - boost_coroutine
+  date_time:
+  - boost_date_time
+  exception:
+  - boost_exception
+  fiber:
+  - boost_fiber
+  fiber_numa:
+  - boost_fiber_numa
+  filesystem:
+  - boost_filesystem
+  graph:
+  - boost_graph
+  graph_parallel:
+  - boost_graph_parallel
+  iostreams:
+  - boost_iostreams
+  json:
+  - boost_json
+  locale:
+  - boost_locale
+  log:
+  - boost_log
+  log_setup:
+  - boost_log_setup
+  math: []
+  math_c99:
+  - boost_math_c99
+  math_c99f:
+  - boost_math_c99f
+  math_c99l:
+  - boost_math_c99l
+  math_tr1:
+  - boost_math_tr1
+  math_tr1f:
+  - boost_math_tr1f
+  math_tr1l:
+  - boost_math_tr1l
+  mpi:
+  - boost_mpi
+  mpi_python:
+  - boost_mpi_python
+  nowide:
+  - boost_nowide
+  numpy:
+  - boost_numpy{py_major}{py_minor}
+  prg_exec_monitor:
+  - boost_prg_exec_monitor
+  program_options:
+  - boost_program_options
+  python:
+  - boost_python{py_major}{py_minor}
+  random:
+  - boost_random
+  regex:
+  - boost_regex
+  serialization:
+  - boost_serialization
+  stacktrace: []
+  stacktrace_addr2line:
+  - boost_stacktrace_addr2line
+  stacktrace_backtrace:
+  - boost_stacktrace_backtrace
+  stacktrace_basic:
+  - boost_stacktrace_basic
+  stacktrace_noop:
+  - boost_stacktrace_noop
+  stacktrace_windbg:
+  - boost_stacktrace_windbg
+  stacktrace_windbg_cached:
+  - boost_stacktrace_windbg_cached
+  system:
+  - boost_system
+  test: []
+  test_exec_monitor:
+  - boost_test_exec_monitor
+  thread:
+  - boost_thread
+  timer:
+  - boost_timer
+  type_erasure:
+  - boost_type_erasure
+  unit_test_framework:
+  - boost_unit_test_framework
+  url:
+  - boost_url
+  wave:
+  - boost_wave
+  wserialization:
+  - boost_wserialization
+requirements:
+  iostreams:
+  - bzip2
+  - lzma
+  - zlib
+  - zstd
+  locale:
+  - iconv
+  - icu
+  python:
+  - python
+  regex:
+  - icu
+  stacktrace:
+  - backtrace
+static_only:
+- boost_exception
+- boost_test_exec_monitor
+version: 1.84.0
diff --git a/recipes/boost/all/rebuild-dependencies.py b/recipes/boost/all/rebuild-dependencies.py
index 94a81a8173490..8bbfc5c8280fa 100755
--- a/recipes/boost/all/rebuild-dependencies.py
+++ b/recipes/boost/all/rebuild-dependencies.py
@@ -26,6 +26,7 @@
 CONFIGURE_OPTIONS = (
     "atomic",
     "chrono",
+    "cobalt",
     "container",
     "context",
     "contract",
diff --git a/recipes/boost/config.yml b/recipes/boost/config.yml
index f81f4b5e8e72b..0b6963fec8f23 100644
--- a/recipes/boost/config.yml
+++ b/recipes/boost/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.84.0":
+    folder: all
   "1.83.0":
     folder: all
   "1.82.0":

From 0f0eb47cec141b13547f26ad505e2933c10caf22 Mon Sep 17 00:00:00 2001
From: Andrei Malashkin 
Date: Wed, 24 Jan 2024 03:13:38 -0800
Subject: [PATCH 0979/1307] (#22436) add libsystemd dependency to grpc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* add libsystemd dependency to grpc

* add libsystemd dependency only if os is Linux/FreeBSD

* hotfix

* correct requirements composition

* Update recipes/grpc/all/conanfile.py

Co-authored-by: Juan <35701596+juansblanco@users.noreply.github.com>

* Update recipes/grpc/all/conanfile.py

---------

Co-authored-by: Juan <35701596+juansblanco@users.noreply.github.com>
Co-authored-by: Rubén Rincón Blanco 
---
 recipes/grpc/all/conanfile.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/recipes/grpc/all/conanfile.py b/recipes/grpc/all/conanfile.py
index f091a8cd082f2..1d39ab202a3b0 100644
--- a/recipes/grpc/all/conanfile.py
+++ b/recipes/grpc/all/conanfile.py
@@ -101,6 +101,8 @@ def requirements(self):
         self.requires("protobuf/3.21.12", transitive_headers=True, transitive_libs=True)
         self.requires("re2/20230301")
         self.requires("zlib/[>=1.2.11 <2]")
+        if self.settings.os in ["Linux", "FreeBSD"] and Version(self.version) >= "1.52":
+            self.requires("libsystemd/255")
 
     def package_id(self):
         del self.info.options.secure
@@ -284,6 +286,10 @@ def _module_path(self):
 
     @property
     def _grpc_components(self):
+
+        def libsystemd():
+            return ["libsystemd::libsystemd"] if self.settings.os in ["Linux", "FreeBSD"] and Version(self.version) >= "1.52" else []
+
         def libm():
             return ["m"] if self.settings.os in ["Linux", "FreeBSD"] else []
 
@@ -314,8 +320,8 @@ def corefoundation():
                     "abseil::absl_status", "abseil::absl_str_format",
                     "abseil::absl_strings", "abseil::absl_synchronization",
                     "abseil::absl_time", "abseil::absl_optional",
-                    "abseil::absl_flags",
-                ],
+                    "abseil::absl_flags"
+                ] + libsystemd(),
                 "system_libs": libm() + pthread() + crypt32() + ws2_32() + wsock32(),
             },
             "_grpc": {

From 2424591afd625e3b499fa398292ebd48483957c3 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 25 Jan 2024 00:12:06 +0100
Subject: [PATCH 0980/1307] (#22521) [docs] Update changelog 24 January 2024

Signed-off-by: Uilian Ries 
---
 docs/changelog.md | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/changelog.md b/docs/changelog.md
index 10cbbd6810dde..242fce4e25c14 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -1,5 +1,14 @@
 # Changelog
 
+### 24-January-2024 - 12:13 CET
+
+- [feature] Update Conan 1.x branch to version 1.62.0
+- [feature] Update Conan 2.x branch to version 2.0.16
+- [feature] Require review from maintainers for Bump version and Bump requirements
+- [fix] Show header-only option in the build CI summary table
+- [fix] Use build/host profile conf also in test package
+- [fix] Use only string to handle Github labels
+
 ### 05-December-2023 - 16:23 CET
 
 - [fix] Use the correct profile to test a tool_require.

From ef6f63dadf44bd742662144440fa885be7951ad1 Mon Sep 17 00:00:00 2001
From: igormironchik 
Date: Thu, 25 Jan 2024 03:30:51 +0300
Subject: [PATCH 0981/1307] (#22520) md4qt: bump version

---
 recipes/md4qt/all/conandata.yml | 3 +++
 recipes/md4qt/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml
index bc4bdba660829..0cba22d652847 100644
--- a/recipes/md4qt/all/conandata.yml
+++ b/recipes/md4qt/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.6.0":
+    url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.6.0.tar.gz"
+    sha256: "8884a3b18fd923dd49994190e0b11c1882e409fce59fb6e5ee8e866dd889b8d0"
   "2.5.2":
     url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.5.2.tar.gz"
     sha256: "f6af98d2b7c405419b4505bf25eb0363cad3561fa78c34001e8dada082812d76"
diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml
index 3198a4a0679bb..99ee89b18595a 100644
--- a/recipes/md4qt/config.yml
+++ b/recipes/md4qt/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.6.0":
+    folder: all
   "2.5.2":
     folder: all
   "2.5.1":

From d3cf4ddc3a9e940002bfcd182ffb46485b77abe4 Mon Sep 17 00:00:00 2001
From: Jordan Williams 
Date: Wed, 24 Jan 2024 18:50:23 -0600
Subject: [PATCH 0982/1307] (#22528) libdrm: Add version 2.4.120

---
 recipes/libdrm/all/conandata.yml | 3 +++
 recipes/libdrm/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libdrm/all/conandata.yml b/recipes/libdrm/all/conandata.yml
index d027d5e2e31c2..55110631134de 100644
--- a/recipes/libdrm/all/conandata.yml
+++ b/recipes/libdrm/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.4.120":
+    url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.120.tar.xz"
+    sha256: "3bf55363f76c7250946441ab51d3a6cc0ae518055c0ff017324ab76cdefb327a"
   "2.4.119":
     url: "https://dri.freedesktop.org/libdrm/libdrm-2.4.119.tar.xz"
     sha256: "0a49f12f09b5b6e68eaaaff3f02ca7cff9aa926939b212d343161d3e8ac56291"
diff --git a/recipes/libdrm/config.yml b/recipes/libdrm/config.yml
index 856b2ef77e459..a68056835f7b2 100644
--- a/recipes/libdrm/config.yml
+++ b/recipes/libdrm/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.4.120":
+    folder: all
   "2.4.119":
     folder: all
   "2.4.114":

From 1664055e63a298331cbb26c7ed0b8629dbab1acf Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 25 Jan 2024 09:46:07 +0100
Subject: [PATCH 0983/1307] (#22507) [docs] Update bump PR review rule

* Update bump PR review rule

Signed-off-by: Uilian Ries 

* Update rule description for bump prs

Co-authored-by: Daniel 

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Daniel 
---
 docs/review_process.md | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/docs/review_process.md b/docs/review_process.md
index cf9d98f130d9b..b5abea3471d39 100644
--- a/docs/review_process.md
+++ b/docs/review_process.md
@@ -82,9 +82,8 @@ At least 2 approving reviews are required, and at least one of them has to be fr
 So, it might be 1 official + 1 community, or 2 official, but it couldn't be just 2 community reviews.
 Approvals are only counted if they are associated with the latest commit in the PR, while "Change requested" ones (from the Conan team) will persist even if there are new commits. Don't hesitate to dismiss old reviews if the issues have already been addressed.
 
-> **Note** Pull requests labelled as [`Bump version`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+version%22)
-> or [`Bump dependencies`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+dependencies%22+) are merged by
-> the bot without requiring any approval.
+Pull requests labelled as [`Bump version`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+version%22)
+or [`Bump dependencies`](https://github.com/conan-io/conan-center-index/pulls?q=is%3Aopen+is%3Apr+label%3A%22Bump+dependencies%22+) require **just 1 approving review from an official reviewer**. Community reviewers are not required but are still welcome.
 
 ### Reviews from others
 

From 6efe70b2528249620a8cf5034f75f3503a6b3450 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 25 Jan 2024 10:59:45 +0200
Subject: [PATCH 0984/1307] (#22241) pulseaudio: make xorg requirement more
 specifc

* pulseaudio: make xorg requirement more specifc

* pulseaudio: add xorg::x11-xcb dependency
---
 recipes/pulseaudio/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/pulseaudio/all/conanfile.py b/recipes/pulseaudio/all/conanfile.py
index a97d2d4216634..d4ada3ef9ee78 100644
--- a/recipes/pulseaudio/all/conanfile.py
+++ b/recipes/pulseaudio/all/conanfile.py
@@ -146,7 +146,7 @@ def package_info(self):
         if self.options.get_safe("with_fftw"):
             self.cpp_info.components["pulse"].requires.append("fftw::fftw")
         if self.options.with_x11:
-            self.cpp_info.components["pulse"].requires.append("xorg::xorg")
+            self.cpp_info.components["pulse"].requires.extend(["xorg::x11", "xorg::x11-xcb"])
         if self.options.with_openssl:
             self.cpp_info.components["pulse"].requires.append("openssl::openssl")
         if self.options.with_dbus:

From 1ad9a420e9edd5fa500492155a5edc6ba9095a27 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 25 Jan 2024 19:09:09 +0900
Subject: [PATCH 0985/1307] (#22513) libcurl: check wolfssl:with_curl on
 with_ssl=wolfssl

---
 recipes/libcurl/all/conanfile.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py
index 942a9be8530db..7c2f02e93b679 100644
--- a/recipes/libcurl/all/conanfile.py
+++ b/recipes/libcurl/all/conanfile.py
@@ -199,6 +199,8 @@ def validate(self):
             openssl = self.dependencies["openssl"]
             if self.options.with_ntlm and openssl.options.no_des:
                 raise ConanInvalidConfiguration("option with_ntlm=True requires openssl:no_des=False")
+        if self.options.with_ssl == "wolfssl" and not self.dependencies["wolfssl"].options.with_curl:
+            raise ConanInvalidConfiguration("option with_ssl=wolfssl requires wolfssl:with_curl=True")
 
     def build_requirements(self):
         if self._is_using_cmake_build:

From 149c134f4bb14b2b26203742c7c2180faff660e6 Mon Sep 17 00:00:00 2001
From: Rasmus Thomsen 
Date: Thu, 25 Jan 2024 13:34:53 +0100
Subject: [PATCH 0986/1307] (#22504) zlib: add 1.3.1

---
 recipes/zlib/all/conandata.yml                |  9 +++
 recipes/zlib/all/conanfile.py                 |  1 +
 .../all/patches/1.3.1/0001-fix-cmake.patch    | 81 +++++++++++++++++++
 recipes/zlib/config.yml                       |  2 +
 4 files changed, 93 insertions(+)
 create mode 100644 recipes/zlib/all/patches/1.3.1/0001-fix-cmake.patch

diff --git a/recipes/zlib/all/conandata.yml b/recipes/zlib/all/conandata.yml
index bcebfb9b13b6d..6af954549998d 100644
--- a/recipes/zlib/all/conandata.yml
+++ b/recipes/zlib/all/conandata.yml
@@ -1,4 +1,9 @@
 sources:
+  "1.3.1":
+    url:
+      - "https://zlib.net/fossils/zlib-1.3.1.tar.gz"
+      - "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.1.tar.gz"
+    sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23"
   "1.3":
     url:
       - "https://zlib.net/fossils/zlib-1.3.tar.gz"
@@ -16,6 +21,10 @@ sources:
     url: "https://zlib.net/fossils/zlib-1.2.11.tar.gz"
     sha256: "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1"
 patches:
+  "1.3.1":
+    - patch_file: "patches/1.3.1/0001-fix-cmake.patch"
+      patch_description: "separate static/shared builds, disable debug suffix"
+      patch_type: "conan"
   "1.3":
     - patch_file: "patches/1.3/0001-fix-cmake.patch"
       patch_description: "separate static/shared builds, disable debug suffix, disable building examples"
diff --git a/recipes/zlib/all/conanfile.py b/recipes/zlib/all/conanfile.py
index 716ee2007ab06..834fcf918bf94 100644
--- a/recipes/zlib/all/conanfile.py
+++ b/recipes/zlib/all/conanfile.py
@@ -60,6 +60,7 @@ def generate(self):
         # Correct for misuse of "${CMAKE_INSTALL_PREFIX}/" in CMakeLists.txt
         tc.variables["INSTALL_LIB_DIR"] = "lib"
         tc.variables["INSTALL_INC_DIR"] = "include"
+        tc.variables["ZLIB_BUILD_EXAMPLES"] = False
         tc.generate()
 
     def _patch_sources(self):
diff --git a/recipes/zlib/all/patches/1.3.1/0001-fix-cmake.patch b/recipes/zlib/all/patches/1.3.1/0001-fix-cmake.patch
new file mode 100644
index 0000000000000..036af67bc9b38
--- /dev/null
+++ b/recipes/zlib/all/patches/1.3.1/0001-fix-cmake.patch
@@ -0,0 +1,81 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 15ceebe..2f08574 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,7 +59,6 @@ endif()
+ check_include_file(unistd.h Z_HAVE_UNISTD_H)
+ 
+ if(MSVC)
+-    set(CMAKE_DEBUG_POSTFIX "d")
+     add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+     add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
+     include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+@@ -122,7 +121,7 @@ set(ZLIB_SRCS
+     zutil.c
+ )
+ 
+-if(NOT MINGW)
++if(MSVC)
+     set(ZLIB_DLL_SRCS
+         win32/zlib1.rc # If present will override custom build rule below.
+     )
+@@ -133,7 +132,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
+ string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
+     "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
+ 
+-if(MINGW)
++if(WIN32 AND NOT MSVC)
+     # This gets us DLL resource information when compiling on MinGW.
+     if(NOT CMAKE_RC_COMPILER)
+         set(CMAKE_RC_COMPILER windres.exe)
+@@ -147,14 +146,16 @@ if(MINGW)
+                             -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
+                             -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
+     set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
+-endif(MINGW)
++endif()
+ 
++if(BUILD_SHARED_LIBS)
+ add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+ target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+-target_include_directories(zlibstatic PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
+ set_target_properties(zlib PROPERTIES SOVERSION 1)
++else()
++add_library(zlib STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
++endif()
+ 
+ if(NOT CYGWIN)
+     # This property causes shared libraries on Linux to have the full version
+@@ -167,19 +168,25 @@ if(NOT CYGWIN)
+     set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
+ endif()
+ 
+-if(UNIX)
++if(WIN32 AND NOT MINGW)
++    if(BUILD_SHARED_LIBS)
++        set_target_properties(zlib PROPERTIES ARCHIVE_OUTPUT_NAME zdll)
++    endif()
++else()
+     # On unix-like platforms the library is almost always called libz
+-   set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
++   set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
+    if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX))
+      set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
+    endif()
+-elseif(BUILD_SHARED_LIBS AND WIN32)
++endif()
++if(BUILD_SHARED_LIBS AND WIN32)
+     # Creates zlib1.dll when building shared library version
+-    set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
++    set_target_properties(zlib PROPERTIES PREFIX "" RUNTIME_OUTPUT_NAME "zlib1")
+ endif()
+ 
++
+ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
+-    install(TARGETS zlib zlibstatic
++    install(TARGETS zlib
+         RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
+         ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
+         LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
diff --git a/recipes/zlib/config.yml b/recipes/zlib/config.yml
index 132003f7c53b5..79c9c7d4f7785 100644
--- a/recipes/zlib/config.yml
+++ b/recipes/zlib/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.3.1":
+    folder: all
   "1.3":
     folder: all
   "1.2.13":

From fe0731cf9c50f64078b1ef049a245898371b5a79 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 25 Jan 2024 13:37:07 +0100
Subject: [PATCH 0987/1307] (#22505) [config] Add reviews required bump entry
 in config.yml

Signed-off-by: Uilian Ries 
---
 .c3i/config_v1.yml | 1 +
 .c3i/config_v2.yml | 1 +
 2 files changed, 2 insertions(+)

diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml
index 9f1e9165a4c48..28ed528e88732 100644
--- a/.c3i/config_v1.yml
+++ b/.c3i/config_v1.yml
@@ -29,6 +29,7 @@ tasks:
   automatic_merge:
     reviews_required_total: 2  # Reviews that a PR needs so it can be merged
     reviews_required_team: 1  # Reviews from the Conan team that a PR needs so it can be merged
+    reviews_required_bump: 1  # Total reviews required for a bump PR to be merged
     branches:  # PRs from automations that have these as base-branches will be merged automatically
       - "conan-io:action-doc-toc"
     # Requirements to merge a given pull-request:
diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml
index ddc9a435fe82a..dd1830ee80183 100644
--- a/.c3i/config_v2.yml
+++ b/.c3i/config_v2.yml
@@ -29,6 +29,7 @@ tasks:
   automatic_merge:
     reviews_required_total: 1000  # AutomaticMerge shouldn't run with this file, but just in case
     reviews_required_team: 1000  # AutomaticMerge shouldn't run with this file, but just in case
+    reviews_required_bump: 1000  # AutomaticMerge shouldn't run with this file, but just in case
   access_request:
       request_issue_url: https://github.com/conan-io/conan-center-index/issues/4
       max_inactivity_days: 0

From c321b879c33dd267b19bc687dc21df43650ada89 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 25 Jan 2024 22:24:06 +0900
Subject: [PATCH 0988/1307] (#22536) c-blosc2: add version 2.13.0

---
 recipes/c-blosc2/all/conandata.yml | 7 +++++++
 recipes/c-blosc2/config.yml        | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml
index 610af582fe0d6..001863dae7f9d 100644
--- a/recipes/c-blosc2/all/conandata.yml
+++ b/recipes/c-blosc2/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.13.0":
+    url: "https://github.com/Blosc/c-blosc2/archive/v2.13.0.tar.gz"
+    sha256: "d886798ff0a63948a4076f2ed60f0dc18be3aa1299ac1aff2cf705419cbe1bea"
   "2.12.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.12.0.tar.gz"
     sha256: "b8fa07ab0627c19fb652e08a5ada197eb0939b75e97e2fb76bbee145eaedc6e9"
@@ -33,6 +36,10 @@ sources:
     url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz"
     sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036"
 patches:
+  "2.13.0":
+    - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
+      patch_description: "use cci package"
+      patch_type: "conan"
   "2.12.0":
     - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
       patch_description: "use cci package"
diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml
index acf966bc19e73..2c82bd54e5c12 100644
--- a/recipes/c-blosc2/config.yml
+++ b/recipes/c-blosc2/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.13.0":
+    folder: all
   "2.12.0":
     folder: all
   "2.11.3":

From 06c8c1a28c9ffa7b426d7fc87ff0a7e837a3497f Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 25 Jan 2024 23:10:10 +0900
Subject: [PATCH 0989/1307] (#22512) tweenerspp: add recipe

* tweenerspp: add recipe

* add end line

* add _USE_MATH_DEFINITIONS

* fix typo

* fix homepage

Co-authored-by: Uilian Ries 

* set proper file_name, target_name and aliasa

Co-authored-by: Uilian Ries 

* fix target name

Co-authored-by: Uilian Ries 

---------

Co-authored-by: Uilian Ries 
---
 recipes/tweenerspp/all/conandata.yml          |  4 ++
 recipes/tweenerspp/all/conanfile.py           | 60 +++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |  8 +++
 .../tweenerspp/all/test_package/conanfile.py  | 25 ++++++++
 .../all/test_package/test_package.cpp         | 27 +++++++++
 recipes/tweenerspp/config.yml                 |  3 +
 6 files changed, 127 insertions(+)
 create mode 100644 recipes/tweenerspp/all/conandata.yml
 create mode 100644 recipes/tweenerspp/all/conanfile.py
 create mode 100644 recipes/tweenerspp/all/test_package/CMakeLists.txt
 create mode 100644 recipes/tweenerspp/all/test_package/conanfile.py
 create mode 100644 recipes/tweenerspp/all/test_package/test_package.cpp
 create mode 100644 recipes/tweenerspp/config.yml

diff --git a/recipes/tweenerspp/all/conandata.yml b/recipes/tweenerspp/all/conandata.yml
new file mode 100644
index 0000000000000..1e9cad7f97a08
--- /dev/null
+++ b/recipes/tweenerspp/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "1.1":
+    url: "https://github.com/j-jorge/tweenerspp/archive/refs/tags/v1.1.tar.gz"
+    sha256: "b3c111b05c5e480993238ed794cc524521bb2d4889e59c49a99b714fff566623"
diff --git a/recipes/tweenerspp/all/conanfile.py b/recipes/tweenerspp/all/conanfile.py
new file mode 100644
index 0000000000000..b4a432e3792d6
--- /dev/null
+++ b/recipes/tweenerspp/all/conanfile.py
@@ -0,0 +1,60 @@
+from conan import ConanFile
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import copy, get
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import is_msvc
+import os
+
+required_conan_version = ">=1.52.0"
+
+class TweenersppConan(ConanFile):
+    name = "tweenerspp"
+    description = "Yet another C++ tweeners library"
+    license = "Apache-2.0"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/j-jorge/tweenerspp"
+    topics = ("tweener", "header-only")
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        return 11
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def package(self):
+        copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        copy(
+            self,
+            "*.hpp",
+            os.path.join(self.source_folder, "include"),
+            os.path.join(self.package_folder, "include"),
+        )
+        copy(
+            self,
+            "*.tpp",
+            os.path.join(self.source_folder, "include"),
+            os.path.join(self.package_folder, "include"),
+        )
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
+        if is_msvc(self):
+            self.cpp_info.defines = ["_USE_MATH_DEFINES"]
+        self.cpp_info.set_property("cmake_file_name", "tweeners")
+        self.cpp_info.set_property("cmake_target_name", "tweeners::tweeners")
+        self.cpp_info.set_property("cmake_target_aliases", ["tweeners"])
diff --git a/recipes/tweenerspp/all/test_package/CMakeLists.txt b/recipes/tweenerspp/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..7f72f56d7679a
--- /dev/null
+++ b/recipes/tweenerspp/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(tweeners REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE tweeners::tweeners)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
diff --git a/recipes/tweenerspp/all/test_package/conanfile.py b/recipes/tweenerspp/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..e730ad6dc0dfc
--- /dev/null
+++ b/recipes/tweenerspp/all/test_package/conanfile.py
@@ -0,0 +1,25 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/tweenerspp/all/test_package/test_package.cpp b/recipes/tweenerspp/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..ccc39ffab8d02
--- /dev/null
+++ b/recipes/tweenerspp/all/test_package/test_package.cpp
@@ -0,0 +1,27 @@
+#include 
+
+#include 
+#include 
+#include 
+
+auto main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) -> int {
+    std::cout << std::boolalpha;
+    std::cin.tie(nullptr);
+    std::ios_base::sync_with_stdio(false);
+
+    constexpr auto from = 0;
+    constexpr auto to = 100;
+    constexpr auto duration = 10.f;
+
+    auto system = tweeners::system {};
+
+    auto x = 0;
+    tweeners::builder().range_transform(from, to, duration, x, tweeners::easing::sine<>).build(system);
+
+    for (auto i = 0; i != 10; ++i) {
+        system.update(1.0f);
+        std::cout << i << "->" << x << std::endl;
+    }
+
+    return 0;
+}
diff --git a/recipes/tweenerspp/config.yml b/recipes/tweenerspp/config.yml
new file mode 100644
index 0000000000000..3f8a45fae5832
--- /dev/null
+++ b/recipes/tweenerspp/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "1.1":
+    folder: all

From fe465abd394f7eab3c23054f966b1ab3e057ef8b Mon Sep 17 00:00:00 2001
From: Jordan Williams 
Date: Thu, 25 Jan 2024 09:12:52 -0600
Subject: [PATCH 0990/1307] (#22496) wayland-protocols: Add version 1.33

---
 recipes/wayland-protocols/all/conandata.yml | 3 +++
 recipes/wayland-protocols/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/wayland-protocols/all/conandata.yml b/recipes/wayland-protocols/all/conandata.yml
index 9574e69bcf1e9..f1d13be6a19d7 100644
--- a/recipes/wayland-protocols/all/conandata.yml
+++ b/recipes/wayland-protocols/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.33":
+    url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.33/downloads/wayland-protocols-1.33.tar.xz"
+    sha256: "94f0c50b090d6e61a03f62048467b19abbe851be4e11ae7b36f65f8b98c3963a"
   "1.32":
     url: "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.32/downloads/wayland-protocols-1.32.tar.xz"
     sha256: "7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11"
diff --git a/recipes/wayland-protocols/config.yml b/recipes/wayland-protocols/config.yml
index f707ca2da06d2..cc206c4509688 100644
--- a/recipes/wayland-protocols/config.yml
+++ b/recipes/wayland-protocols/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.33":
+    folder: all
   "1.32":
     folder: all
   "1.31":

From 365b12dae931e6ff6d0d0b3476bd3161b630ad92 Mon Sep 17 00:00:00 2001
From: Bronek Kozicki 
Date: Thu, 25 Jan 2024 18:00:33 +0000
Subject: [PATCH 0991/1307] (#21049) Backport gcc-13 fix from
 rocksdb/pull/11118

---
 recipes/rocksdb/all/conandata.yml             |  5 ++++
 ...-0001-add-include-cstdint-for-gcc-13.patch | 30 +++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch

diff --git a/recipes/rocksdb/all/conandata.yml b/recipes/rocksdb/all/conandata.yml
index 1792c3284fadc..d4cc95fcc067b 100644
--- a/recipes/rocksdb/all/conandata.yml
+++ b/recipes/rocksdb/all/conandata.yml
@@ -17,3 +17,8 @@ patches:
       patch_description: "Fix build with gcc 13 by including cstdint"
       patch_type: "portability"
       patch_source: "https://github.com/facebook/rocksdb/pull/11118"
+  "6.27.3":
+    - patch_file: "patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch"
+      patch_description: "Fix build with gcc 13 by including cstdint"
+      patch_type: "portability"
+      patch_source: "https://github.com/facebook/rocksdb/pull/11118"
diff --git a/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch b/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch
new file mode 100644
index 0000000000000..bd7cc0411046f
--- /dev/null
+++ b/recipes/rocksdb/all/patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch
@@ -0,0 +1,30 @@
+--- include/rocksdb/utilities/checkpoint.h
++++ include/rocksdb/utilities/checkpoint.h
+@@ -8,6 +8,7 @@
+ #pragma once
+ #ifndef ROCKSDB_LITE
+ 
++#include 
+ #include 
+ #include 
+ #include "rocksdb/status.h"
+--- table/block_based/data_block_hash_index.h
++++ table/block_based/data_block_hash_index.h
+@@ -5,6 +5,7 @@
+ 
+ #pragma once
+ 
++#include 
+ #include 
+ #include 
+ 
+--- util/string_util.h
++++ util/string_util.h
+@@ -6,6 +6,7 @@
+ 
+ #pragma once
+ 
++#include 
+ #include 
+ #include 
+ #include 

From eb63e569818caa8744be84574a2b485d9fe76c44 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 26 Jan 2024 17:51:29 +0900
Subject: [PATCH 0992/1307] (#22524) glaze: remove older versions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Rubén Rincón Blanco 
---
 recipes/glaze/all/conandata.yml               | 27 -------------------
 recipes/glaze/all/conanfile.py                |  9 ++-----
 .../patches/1.9.8.1-0001-fix-msvc-bug.patch   | 13 ---------
 recipes/glaze/config.yml                      | 14 ----------
 4 files changed, 2 insertions(+), 61 deletions(-)
 delete mode 100644 recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch

diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml
index 5df1ea4417f3b..5573aaa9a0d2c 100644
--- a/recipes/glaze/all/conandata.yml
+++ b/recipes/glaze/all/conandata.yml
@@ -20,36 +20,9 @@ sources:
   "1.9.9":
     url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz"
     sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca"
-  "1.9.8.1":
-    url: "https://github.com/stephenberry/glaze/archive/v1.9.8.1.tar.gz"
-    sha256: "f1dd8d93440096d186695814848c9cd350a9ec5b0e114e933579ef2467a35558"
   "1.9.5":
     url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz"
     sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f"
   "1.8.5":
     url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz"
     sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4"
-  "1.8.4":
-    url: "https://github.com/stephenberry/glaze/archive/v1.8.4.tar.gz"
-    sha256: "794f68d74264ebd4d26c9e1b2a9098134622751a089a45ed5a97d90e58b7d9e6"
-  "1.8.3":
-    url: "https://github.com/stephenberry/glaze/archive/v1.8.3.tar.gz"
-    sha256: "3f0f6f9393daf29cef2772fadf46d9f22669899ee8f025f17889a22c84d2c6e8"
-  "1.8.2":
-    url: "https://github.com/stephenberry/glaze/archive/v1.8.2.tar.gz"
-    sha256: "dddc7b9c87739e0266a6a868316e692975651e9e77684cfb7d3a6a4be32c95fc"
-  "1.8.1":
-    url: "https://github.com/stephenberry/glaze/archive/v1.8.1.tar.gz"
-    sha256: "ea804976d55a27e6df49390c3ec8600daea0c72780ea7094d79d1edcbe525fcd"
-  "1.7.0":
-    url: "https://github.com/stephenberry/glaze/archive/v1.7.0.tar.gz"
-    sha256: "e8ccb925cf45f8974ba8d9af56c29eed12dd5fd9253c02015a6780b7c861e4df"
-  "1.6.1":
-    url: "https://github.com/stephenberry/glaze/archive/v1.6.1.tar.gz"
-    sha256: "c52c0f66d98d829ae1f2b859abddc84132ad49aea4c76f3286970fbab1489c10"
-patches:
-  "1.9.8.1":
-    - patch_file: "patches/1.9.8.1-0001-fix-msvc-bug.patch"
-      patch_description: "workaround MSVC compilation error for some versions"
-      patch_type: "portability"
-      patch_source: "https://github.com/stephenberry/glaze/pull/653"
diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py
index 3e5f358c8c908..f991920259f6a 100644
--- a/recipes/glaze/all/conanfile.py
+++ b/recipes/glaze/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches
+from conan.tools.files import get, copy
 from conan.tools.build import check_min_cppstd
 from conan.tools.scm import Version
 from conan.tools.layout import basic_layout
@@ -17,6 +17,7 @@ class GlazeConan(ConanFile):
     topics = ("json", "memory", "header-only")
     package_type = "header-library"
     settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
 
     @property
     def _min_cppstd(self):
@@ -32,9 +33,6 @@ def _compilers_minimum_version(self):
             "apple-clang": "13.1",
         }
 
-    def export_sources(self):
-        export_conandata_patches(self)
-
     def layout(self):
         basic_layout(self, src_folder="src")
 
@@ -53,9 +51,6 @@ def validate(self):
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
-    def build(self):
-        apply_conandata_patches(self)
-
     def package(self):
         copy(self, pattern="LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
         copy(
diff --git a/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch b/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch
deleted file mode 100644
index c1c12e5675383..0000000000000
--- a/recipes/glaze/all/patches/1.9.8.1-0001-fix-msvc-bug.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/include/glaze/csv/write.hpp b/include/glaze/csv/write.hpp
-index 4c2c24b..68b513a 100644
---- a/include/glaze/csv/write.hpp
-+++ b/include/glaze/csv/write.hpp
-@@ -205,7 +205,7 @@ namespace glz
-                   using Element = glaze_tuple_element;
-                   static constexpr size_t member_index = Element::member_index;
- 
--                  using item_type = std::decay_t;
-+                  using item_type = typename std::decay::type;
-                   using value_type = typename item_type::value_type;
- 
-                   static constexpr sv key = key_name;
diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml
index 74e4ebae7e752..4091325ce2c5a 100644
--- a/recipes/glaze/config.yml
+++ b/recipes/glaze/config.yml
@@ -13,21 +13,7 @@ versions:
     folder: all
   "1.9.9":
     folder: all
-  "1.9.8.1":
-    folder: all
   "1.9.5":
     folder: all
   "1.8.5":
     folder: all
-  "1.8.4":
-    folder: all
-  "1.8.3":
-    folder: all
-  "1.8.2":
-    folder: all
-  "1.8.1":
-    folder: all
-  "1.7.0":
-    folder: all
-  "1.6.1":
-    folder: all

From 7add932f7dcc6861365631bbf1af01e8286acc11 Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Fri, 26 Jan 2024 10:41:56 +0000
Subject: [PATCH 0993/1307] (#22541) [bot] Update authorized users list
 (2024-01-25)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Add/remove users to Access Request

* Update .c3i/authorized_users.yml

---------

Co-authored-by: conan-center-bot 
Co-authored-by: Rubén Rincón Blanco 
---
 .c3i/authorized_users.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index d5beb3f10c604..b6af7a64a5048 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1275,3 +1275,6 @@ authorized_users:
 - anthonyliot
 - obnyis
 - johningve
+- stefansli
+- wgtmac
+- kevinAlbs

From 360fc417f259923af01e1587c8cf1c818689222a Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Fri, 26 Jan 2024 16:43:40 +0100
Subject: [PATCH 0994/1307] (#21788) fftw: avoid side effects from build_folder
 manipulation with multiple precisions

---
 recipes/fftw/all/conanfile.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/recipes/fftw/all/conanfile.py b/recipes/fftw/all/conanfile.py
index ef1e6d55efb6e..a5537aff62517 100644
--- a/recipes/fftw/all/conanfile.py
+++ b/recipes/fftw/all/conanfile.py
@@ -117,6 +117,9 @@ def on_off(value):
             cmake.configure(variables=variables)
             cmake.build()
 
+        # Potentially avoid side effects due to build_folder property tweak.
+        self._current_precision = None
+
     def package(self):
         copy(self, "COPYRIGHT", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
         for self._current_precision in self._all_precisions:
@@ -125,6 +128,9 @@ def package(self):
             rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
             rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
 
+        # Potentially avoid side effects due to build_folder property tweak.
+        self._current_precision = None
+
     def package_info(self):
         cmake_config_name = cmake_namespace = "FFTW3"
 
@@ -136,10 +142,10 @@ def package_info(self):
         self.cpp_info.names["cmake_find_package"] = cmake_namespace
         self.cpp_info.names["cmake_find_package_multi"] = cmake_namespace
 
-        for self._current_precision in self._all_precisions:
-            prec_suffix = self._prec_suffix[self._current_precision]
+        for precision in self._all_precisions:
+            prec_suffix = self._prec_suffix[precision]
             cmake_target_name = pkgconfig_name = lib_name = "fftw3" + prec_suffix
-            component_name = f"fftwlib_{self._current_precision}"
+            component_name = f"fftwlib_{precision}"
             component = self.cpp_info.components[component_name]
 
             # TODO: back to global scope in conan v2 once cmake_find_package_* & pkg_config generators removed
@@ -150,7 +156,7 @@ def package_info(self):
             self.cpp_info.components[component_name].libs.append(lib_name)
             if self.settings.os in ["Linux", "FreeBSD"]:
                 component.system_libs.append("m")
-                if self._current_precision == QUAD:
+                if precision == QUAD:
                     component.system_libs.extend(['quadmath'])
                 if self.options.threads:
                     component.system_libs.append("pthread")

From 5a61d67bf605ab8c0c023f9b12d077449c866170 Mon Sep 17 00:00:00 2001
From: Michele Adduci 
Date: Fri, 26 Jan 2024 18:26:54 +0100
Subject: [PATCH 0995/1307] (#22525) Updated Opene57 to 1.6.5

* Updated Opene57 to 1.6.5

* reverted to use Conan 1.x compatibility

Co-authored-by: Uilian Ries 

* removing 1.6.5, reverted compiler changes

* Update Boost

Co-authored-by: Uilian Ries 

---------

Co-authored-by: Uilian Ries 
---
 recipes/opene57/all/conandata.yml |  6 +++---
 recipes/opene57/all/conanfile.py  | 17 ++++++++++++++---
 recipes/opene57/config.yml        |  4 ++--
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/recipes/opene57/all/conandata.yml b/recipes/opene57/all/conandata.yml
index 901bec5f90435..01fe8da487209 100644
--- a/recipes/opene57/all/conandata.yml
+++ b/recipes/opene57/all/conandata.yml
@@ -1,10 +1,10 @@
 sources:
+  "1.6.5":
+    url: "https://github.com/openE57/openE57/archive/1.6.5.tar.gz"
+    sha256: "23f3c159550a70b6a1c2330f0f03ed816cbc27ff5656410bfee527bae31eb186"
   "1.6.4":
     url: "https://github.com/openE57/openE57/archive/1.6.4.tar.gz"
     sha256: "97accc32ae294113a97b8d3f0ecf0d608057a6f0fcdfee17db0c5db4ab28ce69"
   "1.6.3":
     url: "https://github.com/openE57/openE57/archive/refs/tags/1.6.3.tar.gz"
     sha256: "e335afdda98a2707d05ec4bce99f362a6f7f0eb2e8bbf2d7346eae292046f827"
-  "1.6.2":
-    url: "https://github.com/openE57/openE57/archive/refs/tags/1.6.2.tar.gz"
-    sha256: "2d487e663cf43105b19653d34250fd45f947af839e327336b6878464a99d5423"
diff --git a/recipes/opene57/all/conanfile.py b/recipes/opene57/all/conanfile.py
index f3bcaea5080c3..b1ef9f3a3554a 100644
--- a/recipes/opene57/all/conanfile.py
+++ b/recipes/opene57/all/conanfile.py
@@ -8,7 +8,7 @@
 from conan.tools.microsoft import is_msvc, is_msvc_static_runtime
 from conan.tools.scm import Version
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.54.0"
 
 
 class Opene57Conan(ConanFile):
@@ -25,11 +25,13 @@ class Opene57Conan(ConanFile):
         "shared": [True, False],
         "fPIC": [True, False],
         "with_tools": [True, False],
+        "with_docs":  [True, False]
     }
     default_options = {
         "shared": False,
         "fPIC": True,
         "with_tools": False,
+        "with_docs":  False
     }
 
     @property
@@ -64,9 +66,14 @@ def layout(self):
 
     def requirements(self):
         if self.options.with_tools:
-            self.requires("boost/1.83.0")
+            self.requires("boost/1.84.0")
+
+        if self.options.with_docs:
+            self.requires("doxygen/1.9.4")
+
         if self.settings.os != "Windows":
-            self.requires("icu/73.2")
+            self.requires("icu/74.1")
+
         self.requires("xerces-c/3.2.4")
 
     def validate(self):
@@ -88,6 +95,8 @@ def generate(self):
         tc.variables["BUILD_EXAMPLES"] = False
         tc.variables["BUILD_TOOLS"] = self.options.with_tools
         tc.variables["BUILD_TESTS"] = False
+        tc.variables["BUILD_DOCS"] = self.options.with_docs
+
         if is_msvc(self):
             tc.variables["BUILD_WITH_MT"] = is_msvc_static_runtime(self)
         tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = self.options.shared
@@ -127,6 +136,8 @@ def package_info(self):
 
         self.cpp_info.defines.append(f"E57_REFIMPL_REVISION_ID={self.name}-{self.version}")
         self.cpp_info.defines.append("XERCES_STATIC_LIBRARY")
+        self.cpp_info.defines.append("CRCPP_INCLUDE_ESOTERIC_CRC_DEFINITIONS")
+        self.cpp_info.defines.append("CRCPP_USE_CPP11")
 
         # TODO: to remove in conan v2
         if self.options.with_tools:
diff --git a/recipes/opene57/config.yml b/recipes/opene57/config.yml
index ad9f3c8967822..0cbc2473d6c2f 100644
--- a/recipes/opene57/config.yml
+++ b/recipes/opene57/config.yml
@@ -1,7 +1,7 @@
 versions:
+  "1.6.5":
+    folder: all
   "1.6.4":
     folder: all
   "1.6.3":
     folder: all
-  "1.6.2":
-    folder: all

From 65499b379d6e0f0053985b0070878dc14868c7ee Mon Sep 17 00:00:00 2001
From: Ilya Lavrenov 
Date: Fri, 26 Jan 2024 23:58:28 +0400
Subject: [PATCH 0996/1307] (#22289) openvino: added OpenVINO 1.0 API headers
 for older releases

---
 recipes/openvino/all/conanfile.py | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/recipes/openvino/all/conanfile.py b/recipes/openvino/all/conanfile.py
index b1cfc1fd2fe86..d7d8677eb943d 100644
--- a/recipes/openvino/all/conanfile.py
+++ b/recipes/openvino/all/conanfile.py
@@ -1,8 +1,9 @@
 from conan import ConanFile
 from conan.errors import ConanException, ConanInvalidConfiguration
-from conan.tools.build import check_min_cppstd, cross_building
+from conan.tools.build import check_min_cppstd
 from conan.tools.scm import Version
 from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir
 import functools
 import os
@@ -117,6 +118,10 @@ def _compilers_minimum_version(self):
             "msvc": "192",
         }
 
+    @property
+    def _is_legacy_one_profile(self):
+        return not hasattr(self, "settings_build")
+
     def source(self):
         get(self, **self.conan_data["sources"][self.version]["openvino"], strip_root=True)
         get(self, **self.conan_data["sources"][self.version]["onednn_cpu"], strip_root=True,
@@ -152,7 +157,7 @@ def configure(self):
     def build_requirements(self):
         if self._target_arm:
             self.tool_requires("scons/4.3.0")
-        if cross_building(self):
+        if not self._is_legacy_one_profile:
             if self._protobuf_required:
                 self.tool_requires("protobuf/")
             if self.options.enable_tf_lite_frontend:
@@ -183,6 +188,12 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def generate(self):
+        env = VirtualBuildEnv(self)
+        env.generate()
+        if self._is_legacy_one_profile:
+            env = VirtualRunEnv(self)
+            env.generate(scope="build")
+
         deps = CMakeDeps(self)
         deps.generate()
 
@@ -299,6 +310,8 @@ def package_info(self):
             openvino_runtime.system_libs.append("shlwapi")
             if self._preprocessing_available:
                 openvino_runtime.system_libs.extend(["wsock32", "ws2_32"])
+        if Version(self.version) < "2024.0.0":
+            openvino_runtime.includedirs.append(os.path.join("include", "ie"))
 
         # Have to expose all internal libraries for static libraries case
         if not self.options.shared:

From 1827097c07be2c3e017aa1e2a352ec60398e5ba3 Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Sun, 28 Jan 2024 03:42:19 +0100
Subject: [PATCH 0997/1307] (#22546) libpng: add version 1.6.41

* libpng: add version 1.6.41

* update cmake options to reflect 1.6.41 changes

* fix tests
---
 recipes/libpng/all/conandata.yml               | 3 +++
 recipes/libpng/all/conanfile.py                | 5 ++++-
 recipes/libpng/all/test_package/CMakeLists.txt | 2 +-
 recipes/libpng/config.yml                      | 2 ++
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml
index bb5cbe33cccce..40b3b1fcdc4f1 100644
--- a/recipes/libpng/all/conandata.yml
+++ b/recipes/libpng/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.6.41":
+    url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.41/libpng-1.6.41.tar.xz"
+    sha256: "d6a49a7a4abca7e44f72542030e53319c081fea508daccf4ecc7c6d9958d190f"
   "1.6.40":
     url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.40/libpng-1.6.40.tar.xz"
     sha256: "535b479b2467ff231a3ec6d92a525906fb8ef27978be4f66dbe05d3f3a01b3a1"
diff --git a/recipes/libpng/all/conanfile.py b/recipes/libpng/all/conanfile.py
index f5410a3afa2d7..a5aa7d7b88067 100644
--- a/recipes/libpng/all/conanfile.py
+++ b/recipes/libpng/all/conanfile.py
@@ -118,7 +118,10 @@ def generate(self):
             tc.variables["PNG_INTEL_SSE"] = self._neon_msa_sse_vsx_mapping[str(self.options.sse)]
         if self._has_vsx_support:
             tc.variables["PNG_POWERPC_VSX"] = self._neon_msa_sse_vsx_mapping[str(self.options.vsx)]
-        if Version(self.version) >= "1.6.38":
+        if Version(self.version) >= "1.6.41":
+            tc.variables["PNG_FRAMEWORK"] = False  # changed from False to True by default in PNG 1.6.41
+            tc.variables["PNG_TOOLS"] = False
+        elif Version(self.version) >= "1.6.38":
             tc.variables["PNG_EXECUTABLES"] = False
 
         tc.cache_variables["CMAKE_MACOSX_BUNDLE"] = False
diff --git a/recipes/libpng/all/test_package/CMakeLists.txt b/recipes/libpng/all/test_package/CMakeLists.txt
index 59e144e90a535..171081056d70e 100644
--- a/recipes/libpng/all/test_package/CMakeLists.txt
+++ b/recipes/libpng/all/test_package/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.1)
+cmake_minimum_required(VERSION 3.15)
 project(test_package LANGUAGES C)
 
 find_package(PNG REQUIRED)
diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml
index e93a6a24ec85a..b68333a0b8609 100644
--- a/recipes/libpng/config.yml
+++ b/recipes/libpng/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.6.41":
+    folder: all
   "1.6.40":
     folder: all
   "1.6.39":

From 7c3b90b8b50a3c957d60e91e8d87925bab209342 Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Sun, 28 Jan 2024 04:08:35 +0100
Subject: [PATCH 0998/1307] (#22545) libjpeg-turbo: add version 3.0.2

---
 recipes/libjpeg-turbo/all/conandata.yml | 3 +++
 recipes/libjpeg-turbo/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libjpeg-turbo/all/conandata.yml b/recipes/libjpeg-turbo/all/conandata.yml
index 6b84ea73c442f..0fb3e348f183d 100644
--- a/recipes/libjpeg-turbo/all/conandata.yml
+++ b/recipes/libjpeg-turbo/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.0.2":
+    url: "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.0.2/libjpeg-turbo-3.0.2.tar.gz"
+    sha256: "c2ce515a78d91b09023773ef2770d6b0df77d674e144de80d63e0389b3a15ca6"
   "3.0.1":
     url: "https://sourceforge.net/projects/libjpeg-turbo/files/3.0.1/libjpeg-turbo-3.0.1.tar.gz"
     sha256: "22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75"
diff --git a/recipes/libjpeg-turbo/config.yml b/recipes/libjpeg-turbo/config.yml
index 382a6fb1070c9..b86a136393472 100644
--- a/recipes/libjpeg-turbo/config.yml
+++ b/recipes/libjpeg-turbo/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.0.2":
+    folder: all
   "3.0.1":
     folder: all
   "3.0.0":

From d70f0f29bef13ae0fc78ee8169cb28bbec353eee Mon Sep 17 00:00:00 2001
From: Barak Shoshany 
Date: Sat, 27 Jan 2024 23:37:12 -0500
Subject: [PATCH 0999/1307] (#21991) bshoshany-thread-pool: add version 4.0.0

---
 .../bshoshany-thread-pool/all/conandata.yml   |  3 ++
 .../all/test_package/test_package.cpp         | 53 +++----------------
 recipes/bshoshany-thread-pool/config.yml      |  2 +
 3 files changed, 11 insertions(+), 47 deletions(-)

diff --git a/recipes/bshoshany-thread-pool/all/conandata.yml b/recipes/bshoshany-thread-pool/all/conandata.yml
index dee19ad62ca27..3f31e9885d1c3 100644
--- a/recipes/bshoshany-thread-pool/all/conandata.yml
+++ b/recipes/bshoshany-thread-pool/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "4.0.1":
+    sha256: "34d25503e17e58198613d9306313f8358cfaaa9320f2b7694dc599b90a1858a7"
+    url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v4.0.1.tar.gz"
   "3.5.0":
     sha256: "d3efd5c434f6e99f4cff7b8219cbb586dc06bc0aeaf17cd174813a2333961306"
     url: "https://github.com/bshoshany/thread-pool/archive/refs/tags/v3.5.0.tar.gz"
diff --git a/recipes/bshoshany-thread-pool/all/test_package/test_package.cpp b/recipes/bshoshany-thread-pool/all/test_package/test_package.cpp
index bbde93d5eba55..94a1ee699375b 100644
--- a/recipes/bshoshany-thread-pool/all/test_package/test_package.cpp
+++ b/recipes/bshoshany-thread-pool/all/test_package/test_package.cpp
@@ -1,59 +1,18 @@
 #include "BS_thread_pool.hpp"
-
-BS::synced_stream sync_out;
-BS::thread_pool pool;
-
-std::condition_variable ID_cv, total_cv;
-std::mutex ID_mutex, total_mutex;
-BS::concurrency_t count_unique_threads()
-{
-    const BS::concurrency_t num_tasks = pool.get_thread_count() * 2;
-    std::vector thread_IDs(num_tasks);
-    std::unique_lock total_lock(total_mutex);
-    BS::concurrency_t total_count = 0;
-    bool ID_release = false;
-    pool.wait_for_tasks();
-    for (std::thread::id& id : thread_IDs)
-        pool.push_task(
-            [&total_count, &id, &ID_release]
-            {
-                id = std::this_thread::get_id();
-                {
-                    const std::scoped_lock total_lock_local(total_mutex);
-                    ++total_count;
-                }
-                total_cv.notify_one();
-                std::unique_lock ID_lock_local(ID_mutex);
-                ID_cv.wait(ID_lock_local, [&ID_release] { return ID_release; });
-            });
-    total_cv.wait(total_lock, [&total_count] { return total_count == pool.get_thread_count(); });
-    {
-        const std::scoped_lock ID_lock(ID_mutex);
-        ID_release = true;
-    }
-    ID_cv.notify_all();
-    total_cv.wait(total_lock, [&total_count, &num_tasks] { return total_count == num_tasks; });
-    pool.wait_for_tasks();
-    std::sort(thread_IDs.begin(), thread_IDs.end());
-    return static_cast(std::unique(thread_IDs.begin(), thread_IDs.end()) - thread_IDs.begin());
-}
+#include 
 
 int main()
 {
-    const char* line = "------------------------------------------";
-    sync_out.println(line);
-    sync_out.println("Testing thread pool...");
-    BS::concurrency_t unique_threads = count_unique_threads();
-    if (pool.get_thread_count() == unique_threads)
+    BS::thread_pool pool;
+    std::cout << "Testing thread pool...\n";
+    if (pool.get_thread_count() == std::thread::hardware_concurrency())
     {
-        sync_out.println("SUCCESS: Created ", unique_threads, " unique threads!");
-        sync_out.println(line);
+        std::cout << "SUCCESS: Created " << pool.get_thread_count() << " unique threads!\n";
         return EXIT_SUCCESS;
     }
     else
     {
-        sync_out.println("ERROR: Failed to create ", unique_threads, " unique threads!");
-        sync_out.println(line);
+        std::cout << "ERROR: Failed to create " << pool.get_thread_count() << " unique threads!\n";
         return EXIT_FAILURE;
     }
 }
diff --git a/recipes/bshoshany-thread-pool/config.yml b/recipes/bshoshany-thread-pool/config.yml
index cabaf98e03ae7..31ec3f0d00429 100644
--- a/recipes/bshoshany-thread-pool/config.yml
+++ b/recipes/bshoshany-thread-pool/config.yml
@@ -1,4 +1,6 @@
 versions:
+    "4.0.1":
+        folder: all
     "3.5.0":
         folder: all
     "3.4.0":

From e5def28d0dd4f08d91ca8f53d2f81b2445dcc627 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 28 Jan 2024 15:07:24 +0900
Subject: [PATCH 1000/1307] (#22568) circularbuffer: add version 1.4.0

* circularbuffer: add version 1.4.0

* add end line
---
 recipes/circularbuffer/all/conandata.yml                 | 3 +++
 recipes/circularbuffer/all/conanfile.py                  | 4 ++--
 recipes/circularbuffer/all/test_package/CMakeLists.txt   | 4 ++++
 recipes/circularbuffer/all/test_package/test_package.cpp | 4 ++++
 recipes/circularbuffer/config.yml                        | 2 ++
 5 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/recipes/circularbuffer/all/conandata.yml b/recipes/circularbuffer/all/conandata.yml
index ba45559184f9d..3b5cc436148eb 100644
--- a/recipes/circularbuffer/all/conandata.yml
+++ b/recipes/circularbuffer/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.4.0":
+    url: "https://github.com/rlogiacco/CircularBuffer/archive/refs/tags/1.4.0.tar.gz"
+    sha256: "e01a837d2fe46fea168e8d36e1a4225d9414a855484d55b5a240f239ab53fc0a"
   "1.3.3":
     url: "https://github.com/rlogiacco/CircularBuffer/archive/refs/tags/1.3.3.tar.gz"
     sha256: "d558029c9ab5012a8bbf9a89bd130eb320bdeb69e3f8bd96851ddc1e5dc24eba"
diff --git a/recipes/circularbuffer/all/conanfile.py b/recipes/circularbuffer/all/conanfile.py
index 695a6ea119334..2bdc97e38979c 100644
--- a/recipes/circularbuffer/all/conanfile.py
+++ b/recipes/circularbuffer/all/conanfile.py
@@ -10,10 +10,10 @@
 class CircularBufferConan(ConanFile):
     name = "circularbuffer"
     description = "Arduino circular buffer library"
-    topics = ("circular buffer", "arduino", "data-structures")
     license = "LGPL-3.0"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/rlogiacco/CircularBuffer"
+    topics = ("circular buffer", "arduino", "data-structures", "header-only")
     package_type = "header-library"
     settings = "os", "arch", "compiler", "build_type"
     no_copy_source = True
@@ -29,7 +29,7 @@ def source(self):
 
     def package(self):
         copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
-        copy(self, "CircularBuffer.h",
+        copy(self, "CircularBuffer.h*",
              dst=os.path.join(self.package_folder, "include"), src=self.source_folder)
         copy(self, "CircularBuffer.tpp",
              dst=os.path.join(self.package_folder, "include"), src=self.source_folder)
diff --git a/recipes/circularbuffer/all/test_package/CMakeLists.txt b/recipes/circularbuffer/all/test_package/CMakeLists.txt
index 933c1c7ab13f6..95df0ee16539a 100644
--- a/recipes/circularbuffer/all/test_package/CMakeLists.txt
+++ b/recipes/circularbuffer/all/test_package/CMakeLists.txt
@@ -6,3 +6,7 @@ find_package(circularbuffer CONFIG REQUIRED)
 add_executable(${PROJECT_NAME} test_package.cpp)
 target_link_libraries(${PROJECT_NAME} PRIVATE circularbuffer::circularbuffer)
 target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
+
+if(circularbuffer_VERSION VERSION_GREATER_EQUAL "1.4.0")
+    target_compile_definitions(${PROJECT_NAME} PRIVATE CIRCULARBUFFER_1_4_0_LATER)
+endif()
diff --git a/recipes/circularbuffer/all/test_package/test_package.cpp b/recipes/circularbuffer/all/test_package/test_package.cpp
index c9d59e4b258c6..eb914270c4c82 100644
--- a/recipes/circularbuffer/all/test_package/test_package.cpp
+++ b/recipes/circularbuffer/all/test_package/test_package.cpp
@@ -1,4 +1,8 @@
+#ifdef CIRCULARBUFFER_1_4_0_LATER
+#include 
+#else
 #include 
+#endif
 
 int main() {
     CircularBuffer buffer;
diff --git a/recipes/circularbuffer/config.yml b/recipes/circularbuffer/config.yml
index 3abfca40293f6..623dc27ffe730 100644
--- a/recipes/circularbuffer/config.yml
+++ b/recipes/circularbuffer/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.4.0":
+    folder: all
   "1.3.3":
     folder: all

From 44518a631b2a025bb485b9231720b019b5c6cd29 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 28 Jan 2024 19:08:04 +0900
Subject: [PATCH 1001/1307] (#22550) cppkafka: add version 0.4.1,  update
 dependencies

* cppkafka: add version 0.4.1

* make boost transitive_headers
---
 recipes/cppkafka/all/conandata.yml            | 12 ++++++--
 recipes/cppkafka/all/conanfile.py             | 12 ++++----
 ...ch => 0.4.0-0001-no-template-export.patch} |  0
 ...2-cppstd.patch => 0.4.0-0002-cppstd.patch} |  0
 ...ath.patch => 0.4.0-0003-clean-rpath.patch} |  0
 .../all/patches/0.4.1-0003-clean-rpath.patch  | 28 +++++++++++++++++++
 recipes/cppkafka/config.yml                   |  2 ++
 7 files changed, 45 insertions(+), 9 deletions(-)
 rename recipes/cppkafka/all/patches/{0001-no-template-export.patch => 0.4.0-0001-no-template-export.patch} (100%)
 rename recipes/cppkafka/all/patches/{0002-cppstd.patch => 0.4.0-0002-cppstd.patch} (100%)
 rename recipes/cppkafka/all/patches/{0003-clean-rpath.patch => 0.4.0-0003-clean-rpath.patch} (100%)
 create mode 100644 recipes/cppkafka/all/patches/0.4.1-0003-clean-rpath.patch

diff --git a/recipes/cppkafka/all/conandata.yml b/recipes/cppkafka/all/conandata.yml
index 741ef5502bb96..19152c1beae0c 100644
--- a/recipes/cppkafka/all/conandata.yml
+++ b/recipes/cppkafka/all/conandata.yml
@@ -1,9 +1,15 @@
 sources:
+  "0.4.1":
+    url: "https://github.com/mfontanini/cppkafka/archive/refs/tags/v0.4.1.tar.gz"
+    sha256: "45770ae0404cb9ba73d659618c51cd55b574c66ed3c7b148360222fb524b0ff7"
   "0.4.0":
     url: "https://github.com/mfontanini/cppkafka/archive/refs/tags/0.4.0.tar.gz"
     sha256: "f4f05eb7a180a856663b02ec0b777283275ef88e5523f3013fd51c6c4ab63b5a"
 patches:
+  "0.4.1":
+    - patch_file: "patches/0.4.0-0001-no-template-export.patch"
+    - patch_file: "patches/0.4.1-0003-clean-rpath.patch"
   "0.4.0":
-    - patch_file: "patches/0001-no-template-export.patch"
-    - patch_file: "patches/0002-cppstd.patch"
-    - patch_file: "patches/0003-clean-rpath.patch"
+    - patch_file: "patches/0.4.0-0001-no-template-export.patch"
+    - patch_file: "patches/0.4.0-0002-cppstd.patch"
+    - patch_file: "patches/0.4.0-0003-clean-rpath.patch"
diff --git a/recipes/cppkafka/all/conanfile.py b/recipes/cppkafka/all/conanfile.py
index 41a226efdbb76..1f97490b74bf8 100644
--- a/recipes/cppkafka/all/conanfile.py
+++ b/recipes/cppkafka/all/conanfile.py
@@ -2,6 +2,7 @@
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir
+from conan.tools.scm import Version
 import os
 
 required_conan_version = ">=1.53.0"
@@ -10,11 +11,10 @@
 class CppKafkaConan(ConanFile):
     name = "cppkafka"
     description = "Modern C++ Apache Kafka client library (wrapper for librdkafka)"
-    topics = ("librdkafka", "kafka")
+    license = "MIT"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/mfontanini/cppkafka"
-    license = "MIT"
-
+    topics = ("librdkafka", "kafka")
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
@@ -41,8 +41,8 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("boost/1.81.0")
-        self.requires("librdkafka/2.0.2")
+        self.requires("boost/1.83.0", transitive_headers=True)
+        self.requires("librdkafka/2.3.0", transitive_headers=True)
 
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
@@ -57,7 +57,7 @@ def generate(self):
         tc.variables["CPPKAFKA_DISABLE_TESTS"] = True
         tc.variables["CPPKAFKA_DISABLE_EXAMPLES"] = True
         tc.variables["CPPKAFKA_RDKAFKA_STATIC_LIB"] = False # underlying logic is useless
-        if self.settings.os == "Windows":
+        if Version(self.version) < "0.4.1" and self.settings.os == "Windows":
             tc.preprocessor_definitions["NOMINMAX"] = 1
         tc.generate()
         cd = CMakeDeps(self)
diff --git a/recipes/cppkafka/all/patches/0001-no-template-export.patch b/recipes/cppkafka/all/patches/0.4.0-0001-no-template-export.patch
similarity index 100%
rename from recipes/cppkafka/all/patches/0001-no-template-export.patch
rename to recipes/cppkafka/all/patches/0.4.0-0001-no-template-export.patch
diff --git a/recipes/cppkafka/all/patches/0002-cppstd.patch b/recipes/cppkafka/all/patches/0.4.0-0002-cppstd.patch
similarity index 100%
rename from recipes/cppkafka/all/patches/0002-cppstd.patch
rename to recipes/cppkafka/all/patches/0.4.0-0002-cppstd.patch
diff --git a/recipes/cppkafka/all/patches/0003-clean-rpath.patch b/recipes/cppkafka/all/patches/0.4.0-0003-clean-rpath.patch
similarity index 100%
rename from recipes/cppkafka/all/patches/0003-clean-rpath.patch
rename to recipes/cppkafka/all/patches/0.4.0-0003-clean-rpath.patch
diff --git a/recipes/cppkafka/all/patches/0.4.1-0003-clean-rpath.patch b/recipes/cppkafka/all/patches/0.4.1-0003-clean-rpath.patch
new file mode 100644
index 0000000000000..86c2d7f5ce27a
--- /dev/null
+++ b/recipes/cppkafka/all/patches/0.4.1-0003-clean-rpath.patch
@@ -0,0 +1,28 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6c667df..46c5590 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -28,7 +28,7 @@ if (NOT CMAKE_CXX_FLAGS)
+         add_definitions("-DNOGDI=1")
+         add_definitions("-DNOMINMAX=1")
+     else()
+-        set(CMAKE_CXX_FLAGS "-Wall")
++#        set(CMAKE_CXX_FLAGS "-Wall")
+     endif()
+ endif()
+ 
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 214ccd4..d2667ce 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -46,8 +46,8 @@ set_target_properties(${TARGET_NAME} PROPERTIES
+         ARCHIVE_OUTPUT_NAME "${TARGET_NAME}"
+         LIBRARY_OUTPUT_DIRECTORY "${CMAKE_INSTALL_LIBDIR}"
+         LIBRARY_OUTPUT_NAME "${TARGET_NAME}"
+-        INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}"
+-        INSTALL_RPATH_USE_LINK_PATH TRUE
++        # INSTALL_RPATH "${CMAKE_INSTALL_LIBDIR}"
++        # INSTALL_RPATH_USE_LINK_PATH TRUE
+         VERSION ${CPPKAFKA_VERSION}
+         SOVERSION ${CPPKAFKA_VERSION})
+ # In CMake >= 3.15 Boost::boost == Boost::headers
diff --git a/recipes/cppkafka/config.yml b/recipes/cppkafka/config.yml
index da269653d6e6b..bf6438ecd493c 100644
--- a/recipes/cppkafka/config.yml
+++ b/recipes/cppkafka/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "0.4.1":
+    folder: "all"
   "0.4.0":
     folder: "all"

From 66fadf9f3f1721b05ba7f75f39d9cf4ba0e016dd Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Mon, 29 Jan 2024 20:51:44 +0000
Subject: [PATCH 1002/1307] (#22586) [bot] Update list of references
 (prod-v2/ListPackages)

Co-authored-by: conan-center-bot 
---
 .c3i/conan_v2_ready_references.yml | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml
index 14e8b6b61af0d..312d7c7c8d526 100644
--- a/.c3i/conan_v2_ready_references.yml
+++ b/.c3i/conan_v2_ready_references.yml
@@ -219,6 +219,7 @@ required_for_references:
 - cppdap
 - cppfront
 - cppitertools
+- cppkafka
 - cpprestsdk
 - cpptoml
 - cpptrace
@@ -379,6 +380,7 @@ required_for_references:
 - flex
 - flint
 - fltk
+- flux
 - fmi1
 - fmi2
 - fmi3
@@ -1042,6 +1044,7 @@ required_for_references:
 - picojson
 - picosha2
 - pipes
+- pistache
 - pixman
 - pkgconf
 - platform.converters
@@ -1165,6 +1168,7 @@ required_for_references:
 - safeint
 - sail
 - samurai
+- sassc
 - sbepp
 - sbp
 - scdoc
@@ -1237,6 +1241,7 @@ required_for_references:
 - sqlpp11
 - sqlpp11-connector-sqlite3
 - squirrel
+- srt
 - ssht
 - ssp
 - st_tree
@@ -1349,6 +1354,7 @@ required_for_references:
 - tsl-sparse-map
 - tuplet
 - turtle
+- tweenerspp
 - tweetnacl
 - twitch-native-ipc
 - twitchtv-libsoundtrackutil

From 41af45ea6712d3f1aebe339ffc50e18b9a5d023d Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 30 Jan 2024 17:41:09 +0900
Subject: [PATCH 1003/1307] (#22576) fast_float: add version 6.1.0

---
 recipes/fast_float/all/conandata.yml | 3 +++
 recipes/fast_float/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/fast_float/all/conandata.yml b/recipes/fast_float/all/conandata.yml
index 291d202302e37..53a958df0d784 100644
--- a/recipes/fast_float/all/conandata.yml
+++ b/recipes/fast_float/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "6.1.0":
+    url: "https://github.com/fastfloat/fast_float/archive/v6.1.0.tar.gz"
+    sha256: "a9c8ca8ca7d68c2dbb134434044f9c66cfd4c383d5e85c36b704d30f6be82506"
   "6.0.0":
     url: "https://github.com/fastfloat/fast_float/archive/v6.0.0.tar.gz"
     sha256: "7e98671ef4cc7ed7f44b3b13f80156c8d2d9244fac55deace28bd05b0a2c7c8e"
diff --git a/recipes/fast_float/config.yml b/recipes/fast_float/config.yml
index 4e03f0967676d..94d0f58561b88 100644
--- a/recipes/fast_float/config.yml
+++ b/recipes/fast_float/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "6.1.0":
+    folder: all
   "6.0.0":
     folder: all
   "5.3.0":

From 500be652c2faeec65dcdf8d15425f78e6e4a465e Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 30 Jan 2024 18:28:48 +0900
Subject: [PATCH 1004/1307] (#22570) cpp-httplib: add version 0.15.1

* cpp-httplib: add version 0.15.0

* update 0.15.1
---
 recipes/cpp-httplib/all/conandata.yml | 3 +++
 recipes/cpp-httplib/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml
index 8c153c2fe947f..b4f0d16d4309c 100644
--- a/recipes/cpp-httplib/all/conandata.yml
+++ b/recipes/cpp-httplib/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.15.1":
+    url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.1.tar.gz"
+    sha256: "8d6a4a40ee8fd3f553b7e895882e60e674bd910883fc1857587dbbabee3cdb91"
   "0.14.3":
     url: "https://github.com/yhirose/cpp-httplib/archive/v0.14.3.tar.gz"
     sha256: "dcf6486d9030937636d8a4f820ca9531808fd7edb283893dddbaa05f99357e63"
diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml
index 7415ed1d11703..c0fa6e5745c91 100644
--- a/recipes/cpp-httplib/config.yml
+++ b/recipes/cpp-httplib/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.15.1":
+    folder: all
   "0.14.3":
     folder: all
   "0.14.2":

From be01e0c02ada74dcd20d77f8b25fc976f70a3175 Mon Sep 17 00:00:00 2001
From: JonathanGirardeau <41836206+JonathanGirardeau@users.noreply.github.com>
Date: Tue, 30 Jan 2024 11:48:19 +0100
Subject: [PATCH 1005/1307] (#22359) [fix] fix onnxruntime android build

Co-authored-by: Jonathan Girardeau 
---
 recipes/onnxruntime/all/conanfile.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes/onnxruntime/all/conanfile.py b/recipes/onnxruntime/all/conanfile.py
index b91cf5d0a83f9..45cbfde117d6f 100644
--- a/recipes/onnxruntime/all/conanfile.py
+++ b/recipes/onnxruntime/all/conanfile.py
@@ -265,6 +265,7 @@ def package_info(self):
 
         if self.settings.os in ["Linux", "Android", "FreeBSD", "SunOS", "AIX"]:
             self.cpp_info.system_libs.append("m")
+        if self.settings.os in ["Linux", "FreeBSD", "SunOS", "AIX"]:
             self.cpp_info.system_libs.append("pthread")
         if is_apple_os(self):
             self.cpp_info.frameworks.append("Foundation")

From 62d3525a0b8eadef9eefa184f091df11ac010039 Mon Sep 17 00:00:00 2001
From: toge 
Date: Wed, 31 Jan 2024 16:58:02 +0900
Subject: [PATCH 1006/1307] (#22588) svgpp: add version 1.3.1

---
 recipes/svgpp/all/conandata.yml | 3 +++
 recipes/svgpp/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/svgpp/all/conandata.yml b/recipes/svgpp/all/conandata.yml
index b4612b4441137..46ed1662b848f 100644
--- a/recipes/svgpp/all/conandata.yml
+++ b/recipes/svgpp/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.3.1":
+    url: "https://github.com/svgpp/svgpp/archive/refs/tags/v1.3.1.tar.gz"
+    sha256: "be8a89df72d01cf062cc9815dd64c9576b4d20910d6d7aee7f0ea26484dc5e76"
   "cci.20221030":
     url: "https://github.com/svgpp/svgpp/archive/1583a7b209038bfd0d98c6ce7d4c93986f7b235e.tar.gz"
     sha256: "95f4145c43aada913e7b24e37d20d0eef5f170a7c70e00ffcb318a3910b43ca6"
diff --git a/recipes/svgpp/config.yml b/recipes/svgpp/config.yml
index d6e527e7221f4..cbf184c2b85d7 100644
--- a/recipes/svgpp/config.yml
+++ b/recipes/svgpp/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.3.1":
+    folder: "all"
   "cci.20221030":
     folder: "all"

From 6e34fd464910c5389d7c009fa27cba16cc94991f Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Wed, 31 Jan 2024 11:04:47 +0100
Subject: [PATCH 1007/1307] (#20795) pango: migrate to Conan v2

* pango: Support Conan V2

Fix the SPDX license identifier.
Order versions.
Add glib tool requirement for glib-mkenums.

* Fix configure

* Fix incorrect attempt to modify option with_xft from auto to True

This fix is necessary for Conan V2 only.

* Revert "Fix incorrect attempt to modify option with_xft from auto to True"

This reverts commit 0f8289fce36fd1ad3e9f6cad7533a9560b52045e.

* Remove the auto value as an option

The use of "auto" for this option is inappropriate.
It should only be True or False because that is how it is used.

* Fix options configuration in configure method for Conan V2

* Fix option checking

* Bump glib

* Revert "Fix option checking"

This reverts commit d9665223a41cba33897226f9acf2dbdf98893a25.

* Configure default options in the config_options method

* Use self.info.options

* Bump glib

* bump deps

* fix transitive_headers

* bump libxft

* bump cairo

* bump deps

* remove package_id & configure shared

same as #17844

* add versions 1.50.14 & 1.51.0

---------

Co-authored-by: Jordan Williams 
---
 recipes/pango/all/conandata.yml               |  30 +-
 recipes/pango/all/conanfile.py                | 317 ++++++++++--------
 recipes/pango/all/test_package/CMakeLists.txt |  11 +-
 recipes/pango/all/test_package/conanfile.py   |  21 +-
 .../pango/all/test_package/test_package.cpp   |   2 +-
 .../pango/all/test_v1_package/CMakeLists.txt  |   8 +
 .../pango/all/test_v1_package/conanfile.py    |  18 +
 recipes/pango/config.yml                      |  12 +-
 8 files changed, 252 insertions(+), 167 deletions(-)
 create mode 100644 recipes/pango/all/test_v1_package/CMakeLists.txt
 create mode 100644 recipes/pango/all/test_v1_package/conanfile.py

diff --git a/recipes/pango/all/conandata.yml b/recipes/pango/all/conandata.yml
index 1d8c33548e913..c28a2cc9181bb 100644
--- a/recipes/pango/all/conandata.yml
+++ b/recipes/pango/all/conandata.yml
@@ -1,16 +1,22 @@
 sources:
-  "1.48.9":
-    url: "https://github.com/GNOME/pango/archive/1.48.9.tar.gz"
-    sha256: "6c78162507debd3389dab9f045cfa0b03cb44c432fb21979d4acf45db1b93781"
-  "1.49.3":
-    url: "https://github.com/GNOME/pango/archive/1.49.3.tar.gz"
-    sha256: "2bba081ba680b900a1285d7c9699c0058bf93c3c6b25acaa77214708fb7cb19b"
-  "1.50.7":
-    url: "https://github.com/GNOME/pango/archive/1.50.7.tar.gz"
-    sha256: "4964dc5f1a17464de3c1b91c16a0153429e2f73e81cfdea3229a6370b9ab8e5a"
-  "1.50.8":
-    url: "https://download.gnome.org/sources/pango/1.50/pango-1.50.8.tar.xz"
-    sha256: "cf626f59dd146c023174c4034920e9667f1d25ac2c1569516d63136c311255fa"
+  "1.51.0":
+    url: "https://download.gnome.org/sources/pango/1.51/pango-1.51.0.tar.xz"
+    sha256: "74efc109ae6f903bbe6af77eaa2ac6094b8ee245a2e23f132a7a8f0862d1a9f5"
+  "1.50.14":
+    url: "https://download.gnome.org/sources/pango/1.50/pango-1.50.14.tar.xz"
+    sha256: "1d67f205bfc318c27a29cfdfb6828568df566795df0cb51d2189cde7f2d581e8"
   "1.50.10":
     url: "https://download.gnome.org/sources/pango/1.50/pango-1.50.10.tar.xz"
     sha256: "7e5d2f1e40854d24a9a2c4d093bafe75dcdbeccdf1de43e4437332eabed64966"
+  "1.50.8":
+    url: "https://download.gnome.org/sources/pango/1.50/pango-1.50.8.tar.xz"
+    sha256: "cf626f59dd146c023174c4034920e9667f1d25ac2c1569516d63136c311255fa"
+  "1.50.7":
+    url: "https://github.com/GNOME/pango/archive/1.50.7.tar.gz"
+    sha256: "4964dc5f1a17464de3c1b91c16a0153429e2f73e81cfdea3229a6370b9ab8e5a"
+  "1.49.3":
+    url: "https://github.com/GNOME/pango/archive/1.49.3.tar.gz"
+    sha256: "2bba081ba680b900a1285d7c9699c0058bf93c3c6b25acaa77214708fb7cb19b"
+  "1.48.9":
+    url: "https://github.com/GNOME/pango/archive/1.48.9.tar.gz"
+    sha256: "6c78162507debd3389dab9f045cfa0b03cb44c432fb21979d4acf45db1b93781"
diff --git a/recipes/pango/all/conanfile.py b/recipes/pango/all/conanfile.py
index 7c23b65c48a80..95d2994e0044e 100644
--- a/recipes/pango/all/conanfile.py
+++ b/recipes/pango/all/conanfile.py
@@ -1,207 +1,250 @@
 import os
 import glob
 
-from conans import tools, Meson, VisualStudioBuildEnvironment
 from conan import ConanFile
-from conan.tools.scm import Version
-from conan.tools.files import get, replace_in_file, chdir, rmdir, rm, rename
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.microsoft import is_msvc
+from conan.tools.env import VirtualBuildEnv
+from conan.tools.files import chdir, copy, get, rename, replace_in_file, rm, rmdir
+from conan.tools.gnu import PkgConfigDeps
+from conan.tools.layout import basic_layout
+from conan.tools.meson import Meson, MesonToolchain
+from conan.tools.microsoft import is_msvc, is_msvc_static_runtime
+from conan.tools.scm import Version
+
+required_conan_version = ">=1.60.0 <2 || >=2.0.5"
 
-required_conan_version = ">=1.51.3"
 
 class PangoConan(ConanFile):
     name = "pango"
-    license = "LGPL-2.0-and-later"
+    license = "LGPL-2.0-or-later"
     url = "https://github.com/conan-io/conan-center-index"
     description = "Internationalized text layout and rendering library"
     homepage = "https://www.pango.org/"
-    topics = ("conan", "fontconfig", "fonts", "freedesktop")
+    topics = ("fontconfig", "fonts", "freedesktop")
+    package_type = "library"
     settings = "os", "compiler", "build_type", "arch"
-    options = {"shared": [True, False], "fPIC": [True, False], "with_libthai": [True, False], "with_cairo": [True, False], "with_xft": [True, False, "auto"], "with_freetype": [True, False, "auto"], "with_fontconfig": [True, False, "auto"]}
-    default_options = {"shared": False, "fPIC": True, "with_libthai": False, "with_cairo": True, "with_xft": "auto", "with_freetype": "auto", "with_fontconfig": "auto"}
-    generators = "pkg_config"
-    _autotools = None
-
-    @property
-    def _source_subfolder(self):
-        return "source_subfolder"
-
-    @property
-    def _build_subfolder(self):
-        return "build_subfolder"
-
-    def validate(self):
-        if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "5":
-            raise ConanInvalidConfiguration("this recipe does not support GCC before version 5. contributions are welcome")
-        if self.options.with_xft and not self.settings.os in ["Linux", "FreeBSD"]:
-            raise ConanInvalidConfiguration("Xft can only be used on Linux and FreeBSD")
-
-        if self.options.with_xft and (not self.options.with_freetype or not self.options.with_fontconfig):
-            raise ConanInvalidConfiguration("Xft requires freetype and fontconfig")
-
-        if self.options.shared and (not self.options["glib"].shared
-                                    or not self.options["harfbuzz"].shared or
-                                    (self.options.with_cairo
-                                     and not self.options["cairo"].shared)):
-            raise ConanInvalidConfiguration(
-                "Linking a shared library against static glib can cause unexpected behaviour."
-            )
-
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+        "with_libthai": [True, False],
+        "with_cairo": [True, False],
+        "with_xft": [True, False],
+        "with_freetype": [True, False],
+        "with_fontconfig": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+        "with_libthai": False,
+        "with_cairo": True,
+        "with_xft": False,
+        "with_freetype": False,
+        "with_fontconfig": False,
+    }
 
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
 
-    def configure(self):
-        if self.options.shared:
-            del self.options.fPIC
+        if self.settings.os in ["FreeBSD", "Linux"]:
+            self.options.with_xft = True
+        if not self.settings.os in ["Macos", "Windows"]:
+            self.options.with_freetype = True
+            self.options.with_fontconfig = True
 
-        del self.settings.compiler.libcxx
-        del self.settings.compiler.cppstd
-
-        if self.options.with_xft == "auto":
-            self.options.with_xft = self.settings.os in ["Linux", "FreeBSD"]
-        if self.options.with_freetype == "auto":
-            self.options.with_freetype = not self.settings.os in ["Windows", "Macos"]
-        if self.options.with_fontconfig == "auto":
-            self.options.with_fontconfig = not self.settings.os in ["Windows", "Macos"]
+    def configure(self):
         if self.options.shared:
-            self.options["glib"].shared = True
-            self.options["harfbuzz"].shared = True
-            if self.options.with_cairo:
-                self.options["cairo"].shared = True
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
 
-    def build_requirements(self):
-        self.build_requires("pkgconf/1.7.4")
-        self.build_requires("meson/0.63.2")
+    def layout(self):
+        basic_layout(self, src_folder="src")
 
     def requirements(self):
         if self.options.with_freetype:
-            self.requires("freetype/2.12.1")
+            self.requires("freetype/2.13.2")
 
         if self.options.with_fontconfig:
-            self.requires("fontconfig/2.13.93")
+            self.requires("fontconfig/2.14.2")
         if self.options.with_xft:
-            self.requires("libxft/2.3.4")
-        if self.options.with_xft and self.options.with_fontconfig and self.options.with_freetype:
-            self.requires("xorg/system")    # for xorg::xrender
+            self.requires("libxft/2.3.8")
+        if (
+            self.options.with_xft
+            and self.options.with_fontconfig
+            and self.options.with_freetype
+        ):
+            self.requires("xorg/system")  # for xorg::xrender
         if self.options.with_cairo:
-            self.requires("cairo/1.17.4")
-        self.requires("harfbuzz/5.1.0")
-        self.requires("glib/2.73.3")
-        self.requires("fribidi/1.0.12")
+            # "pango/pangocairo.h" includes "cairo.h"
+            self.requires("cairo/1.18.0", transitive_headers=True)
+        self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True)
+        self.requires("fribidi/1.0.13")
+        # "pango/pango-coverage.h" includes "hb.h"
+        self.requires("harfbuzz/8.3.0", transitive_headers=True)
 
-    def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-                  strip_root=True, destination=self._source_subfolder)
+    def validate(self):
+        if (
+            self.settings.compiler == "gcc"
+            and Version(self.settings.compiler.version) < "5"
+        ):
+            raise ConanInvalidConfiguration(f"{self.name} does not support GCC before version 5. Contributions are welcome.")
+        if self.options.with_xft and not self.settings.os in ["Linux", "FreeBSD"]:
+            raise ConanInvalidConfiguration("Xft can only be used on Linux and FreeBSD")
 
-    def _configure_meson(self):
-        defs = {}
-        defs["introspection"] = "disabled"
+        if self.options.with_xft and (
+            not self.options.with_freetype or not self.options.with_fontconfig
+        ):
+            raise ConanInvalidConfiguration("Xft requires freetype and fontconfig")
 
-        defs["libthai"] = "enabled" if self.options.with_libthai else "disabled"
-        defs["cairo"] = "enabled" if self.options.with_cairo else "disabled"
-        defs["xft"] = "enabled" if self.options.with_xft else "disabled"
-        defs["fontconfig"] = "enabled" if self.options.with_fontconfig else "disabled"
-        defs["freetype"] = "enabled" if self.options.with_freetype else "disabled"
+        if self.dependencies["glib"].options.shared and is_msvc_static_runtime(self):
+            raise ConanInvalidConfiguration(
+                "Linking shared glib with the MSVC static runtime is not supported"
+            )
 
-        meson = Meson(self)
-        meson.configure(build_folder=self._build_subfolder, source_folder=self._source_subfolder, defs=defs, args=['--wrap-mode=nofallback'])
-        return meson
+        if self.options.shared:
+            if not self.dependencies["glib"].options.shared:
+                raise ConanInvalidConfiguration(
+                    "Linking a shared library against static glib can cause unexpected behaviour."
+                )
+            if not self.dependencies["harfbuzz"].options.shared:
+                raise ConanInvalidConfiguration(
+                    "Linking a shared library against static harfbuzz can cause unexpected behaviour."
+                )
+            if self.options.with_cairo and not self.dependencies["cairo"].options.shared:
+                raise ConanInvalidConfiguration(
+                    "Linking a shared library against static cairo can cause unexpected behaviour."
+                )
+
+    def build_requirements(self):
+        self.tool_requires("glib/")
+        self.tool_requires("meson/1.3.0")
+        if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
+            self.tool_requires("pkgconf/2.0.3")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        virtual_build_env = VirtualBuildEnv(self)
+        virtual_build_env.generate()
+        pkg_config_deps = PkgConfigDeps(self)
+        pkg_config_deps.generate()
+        tc = MesonToolchain(self)
+        tc.project_options["introspection"] = "disabled"
+        tc.project_options["libthai"] = "enabled" if self.options.with_libthai else "disabled"
+        tc.project_options["cairo"] = "enabled" if self.options.with_cairo else "disabled"
+        tc.project_options["xft"] = "enabled" if self.options.with_xft else "disabled"
+        tc.project_options["fontconfig"] = "enabled" if self.options.with_fontconfig else "disabled"
+        tc.project_options["freetype"] = "enabled" if self.options.with_freetype else "disabled"
+        tc.generate()
 
     def build(self):
-        meson_build = os.path.join(self._source_subfolder, "meson.build")
+        meson_build = os.path.join(self.source_folder, "meson.build")
         replace_in_file(self, meson_build, "subdir('tests')", "")
         replace_in_file(self, meson_build, "subdir('tools')", "")
         replace_in_file(self, meson_build, "subdir('utils')", "")
         replace_in_file(self, meson_build, "subdir('examples')", "")
-        with tools.environment_append(VisualStudioBuildEnvironment(self).vars) if is_msvc(self) else tools.no_op():
-            meson = self._configure_meson()
-            meson.build()
+        meson = Meson(self)
+        meson.configure()
+        meson.build()
 
-    def package(self):
-        self.copy(pattern="COPYING", dst="licenses", src=self._source_subfolder)
-        with tools.environment_append(VisualStudioBuildEnvironment(self).vars) if is_msvc(self) else tools.no_op():
-            meson = self._configure_meson()
-            meson.install()
+    def _fix_library_names(self, path):
         if is_msvc(self):
-            with chdir(self, os.path.join(self.package_folder, "lib")):
+            with chdir(self, path):
                 for filename_old in glob.glob("*.a"):
                     filename_new = filename_old[3:-2] + ".lib"
                     self.output.info(f"rename {filename_old} into {filename_new}")
                     rename(self, filename_old, filename_new)
+
+    def package(self):
+        copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        meson = Meson(self)
+        meson.install()
+        self._fix_library_names(os.path.join(self.package_folder, "lib"))
         rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
         rm(self, "*.pdb", self.package_folder, recursive=True)
 
     def package_info(self):
-        self.cpp_info.components['pango_'].libs = ['pango-1.0']
-        self.cpp_info.components['pango_'].names['pkg_config'] = 'pango'
-        if self.settings.os in ["Linux","FreeBSD"]:
-            self.cpp_info.components['pango_'].system_libs.append("m")
-        self.cpp_info.components['pango_'].requires.append('glib::glib-2.0')
-        self.cpp_info.components['pango_'].requires.append('glib::gobject-2.0')
-        self.cpp_info.components['pango_'].requires.append('glib::gio-2.0')
-        self.cpp_info.components['pango_'].requires.append('fribidi::fribidi')
-        self.cpp_info.components['pango_'].requires.append('harfbuzz::harfbuzz')
+        self.cpp_info.components["pango_"].libs = ["pango-1.0"]
+        self.cpp_info.components["pango_"].set_property("pkg_config_name", "pango")
+        if self.settings.os in ["Linux", "FreeBSD"]:
+            self.cpp_info.components["pango_"].system_libs.append("m")
+        self.cpp_info.components["pango_"].requires.append("glib::glib-2.0")
+        self.cpp_info.components["pango_"].requires.append("glib::gobject-2.0")
+        self.cpp_info.components["pango_"].requires.append("glib::gio-2.0")
+        self.cpp_info.components["pango_"].requires.append("fribidi::fribidi")
+        self.cpp_info.components["pango_"].requires.append("harfbuzz::harfbuzz")
         if self.options.with_fontconfig:
-            self.cpp_info.components['pango_'].requires.append('fontconfig::fontconfig')
-
+            self.cpp_info.components["pango_"].requires.append("fontconfig::fontconfig")
 
         if self.options.with_xft:
-            self.cpp_info.components['pango_'].requires.append('libxft::libxft')
+            self.cpp_info.components["pango_"].requires.append("libxft::libxft")
             # Pango only uses xrender when Xft, fontconfig and freetype are enabled
             if self.options.with_fontconfig and self.options.with_freetype:
-                self.cpp_info.components['pango_'].requires.append('xorg::xrender')
+                self.cpp_info.components["pango_"].requires.append("xorg::xrender")
         if self.options.with_cairo:
-            self.cpp_info.components['pango_'].requires.append('cairo::cairo_')
-        self.cpp_info.components['pango_'].includedirs = [os.path.join(self.package_folder, "include", "pango-1.0")]
+            self.cpp_info.components["pango_"].requires.append("cairo::cairo_")
+        self.cpp_info.components["pango_"].includedirs = [
+            os.path.join(self.package_folder, "include", "pango-1.0")
+        ]
 
         if self.options.with_freetype:
-            self.cpp_info.components['pangoft2'].libs = ['pangoft2-1.0']
-            self.cpp_info.components['pangoft2'].names['pkg_config'] = 'pangoft2'
-            self.cpp_info.components['pangoft2'].requires = ['pango_', 'freetype::freetype']
-            self.cpp_info.components['pangoft2'].includedirs = [os.path.join(self.package_folder, "include", "pango-1.0")]
+            self.cpp_info.components["pangoft2"].libs = ["pangoft2-1.0"]
+            self.cpp_info.components["pangoft2"].set_property("pkg_config_name", "pangoft2")
+            self.cpp_info.components["pangoft2"].requires = [
+                "pango_",
+                "freetype::freetype",
+            ]
+            self.cpp_info.components["pangoft2"].includedirs = [
+                os.path.join(self.package_folder, "include", "pango-1.0")
+            ]
 
         if self.options.with_fontconfig:
-            self.cpp_info.components['pangofc'].names['pkg_config'] = 'pangofc'
+            self.cpp_info.components["pangofc"].set_property("pkg_config_name", "pangofc")
             if self.options.with_freetype:
-                self.cpp_info.components['pangofc'].requires = ['pangoft2']
+                self.cpp_info.components["pangofc"].requires = ["pangoft2"]
 
         if self.settings.os != "Windows":
-            self.cpp_info.components['pangoroot'].names['pkg_config'] = 'pangoroot'
+            self.cpp_info.components["pangoroot"].set_property("pkg_config_name", "pangoroot")
             if self.options.with_freetype:
-                self.cpp_info.components['pangoroot'].requires = ['pangoft2']
+                self.cpp_info.components["pangoroot"].requires = ["pangoft2"]
 
         if self.options.with_xft:
-            self.cpp_info.components['pangoxft'].libs = ['pangoxft-1.0']
-            self.cpp_info.components['pangoxft'].names['pkg_config'] = 'pangoxft'
-            self.cpp_info.components['pangoxft'].requires = ['pango_', 'pangoft2']
-            self.cpp_info.components['pangoxft'].includedirs = [os.path.join(self.package_folder, "include", "pango-1.0")]
+            self.cpp_info.components["pangoxft"].libs = ["pangoxft-1.0"]
+            self.cpp_info.components["pangoxft"].set_property("pkg_config_name", "pangoxft")
+            self.cpp_info.components["pangoxft"].requires = ["pango_", "pangoft2"]
+            self.cpp_info.components["pangoxft"].includedirs = [
+                os.path.join(self.package_folder, "include", "pango-1.0")
+            ]
 
         if self.settings.os == "Windows":
-            self.cpp_info.components['pangowin32'].libs = ['pangowin32-1.0']
-            self.cpp_info.components['pangowin32'].names['pkg_config'] = 'pangowin32'
-            self.cpp_info.components['pangowin32'].requires = ['pango_']
-            self.cpp_info.components['pangowin32'].system_libs.append('gdi32')
+            self.cpp_info.components["pangowin32"].libs = ["pangowin32-1.0"]
+            self.cpp_info.components["pangowin32"].set_property("pkg_config_name", "pangowin32")
+            self.cpp_info.components["pangowin32"].requires = ["pango_"]
+            self.cpp_info.components["pangowin32"].system_libs.append("gdi32")
 
         if self.options.with_cairo:
-            self.cpp_info.components['pangocairo'].libs = ['pangocairo-1.0']
-            self.cpp_info.components['pangocairo'].names['pkg_config'] = 'pangocairo'
-            self.cpp_info.components['pangocairo'].requires = ['pango_']
+            self.cpp_info.components["pangocairo"].libs = ["pangocairo-1.0"]
+            self.cpp_info.components["pangocairo"].set_property("pkg_config_name", "pangocairo")
+            self.cpp_info.components["pangocairo"].requires = ["pango_"]
             if self.options.with_freetype:
-                self.cpp_info.components['pangocairo'].requires.append('pangoft2')
+                self.cpp_info.components["pangocairo"].requires.append("pangoft2")
             if self.settings.os == "Windows":
-                self.cpp_info.components['pangocairo'].requires.append('pangowin32')
-                self.cpp_info.components['pangocairo'].system_libs.append('gdi32')
-            self.cpp_info.components['pangocairo'].includedirs = [os.path.join(self.package_folder, "include", "pango-1.0")]
-
-        self.env_info.PATH.append(os.path.join(self.package_folder, 'bin'))
-
-    def package_id(self):
-        if not self.options["glib"].shared:
-            self.info.requires["glib"].full_package_mode()
-        if not self.options["harfbuzz"].shared:
-            self.info.requires["harfbuzz"].full_package_mode()
-        if self.options.with_cairo and not self.options["cairo"].shared:
-            self.info.requires["cairo"].full_package_mode()
+                self.cpp_info.components["pangocairo"].requires.append("pangowin32")
+                self.cpp_info.components["pangocairo"].system_libs.append("gdi32")
+            self.cpp_info.components["pangocairo"].includedirs = [
+                os.path.join(self.package_folder, "include", "pango-1.0")
+            ]
+
+        self.runenv_info.append_path("PATH", os.path.join(self.package_folder, "bin"))
+
+        # TODO: remove the following when only Conan 2.0 is supported
+        self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))
+        self.cpp_info.components["pango_"].names["pkg_config"] = "pango"
+        self.cpp_info.components["pangoft2"].names["pkg_config"] = "pangoft2"
+        self.cpp_info.components["pangofc"].names["pkg_config"] = "pangofc"
+        self.cpp_info.components["pangoroot"].names["pkg_config"] = "pangoroot"
+        self.cpp_info.components["pangoxft"].names["pkg_config"] = "pangoxft"
+        self.cpp_info.components["pangowin32"].names["pkg_config"] = "pangowin32"
+        self.cpp_info.components["pangocairo"].names["pkg_config"] = "pangocairo"
diff --git a/recipes/pango/all/test_package/CMakeLists.txt b/recipes/pango/all/test_package/CMakeLists.txt
index 6b2859c25bddd..c990922a0544d 100644
--- a/recipes/pango/all/test_package/CMakeLists.txt
+++ b/recipes/pango/all/test_package/CMakeLists.txt
@@ -1,10 +1,7 @@
-cmake_minimum_required(VERSION 3.1)
-project(test_package)
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
 
-find_package(pango)
-
-include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
-conan_basic_setup()
+find_package(pango REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.cpp)
-target_link_libraries(${PROJECT_NAME} pango::pango)
+target_link_libraries(${PROJECT_NAME} PRIVATE pango::pango)
diff --git a/recipes/pango/all/test_package/conanfile.py b/recipes/pango/all/test_package/conanfile.py
index baecd8fdba2aa..ef5d7042163ec 100644
--- a/recipes/pango/all/test_package/conanfile.py
+++ b/recipes/pango/all/test_package/conanfile.py
@@ -1,10 +1,19 @@
-from conans import ConanFile, CMake, tools
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
 import os
 
 
 class TestPackageConan(ConanFile):
-    settings = "os", "compiler", "build_type", "arch"
-    generators = "cmake", "pkg_config", "cmake_find_package_multi"
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
 
     def build(self):
         cmake = CMake(self)
@@ -12,6 +21,6 @@ def build(self):
         cmake.build()
 
     def test(self):
-        if not tools.cross_building(self):
-            bin_path = os.path.join("bin", "test_package")
-            self.run(bin_path, run_environment=True)
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/pango/all/test_package/test_package.cpp b/recipes/pango/all/test_package/test_package.cpp
index 17022445e9087..20094deaf7d4c 100644
--- a/recipes/pango/all/test_package/test_package.cpp
+++ b/recipes/pango/all/test_package/test_package.cpp
@@ -3,6 +3,6 @@
 
 int main()
 {
-	std::cout << "pango version: " << pango_version_string() << std::endl;
+	std::cout << "pango version: " << pango_version_string() << "\n";
 	return 0;
 }
diff --git a/recipes/pango/all/test_v1_package/CMakeLists.txt b/recipes/pango/all/test_v1_package/CMakeLists.txt
new file mode 100644
index 0000000000000..91630d79f4abb
--- /dev/null
+++ b/recipes/pango/all/test_v1_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package)
+
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup(TARGETS)
+
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package/)
diff --git a/recipes/pango/all/test_v1_package/conanfile.py b/recipes/pango/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..5a05af3c2dfd2
--- /dev/null
+++ b/recipes/pango/all/test_v1_package/conanfile.py
@@ -0,0 +1,18 @@
+from conans import ConanFile, CMake
+from conan.tools.build import cross_building
+import os
+
+
+class TestPackageV1Conan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "cmake", "cmake_find_package_multi"
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if not cross_building(self):
+            bin_path = os.path.join("bin", "test_package")
+            self.run(bin_path, run_environment=True)
diff --git a/recipes/pango/config.yml b/recipes/pango/config.yml
index 40891312baffc..9086309110a6b 100644
--- a/recipes/pango/config.yml
+++ b/recipes/pango/config.yml
@@ -1,11 +1,15 @@
 versions:
-  "1.48.9":
+  "1.51.0":
     folder: all
-  "1.49.3":
+  "1.50.14":
     folder: all
-  "1.50.7":
+  "1.50.10":
     folder: all
   "1.50.8":
     folder: all
-  "1.50.10":
+  "1.50.7":
+    folder: all
+  "1.49.3":
+    folder: all
+  "1.48.9":
     folder: all

From a523d487eeb89c3c5cdef54d4a8d15a6d1df4974 Mon Sep 17 00:00:00 2001
From: Steven Lamerton 
Date: Wed, 31 Jan 2024 15:31:30 +0100
Subject: [PATCH 1008/1307] (#19118) ffmpeg: Add av1 library support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* ffmpeg: Add av1 library support

* ffmpeg: Fix linking to shared libaom on msvc

---------

Co-authored-by: Francisco Ramírez 
---
 recipes/ffmpeg/all/conandata.yml              | 59 +++++++++++++++++++
 recipes/ffmpeg/all/conanfile.py               | 41 +++++++++++++
 .../4.2-0001-fix-aom_codec_av1_dx_algo.patch  | 11 ++++
 .../4.4-0001-fix-aom_codec_av1_dx_algo.patch  | 11 ++++
 ...-libsvtav1-compressed_ten_bit_format.patch | 22 +++++++
 ...5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch | 20 +++++++
 ...5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch | 12 ++++
 7 files changed, 176 insertions(+)
 create mode 100644 recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch
 create mode 100644 recipes/ffmpeg/all/patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch
 create mode 100644 recipes/ffmpeg/all/patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch
 create mode 100644 recipes/ffmpeg/all/patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch
 create mode 100644 recipes/ffmpeg/all/patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch

diff --git a/recipes/ffmpeg/all/conandata.yml b/recipes/ffmpeg/all/conandata.yml
index 83ed14628cf42..b51138c1bc00b 100644
--- a/recipes/ffmpeg/all/conandata.yml
+++ b/recipes/ffmpeg/all/conandata.yml
@@ -36,7 +36,41 @@ sources:
     url: "https://ffmpeg.org/releases/ffmpeg-4.2.1.tar.bz2"
     sha256: "682a9fa3f6864d7f0dbf224f86b129e337bc60286e0d00dffcd710998d521624"
 patches:
+  "5.1.3":
+    - patch_file: "patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/031f1561cd286596cdb374da32f8aa816ce3b135"
+    - patch_file: "patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/1c6fd7d756afe0f8b7df14dbf7a95df275f8f5ee"
+    - patch_file: "patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/96748ac54f998ba6fe22802799c16b4eba8d4ccc"
+    - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch"
+      patch_description: "Compatibility with vulkan >= 1.3.239"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c"
   "5.1":
+    - patch_file: "patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/031f1561cd286596cdb374da32f8aa816ce3b135"
+    - patch_file: "patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/1c6fd7d756afe0f8b7df14dbf7a95df275f8f5ee"
+    - patch_file: "patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch"
+      patch_description: "Compatibility with libsvtav1 > 1.2.0"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/96748ac54f998ba6fe22802799c16b4eba8d4ccc"
+    - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch"
+      patch_description: "Compatibility with vulkan >= 1.3.239"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c"
+  "5.0.3":
     - patch_file: "patches/5.0-0001-fix-hwcontext_vulkan.patch"
       patch_description: "Compatibility with vulkan >= 1.3.239"
       patch_type: "portability"
@@ -46,3 +80,28 @@ patches:
       patch_description: "Compatibility with vulkan >= 1.3.239"
       patch_type: "portability"
       patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/eb0455d64690eed0068e5cb202f72ecdf899837c"
+  "4.4.4":
+    - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch"
+      patch_description: "Compatibility with shared libaom"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529"
+  "4.4.3":
+    - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch"
+      patch_description: "Compatibility with shared libaom"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529"
+  "4.4":
+    - patch_file: "patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch"
+      patch_description: "Compatibility with shared libaom"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529"
+  "4.3.2":
+    - patch_file: "patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch"
+      patch_description: "Compatibility with shared libaom"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529"
+  "4.2.1":
+    - patch_file: "patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch"
+      patch_description: "Compatibility with shared libaom"
+      patch_type: "portability"
+      patch_source: "https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/d92fdc714496d43234733c315894abe0beeb3529"
diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py
index b62169338c0de..94b6b3d92d724 100644
--- a/recipes/ffmpeg/all/conanfile.py
+++ b/recipes/ffmpeg/all/conanfile.py
@@ -71,6 +71,9 @@ class FFMpegConan(ConanFile):
         "with_audiotoolbox": [True, False],
         "with_videotoolbox": [True, False],
         "with_programs": [True, False],
+        "with_libsvtav1": [True, False],
+        "with_libaom": [True, False],
+        "with_libdav1d": [True, False],
         "disable_everything": [True, False],
         "disable_all_encoders": [True, False],
         "disable_encoders": [None, "ANY"],
@@ -148,6 +151,9 @@ class FFMpegConan(ConanFile):
         "with_audiotoolbox": True,
         "with_videotoolbox": True,
         "with_programs": True,
+        "with_libsvtav1": True,
+        "with_libaom": True,
+        "with_libdav1d": True,
         "disable_everything": False,
         "disable_all_encoders": False,
         "disable_encoders": None,
@@ -216,12 +222,23 @@ def _dependencies(self):
             "with_xcb": ["avdevice"],
             "with_pulse": ["avdevice"],
             "with_sdl": ["with_programs"],
+            "with_libsvtav1": ["avcodec"],
+            "with_libaom": ["avcodec"],
+            "with_libdav1d": ["avcodec"],
         }
 
     @property
     def _version_supports_vulkan(self):
         return Version(self.version) >= "4.3.0"
 
+    @property
+    def _version_supports_libsvtav1(self):
+        return Version(self.version) >= "5.1.0"
+
+    @property
+    def _version_supports_libdav1d(self):
+        return Version(self.version) >= "4.3.0"
+
     def export_sources(self):
         export_conandata_patches(self)
 
@@ -245,6 +262,10 @@ def config_options(self):
             del self.options.with_avfoundation
         if not self._version_supports_vulkan:
             self.options.rm_safe("with_vulkan")
+        if not self._version_supports_libsvtav1:
+            self.options.rm_safe("with_libsvtav1")
+        if not self._version_supports_libdav1d:
+            self.options.rm_safe("with_libdav1d")
 
     def configure(self):
         if self.options.shared:
@@ -304,6 +325,12 @@ def requirements(self):
             self.requires("vdpau/system")
         if self._version_supports_vulkan and self.options.get_safe("with_vulkan"):
             self.requires("vulkan-loader/1.3.243.0")
+        if self.options.get_safe("with_libsvtav1"):
+            self.requires("libsvtav1/1.6.0")
+        if self.options.with_libaom:
+            self.requires("libaom-av1/3.6.1")
+        if self.options.get_safe("with_libdav1d"):
+            self.requires("dav1d/1.2.1")
 
     def validate(self):
         if self.options.with_ssl == "securetransport" and not is_apple_os(self):
@@ -460,6 +487,7 @@ def opt_append_disable_if_set(args, what, v):
             opt_enable_disable("libmp3lame", self.options.with_libmp3lame),
             opt_enable_disable("libfdk-aac", self.options.with_libfdk_aac),
             opt_enable_disable("libwebp", self.options.with_libwebp),
+            opt_enable_disable("libaom", self.options.with_libaom),
             opt_enable_disable("openssl", self.options.with_ssl == "openssl"),
             opt_enable_disable("alsa", self.options.get_safe("with_libalsa")),
             opt_enable_disable(
@@ -555,6 +583,10 @@ def opt_append_disable_if_set(args, what, v):
 
         if self._version_supports_vulkan:
             args.append(opt_enable_disable("vulkan", self.options.get_safe("with_vulkan")))
+        if self._version_supports_libsvtav1:
+            args.append(opt_enable_disable("libsvtav1", self.options.get_safe("with_libsvtav1")))
+        if self._version_supports_libsvtav1:
+            args.append(opt_enable_disable("libdav1d", self.options.get_safe("with_libdav1d")))
         if is_apple_os(self):
             # relocatable shared libs
             args.append("--install-name-dir=@rpath")
@@ -940,6 +972,15 @@ def package_info(self):
             if self.options.get_safe("with_videotoolbox"):
                 self.cpp_info.components["avcodec"].frameworks.append(
                     "VideoToolbox")
+            if self.options.get_safe("with_libsvtav1"):
+                self.cpp_info.components["avcodec"].requires.extend(
+                    ["libsvtav1::decoder", "libsvtav1::encoder"])
+            if self.options.get_safe("with_libaom"):
+                self.cpp_info.components["avcodec"].requires.append(
+                    "libaom-av1::libaom-av1")
+            if self.options.get_safe("with_libdav1d"):
+                self.cpp_info.components["avcodec"].requires.append(
+                    "dav1d::dav1d")
 
         if self.options.avformat:
             if self.options.with_bzip2:
diff --git a/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch b/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch
new file mode 100644
index 0000000000000..7ed8995ec2e47
--- /dev/null
+++ b/recipes/ffmpeg/all/patches/4.2-0001-fix-aom_codec_av1_dx_algo.patch
@@ -0,0 +1,11 @@
+--- a/libavcodec/libaomdec.c
++++ b/libavcodec/libaomdec.c
+@@ -216,7 +216,7 @@ static av_cold int aom_free(AVCodecContext *avctx)
+ 
+ static av_cold int av1_init(AVCodecContext *avctx)
+ {
+-    return aom_init(avctx, &aom_codec_av1_dx_algo);
++    return aom_init(avctx, aom_codec_av1_dx());
+ }
+ 
+ AVCodec ff_libaom_av1_decoder = {
diff --git a/recipes/ffmpeg/all/patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch b/recipes/ffmpeg/all/patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch
new file mode 100644
index 0000000000000..5855404e33592
--- /dev/null
+++ b/recipes/ffmpeg/all/patches/4.4-0001-fix-aom_codec_av1_dx_algo.patch
@@ -0,0 +1,11 @@
+--- a/libavcodec/libaomdec.c
++++ b/libavcodec/libaomdec.c
+@@ -224,7 +224,7 @@ static av_cold int aom_free(AVCodecContext *avctx)
+ 
+ static av_cold int av1_init(AVCodecContext *avctx)
+ {
+-    return aom_init(avctx, &aom_codec_av1_dx_algo);
++    return aom_init(avctx, aom_codec_av1_dx());
+ }
+ 
+ AVCodec ff_libaom_av1_decoder = {
diff --git a/recipes/ffmpeg/all/patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch b/recipes/ffmpeg/all/patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch
new file mode 100644
index 0000000000000..f60f6d44f6e9d
--- /dev/null
+++ b/recipes/ffmpeg/all/patches/5.1-0001-fix-libsvtav1-compressed_ten_bit_format.patch
@@ -0,0 +1,22 @@
+--- a/libavcodec/libsvtav1.c
++++ b/libavcodec/libsvtav1.c
+@@ -124,16 +124,12 @@ static int svt_print_error(void *log_ctx, EbErrorType err,
+ 
+ static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc)
+ {
+-    const int    pack_mode_10bit =
+-        (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0;
+-    const size_t luma_size_8bit  =
+-        config->source_width * config->source_height * (1 << pack_mode_10bit);
+-    const size_t luma_size_10bit =
+-        (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0;
++    const size_t luma_size = config->source_width * config->source_height *
++        (config->encoder_bit_depth > 8 ? 2 : 1);
+ 
+     EbSvtIOFormat *in_data;
+ 
+-    svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2;
++    svt_enc->raw_size = luma_size * 3 / 2;
+ 
+     // allocate buffer for in and out
+     svt_enc->in_buf           = av_mallocz(sizeof(*svt_enc->in_buf));
diff --git a/recipes/ffmpeg/all/patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch b/recipes/ffmpeg/all/patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch
new file mode 100644
index 0000000000000..9df9fbb5d685c
--- /dev/null
+++ b/recipes/ffmpeg/all/patches/5.1-0002-fix-libsvtav1-vbv_bufsize-1.patch
@@ -0,0 +1,20 @@
+--- a/libavcodec/libsvtav1.c
++++ b/libavcodec/libsvtav1.c
+@@ -179,7 +179,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
+         param->min_qp_allowed       = avctx->qmin;
+     }
+     param->max_bit_rate             = avctx->rc_max_rate;
+-    param->vbv_bufsize              = avctx->rc_buffer_size;
++    param->maximum_buffer_size_ms   = avctx->rc_buffer_size * 1000LL / avctx->bit_rate;
+ 
+     if (svt_enc->crf > 0) {
+         param->qp                   = svt_enc->crf;
+@@ -296,7 +296,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
+     avctx->bit_rate       = param->rate_control_mode > 0 ?
+                             param->target_bit_rate : 0;
+     avctx->rc_max_rate    = param->max_bit_rate;
+-    avctx->rc_buffer_size = param->vbv_bufsize;
++    avctx->rc_buffer_size = param->maximum_buffer_size_ms * avctx->bit_rate / 1000LL;
+ 
+     if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) {
+         AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);
diff --git a/recipes/ffmpeg/all/patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch b/recipes/ffmpeg/all/patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch
new file mode 100644
index 0000000000000..6bf52193253d7
--- /dev/null
+++ b/recipes/ffmpeg/all/patches/5.1-0003-fix-libsvtav1-vbv_bufsize-2.patch
@@ -0,0 +1,12 @@
+--- a/libavcodec/libsvtav1.c
++++ b/libavcodec/libsvtav1.c
+@@ -179,7 +179,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
+         param->min_qp_allowed       = avctx->qmin;
+     }
+     param->max_bit_rate             = avctx->rc_max_rate;
+-    param->maximum_buffer_size_ms   = avctx->rc_buffer_size * 1000LL / avctx->bit_rate;
++    if (avctx->bit_rate && avctx->rc_buffer_size)
++        param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate;
+ 
+     if (svt_enc->crf > 0) {
+         param->qp                   = svt_enc->crf;

From 8566014b048ca31ccc7104cd055435f03f1f31a7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 01:33:58 +0900
Subject: [PATCH 1009/1307] (#22595) sqlite3: add version 3.45.1

---
 recipes/sqlite3/all/conandata.yml | 3 +++
 recipes/sqlite3/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/sqlite3/all/conandata.yml b/recipes/sqlite3/all/conandata.yml
index 259a744cc0620..79c5bc7cc7480 100644
--- a/recipes/sqlite3/all/conandata.yml
+++ b/recipes/sqlite3/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.45.1":
+    url: "https://sqlite.org/2024/sqlite-amalgamation-3450100.zip"
+    sha256: "5592243caf28b2cdef41e6ab58d25d653dfc53deded8450eb66072c929f030c4"
   "3.45.0":
     url: "https://sqlite.org/2024/sqlite-amalgamation-3450000.zip"
     sha256: "bde30d13ebdf84926ddd5e8b6df145be03a577a48fd075a087a5dd815bcdf740"
diff --git a/recipes/sqlite3/config.yml b/recipes/sqlite3/config.yml
index 5f439897761d1..922ba60e383e9 100644
--- a/recipes/sqlite3/config.yml
+++ b/recipes/sqlite3/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.45.1":
+    folder: all
   "3.45.0":
     folder: all
   "3.44.2":

From 2f7b56341d1f1620ecf7ac35909777b5c103ce41 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 01:49:24 +0900
Subject: [PATCH 1010/1307] (#22573) xtensor: add version 0.25.0

---
 recipes/xtensor/all/conandata.yml | 3 +++
 recipes/xtensor/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/xtensor/all/conandata.yml b/recipes/xtensor/all/conandata.yml
index c0af344ba276e..300c78982eca0 100644
--- a/recipes/xtensor/all/conandata.yml
+++ b/recipes/xtensor/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.25.0":
+    url: "https://github.com/xtensor-stack/xtensor/archive/0.25.0.tar.gz"
+    sha256: "32d5d9fd23998c57e746c375a544edf544b74f0a18ad6bc3c38cbba968d5e6c7"
   "0.24.7":
     url: "https://github.com/xtensor-stack/xtensor/archive/0.24.7.tar.gz"
     sha256: "0fbbd524dde2199b731b6af99b16063780de6cf1d0d6cb1f3f4d4ceb318f3106"
diff --git a/recipes/xtensor/config.yml b/recipes/xtensor/config.yml
index f1891e507a429..44984f8af502c 100644
--- a/recipes/xtensor/config.yml
+++ b/recipes/xtensor/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.25.0":
+    folder: all
   "0.24.7":
     folder: all
   "0.24.6":

From 3e69042052d6ce198792cbdb65919e783bf884b7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 01:58:31 +0900
Subject: [PATCH 1011/1307] (#22572) luau: add version 0.610

---
 recipes/luau/all/conandata.yml | 3 +++
 recipes/luau/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/luau/all/conandata.yml b/recipes/luau/all/conandata.yml
index 6eb7d47405bd9..8fdc026015c27 100644
--- a/recipes/luau/all/conandata.yml
+++ b/recipes/luau/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.610":
+    url: "https://github.com/Roblox/luau/archive/0.610.tar.gz"
+    sha256: "a6ee2cab90c816a86b86113f01d9da865378074ee09dc6122dbe8bfbdf819ede"
   "0.607":
     url: "https://github.com/Roblox/luau/archive/0.607.tar.gz"
     sha256: "519409d7dbb43da13390131a90c831cb0f2ab9c25e337acf15508313a339bf36"
diff --git a/recipes/luau/config.yml b/recipes/luau/config.yml
index 7e52185e25e09..6a02dc4ce2b65 100644
--- a/recipes/luau/config.yml
+++ b/recipes/luau/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.610":
+    folder: all
   "0.607":
     folder: all
   "0.603":

From 84cabc055bfa2b2c1007cd8cdcc171708a6eba10 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 02:08:22 +0900
Subject: [PATCH 1012/1307] (#22538) inih: add version 58

---
 recipes/inih/all/conandata.yml | 3 +++
 recipes/inih/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/inih/all/conandata.yml b/recipes/inih/all/conandata.yml
index d0684466616d8..0df8fee5d2fee 100644
--- a/recipes/inih/all/conandata.yml
+++ b/recipes/inih/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "58":
+    url: "https://github.com/benhoyt/inih/archive/r58.tar.gz"
+    sha256: "e79216260d5dffe809bda840be48ab0eec7737b2bb9f02d2275c1b46344ea7b7"
   "57":
     url: "https://github.com/benhoyt/inih/archive/r57.tar.gz"
     sha256: "f03f98ca35c3adb56b2358573c8d3eda319ccd5287243d691e724b7eafa970b3"
diff --git a/recipes/inih/config.yml b/recipes/inih/config.yml
index c64487db679f8..b228120159954 100644
--- a/recipes/inih/config.yml
+++ b/recipes/inih/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "58":
+    folder: "all"
   "57":
     folder: "all"
   "56":

From 418addd6905cae76a7a6d4b3646abaa666095702 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 02:29:05 +0900
Subject: [PATCH 1013/1307] (#22558) uwebsockets: add version 20.58.0

---
 recipes/uwebsockets/all/conandata.yml | 3 +++
 recipes/uwebsockets/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml
index 0b78fc75b8d0f..45a3d889c4355 100644
--- a/recipes/uwebsockets/all/conandata.yml
+++ b/recipes/uwebsockets/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "20.58.0":
+    url: "https://github.com/uNetworking/uWebSockets/archive/v20.58.0.tar.gz"
+    sha256: "f71ca310cc5c39b12f56db1cf85727ee4d0f03fdf019a9e14ef4ba08addc6077"
   "20.57.0":
     url: "https://github.com/uNetworking/uWebSockets/archive/v20.57.0.tar.gz"
     sha256: "82d15eea0889a6b73c6e6170dd506995162bddfc7565c6df2c2d1e8287bbb9b0"
diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml
index bfab662ebfead..a0a20412a5302 100644
--- a/recipes/uwebsockets/config.yml
+++ b/recipes/uwebsockets/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "20.58.0":
+    folder: all
   "20.57.0":
     folder: all
   "20.56.0":

From aaeb38fbd0184d50f18190432eb4226404f45740 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 03:08:41 +0900
Subject: [PATCH 1014/1307] (#22561) c-blosc2: add version 2.13.1

---
 recipes/c-blosc2/all/conandata.yml | 7 +++++++
 recipes/c-blosc2/config.yml        | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml
index 001863dae7f9d..82534d15de07f 100644
--- a/recipes/c-blosc2/all/conandata.yml
+++ b/recipes/c-blosc2/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.13.1":
+    url: "https://github.com/Blosc/c-blosc2/archive/v2.13.1.tar.gz"
+    sha256: "6e7f5940269acd54d8dfe87c2102a442ad0407b1a62266a6f916134bae234399"
   "2.13.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.13.0.tar.gz"
     sha256: "d886798ff0a63948a4076f2ed60f0dc18be3aa1299ac1aff2cf705419cbe1bea"
@@ -36,6 +39,10 @@ sources:
     url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz"
     sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036"
 patches:
+  "2.13.1":
+    - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
+      patch_description: "use cci package"
+      patch_type: "conan"
   "2.13.0":
     - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
       patch_description: "use cci package"
diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml
index 2c82bd54e5c12..81293b4195234 100644
--- a/recipes/c-blosc2/config.yml
+++ b/recipes/c-blosc2/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.13.1":
+    folder: all
   "2.13.0":
     folder: all
   "2.12.0":

From 0e82672c42e816d88a1afd5b62cf8cdf2b6d0d08 Mon Sep 17 00:00:00 2001
From: Tobulus 
Date: Wed, 31 Jan 2024 19:25:10 +0100
Subject: [PATCH 1015/1307] (#18560) [libsystemd] add libcrypt as dependency -
 more backports

* [libsystemd] add libcrypt as dependency

there are more backports available

* Update recipes/libsystemd/all/conandata.yml

* Update recipes/libsystemd/all/conandata.yml

* Update recipes/libsystemd/all/conandata.yml

* Update conandata.yml

---------

Co-authored-by: Daniel 
---
 recipes/libsystemd/all/conandata.yml          | 36 +++++++++----------
 recipes/libsystemd/all/conanfile.py           |  2 +-
 ...001-Remove-dependency-from-coreutils.patch |  0
 ...scalls.py-Replace-unicode-with-ascii.patch |  0
 recipes/libsystemd/config.yml                 |  4 +--
 5 files changed, 21 insertions(+), 21 deletions(-)
 rename recipes/libsystemd/all/patches/{251.15 => 251.18}/0001-Remove-dependency-from-coreutils.patch (100%)
 rename recipes/libsystemd/all/patches/{253.3 => 253.6}/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch (100%)

diff --git a/recipes/libsystemd/all/conandata.yml b/recipes/libsystemd/all/conandata.yml
index 83ec00dfb06e8..e7dd7400914db 100644
--- a/recipes/libsystemd/all/conandata.yml
+++ b/recipes/libsystemd/all/conandata.yml
@@ -14,12 +14,12 @@ sources:
   "253.6":
     url: "https://github.com/systemd/systemd-stable/archive/v253.6.tar.gz"
     sha256: "a0aebcfaa2e001a4d846691631d1722c4cfa1a175e4ea62db6edca0ea3cf1e3e"
-  "252.9":
-    url: "https://github.com/systemd/systemd-stable/archive/v252.9.tar.gz"
-    sha256: "c386aac4ba39fa1bca3a3c9ef9df5a737e3184c9c6a04340e34d6d0254007845"
-  "251.15":
-    url: "https://github.com/systemd/systemd-stable/archive/v251.15.tar.gz"
-    sha256: "570b30b5b9a649d7481ca2bd0355a2d659f9a0ebb71a24588c6c365cda90c298"
+  "252.12":
+    url: "https://github.com/systemd/systemd-stable/archive/v252.12.tar.gz"
+    sha256: "c6c249d65b3aff0a2b99410f430f404068c74a7cd96b63f482c933afd7288112"
+  "251.18":
+    url: "https://github.com/systemd/systemd-stable/archive/v251.18.tar.gz"
+    sha256: "aaa5eca2dcf3fda242ed6816a00a83c91762b44ef3c76ee4eb8476a592c38f7f"
   "249.16":
     url: "https://github.com/systemd/systemd-stable/archive/v249.16.tar.gz"
     sha256: "e6c8a686023ef0ce402f4abde42245e3ada661e000c4811dc16c8cd9b4c6d885"
@@ -34,18 +34,18 @@ sources:
     sha256: "b69f9940d65870f090269a28f1047a633d4b80d0001e091d53a031dd40a822d2"
 patches:
   "255.2":
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
   "255":
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
   "253.14":
-    - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
+    - patch_file: "patches/253.6/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
       patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script"
       patch_type: "conan"
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
     - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch"
@@ -53,10 +53,10 @@ patches:
       patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts"
       patch_type: "portability"
   "253.10":
-    - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
+    - patch_file: "patches/253.6/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
       patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script"
       patch_type: "conan"
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
     - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch"
@@ -64,28 +64,28 @@ patches:
       patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts"
       patch_type: "portability"
   "253.6":
-    - patch_file: "patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
+    - patch_file: "patches/253.6/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
       patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script"
       patch_type: "conan"
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
     - patch_file: "patches/253.3/0002-meson-use-c_args-in-generator-scripts.patch"
       patch_source: "https://patch-diff.githubusercontent.com/raw/systemd/systemd/pull/29538"
       patch_description: "fixes cross-compilation by passing necessary compiler arguments to generator scripts"
       patch_type: "portability"
-  "252.9":
+  "252.12":
     - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
       patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script"
       patch_type: "conan"
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
-  "251.15":
+  "251.18":
     - patch_file: "patches/248.12/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch"
       patch_description: "allow to use meson.build with older versions of Python by replacing utf8 message to ascii message in the helper script"
       patch_type: "conan"
-    - patch_file: "patches/251.15/0001-Remove-dependency-from-coreutils.patch"
+    - patch_file: "patches/251.18/0001-Remove-dependency-from-coreutils.patch"
       patch_description: "allow to build in environments without 'realpath --relative-to' by replacing it with conan-specific build variable"
       patch_type: "conan"
   "249.16":
diff --git a/recipes/libsystemd/all/conanfile.py b/recipes/libsystemd/all/conanfile.py
index e5501372e20b5..047032ef9a2e3 100644
--- a/recipes/libsystemd/all/conanfile.py
+++ b/recipes/libsystemd/all/conanfile.py
@@ -55,7 +55,7 @@ def layout(self):
     def requirements(self):
         self.requires("libcap/2.69")
         self.requires("libmount/2.39.2")
-        if Version(self.version) >= "253.6":
+        if Version(self.version) >= "251.18":
             self.requires("libxcrypt/4.4.36")
         if self.options.with_selinux:
             self.requires("libselinux/3.5")
diff --git a/recipes/libsystemd/all/patches/251.15/0001-Remove-dependency-from-coreutils.patch b/recipes/libsystemd/all/patches/251.18/0001-Remove-dependency-from-coreutils.patch
similarity index 100%
rename from recipes/libsystemd/all/patches/251.15/0001-Remove-dependency-from-coreutils.patch
rename to recipes/libsystemd/all/patches/251.18/0001-Remove-dependency-from-coreutils.patch
diff --git a/recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch b/recipes/libsystemd/all/patches/253.6/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch
similarity index 100%
rename from recipes/libsystemd/all/patches/253.3/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch
rename to recipes/libsystemd/all/patches/253.6/0001-missing_syscalls.py-Replace-unicode-with-ascii.patch
diff --git a/recipes/libsystemd/config.yml b/recipes/libsystemd/config.yml
index fb6ca133775a2..84d8505540435 100644
--- a/recipes/libsystemd/config.yml
+++ b/recipes/libsystemd/config.yml
@@ -9,9 +9,9 @@ versions:
     folder: all
   "253.6":
     folder: all
-  "252.9":
+  "252.12":
     folder: all
-  "251.15":
+  "251.18":
     folder: all
   "249.16":
     folder: all

From 8192d9a120e631653240a62588ee5e6508ba14e5 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 03:49:46 +0900
Subject: [PATCH 1016/1307] (#22566) libnghttp2: update boost/1.84.0

---
 recipes/libnghttp2/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/libnghttp2/all/conanfile.py b/recipes/libnghttp2/all/conanfile.py
index 09c3826e37175..7e54ec938b2f3 100644
--- a/recipes/libnghttp2/all/conanfile.py
+++ b/recipes/libnghttp2/all/conanfile.py
@@ -70,7 +70,7 @@ def requirements(self):
         if self.options.with_hpack:
             self.requires("jansson/2.14")
         if self.options.get_safe("with_asio"):
-            self.requires("boost/1.83.0")
+            self.requires("boost/1.84.0")
 
     def validate(self):
         if self.options.get_safe("with_asio") and is_msvc(self):

From ddfe74bd64190605dff769991ee628be93519693 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 03:58:46 +0900
Subject: [PATCH 1017/1307] (#22567) c-ares: add version 1.26.0

---
 recipes/c-ares/all/conandata.yml | 3 +++
 recipes/c-ares/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml
index 41af1c9c3bc5b..aa06bcbb6109d 100644
--- a/recipes/c-ares/all/conandata.yml
+++ b/recipes/c-ares/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.26.0":
+    url: "https://github.com/c-ares/c-ares/releases/download/cares-1_26_0/c-ares-1.26.0.tar.gz"
+    sha256: "bed58c4f02b009080ebda6c2467ba469722ac6aebbf4497dc44a83d8c6194e50"
   "1.25.0":
     url: "https://github.com/c-ares/c-ares/releases/download/cares-1_25_0/c-ares-1.25.0.tar.gz"
     sha256: "71832b93a48f5ff579c505f4869120c14e57b783275367207f1a98314aa724e5"
diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml
index a7d9e0d2c0d87..48280108ceb5c 100644
--- a/recipes/c-ares/config.yml
+++ b/recipes/c-ares/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.26.0":
+    folder: all
   "1.25.0":
     folder: all
   "1.22.1":

From 21d4da8490d2f7140234f4cedfcf3a1df76b8bc5 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 04:19:34 +0900
Subject: [PATCH 1018/1307] (#22569) cpp-peglib: add version 1.8.6

---
 recipes/cpp-peglib/1.x.x/conandata.yml | 3 +++
 recipes/cpp-peglib/config.yml          | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cpp-peglib/1.x.x/conandata.yml b/recipes/cpp-peglib/1.x.x/conandata.yml
index 22a7588040467..dc41e18c30f7b 100644
--- a/recipes/cpp-peglib/1.x.x/conandata.yml
+++ b/recipes/cpp-peglib/1.x.x/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.8.6":
+    url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.6.tar.gz"
+    sha256: "b2ebdc135a66074a386d377b761b38e050088fba6482575ca3028d0e184ecd91"
   "1.8.5":
     url: "https://github.com/yhirose/cpp-peglib/archive/v1.8.5.tar.gz"
     sha256: "2813f7ffdeb570959b879ce2bf3921bf4f2edc0d9f1568c4429eceadff9ab114"
diff --git a/recipes/cpp-peglib/config.yml b/recipes/cpp-peglib/config.yml
index e7a9a93559bfa..67a22c2c821e5 100644
--- a/recipes/cpp-peglib/config.yml
+++ b/recipes/cpp-peglib/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.8.6":
+    folder: "1.x.x"
   "1.8.5":
     folder: "1.x.x"
   "1.8.4":

From 2083405600318cddb474cfdb11afd0734c6cbb26 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 04:30:05 +0900
Subject: [PATCH 1019/1307] (#22592) simdjson: add version 3.6.4

---
 recipes/simdjson/all/conandata.yml | 3 +++
 recipes/simdjson/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml
index 3f7b97847e169..a418230173404 100644
--- a/recipes/simdjson/all/conandata.yml
+++ b/recipes/simdjson/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.6.4":
+    url: "https://github.com/simdjson/simdjson/archive/v3.6.4.tar.gz"
+    sha256: "7e93d5094a47180a3d451cb261ba29ac66f3f6ceb7c2a0884955e9a2bb06d818"
   "3.6.1":
     url: "https://github.com/simdjson/simdjson/archive/v3.6.1.tar.gz"
     sha256: "76601d1701232a212b62d25d3a6518219b2504ff84e8073c6df7393b2ead3176"
diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml
index c4ccbb7735a04..cb209ae7c28cf 100644
--- a/recipes/simdjson/config.yml
+++ b/recipes/simdjson/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.6.4":
+    folder: all
   "3.6.1":
     folder: all
   "3.6.0":

From 5b866e0868cee669a566b464849191ccc96261af Mon Sep 17 00:00:00 2001
From: Roberto Rossini <71787608+robomics@users.noreply.github.com>
Date: Wed, 31 Jan 2024 20:59:19 +0100
Subject: [PATCH 1020/1307] (#22544) highfive: add v2.9.0 and bump boost

* Bump highfive

* Bump boost version used by highfive

* add compiler definitions

Signed-off-by: Uilian Ries 

* deprecate with_static_hdf5

Signed-off-by: Uilian Ries 

* fix warning

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Uilian Ries 
---
 recipes/highfive/all/conandata.yml |  3 +++
 recipes/highfive/all/conanfile.py  | 24 +++++++++++++++---------
 recipes/highfive/config.yml        |  2 ++
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/recipes/highfive/all/conandata.yml b/recipes/highfive/all/conandata.yml
index edcf1ebb04b99..890473cb50a68 100644
--- a/recipes/highfive/all/conandata.yml
+++ b/recipes/highfive/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.9.0":
+    url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.9.0.tar.gz"
+    sha256: "6301def8ceb9f4d7a595988612db288b448a3c0546f6c83417dab38c64994d7e"
   "2.8.0":
     url: "https://github.com/BlueBrain/HighFive/archive/refs/tags/v2.8.0.tar.gz"
     sha256: "cd2502cae61bfb00e32dd18c9dc75289e09ad1db5c2a46d3b0eefd32e0df983b"
diff --git a/recipes/highfive/all/conanfile.py b/recipes/highfive/all/conanfile.py
index 0d48c634c34c5..75a077fc6305a 100644
--- a/recipes/highfive/all/conanfile.py
+++ b/recipes/highfive/all/conanfile.py
@@ -6,7 +6,7 @@
 import os
 import textwrap
 
-required_conan_version = ">=1.50.0"
+required_conan_version = ">=1.54.0"
 
 
 class HighFiveConan(ConanFile):
@@ -23,14 +23,14 @@ class HighFiveConan(ConanFile):
         "with_eigen": [True, False],
         "with_xtensor": [True, False],
         "with_opencv": [True, False],
-        "with_static_hdf5": [True, False],
+        "with_static_hdf5": ["deprecated", True, False],
     }
     default_options = {
         "with_boost": True,
         "with_eigen": True,
         "with_xtensor": True,
         "with_opencv": False,
-        "with_static_hdf5": False,
+        "with_static_hdf5": "deprecated",
     }
 
     def layout(self):
@@ -42,7 +42,7 @@ def requirements(self):
         else:
             self.requires("hdf5/1.14.3")
         if self.options.with_boost:
-            self.requires("boost/1.83.0")
+            self.requires("boost/1.84.0")
         if self.options.with_eigen:
             self.requires("eigen/3.4.0")
         if self.options.with_xtensor:
@@ -51,26 +51,28 @@ def requirements(self):
             self.requires("opencv/4.8.1")
 
     def package_id(self):
+        # INFO: We only set different compiler definitions. The package content is the same.
         self.info.clear()
 
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, 11)
+        if self.options.with_static_hdf5 != "deprecated":
+            self.output.warning("The option 'with_static_hdf5' is deprecated. Use '-o hdf5/*:shared=True/False' instead.")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
         tc = CMakeToolchain(self)
-        tc.variables["USE_BOOST"] = self.options.with_boost
-        tc.variables["USE_EIGEN"] = self.options.with_eigen
-        tc.variables["USE_XTENSOR"] = self.options.with_xtensor
-        tc.variables["USE_OPENCV"] = self.options.with_opencv
+        tc.cache_variables["USE_BOOST"] = self.options.with_boost
+        tc.cache_variables["USE_EIGEN"] = self.options.with_eigen
+        tc.cache_variables["USE_XTENSOR"] = self.options.with_xtensor
+        tc.cache_variables["USE_OPENCV"] = self.options.with_opencv
         tc.variables["HIGHFIVE_UNIT_TESTS"] = False
         tc.variables["HIGHFIVE_EXAMPLES"] = False
         tc.variables["HIGHFIVE_BUILD_DOCS"] = False
         tc.variables["HIGHFIVE_USE_INSTALL_DEPS"] = False
-        tc.variables["HIGHFIVE_STATIC_HDF5"] = self.options.with_static_hdf5
         tc.generate()
         deps = CMakeDeps(self)
         deps.generate()
@@ -130,12 +132,16 @@ def package_info(self):
         self.cpp_info.requires = ["hdf5::hdf5"]
         if self.options.with_boost:
             self.cpp_info.requires.append("boost::headers")
+            self.cpp_info.defines.append("H5_USE_BOOST")
         if self.options.with_eigen:
             self.cpp_info.requires.append("eigen::eigen")
+            self.cpp_info.defines.append("H5_USE_EIGEN")
         if self.options.with_xtensor:
             self.cpp_info.requires.append("xtensor::xtensor")
+            self.cpp_info.defines.append("H5_USE_XTENSOR")
         if self.options.with_opencv:
             self.cpp_info.requires.append("opencv::opencv")
+            self.cpp_info.defines.append("H5_USE_OPENCV")
 
         # TODO: to remove in conan v2 once legacy generators removed
         self.cpp_info.names["cmake_find_package"] = "HighFive"
diff --git a/recipes/highfive/config.yml b/recipes/highfive/config.yml
index 28a0e4f7fb1d0..4915edd8e2890 100644
--- a/recipes/highfive/config.yml
+++ b/recipes/highfive/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.9.0":
+    folder: all
   "2.8.0":
     folder: all
   "2.7.1":

From 469e556d4f77fba0dbee8178a518d6a6311bc4a0 Mon Sep 17 00:00:00 2001
From: Dennis 
Date: Wed, 31 Jan 2024 21:10:00 +0100
Subject: [PATCH 1021/1307] (#22593) asio-grpc: add version 2.9.2

* asio-grpc: Add version 2.9.0

* asio-grpc: Update to 2.9.1 and adjust v2.7.0 GCC compiler version requirement check

* asio-grpc: Fix gcc minor version check for v2.7.0
---
 recipes/asio-grpc/all/conandata.yml | 3 +++
 recipes/asio-grpc/all/conanfile.py  | 9 +++++----
 recipes/asio-grpc/config.yml        | 2 ++
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/recipes/asio-grpc/all/conandata.yml b/recipes/asio-grpc/all/conandata.yml
index a64863b4c9e25..fceefbebebc47 100644
--- a/recipes/asio-grpc/all/conandata.yml
+++ b/recipes/asio-grpc/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.9.2":
+    url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.9.2.tar.gz"
+    sha256: "a025587278b3332f4c5dd0464b3d5313fbecb89fc58a6ec1d611f693d6b51ef2"
   "2.7.0":
     url: "https://github.com/Tradias/asio-grpc/archive/refs/tags/v2.7.0.tar.gz"
     sha256: "a4a3deeabbdef37a8e7238e25b6f26b63071151c4b49e1f2f86c528da54eed79"
diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py
index fff2d0aaef3d8..22435c1b8bb72 100644
--- a/recipes/asio-grpc/all/conanfile.py
+++ b/recipes/asio-grpc/all/conanfile.py
@@ -56,7 +56,7 @@ def configure(self):
             raise ConanInvalidConfiguration(f"{self.name} 'recycling_allocator' cannot be used in combination with the 'unifex' backend.")
 
     def requirements(self):
-        self.requires("grpc/1.50.1")
+        self.requires("grpc/1.54.3")
         if self._local_allocator_option == "boost_container" or self.options.backend == "boost":
             self.requires("boost/1.83.0")
         if self.options.backend == "asio":
@@ -74,6 +74,7 @@ def layout(self):
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, self._min_cppstd)
+        compiler_version = Version(self.settings.compiler.version)
         minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
         if minimum_version:
             if Version(self.settings.compiler.version) < minimum_version:
@@ -85,9 +86,9 @@ def validate(self):
                 f"{self.name} requires C++{self._min_cppstd}. Your compiler is unknown. Assuming it supports"
                 f" C++{self._min_cppstd}."
             )
-        if Version(self.version) == "2.7.0" and \
-            self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "11":
-            raise ConanInvalidConfiguration(f"{self.ref} does not support gcc 11.")
+        if Version(self.version) == "2.7.0" and self.settings.compiler == "gcc" and compiler_version.major == "11" and \
+            compiler_version < "11.3":
+            raise ConanInvalidConfiguration(f"{self.ref} does not support gcc 11.0-11.2")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
diff --git a/recipes/asio-grpc/config.yml b/recipes/asio-grpc/config.yml
index 552070583e67e..b9f64d2363051 100644
--- a/recipes/asio-grpc/config.yml
+++ b/recipes/asio-grpc/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.9.2":
+    folder: all
   "2.7.0":
     folder: all
   "2.6.0":

From be030ac8dd855d90c07c115544bf3c78cde4f2b6 Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Wed, 31 Jan 2024 21:19:40 +0100
Subject: [PATCH 1022/1307] (#22598) libpng: add version 1.6.42

---
 recipes/libpng/all/conandata.yml | 3 +++
 recipes/libpng/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml
index 40b3b1fcdc4f1..5e7c1a3b6a12f 100644
--- a/recipes/libpng/all/conandata.yml
+++ b/recipes/libpng/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.6.42":
+    url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.42/libpng-1.6.42.tar.xz"
+    sha256: "c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450"
   "1.6.41":
     url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.41/libpng-1.6.41.tar.xz"
     sha256: "d6a49a7a4abca7e44f72542030e53319c081fea508daccf4ecc7c6d9958d190f"
diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml
index b68333a0b8609..52cce5acae391 100644
--- a/recipes/libpng/config.yml
+++ b/recipes/libpng/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.6.42":
+    folder: all
   "1.6.41":
     folder: all
   "1.6.40":

From ac2c779a9a6ca74f4fbf5e74825838409ce97811 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 05:30:01 +0900
Subject: [PATCH 1023/1307] (#22600) json_dto: add version 0.3.3

---
 recipes/json_dto/all/conandata.yml | 3 +++
 recipes/json_dto/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/json_dto/all/conandata.yml b/recipes/json_dto/all/conandata.yml
index 54794754e12ff..fd921713e43f5 100644
--- a/recipes/json_dto/all/conandata.yml
+++ b/recipes/json_dto/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.3.3":
+    url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.3.tar.gz"
+    sha256: "c52857c074f4e204426a52160e2699694c45bb93e9297ca535e2d5fdf54ae187"
   "0.3.2":
     url: "https://github.com/Stiffstream/json_dto/archive/refs/tags/v.0.3.2.tar.gz"
     sha256: "425d31c06c4e7f82d6414969fcdeaccb95ab44063c08296984ea0703de445744"
diff --git a/recipes/json_dto/config.yml b/recipes/json_dto/config.yml
index 2a02e47e426f0..9421431ffbd78 100644
--- a/recipes/json_dto/config.yml
+++ b/recipes/json_dto/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.3.3":
+    folder: all
   "0.3.2":
     folder: all
   "0.3.1":

From 2bab35e5da391744d302d48d3a6453240645204a Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 05:58:33 +0900
Subject: [PATCH 1024/1307] (#22602) mbedtls: add version 3.5.2

---
 recipes/mbedtls/all/conandata.yml | 3 +++
 recipes/mbedtls/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/mbedtls/all/conandata.yml b/recipes/mbedtls/all/conandata.yml
index 6768571f77c35..4fc47c13a49df 100644
--- a/recipes/mbedtls/all/conandata.yml
+++ b/recipes/mbedtls/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.5.2":
+    url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.2.tar.gz"
+    sha256: "eedecc468b3f8d052ef05a9d42bf63f04c8a1c50d1c5a94c251c681365a2c723"
   "3.5.1":
     url: "https://github.com/Mbed-TLS/mbedtls/archive/mbedtls-3.5.1.tar.gz"
     sha256: "0da345cda55ec6f6d71afa84cfae55632a16ba0b8b4644f4d0e8a32c9d1117b0"
diff --git a/recipes/mbedtls/config.yml b/recipes/mbedtls/config.yml
index 292e2461de0ef..0b85d9e34743c 100644
--- a/recipes/mbedtls/config.yml
+++ b/recipes/mbedtls/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.5.2":
+    folder: all
   "3.5.1":
     folder: all
   "3.5.0":

From d5b4eebab6a18af0fee7a96160ac61af967f454a Mon Sep 17 00:00:00 2001
From: Hannes Rantzsch 
Date: Wed, 31 Jan 2024 22:19:08 +0100
Subject: [PATCH 1025/1307] (#22606) keychain: add version 1.3.0

---
 recipes/keychain/all/conandata.yml | 3 +++
 recipes/keychain/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/keychain/all/conandata.yml b/recipes/keychain/all/conandata.yml
index af35ed376e432..1c93eb4e4837d 100644
--- a/recipes/keychain/all/conandata.yml
+++ b/recipes/keychain/all/conandata.yml
@@ -5,3 +5,6 @@ sources:
   "1.2.1":
     url: "https://github.com/hrantzsch/keychain/archive/v1.2.1.tar.gz"
     sha256: "725cc30da0451403713dee648edd06686fdc31b5041e75e3350e6056c78de076"
+  "1.3.0":
+    url: "https://github.com/hrantzsch/keychain/archive/refs/tags/v1.3.0.tar.gz"
+    sha256: "0e2eb3c6ca2c62253f7d28a478d0cb3eeb4b9656b33d2946e1a294361f72809c"
diff --git a/recipes/keychain/config.yml b/recipes/keychain/config.yml
index 307602a029f0f..fd230ff5e48d0 100644
--- a/recipes/keychain/config.yml
+++ b/recipes/keychain/config.yml
@@ -3,3 +3,5 @@ versions:
     folder: all
   "1.2.1":
     folder: all
+  "1.3.0":
+    folder: all

From d9e0fba8074b81ba13ea96850acc3fc22adbdeae Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Wed, 31 Jan 2024 13:58:08 -0800
Subject: [PATCH 1026/1307] (#22531) restinio: bump to `asio` and `boost`

---
 recipes/restinio/v0.7/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/restinio/v0.7/conanfile.py b/recipes/restinio/v0.7/conanfile.py
index 32b02cb75a0d3..b9976dbf00f14 100644
--- a/recipes/restinio/v0.7/conanfile.py
+++ b/recipes/restinio/v0.7/conanfile.py
@@ -40,9 +40,9 @@ def requirements(self):
         self.requires("expected-lite/0.6.3")
 
         if self.options.asio == "standalone":
-            self.requires("asio/1.28.2")
+            self.requires("asio/1.29.0")
         else:
-            self.requires("boost/1.83.0")
+            self.requires("boost/1.84.0")
 
         if self.options.with_openssl:
             self.requires("openssl/[>=1.1 <4]")

From f0e0a868ddecd683f8f61d6fc1fc26d2806f4ef6 Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Wed, 31 Jan 2024 23:20:07 +0100
Subject: [PATCH 1027/1307] (#22535) ffmpeg: bump deps

---
 recipes/ffmpeg/all/conanfile.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/recipes/ffmpeg/all/conanfile.py b/recipes/ffmpeg/all/conanfile.py
index 94b6b3d92d724..faccb5c3993a9 100644
--- a/recipes/ffmpeg/all/conanfile.py
+++ b/recipes/ffmpeg/all/conanfile.py
@@ -286,7 +286,7 @@ def requirements(self):
         if self.options.with_libiconv:
             self.requires("libiconv/1.17")
         if self.options.with_freetype:
-            self.requires("freetype/2.13.0")
+            self.requires("freetype/2.13.2")
         if self.options.with_openjpeg:
             self.requires("openjpeg/2.5.0")
         if self.options.with_openh264:
@@ -304,11 +304,11 @@ def requirements(self):
         if self.options.with_libx265:
             self.requires("libx265/3.4")
         if self.options.with_libvpx:
-            self.requires("libvpx/1.11.0")
+            self.requires("libvpx/1.13.1")
         if self.options.with_libmp3lame:
             self.requires("libmp3lame/3.100")
         if self.options.with_libfdk_aac:
-            self.requires("libfdk_aac/2.0.2")
+            self.requires("libfdk_aac/2.0.3")
         if self.options.with_libwebp:
             self.requires("libwebp/1.3.2")
         if self.options.with_ssl == "openssl":
@@ -351,7 +351,7 @@ def build_requirements(self):
         if self.settings.arch in ("x86", "x86_64"):
             self.tool_requires("yasm/1.3.0")
         if not self.conf.get("tools.gnu:pkg_config", check_type=str):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
         if self._settings_build.os == "Windows":
             self.win_bash = True
             if not self.conf.get("tools.microsoft.bash:path", check_type=str):

From 1eaf63fbf6b42ff5b274b5cd51227d9795193d19 Mon Sep 17 00:00:00 2001
From: Brian Szmyd 
Date: Wed, 31 Jan 2024 20:13:23 -0700
Subject: [PATCH 1028/1307] (#22608) Fix NuRaft Homepage metadata.

---
 recipes/nuraft/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/nuraft/all/conanfile.py b/recipes/nuraft/all/conanfile.py
index 9ec70bcec889d..d1f0175ecb6cf 100644
--- a/recipes/nuraft/all/conanfile.py
+++ b/recipes/nuraft/all/conanfile.py
@@ -10,7 +10,7 @@
 
 class NuRaftConan(ConanFile):
     name = "nuraft"
-    homepage = "https://github.corp.ebay.com/sds/NuRaft"
+    homepage = "https://github.com/eBay/NuRaft"
     description = """Cornerstone based RAFT library."""
     topics = ("raft",)
     url = "https://github.com/conan-io/conan-center-index"

From 1427bb8aa2a729f5823b9dba0a50871cfec7c1ee Mon Sep 17 00:00:00 2001
From: Jordan Bondo 
Date: Wed, 31 Jan 2024 19:24:30 -0800
Subject: [PATCH 1029/1307] (#22609) openssl: add 3.2.1

---
 recipes/openssl/3.x.x/conandata.yml | 5 +++++
 recipes/openssl/config.yml          | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml
index ca3f66a360ac3..1e4cf7835f698 100644
--- a/recipes/openssl/3.x.x/conandata.yml
+++ b/recipes/openssl/3.x.x/conandata.yml
@@ -1,4 +1,9 @@
 sources:
+  3.2.1:
+    url:
+      - "https://www.openssl.org/source/openssl-3.2.1.tar.gz"
+      - "https://github.com/openssl/openssl/releases/download/openssl-3.2.1/openssl-3.2.1.tar.gz"
+    sha256: 83C7329FE52C850677D75E5D0B0CA245309B97E8ECBCFDC1DFDC4AB9FAC35B39
   3.2.0:
     url:
       - "https://www.openssl.org/source/openssl-3.2.0.tar.gz"
diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml
index 816020f3de15e..b64f80adee8d8 100644
--- a/recipes/openssl/config.yml
+++ b/recipes/openssl/config.yml
@@ -1,5 +1,7 @@
 versions:
   # 3.2.x releases
+  3.2.1:
+    folder: "3.x.x"
   3.2.0:
     folder: "3.x.x"
   # 3.1.x releases

From d7fc0cd8e380faba82115df5d73dc574807c42fb Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 15:18:04 +0900
Subject: [PATCH 1030/1307] (#22601) md4c: add version 0.5.2

---
 recipes/md4c/all/conandata.yml                |  7 +++++
 .../patches/0.5.2-0001-honor-vc-runtime.patch | 27 +++++++++++++++++++
 recipes/md4c/config.yml                       |  2 ++
 3 files changed, 36 insertions(+)
 create mode 100644 recipes/md4c/all/patches/0.5.2-0001-honor-vc-runtime.patch

diff --git a/recipes/md4c/all/conandata.yml b/recipes/md4c/all/conandata.yml
index 370a89be42a32..9b548aabb3a3f 100644
--- a/recipes/md4c/all/conandata.yml
+++ b/recipes/md4c/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.5.2":
+    url: "https://github.com/mity/md4c/archive/refs/tags/release-0.5.2.tar.gz"
+    sha256: "55d0111d48fb11883aaee91465e642b8b640775a4d6993c2d0e7a8092758ef21"
   "0.5.1":
     url: "https://github.com/mity/md4c/archive/refs/tags/release-0.5.1.tar.gz"
     sha256: "2dca17c6175a7f11182943079c2a4f9adb5071433e3d3d05ba801ff794993f34"
@@ -6,6 +9,10 @@ sources:
     url: "https://github.com/mity/md4c/archive/refs/tags/release-0.4.8.tar.gz"
     sha256: "4a457df853425b6bb6e3457aa1d1a13bccec587a04c38c622b1013a0da41439f"
 patches:
+  "0.5.2":
+    - patch_file: "patches/0.5.2-0001-honor-vc-runtime.patch"
+      patch_description: "Honor msvc runtime from profile"
+      patch_type: "conan"
   "0.5.1":
     - patch_file: "patches/0.5.1-0001-honor-vc-runtime.patch"
       patch_description: "Honor msvc runtime from profile"
diff --git a/recipes/md4c/all/patches/0.5.2-0001-honor-vc-runtime.patch b/recipes/md4c/all/patches/0.5.2-0001-honor-vc-runtime.patch
new file mode 100644
index 0000000000000..5e8fb995033c5
--- /dev/null
+++ b/recipes/md4c/all/patches/0.5.2-0001-honor-vc-runtime.patch
@@ -0,0 +1,27 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aec8293..f24e654 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,14 +53,14 @@ elseif(MSVC)
+     add_compile_options(/W3)
+ 
+     # Specify proper C runtime library:
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELWITHDEBINFO "{$CMAKE_C_FLAGS_RELWITHDEBINFO}")
+-    string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
+-    set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
+-    set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
+-    set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /MT")
+-    set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /MT")
++    # string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
++    # string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
++    # string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_RELWITHDEBINFO "{$CMAKE_C_FLAGS_RELWITHDEBINFO}")
++    # string(REGEX REPLACE "/M[DT]d?" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
++    # set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd")
++    # set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT")
++    # set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /MT")
++    # set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_RELEASE} /MT")
+ endif()
+ 
+ include(GNUInstallDirs)
diff --git a/recipes/md4c/config.yml b/recipes/md4c/config.yml
index 01472ee72ef90..684aad3078ab7 100644
--- a/recipes/md4c/config.yml
+++ b/recipes/md4c/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.5.2":
+    folder: all
   "0.5.1":
     folder: all
   "0.4.8":

From 69f577b0422c3b0b3c9e76f4b6134526b9bde065 Mon Sep 17 00:00:00 2001
From: Tatyana Raguzova 
Date: Thu, 1 Feb 2024 08:42:48 +0100
Subject: [PATCH 1031/1307] (#22244) openvino: added 2023.3.0 version

---
 recipes/openvino/all/conandata.yml               | 16 ++++++++++++++++
 .../all/dependencies/dependencies-2023.3.0.yml   |  2 ++
 recipes/openvino/config.yml                      |  2 ++
 3 files changed, 20 insertions(+)
 create mode 100644 recipes/openvino/all/dependencies/dependencies-2023.3.0.yml

diff --git a/recipes/openvino/all/conandata.yml b/recipes/openvino/all/conandata.yml
index c1fa2ac395507..d95f3c25c32fa 100644
--- a/recipes/openvino/all/conandata.yml
+++ b/recipes/openvino/all/conandata.yml
@@ -1,4 +1,20 @@
 sources:
+  "2023.3.0":
+    "openvino":
+      url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.3.0.tar.gz"
+      sha256: "27cff20ac0662f5495d2c2eec47cbe5469ab2f225aa091d223f8bfc9d32f4fc3"
+    "arm_compute":
+      url: "https://github.com/ARM-software/ComputeLibrary/archive/refs/tags/v23.08.tar.gz"
+      sha256: "62f514a555409d4401e5250b290cdf8cf1676e4eb775e5bd61ea6a740a8ce24f"
+    "onednn_cpu":
+      url: "https://github.com/openvinotoolkit/oneDNN/archive/cb3060bbf4694e46a1359a3d4dfe70500818f72d.tar.gz"
+      sha256: "9dea3da8dab8511677db3db68ff4d9cdbfd31d8614bf04fd79a7610892bb991c"
+    "mlas":
+      url: "https://github.com/openvinotoolkit/mlas/archive/7a35e48a723944972088627be1a8b60841e8f6a5.tar.gz"
+      sha256: "b7fdd19523a88373d19fd8d5380f64c2834040fa50a6f0774acf08f3fa858daa"
+    "onednn_gpu":
+      url: "https://github.com/oneapi-src/oneDNN/archive/cb77937ffcf5e83b5d1cf2940c94e8b508d8f7b4.tar.gz"
+      sha256: "2ca304c033786aa5c3ec1ec6f8fc3936ae5c6874d5964b586311da11bec2ec4a"
   "2023.2.0":
     "openvino":
       url: "https://github.com/openvinotoolkit/openvino/archive/refs/tags/2023.2.0.tar.gz"
diff --git a/recipes/openvino/all/dependencies/dependencies-2023.3.0.yml b/recipes/openvino/all/dependencies/dependencies-2023.3.0.yml
new file mode 100644
index 0000000000000..d2b07af77f816
--- /dev/null
+++ b/recipes/openvino/all/dependencies/dependencies-2023.3.0.yml
@@ -0,0 +1,2 @@
+onnx: "1.15.0"
+ade: "0.1.2d"
diff --git a/recipes/openvino/config.yml b/recipes/openvino/config.yml
index 60f706469b185..0a0ed9e05655b 100644
--- a/recipes/openvino/config.yml
+++ b/recipes/openvino/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2023.3.0":
+    folder: "all"
   "2023.2.0":
     folder: "all"
   "2023.1.0":

From 1efa254316d4797d3911790de6e257ef109d0116 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 1 Feb 2024 09:56:57 +0100
Subject: [PATCH 1032/1307] (#22605) [config] Add bump deps entry

Signed-off-by: Uilian Ries 
---
 .c3i/config_v1.yml | 2 ++
 .c3i/config_v2.yml | 1 +
 2 files changed, 3 insertions(+)

diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml
index 28ed528e88732..dd6f6670d4c22 100644
--- a/.c3i/config_v1.yml
+++ b/.c3i/config_v1.yml
@@ -56,6 +56,8 @@ tasks:
     write_comments: true
     detailed_status_checks: true
     update_labels: true
+    build_bump_deps_pr: false
+    description_bump_deps_pr: ":vertical_traffic_light: Thank for your Bump dependencies PR. The build service will be triggered soon by a Conan team member."
     wait_for_multibranch:  # CCI jobs should wait for other multibranch job for that same PR
       job_name: "prod-v2/cci"  # e.g. "cci-v2/cci" -> this means waiting for cci-v2/cci/PR-
       timeout_seconds: 600  # Maximum time to wait for the multibranch job
diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml
index dd1830ee80183..a4257b5a5ecb9 100644
--- a/.c3i/config_v2.yml
+++ b/.c3i/config_v2.yml
@@ -48,6 +48,7 @@ tasks:
     detailed_status_checks: false
     write_comments: false
     update_labels: false
+    build_bump_deps_pr: false
     user_feedback:
       title: "Conan v2 pipeline"
       description: "> **Note**: Conan v2 builds are now mandatory. Please read our [discussion](https://github.com/conan-io/conan-center-index/discussions/19104) about it."

From c77d76420707136a8956e3a571eae29d08465af9 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 18:18:37 +0900
Subject: [PATCH 1033/1307] (#22604) libcurl: add version 8.6.0

---
 recipes/libcurl/all/conandata.yml | 5 +++++
 recipes/libcurl/config.yml        | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/recipes/libcurl/all/conandata.yml b/recipes/libcurl/all/conandata.yml
index 3a12a85c5d679..1d6933bdf0eb3 100644
--- a/recipes/libcurl/all/conandata.yml
+++ b/recipes/libcurl/all/conandata.yml
@@ -1,4 +1,9 @@
 sources:
+  "8.6.0":
+    url:
+      - "https://curl.se/download/curl-8.6.0.tar.xz"
+      - "https://github.com/curl/curl/releases/download/curl-8_6_0/curl-8.6.0.tar.xz"
+    sha256: "3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15"
   "8.5.0":
     url:
       - "https://curl.se/download/curl-8.5.0.tar.xz"
diff --git a/recipes/libcurl/config.yml b/recipes/libcurl/config.yml
index 8e607e7cc2a0e..ba6c695e81b4c 100644
--- a/recipes/libcurl/config.yml
+++ b/recipes/libcurl/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "8.6.0":
+    folder: all
   "8.5.0":
     folder: all
   "8.4.0":

From 9eb51cffc2d45834a314808a6a16cdc63c0da748 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 1 Feb 2024 10:53:19 +0100
Subject: [PATCH 1034/1307] (#22554) [boost] Add default support to C++11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Add support to C++11

Signed-off-by: Uilian Ries 

* update tests

Signed-off-by: Uilian Ries 

* update more tests with c++11

Signed-off-by: Uilian Ries 

* apple clang still does not suport c++11 by default

Signed-off-by: Uilian Ries 

* Use correct cxxstd flag with b2

Signed-off-by: Uilian Ries 

* format nothing in string

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Rubén Rincón Blanco 
---
 recipes/boost/all/conanfile.py                | 40 ++++++++++++-------
 recipes/boost/all/test_package/CMakeLists.txt |  9 +++++
 2 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py
index dcf1bb623f35d..3b5363de53882 100644
--- a/recipes/boost/all/conanfile.py
+++ b/recipes/boost/all/conanfile.py
@@ -1,7 +1,7 @@
 from conan import ConanFile
 from conan.errors import ConanException, ConanInvalidConfiguration
 from conan.tools.apple import is_apple_os, to_apple_arch, XCRun
-from conan.tools.build import build_jobs, check_min_cppstd, cross_building, valid_min_cppstd
+from conan.tools.build import build_jobs, check_min_cppstd, cross_building, valid_min_cppstd, supported_cppstd
 from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import (
     apply_conandata_patches, chdir, collect_libs, copy, export_conandata_patches,
@@ -163,11 +163,12 @@ def export_sources(self):
 
     @property
     def _min_compiler_version_default_cxx11(self):
-        # Minimum compiler version having c++ standard >= 11
+        """ Minimum compiler version having c++ standard >= 11
+        """
         return {
             "gcc": 6,
             "clang": 6,
-            "apple-clang": 14,
+            "apple-clang": 99,  # still uses C++98 by default. XCode does not reflect apple-clang
             "Visual Studio": 14,  # guess
             "msvc": 190,  # guess
         }.get(str(self.settings.compiler))
@@ -177,12 +178,19 @@ def _min_compiler_version_default_cxx20(self):
         return {
             "gcc": 99,
             "clang": 99,
-            # As of the end of 2023, only apple-clang >=14 use C++20 as their default C++ version.
-            "apple-clang": 14,
+            "apple-clang": 99,
             "Visual Studio": 99,
             "msvc": 999,
         }.get(str(self.settings.compiler))
 
+    def _has_cppstd_11_supported(self):
+        cppstd = self.settings.compiler.get_safe("cppstd")
+        if cppstd:
+            return valid_min_cppstd(self, 11)
+        compiler_version = self._min_compiler_version_default_cxx11
+        if compiler_version:
+            return (Version(self.settings.compiler.version) >= compiler_version) or "11" in supported_cppstd(self)
+
     @property
     def _min_compiler_version_nowide(self):
         # Nowide needs c++11 + swappable std::fstream
@@ -286,7 +294,7 @@ def config_options(self):
         else:
             version_cxx11_standard_json = self._min_compiler_version_default_cxx11
             if version_cxx11_standard_json:
-                if Version(self.settings.compiler.version) < version_cxx11_standard_json:
+                if not self._has_cppstd_11_supported:
                     self.options.without_fiber = True
                     self.options.without_json = True
                     self.options.without_nowide = True
@@ -332,7 +340,7 @@ def disable_math():
                 min_compiler_version = self._min_compiler_version_default_cxx11
                 if min_compiler_version is None:
                     self.output.warning("Assuming the compiler supports c++11 by default")
-                elif Version(self.settings.compiler.version) < min_compiler_version:
+                elif not self._has_cppstd_11_supported:
                     disable_math()
 
         if Version(self.version) >= "1.79.0":
@@ -354,7 +362,7 @@ def disable_wave():
                 min_compiler_version = self._min_compiler_version_default_cxx11
                 if min_compiler_version is None:
                     self.output.warning("Assuming the compiler supports c++11 by default")
-                elif Version(self.settings.compiler.version) < min_compiler_version:
+                elif not self._has_cppstd_11_supported:
                     disable_wave()
 
         if Version(self.version) >= "1.81.0":
@@ -376,7 +384,7 @@ def disable_locale():
                 min_compiler_version = self._min_compiler_version_default_cxx11
                 if min_compiler_version is None:
                     self.output.warning("Assuming the compiler supports c++11 by default")
-                elif Version(self.settings.compiler.version) < min_compiler_version:
+                elif not self._has_cppstd_11_supported:
                     disable_locale()
 
         if Version(self.version) >= "1.84.0":
@@ -532,8 +540,7 @@ def validate(self):
             if self.settings.compiler.get_safe("cppstd"):
                 check_min_cppstd(self, 11)
             else:
-                version_cxx11_standard = self._min_compiler_version_default_cxx11
-                if version_cxx11_standard and Version(self.settings.compiler.version) < version_cxx11_standard:
+                if not self._has_cppstd_11_supported:
                     raise ConanInvalidConfiguration(
                         f"Boost.{{{','.join(self._cxx11_boost_libraries)}}} requires a c++11 compiler "
                         "(please set compiler.cppstd or use a newer compiler)"
@@ -1095,9 +1102,14 @@ def add_defines(library):
 
         flags.append(f"toolset={self._toolset}")
 
-        if self.settings.get_safe("compiler.cppstd"):
-            cppstd_flag = AutotoolsToolchain(self).cppstd
-            flags.append(f"cxxflags={cppstd_flag}")
+        safe_cppstd = self.settings.get_safe("compiler.cppstd")
+        if safe_cppstd:
+            cppstd_version = safe_cppstd.replace("gnu", "")
+            flags.append(f"cxxstd={cppstd_version}")
+            if "gnu" in safe_cppstd:
+                flags.append("cxxstd-dialect=gnu")
+        elif self._has_cppstd_11_supported:
+            flags.append("cxxstd=11")
 
         # LDFLAGS
         link_flags = []
diff --git a/recipes/boost/all/test_package/CMakeLists.txt b/recipes/boost/all/test_package/CMakeLists.txt
index d3d62d560560c..5311cfc4c17e7 100644
--- a/recipes/boost/all/test_package/CMakeLists.txt
+++ b/recipes/boost/all/test_package/CMakeLists.txt
@@ -26,6 +26,7 @@ if(NOT HEADER_ONLY)
         find_package(Boost COMPONENTS regex REQUIRED)
         add_executable(regex_exe regex.cpp)
         target_link_libraries(regex_exe PRIVATE Boost::regex)
+        set_property(TARGET regex_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME boost_regex COMMAND regex_exe)
     endif()
 
@@ -47,6 +48,7 @@ if(NOT HEADER_ONLY)
         find_package(Boost COMPONENTS chrono REQUIRED)
         add_executable(chrono_exe chrono.cpp)
         target_link_libraries(chrono_exe PRIVATE Boost::chrono)
+        set_property(TARGET chrono_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME chrono_test COMMAND chrono_exe)
     endif()
 
@@ -78,6 +80,7 @@ if(NOT HEADER_ONLY)
         find_package(Boost COMPONENTS locale REQUIRED)
         add_executable(locale_exe locale.cpp)
         target_link_libraries(locale_exe PRIVATE Boost::locale)
+        set_property(TARGET locale_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME boost_locale COMMAND locale_exe)
     endif()
 
@@ -86,6 +89,7 @@ if(NOT HEADER_ONLY)
         add_executable(stacktrace_addr2line_exe stacktrace.cpp)
         target_compile_definitions(stacktrace_addr2line_exe PRIVATE TEST_STACKTRACE_IMPL=1)
         target_link_libraries(stacktrace_addr2line_exe PRIVATE Boost::stacktrace_addr2line)
+        set_property(TARGET stacktrace_addr2line_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME boost_stacktrace_addr2line COMMAND stacktrace_addr2line_exe)
     endif()
 
@@ -93,6 +97,7 @@ if(NOT HEADER_ONLY)
         add_executable(stacktrace_backtrace_exe stacktrace.cpp)
         target_compile_definitions(stacktrace_backtrace_exe PRIVATE TEST_STACKTRACE_IMPL=2)
         target_link_libraries(stacktrace_backtrace_exe PRIVATE Boost::stacktrace_backtrace)
+        set_property(TARGET stacktrace_backtrace_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME boost_stacktrace_backtrace COMMAND stacktrace_backtrace_exe)
     endif()
 
@@ -102,22 +107,26 @@ if(NOT HEADER_ONLY)
         add_executable(stacktrace_noop_exe stacktrace.cpp)
         target_compile_definitions(stacktrace_noop_exe PRIVATE TEST_STACKTRACE_IMPL=4)
         target_link_libraries(stacktrace_noop_exe PRIVATE Boost::stacktrace_noop)
+        set_property(TARGET stacktrace_noop_exe PROPERTY CXX_STANDARD 11)
         add_test(NAME boost_stacktrace_noop COMMAND stacktrace_noop_exe)
 
         if(WIN32)
             add_executable(stacktrace_windbg_exe stacktrace.cpp)
             target_compile_definitions(stacktrace_windbg_exe PRIVATE TEST_STACKTRACE_IMPL=5)
             target_link_libraries(stacktrace_windbg_exe PRIVATE Boost::stacktrace_windbg)
+            set_property(TARGET stacktrace_windbg_exe PROPERTY CXX_STANDARD 11)
             add_test(NAME boost_stacktrace_windbg COMMAND stacktrace_windbg_exe)
 
             add_executable(stacktrace_windbg_cached_exe stacktrace.cpp)
             target_compile_definitions(stacktrace_windbg_cached_exe PRIVATE TEST_STACKTRACE_IMPL=6)
             target_link_libraries(stacktrace_windbg_cached_exe PRIVATE Boost::stacktrace_windbg_cached)
+            set_property(TARGET stacktrace_windbg_cached_exe PROPERTY CXX_STANDARD 11)
             add_test(NAME boost_stacktrace_windbg_cached COMMAND stacktrace_windbg_cached_exe)
         else()
             add_executable(stacktrace_basic_exe stacktrace.cpp)
             target_compile_definitions(stacktrace_basic_exe PRIVATE TEST_STACKTRACE_IMPL=3)
             target_link_libraries(stacktrace_basic_exe PRIVATE Boost::stacktrace_basic)
+            set_property(TARGET stacktrace_basic_exe PROPERTY CXX_STANDARD 11)
             add_test(NAME boost_stacktrace_basic COMMAND stacktrace_basic_exe)
         endif()
     endif()

From 30e1abe56a6a9b2d4bb783209c3c017b931def23 Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Thu, 1 Feb 2024 04:18:30 -0800
Subject: [PATCH 1035/1307] (#22610) openssl: add versions `3.2.1`, `3.1.5` and
 `3.0.13`

* openssl: add versions `3.2.1`, `3.1.5` and `3.0.13`

* exclude 3.1.2 from conandata.yml

* Exclude 3.1.2 from config.yml

---------

Co-authored-by: Uilian Ries 
---
 recipes/openssl/3.x.x/conandata.yml | 25 ++++++++++---------------
 recipes/openssl/config.yml          | 10 ++++------
 2 files changed, 14 insertions(+), 21 deletions(-)

diff --git a/recipes/openssl/3.x.x/conandata.yml b/recipes/openssl/3.x.x/conandata.yml
index 1e4cf7835f698..f693517720dd4 100644
--- a/recipes/openssl/3.x.x/conandata.yml
+++ b/recipes/openssl/3.x.x/conandata.yml
@@ -3,12 +3,17 @@ sources:
     url:
       - "https://www.openssl.org/source/openssl-3.2.1.tar.gz"
       - "https://github.com/openssl/openssl/releases/download/openssl-3.2.1/openssl-3.2.1.tar.gz"
-    sha256: 83C7329FE52C850677D75E5D0B0CA245309B97E8ECBCFDC1DFDC4AB9FAC35B39
+    sha256: 83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39
   3.2.0:
     url:
       - "https://www.openssl.org/source/openssl-3.2.0.tar.gz"
       - "https://github.com/openssl/openssl/releases/download/openssl-3.2.0/openssl-3.2.0.tar.gz"
     sha256: 14c826f07c7e433706fb5c69fa9e25dab95684844b4c962a2cf1bf183eb4690e
+  3.1.5:
+    url:
+      - "https://www.openssl.org/source/openssl-3.1.5.tar.gz"
+      - "https://github.com/openssl/openssl/releases/download/openssl-3.1.5/openssl-3.1.5.tar.gz"
+    sha256: 6ae015467dabf0469b139ada93319327be24b98251ffaeceda0221848dc09262
   3.1.4:
     url:
       - "https://www.openssl.org/source/openssl-3.1.4.tar.gz"
@@ -19,26 +24,16 @@ sources:
       - "https://www.openssl.org/source/openssl-3.1.3.tar.gz"
       - "https://github.com/openssl/openssl/releases/download/openssl-3.1.3/openssl-3.1.3.tar.gz"
     sha256: f0316a2ebd89e7f2352976445458689f80302093788c466692fb2a188b2eacf6
-  3.1.2:
-    url:
-      - "https://www.openssl.org/source/openssl-3.1.2.tar.gz"
-      - "https://github.com/openssl/openssl/releases/download/openssl-3.1.2/openssl-3.1.2.tar.gz"
-    sha256: a0ce69b8b97ea6a35b96875235aa453b966ba3cba8af2de23657d8b6767d6539
-  3.1.1:
+  3.0.13:
     url:
-      - "https://www.openssl.org/source/openssl-3.1.1.tar.gz"
-      - "https://github.com/openssl/openssl/releases/download/openssl-3.1.1/openssl-3.1.1.tar.gz"
-    sha256: b3aa61334233b852b63ddb048df181177c2c659eb9d4376008118f9c08d07674
+      - "https://www.openssl.org/source/openssl-3.0.13.tar.gz"
+      - "https://github.com/openssl/openssl/releases/download/openssl-3.0.13/openssl-3.0.13.tar.gz"
+    sha256: 88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
   3.0.12:
     url:
       - "https://www.openssl.org/source/openssl-3.0.12.tar.gz"
       - "https://github.com/openssl/openssl/releases/download/openssl-3.0.12/openssl-3.0.12.tar.gz"
     sha256: f93c9e8edde5e9166119de31755fc87b4aa34863662f67ddfcba14d0b6b69b61
-  3.0.11:
-    url:
-      - "https://www.openssl.org/source/openssl-3.0.11.tar.gz"
-      - "https://github.com/openssl/openssl/releases/download/openssl-3.0.11/openssl-3.0.11.tar.gz"
-    sha256: b3425d3bb4a2218d0697eb41f7fc0cdede016ed19ca49d168b78e8d947887f55
 patches:
   3.2.0:
     - patch_file: "patches/3.2.0-fix-winsock2.patch"
diff --git a/recipes/openssl/config.yml b/recipes/openssl/config.yml
index b64f80adee8d8..25589dc6caa23 100644
--- a/recipes/openssl/config.yml
+++ b/recipes/openssl/config.yml
@@ -5,18 +5,16 @@ versions:
   3.2.0:
     folder: "3.x.x"
   # 3.1.x releases
+  3.1.5:
+    folder: "3.x.x"
   3.1.4:
     folder: "3.x.x"
   3.1.3:
     folder: "3.x.x"
-  3.1.2:
-    folder: "3.x.x"
-  3.1.1:
-    folder: "3.x.x"
   # 3.0.x releases
-  3.0.12:
+  3.0.13:
     folder: "3.x.x"
-  3.0.11:
+  3.0.12:
     folder: "3.x.x"
   # 1.1.1x releases
   1.1.1w:

From f41e3c2435eb6f8ffd9b3396171dfb62dea136b2 Mon Sep 17 00:00:00 2001
From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com>
Date: Thu, 1 Feb 2024 16:08:11 +0200
Subject: [PATCH 1036/1307] (#22611) eventpp: new recipe
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* eventpp: new recipe

* Update recipes/eventpp/all/conanfile.py

* Update recipes/eventpp/all/conanfile.py

---------

Co-authored-by: Rubén Rincón Blanco 
---
 recipes/eventpp/all/conandata.yml             |  4 ++
 recipes/eventpp/all/conanfile.py              | 48 +++++++++++++++++++
 .../eventpp/all/test_package/CMakeLists.txt   |  8 ++++
 recipes/eventpp/all/test_package/conanfile.py | 26 ++++++++++
 .../eventpp/all/test_package/test_package.cpp | 14 ++++++
 .../all/test_v1_package/CMakeLists.txt        |  9 ++++
 .../eventpp/all/test_v1_package/conanfile.py  | 18 +++++++
 recipes/eventpp/config.yml                    |  3 ++
 8 files changed, 130 insertions(+)
 create mode 100644 recipes/eventpp/all/conandata.yml
 create mode 100644 recipes/eventpp/all/conanfile.py
 create mode 100644 recipes/eventpp/all/test_package/CMakeLists.txt
 create mode 100644 recipes/eventpp/all/test_package/conanfile.py
 create mode 100644 recipes/eventpp/all/test_package/test_package.cpp
 create mode 100644 recipes/eventpp/all/test_v1_package/CMakeLists.txt
 create mode 100644 recipes/eventpp/all/test_v1_package/conanfile.py
 create mode 100644 recipes/eventpp/config.yml

diff --git a/recipes/eventpp/all/conandata.yml b/recipes/eventpp/all/conandata.yml
new file mode 100644
index 0000000000000..71d384d9d4cba
--- /dev/null
+++ b/recipes/eventpp/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.1.3":
+    url: "https://github.com/wqking/eventpp/archive/v0.1.3.tar.gz"
+    sha256: "D87ABA67223FD9ACED2BA55EB82BD534007E43E1B919106A53FCD3070FA125EA"
diff --git a/recipes/eventpp/all/conanfile.py b/recipes/eventpp/all/conanfile.py
new file mode 100644
index 0000000000000..93267303876fd
--- /dev/null
+++ b/recipes/eventpp/all/conanfile.py
@@ -0,0 +1,48 @@
+from conan import ConanFile
+from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches
+from conan.tools.build import check_min_cppstd
+from conan.tools.layout import basic_layout
+import os
+
+required_conan_version = ">=1.51.1"
+
+class EventppConan(ConanFile):
+    name = "eventpp"
+    description = "Event Dispatcher and callback list for C++"
+    license = "Apache-2.0"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/wqking/eventpp"
+    topics = ("observer-pattern", "event-dispatcher", "signal", "slot", "publish-subscribe", "nested-events", "thread-safe", "header-only")
+    
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+
+    @property
+    def _min_cppstd(self):
+        return 11
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+           
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.get_safe("compiler.cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def package(self):
+        copy(self, pattern="license", 
+             dst=os.path.join(self.package_folder, "licenses"), 
+             src=self.source_folder)
+        copy(self, pattern="*.h",
+             dst=os.path.join(self.package_folder, "include"),
+             src=os.path.join(self.source_folder, "include"),
+        )
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
diff --git a/recipes/eventpp/all/test_package/CMakeLists.txt b/recipes/eventpp/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..2af5b0c5c6a38
--- /dev/null
+++ b/recipes/eventpp/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.12)
+project(test_package LANGUAGES CXX)
+
+find_package(eventpp REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE eventpp::eventpp)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
diff --git a/recipes/eventpp/all/test_package/conanfile.py b/recipes/eventpp/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..a9fb96656f203
--- /dev/null
+++ b/recipes/eventpp/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/eventpp/all/test_package/test_package.cpp b/recipes/eventpp/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..565b7248f28f9
--- /dev/null
+++ b/recipes/eventpp/all/test_package/test_package.cpp
@@ -0,0 +1,14 @@
+#include 
+
+int main(void) {
+    eventpp::CallbackList callbackList;
+
+    callbackList.append([](const int i, const bool b) {
+        (void) i;
+        (void) b;
+    });
+
+    callbackList(1, true);
+    
+    return 0;
+}
diff --git a/recipes/eventpp/all/test_v1_package/CMakeLists.txt b/recipes/eventpp/all/test_v1_package/CMakeLists.txt
new file mode 100644
index 0000000000000..9652e22fc19d5
--- /dev/null
+++ b/recipes/eventpp/all/test_v1_package/CMakeLists.txt
@@ -0,0 +1,9 @@
+cmake_minimum_required(VERSION 3.12)
+
+project(test_package)
+
+include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
+conan_basic_setup(TARGETS)
+
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package/)
diff --git a/recipes/eventpp/all/test_v1_package/conanfile.py b/recipes/eventpp/all/test_v1_package/conanfile.py
new file mode 100644
index 0000000000000..5a05af3c2dfd2
--- /dev/null
+++ b/recipes/eventpp/all/test_v1_package/conanfile.py
@@ -0,0 +1,18 @@
+from conans import ConanFile, CMake
+from conan.tools.build import cross_building
+import os
+
+
+class TestPackageV1Conan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "cmake", "cmake_find_package_multi"
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if not cross_building(self):
+            bin_path = os.path.join("bin", "test_package")
+            self.run(bin_path, run_environment=True)
diff --git a/recipes/eventpp/config.yml b/recipes/eventpp/config.yml
new file mode 100644
index 0000000000000..b7f57204004e4
--- /dev/null
+++ b/recipes/eventpp/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.1.3":
+    folder: all

From d990f87f36faf1d71e6e3b799cde9acf8ca2ac4e Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 1 Feb 2024 23:28:45 +0900
Subject: [PATCH 1037/1307] (#22537) crowcpp-crow: add version 1.1.1, reomve
 older versions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* crowcpp-crow: add version 1.1.0, reomve older versions

* update 1.1.1

* remove unspported version

Co-authored-by: ericLemanissier 

* remove unused code

* remove test_v1_package

---------

Co-authored-by: Rubén Rincón Blanco 
Co-authored-by: ericLemanissier 
---
 recipes/crowcpp-crow/all/conandata.yml        | 18 ++---------
 recipes/crowcpp-crow/all/conanfile.py         | 27 ++++++----------
 .../0.2/0001-normalize-buildsystem.patch      | 31 -------------------
 .../all/patches/0.2/0002-replace-uint.patch   | 26 ----------------
 .../all/test_v1_package/CMakeLists.txt        |  8 -----
 .../all/test_v1_package/conanfile.py          | 19 ------------
 recipes/crowcpp-crow/config.yml               |  6 ++--
 7 files changed, 14 insertions(+), 121 deletions(-)
 delete mode 100644 recipes/crowcpp-crow/all/patches/0.2/0001-normalize-buildsystem.patch
 delete mode 100644 recipes/crowcpp-crow/all/patches/0.2/0002-replace-uint.patch
 delete mode 100644 recipes/crowcpp-crow/all/test_v1_package/CMakeLists.txt
 delete mode 100644 recipes/crowcpp-crow/all/test_v1_package/conanfile.py

diff --git a/recipes/crowcpp-crow/all/conandata.yml b/recipes/crowcpp-crow/all/conandata.yml
index 6e89143bb07c8..38f0d89281e03 100644
--- a/recipes/crowcpp-crow/all/conandata.yml
+++ b/recipes/crowcpp-crow/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.1.1":
+    url: "https://github.com/CrowCpp/crow/archive/refs/tags/v1.1.1.tar.gz"
+    sha256: "9b545c1a18abecb381a6cb8a9bff9381884115f817e9d960cf96c22d81f01b6e"
   "1.0+5":
     url: "https://github.com/CrowCpp/crow/archive/refs/tags/v1.0+5.tar.gz"
     sha256: "4eb1b80b97dda4a3c4f613c581c734e0221911c88ff859ed679bda3dd5d7b319"
@@ -17,18 +20,3 @@ sources:
   "0.3+2":
     url: "https://github.com/CrowCpp/crow/archive/refs/tags/v0.3+2.tar.gz"
     sha256: "982fe978c113506aefe77c413befb3ab21fffb09d9bdf287ec8e8ba59bd786e7"
-  "0.3":
-    url: "https://github.com/CrowCpp/Crow/archive/refs/tags/v0.3.tar.gz"
-    sha256: "95538db88fba73c0bc87bbc40b62dcf488012c133a895634ade015009ebb4f25"
-  "0.2":
-    url: "https://github.com/CrowCpp/Crow/archive/refs/tags/0.2.tar.gz"
-    sha256: "c419767f0a336f2add71fc8b311ad95434d59601fb8b0e5ba3048407d85d0a71"
-patches:
-  "0.2":
-    - patch_file: "patches/0.2/0001-normalize-buildsystem.patch"
-      patch_description: "Skip tests and examples from build"
-      patch_type: "conan"
-    - patch_file: "patches/0.2/0002-replace-uint.patch"
-      patch_description: "Replace uint (not default type) with unsigned"
-      patch_type: "bugfix"
-      patch_source: "https://github.com/CrowCpp/Crow/commit/5fe3a45793604a50f5c9086909dfa1b50dfa3e88"
diff --git a/recipes/crowcpp-crow/all/conanfile.py b/recipes/crowcpp-crow/all/conanfile.py
index ff4bbd7ba2b66..d5a63018ad0dd 100644
--- a/recipes/crowcpp-crow/all/conanfile.py
+++ b/recipes/crowcpp-crow/all/conanfile.py
@@ -1,5 +1,5 @@
 from conan import ConanFile
-from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy
+from conan.tools.files import get, copy
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
 from conan.tools.scm import Version
@@ -30,9 +30,6 @@ class CrowConan(ConanFile):
     def _min_cppstd(self):
         return 11
 
-    def export_sources(self):
-        export_conandata_patches(self)
-
     def configure(self):
         if Version(self.version) < "1.0":
             del self.options.with_ssl
@@ -42,9 +39,10 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("boost/1.83.0")
-        if self.version == "0.2":
-            self.requires("openssl/[>=1.1 <4]")
+        if Version(self.version) < "1.1.0":
+            self.requires("boost/1.83.0")
+        else:
+            self.requires("asio/1.29.0", transitive_headers=True)
         if Version(self.version) >= "1.0":
             if self.options.with_ssl:
                 self.requires("openssl/[>=1.1 <3]")
@@ -74,8 +72,6 @@ def generate(self):
             tc.generate()
 
     def build(self):
-        apply_conandata_patches(self)
-
         if self.options.amalgamation:
             cmake = CMake(self)
             cmake.configure()
@@ -113,7 +109,10 @@ def package_info(self):
         self.cpp_info.bindirs = []
         self.cpp_info.libdirs = []
 
-        self.cpp_info.requires.append("boost::headers")
+        if Version(self.version) < "1.1.0":
+            self.cpp_info.requires.append("boost::headers")
+        else:
+            self.cpp_info.requires.append("asio::asio")
 
         if self.settings.os in ("FreeBSD", "Linux"):
             self.cpp_info.system_libs = ["pthread"]
@@ -121,9 +120,6 @@ def package_info(self):
         self.cpp_info.set_property("cmake_file_name", "Crow")
         self.cpp_info.set_property("cmake_target_name", "Crow::Crow")
 
-        if Version(self.version) == "0.2":
-            self.cpp_info.requires.append("openssl::ssl")
-
         if Version(self.version) >= "1.0":
             if self.options.with_ssl:
                 self.cpp_info.defines.append("CROW_ENABLE_SSL")
@@ -131,8 +127,3 @@ def package_info(self):
             if self.options.with_compression:
                 self.cpp_info.defines.append("CROW_ENABLE_COMPRESSION")
                 self.cpp_info.requires.append("zlib::zlib")
-
-        # TODO: to remove in conan v2 once cmake_find_package_* generators removed
-        self.cpp_info.names["cmake_find_package"] = "Crow"
-        self.cpp_info.names["cmake_find_package_multi"] = "Crow"
-
diff --git a/recipes/crowcpp-crow/all/patches/0.2/0001-normalize-buildsystem.patch b/recipes/crowcpp-crow/all/patches/0.2/0001-normalize-buildsystem.patch
deleted file mode 100644
index 67c9be1d0235b..0000000000000
--- a/recipes/crowcpp-crow/all/patches/0.2/0001-normalize-buildsystem.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f00e9a9..61961da 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1,6 +1,7 @@
- cmake_minimum_required(VERSION 3.15)
- project (crow_all)
- 
-+if(BUILD_TESTING)
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
- 
- find_package(Tcmalloc)
-@@ -43,15 +44,17 @@ include_directories("${PROJECT_INCLUDE_DIR}")
- include_directories("${PROJECT_SOURCE_DIR}")
- 
- add_subdirectory(examples)
-+endif()
- 
- if (MSVC)
- else()
-+	if (BUILD_TESTING)
- 	add_subdirectory(tests)
- 
- 	enable_testing()
- 	add_test(NAME crow_test COMMAND ${CMAKE_CURRENT_BINARY_DIR}/tests/unittest)
- 	add_test(NAME template_test COMMAND ${CMAKE_CURRENT_BINARY_DIR}/tests/template/test.py WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tests/template)
--
-+	endif()
- 
- 	add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/crow_all.h
- 		COMMAND python ${PROJECT_SOURCE_DIR}/scripts/merge_all.py
diff --git a/recipes/crowcpp-crow/all/patches/0.2/0002-replace-uint.patch b/recipes/crowcpp-crow/all/patches/0.2/0002-replace-uint.patch
deleted file mode 100644
index c6f95ea173f09..0000000000000
--- a/recipes/crowcpp-crow/all/patches/0.2/0002-replace-uint.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/include/crow/http_connection.h b/include/crow/http_connection.h
-index 2216687..04a992d 100644
---- a/include/crow/http_connection.h
-+++ b/include/crow/http_connection.h
-@@ -627,7 +627,7 @@ namespace crow
- 
-         boost::array buffer_;
- 
--        const uint res_stream_threshold_ = 1048576;
-+        const unsigned res_stream_threshold_ = 1048576;
- 
-         HTTPParser parser_;
-         request req_;
-diff --git a/include/crow/multipart.h b/include/crow/multipart.h
-index 7deb8d4..7b63c20 100644
---- a/include/crow/multipart.h
-+++ b/include/crow/multipart.h
-@@ -48,7 +48,7 @@ namespace crow
-                 std::stringstream str;
-                 std::string delimiter = dd + boundary;
- 
--                for (uint i=0 ; i
Date: Thu, 1 Feb 2024 10:33:02 -0500
Subject: [PATCH 1038/1307] (#22622) Upgrading C++ DataFrame to version 3.0.0

---
 recipes/dataframe/all/conandata.yml | 3 +++
 recipes/dataframe/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/dataframe/all/conandata.yml b/recipes/dataframe/all/conandata.yml
index 8299cf452cbdd..85f628c2e20ac 100644
--- a/recipes/dataframe/all/conandata.yml
+++ b/recipes/dataframe/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.0.0":
+    url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/3.0.0.tar.gz"
+    sha256: "9266fb85c518a251a5440e490c81615601791f2de2fad8755aa09f13a0c541f9"
   "2.3.0":
     url: "https://github.com/hosseinmoein/DataFrame/archive/refs/tags/v2.3.0.tar.gz"
     sha256: "d671a3d47c2ef250cadddbae545b1b7bee51f9411836b627b7860e187c868a72"
diff --git a/recipes/dataframe/config.yml b/recipes/dataframe/config.yml
index aca71224e11e1..3f378327b126e 100644
--- a/recipes/dataframe/config.yml
+++ b/recipes/dataframe/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.0.0":
+    folder: all
   "2.3.0":
     folder: all
   "2.2.0":

From c9df359a957493593de9f3b125eebdfcaf6f4be5 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 1 Feb 2024 18:43:28 +0200
Subject: [PATCH 1039/1307] (#22319) beauty: add v1.0.2

* beauty: add v1.0.2

* beauty: drop v1.0.0-rc1

Pre-release and fails with

src/server.cpp:207:69: error: 'using string_view = boost::core::string_view' {aka 'class boost::core::basic_string_view'} has no member named 'to_string'
  207 |                 paths[swagger_path(route)][to_lower(to_string(verb).to_string())] = std::move(description);

* beauty: fix macOS incompatibility
---
 recipes/beauty/all/conandata.yml              | 13 ++++++-----
 recipes/beauty/all/conanfile.py               |  8 ++++++-
 .../patches/0001-apple-compatibility.patch    | 22 +++++++++++++++++++
 .../beauty/all/patches/0001-fix-cmake.patch   | 18 ---------------
 recipes/beauty/config.yml                     |  2 +-
 5 files changed, 38 insertions(+), 25 deletions(-)
 create mode 100644 recipes/beauty/all/patches/0001-apple-compatibility.patch
 delete mode 100644 recipes/beauty/all/patches/0001-fix-cmake.patch

diff --git a/recipes/beauty/all/conandata.yml b/recipes/beauty/all/conandata.yml
index 67db3d5af7757..6e8cad241d836 100644
--- a/recipes/beauty/all/conandata.yml
+++ b/recipes/beauty/all/conandata.yml
@@ -1,7 +1,10 @@
 sources:
-  "1.0.0-rc1":
-    url: "https://github.com/dfleury2/beauty/archive/refs/tags/1.0.0-rc1.tar.gz"
-    sha256: "e5c0cdffd9324ed0cbe771a4aaff3a572ec553dc0275bbaf4db754ce043ecf49"
+  "1.0.2":
+    url: "https://github.com/dfleury2/beauty/archive/refs/tags/1.0.2.tar.gz"
+    sha256: "627294d04a91c85e14d9c29475d539da5172c6d7306a48dca7c72413e47eebd6"
 patches:
-  "1.0.0-rc1":
-    - patch_file: "patches/0001-fix-cmake.patch"
+  "1.0.2":
+    - patch_file: "patches/0001-apple-compatibility.patch"
+      patch_description: "Handle pthread_setname_np not being defined on macOS"
+      patch_type: "portability"
+      patch_source: "https://github.com/dfleury2/beauty/pull/28"
diff --git a/recipes/beauty/all/conanfile.py b/recipes/beauty/all/conanfile.py
index 2c01e08705dd5..105c26d8ad8b8 100644
--- a/recipes/beauty/all/conanfile.py
+++ b/recipes/beauty/all/conanfile.py
@@ -2,6 +2,7 @@
 from conan.errors import ConanInvalidConfiguration
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.env import VirtualBuildEnv
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir
 from conan.tools.microsoft import is_msvc
 from conan.tools.scm import Version
@@ -59,7 +60,7 @@ def layout(self):
     def requirements(self):
         # beauty public headers include some boost headers.
         # For example beauty/application.hpp includes boost/asio.hpp
-        self.requires("boost/1.79.0", transitive_headers=True)
+        self.requires("boost/1.83.0", transitive_headers=True)
         # dependency of asio in boost, exposed in boost/asio/ssl/detail/openssl_types.hpp
         self.requires("openssl/[>=1.1 <4]", transitive_headers=True, transitive_libs=True)
 
@@ -82,11 +83,16 @@ def validate(self):
         if is_msvc(self) and self.options.shared:
             raise ConanInvalidConfiguration("shared is not supported on Visual Studio")
 
+    def build_requirements(self):
+        self.tool_requires("cmake/[>=3.21 <4]")
+
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
+        VirtualBuildEnv(self).generate()
         tc = CMakeToolchain(self)
+        tc.variables["CONAN"] = False
         tc.generate()
         deps = CMakeDeps(self)
         deps.generate()
diff --git a/recipes/beauty/all/patches/0001-apple-compatibility.patch b/recipes/beauty/all/patches/0001-apple-compatibility.patch
new file mode 100644
index 0000000000000..8471b95a69d52
--- /dev/null
+++ b/recipes/beauty/all/patches/0001-apple-compatibility.patch
@@ -0,0 +1,22 @@
+From 3af29b660d623e8d7051e5392395c25712037a6a Mon Sep 17 00:00:00 2001
+From: Martin Valgur 
+Date: Wed, 17 Jan 2024 13:29:49 +0200
+Subject: [PATCH] Fix handling of pthread_setname_np on macOS
+
+---
+ src/utils.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/utils.cpp b/src/utils.cpp
+index eb15b68..72966c2 100644
+--- a/src/utils.cpp
++++ b/src/utils.cpp
+@@ -191,7 +191,7 @@ make_uuid()
+ //---------------------------------------------------------------------------
+ void
+ thread_set_name(const std::string& name) {
+-#ifdef LINUX
++#if LINUX && _GNU_SOURCE
+     constexpr int TASK_COMM_LEN = 16;
+ 
+     char thread_name[TASK_COMM_LEN] = "";
diff --git a/recipes/beauty/all/patches/0001-fix-cmake.patch b/recipes/beauty/all/patches/0001-fix-cmake.patch
deleted file mode 100644
index 6bdf75a96f54e..0000000000000
--- a/recipes/beauty/all/patches/0001-fix-cmake.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 3.15)
- project(Beauty)
- set(VERSION 0.1-rc)
- 
-+if(0)
- if (CONAN_EXPORTED)
- else()
-     if (NOT EXISTS ${CMAKE_BINARY_DIR}/conan_toolchain.cmake)
-@@ -20,6 +21,7 @@ else()
- endif()
- 
- include(${CMAKE_BINARY_DIR}/conan_toolchain.cmake)
-+endif()
- 
- # C++
- set(CMAKE_CXX_STANDARD 20)
diff --git a/recipes/beauty/config.yml b/recipes/beauty/config.yml
index ca2cfd0e152c6..8457ca9a4a8cd 100644
--- a/recipes/beauty/config.yml
+++ b/recipes/beauty/config.yml
@@ -1,3 +1,3 @@
 versions:
-  "1.0.0-rc1":
+  "1.0.2":
     folder: all

From c7b57154575a67f301da49df0a1c744aa28ad6dd Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Fri, 2 Feb 2024 08:48:16 +0100
Subject: [PATCH 1040/1307] (#22631) libtiff: bump libjpeg-turbo

---
 recipes/libtiff/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/libtiff/all/conanfile.py b/recipes/libtiff/all/conanfile.py
index 6904690444761..75e73137d3b59 100644
--- a/recipes/libtiff/all/conanfile.py
+++ b/recipes/libtiff/all/conanfile.py
@@ -71,7 +71,7 @@ def requirements(self):
         if self.options.jpeg == "libjpeg":
             self.requires("libjpeg/9e")
         elif self.options.jpeg == "libjpeg-turbo":
-            self.requires("libjpeg-turbo/3.0.1")
+            self.requires("libjpeg-turbo/3.0.2")
         elif self.options.jpeg == "mozjpeg":
             self.requires("mozjpeg/4.1.5")
         if self.options.jbig:

From 1cb30ff124d1f04b73bf89adea9a3af95b4e7e28 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 2 Feb 2024 17:29:32 +0900
Subject: [PATCH 1041/1307] (#22626) jsoncons: add version 0.173.3

---
 recipes/jsoncons/all/conandata.yml | 3 +++
 recipes/jsoncons/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml
index 52e32ee921839..0e171fd2b8f21 100644
--- a/recipes/jsoncons/all/conandata.yml
+++ b/recipes/jsoncons/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.173.3":
+    url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.3.tar.gz"
+    sha256: "2b5796e8f681ce9253fb5863d695ecb1cebc7092596af01ce4fca0e5e245b7be"
   "0.173.2":
     url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.2.tar.gz"
     sha256: "c689e9275fe428abf2914e4588321ed0fa756cce6448af94fbd625eb0a618a57"
diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml
index 4ff39c386d267..ee21c69a59197 100644
--- a/recipes/jsoncons/config.yml
+++ b/recipes/jsoncons/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.173.3":
+    folder: "all"
   "0.173.2":
     folder: "all"
   "0.173.0":

From 574171c6674a711d1f309d7011815a9ee1ca2d8f Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Fri, 2 Feb 2024 09:48:58 +0100
Subject: [PATCH 1042/1307] (#22623) thrift: bump boost

---
 recipes/thrift/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/thrift/all/conanfile.py b/recipes/thrift/all/conanfile.py
index 312d6788c54a2..7b6885cf89f45 100644
--- a/recipes/thrift/all/conanfile.py
+++ b/recipes/thrift/all/conanfile.py
@@ -67,7 +67,7 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("boost/1.83.0", transitive_headers=True)
+        self.requires("boost/1.84.0", transitive_headers=True)
         if self.options.with_openssl:
             self.requires("openssl/[>=1.1 <4]")
         if self.options.with_zlib:

From f26e57ef872d654653b4ae612fffb05fb753b645 Mon Sep 17 00:00:00 2001
From: Matthieu Darbois 
Date: Fri, 2 Feb 2024 10:20:18 +0100
Subject: [PATCH 1043/1307] (#22630) freetype: bump libpng

---
 recipes/freetype/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/freetype/all/conanfile.py b/recipes/freetype/all/conanfile.py
index 1415f8ffb0446..4b69b608387b5 100644
--- a/recipes/freetype/all/conanfile.py
+++ b/recipes/freetype/all/conanfile.py
@@ -64,7 +64,7 @@ def layout(self):
 
     def requirements(self):
         if self.options.with_png:
-            self.requires("libpng/1.6.40")
+            self.requires("libpng/1.6.42")
         if self.options.with_zlib:
             self.requires("zlib/[>=1.2.10 <2]")
         if self.options.with_bzip2:

From 9b6ee669132736ee28290fcfe2fa8ae4f3b14751 Mon Sep 17 00:00:00 2001
From: Ilya Lavrenov 
Date: Fri, 2 Feb 2024 13:25:38 +0400
Subject: [PATCH 1044/1307] (#20774) whisper-cpp: added openvino support

* whisper.cpp: added openvino support

* Disable OpenVINO by default
---
 recipes/whisper-cpp/all/conanfile.py | 29 +++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/recipes/whisper-cpp/all/conanfile.py b/recipes/whisper-cpp/all/conanfile.py
index d3c14cc82e361..089cc8be428c0 100644
--- a/recipes/whisper-cpp/all/conanfile.py
+++ b/recipes/whisper-cpp/all/conanfile.py
@@ -35,6 +35,7 @@ class WhisperCppConan(ConanFile):
         "with_coreml": [True, False],
         "coreml_allow_fallback": [True, False],
         "with_blas": [True, False],
+        "with_openvino": [True, False],
     }
     default_options = {
         "shared": False,
@@ -52,6 +53,7 @@ class WhisperCppConan(ConanFile):
         "with_coreml": False,
         "coreml_allow_fallback": False,
         "with_blas": False,
+        "with_openvino": False,
     }
     package_type = "library"
 
@@ -71,6 +73,14 @@ def _compilers_minimum_version(self):
             },
         }.get(self._min_cppstd, {})
 
+    @property
+    def _is_metal_option_available(self):
+        return is_apple_os(self) and Version(self.version) >= "1.5.2"
+
+    @property
+    def _is_openvino_option_available(self):
+        return Version(self.version) >= "1.5.2"
+
     def config_options(self):
         if is_apple_os(self):
             del self.options.with_blas
@@ -82,10 +92,13 @@ def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
 
-        if Version(self.version) < "1.4.3":
+        if not self._is_metal_option_available:
             del self.options.metal
             del self.options.metal_ndebug
 
+        if not self._is_openvino_option_available:
+            del self.options.with_openvino
+
     def configure(self):
         if self.options.shared:
             self.options.rm_safe("fPIC")
@@ -107,6 +120,8 @@ def requirements(self):
         if not is_apple_os(self):
             if self.options.with_blas:
                 self.requires("openblas/0.3.24")
+        if self.options.get_safe("with_openvino"):
+            self.requires("openvino/2023.2.0")
 
     def layout(self):
         cmake_layout(self, src_folder="src")
@@ -143,6 +158,11 @@ def generate(self):
         if self.options.no_f16c:
             tc.variables["WHISPER_NO_F16C"] = True
 
+        if self.options.get_safe("with_openvino"):
+            tc.variables["WHISPER_OPENVINO"] = True
+            # TODO: remove with Conan 1.x support
+            tc.variables["CMAKE_CXX_STANDARD"] = str(self.settings.get_safe("compiler.cppstd", 11)).replace("gnu", "")
+
         if is_apple_os(self):
             if self.options.no_accelerate:
                 tc.variables["WHISPER_NO_ACCELERATE"] = True
@@ -154,6 +174,8 @@ def generate(self):
                 tc.variables["WHISPER_COREML"] = True
                 if self.options.coreml_allow_fallback:
                     tc.variables["WHISPER_COREML_ALLOW_FALLBACK"] = True
+            if self._is_metal_option_available:
+                tc.variables["WHISPER_METAL"] = self.options.metal
         else:
             if self.options.with_blas:
                 if Version(self.version) >= "1.4.2":
@@ -180,10 +202,15 @@ def package_info(self):
         self.cpp_info.resdirs = ["res"]
         self.cpp_info.libdirs = ["lib", "lib/static"]
 
+        if self.options.get_safe("with_openvino"):
+            self.cpp_info.requires = ["openvino::Runtime"]
+
         if is_apple_os(self):
             if not self.options.no_accelerate:
                 self.cpp_info.frameworks.append("Accelerate")
             if self.options.with_coreml:
                 self.cpp_info.frameworks.append("CoreML")
+            if self.options.get_safe("metal"):
+                self.cpp_info.frameworks.extend(["CoreFoundation", "Foundation", "Metal", "MetalKit"])
         elif self.settings.os in ("Linux", "FreeBSD"):
             self.cpp_info.system_libs.extend(["dl", "m", "pthread"])

From 5ec2639127d870a42377843816aa478ee0abf581 Mon Sep 17 00:00:00 2001
From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com>
Date: Fri, 2 Feb 2024 13:14:27 +0200
Subject: [PATCH 1045/1307] (#22627) simdutf: add v4.0.9, stop building tests

* Properly avoid building tests in newer versions

* Add 4.0.9
---
 recipes/simdutf/all/conandata.yml | 3 +++
 recipes/simdutf/all/conanfile.py  | 5 ++++-
 recipes/simdutf/config.yml        | 2 ++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml
index b28c517c6191a..810965b8af5c2 100644
--- a/recipes/simdutf/all/conandata.yml
+++ b/recipes/simdutf/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "4.0.9":
+    url: "https://github.com/simdutf/simdutf/archive/v4.0.9.tar.gz"
+    sha256: "599E6558FC8D06F8346E5F210564F8B18751C93D83BCE1A40A0E6A326C57B61E"
   "4.0.5":
     url: "https://github.com/simdutf/simdutf/archive/v4.0.5.tar.gz"
     sha256: "040d80ff4321f89ea9739ccc7f468ece9c4bc2630f3d4762b6d829000d2ec625"
diff --git a/recipes/simdutf/all/conanfile.py b/recipes/simdutf/all/conanfile.py
index e0a52dd250245..6e0a2cc78bceb 100644
--- a/recipes/simdutf/all/conanfile.py
+++ b/recipes/simdutf/all/conanfile.py
@@ -62,7 +62,10 @@ def source(self):
     def generate(self):
         tc = CMakeToolchain(self)
         tc.variables["SIMDUTF_BENCHMARKS"] = False
-        tc.variables["BUILD_TESTING"] = False
+        if Version(self.version) >= "3.2.3":
+            tc.variables["SIMDUTF_TESTS"] = False
+        else:
+            tc.variables["BUILD_TESTING"] = False
         if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) == "8":
             tc.variables["CMAKE_CXX_FLAGS"] = " -mavx512f"
         tc.variables["SIMDUTF_TOOLS"] = False
diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml
index d16a8ca4a324b..150d39023d095 100644
--- a/recipes/simdutf/config.yml
+++ b/recipes/simdutf/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "4.0.9":
+    folder: all
   "4.0.5":
     folder: all
   "4.0.4":

From 377c3d15a4d40f1c971653c6a2e5be57e2b9857f Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 2 Feb 2024 22:20:48 +0900
Subject: [PATCH 1046/1307] (#22562) orcania: add version 2.3.3

* orcania: add version 2.3.3

* use getopt-for-visual-studio
---
 recipes/orcania/all/conandata.yml                 |  7 +++++++
 .../all/patches/2.3.3-0001-getopt-for-msvc.patch  | 15 +++++++++++++++
 recipes/orcania/config.yml                        |  2 ++
 3 files changed, 24 insertions(+)
 create mode 100644 recipes/orcania/all/patches/2.3.3-0001-getopt-for-msvc.patch

diff --git a/recipes/orcania/all/conandata.yml b/recipes/orcania/all/conandata.yml
index a6c92d3317bea..b3d67d34849da 100644
--- a/recipes/orcania/all/conandata.yml
+++ b/recipes/orcania/all/conandata.yml
@@ -1,8 +1,15 @@
 sources:
+  "2.3.3":
+    url: "https://github.com/babelouest/orcania/archive/refs/tags/v2.3.3.tar.gz"
+    sha256: "e26947f7622acf3660b71fb8018ee791c97376530ab6c4a00e4aa2775e052626"
   "2.3.1":
     url: "https://github.com/babelouest/orcania/archive/refs/tags/v2.3.1.tar.gz"
     sha256: "bbf08d563528b8ab88dd4b0e67aeb4e7c4fc9f19dcd1a0346b773cf492f7612b"
 patches:
+  "2.3.3":
+    - patch_file: "patches//2.3.3-0001-getopt-for-msvc.patch"
+      patch_description: "fubd_package getopt-for-visual-studio for MSVC"
+      patch_type: "portability"
   "2.3.1":
     - patch_file: "patches/2.3.1-0001-mingw-fix-Werror=stringop-truncation.patch"
       patch_description: "Fixes -Werror=stringop-truncation error when building with MinGW@Linux"
diff --git a/recipes/orcania/all/patches/2.3.3-0001-getopt-for-msvc.patch b/recipes/orcania/all/patches/2.3.3-0001-getopt-for-msvc.patch
new file mode 100644
index 0000000000000..eea0c3aaeeacf
--- /dev/null
+++ b/recipes/orcania/all/patches/2.3.3-0001-getopt-for-msvc.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 44c7299..7421f49 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -202,6 +202,10 @@ if (BUILD_BASE64URL)
+     target_link_libraries(base64url PRIVATE ${orcania_lib})
+     install(TARGETS base64url RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+     install(FILES ${BASE64URL_DIR}/base64url.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT runtime)
++    if(MSVC)
++        find_package(getopt-for-visual-studio REQUIRED)
++        target_link_libraries(base64url PRIVATE getopt-for-visual-studio::getopt-for-visual-studio)
++    endif()
+ endif ()
+ 
+ # tests
diff --git a/recipes/orcania/config.yml b/recipes/orcania/config.yml
index 215bc57fe4993..12ddc838534be 100644
--- a/recipes/orcania/config.yml
+++ b/recipes/orcania/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "2.3.3":
+    folder: all
   "2.3.1":
     folder: all

From f136bd96a33079a4b9e6c1437c8f15893cc66ef4 Mon Sep 17 00:00:00 2001
From: Rasmus Thomsen 
Date: Fri, 2 Feb 2024 14:32:02 +0100
Subject: [PATCH 1047/1307] (#22615) libpq: fix with openssl>=3.2.x

* libpq: fix with openssl>=3.2.x

fixes #21547

* libpq: also apply patch to 15.3
---
 recipes/libpq/all/conandata.yml               |   6 +
 ...set-_app_data-instead-of-BIO_-get-se.patch | 193 ++++++++++++++++++
 2 files changed, 199 insertions(+)
 create mode 100644 recipes/libpq/all/patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch

diff --git a/recipes/libpq/all/conandata.yml b/recipes/libpq/all/conandata.yml
index 862caa7abf541..58acf20d0817e 100644
--- a/recipes/libpq/all/conandata.yml
+++ b/recipes/libpq/all/conandata.yml
@@ -28,10 +28,16 @@ patches:
     - patch_file: "patches/15/001-mingw-build-static-libraries.patch"
       patch_description: "port MinGW: Enable building static libraries in MinGW."
       patch_type: "portability"
+    - patch_file: "patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch"
+      patch_description: "Fix libpq w/ openssl >=3.2.x"
+      patch_type: "backport"
   "15.3":
     - patch_file: "patches/15/001-mingw-build-static-libraries.patch"
       patch_description: "port MinGW: Enable building static libraries in MinGW."
       patch_type: "portability"
+    - patch_file: "patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch"
+      patch_description: "Fix libpq w/ openssl >=3.2.x"
+      patch_type: "backport"
   "14.9":
     - patch_file: "patches/13/002-mingw-build-static-libraries.patch"
       patch_description: "port MinGW: Enable building static libraries in MinGW."
diff --git a/recipes/libpq/all/patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch b/recipes/libpq/all/patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch
new file mode 100644
index 0000000000000..31cf4e85b1aa6
--- /dev/null
+++ b/recipes/libpq/all/patches/15/0001-Use-BIO_-get-set-_app_data-instead-of-BIO_-get-se.patch
@@ -0,0 +1,193 @@
+From 672103a67aaf0dae5be6c5adcc5ce19e5b6d7676 Mon Sep 17 00:00:00 2001
+From: Tristan Partin 
+Date: Mon, 27 Nov 2023 11:49:52 -0600
+Subject: [PATCH v1] Use BIO_{get,set}_app_data() instead of
+ BIO_{get,set}_data()
+
+Compiling Postgres against OpenSSL 3.2 exposed a regression:
+
+$ psql "postgresql://$DB?sslmode=require"
+psql: error: connection to server at "redacted" (redacted), port 5432 failed: ERROR:  Parameter 'user' is missing in startup packet.
+double free or corruption (out)
+Aborted (core dumped)
+
+Analyzing the backtrace, openssl was overwriting heap-allocated data in
+our PGconn struct because it thought BIO::ptr was a struct bss_sock_st
+*. OpenSSL then called a memset() on a member of that struct, and we
+zeroed out data in our PGconn struct.
+
+BIO_get_data(3) says the following:
+
+> These functions are mainly useful when implementing a custom BIO.
+>
+> The BIO_set_data() function associates the custom data pointed to by ptr
+> with the BIO a. This data can subsequently be retrieved via a call to
+> BIO_get_data(). This can be used by custom BIOs for storing
+> implementation specific information.
+
+If you take a look at my_BIO_s_socket(), we create a partially custom
+BIO, but for the most part are defaulting to the methods defined by
+BIO_s_socket(). We need to set application-specific data and not BIO
+private data, so that the BIO implementation we rely on, can properly
+assert that its private data is what it expects.
+
+Rebased against libpq15
+
+Co-authored-by: Bo Andreson 
+---
+ src/backend/libpq/be-secure-openssl.c    | 11 +++--------
+ src/include/pg_config.h.in               |  3 ---
+ src/interfaces/libpq/fe-secure-openssl.c | 20 +++-----------------
+ src/tools/msvc/Solution.pm               |  2 --
+ 4 files changed, 6 insertions(+), 30 deletions(-)
+
+diff --git a/configure b/configure
+index d733a59..c13ad3d 100755
+--- a/configure
++++ b/configure
+@@ -13237,7 +13237,7 @@ done
+   # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it
+   # doesn't have these OpenSSL 1.1.0 functions. So check for individual
+   # functions.
+-  for ac_func in OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free
++  for ac_func in OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free
+ do :
+   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+diff --git a/configure.ac b/configure.ac
+index 44868ba..77e59a2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1347,7 +1347,7 @@ if test "$with_ssl" = openssl ; then
+   # defines OPENSSL_VERSION_NUMBER to claim version 2.0.0, even though it
+   # doesn't have these OpenSSL 1.1.0 functions. So check for individual
+   # functions.
+-  AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_get_data BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free])
++  AC_CHECK_FUNCS([OPENSSL_init_ssl BIO_meth_new ASN1_STRING_get0_data HMAC_CTX_new HMAC_CTX_free])
+   # OpenSSL versions before 1.1.0 required setting callback functions, for
+   # thread-safety. In 1.1.0, it's no longer required, and CRYPTO_lock()
+   # function was removed.
+diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c
+index 8f9b81c..9abee50 100644
+--- a/src/backend/libpq/be-secure-openssl.c
++++ b/src/backend/libpq/be-secure-openssl.c
+@@ -830,11 +830,6 @@ be_tls_write(Port *port, void *ptr, size_t len, int *waitfor)
+  * to retry; do we need to adopt their logic for that?
+  */
+ 
+-#ifndef HAVE_BIO_GET_DATA
+-#define BIO_get_data(bio) (bio->ptr)
+-#define BIO_set_data(bio, data) (bio->ptr = data)
+-#endif
+-
+ static BIO_METHOD *my_bio_methods = NULL;
+ 
+ static int
+@@ -844,7 +839,7 @@ my_sock_read(BIO *h, char *buf, int size)
+ 
+ 	if (buf != NULL)
+ 	{
+-		res = secure_raw_read(((Port *) BIO_get_data(h)), buf, size);
++		res = secure_raw_read(((Port *) BIO_get_app_data(h)), buf, size);
+ 		BIO_clear_retry_flags(h);
+ 		if (res <= 0)
+ 		{
+@@ -864,7 +859,7 @@ my_sock_write(BIO *h, const char *buf, int size)
+ {
+ 	int			res = 0;
+ 
+-	res = secure_raw_write(((Port *) BIO_get_data(h)), buf, size);
++	res = secure_raw_write(((Port *) BIO_get_app_data(h)), buf, size);
+ 	BIO_clear_retry_flags(h);
+ 	if (res <= 0)
+ 	{
+@@ -940,7 +935,7 @@ my_SSL_set_fd(Port *port, int fd)
+ 		SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB);
+ 		goto err;
+ 	}
+-	BIO_set_data(bio, port);
++	BIO_set_app_data(bio, port);
+ 
+ 	BIO_set_fd(bio, fd, BIO_NOCLOSE);
+ 	SSL_set_bio(port->ssl, bio, bio);
+diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
+index d09e9f9..768e3d7 100644
+--- a/src/include/pg_config.h.in
++++ b/src/include/pg_config.h.in
+@@ -77,9 +77,6 @@
+ /* Define to 1 if you have the `backtrace_symbols' function. */
+ #undef HAVE_BACKTRACE_SYMBOLS
+ 
+-/* Define to 1 if you have the `BIO_get_data' function. */
+-#undef HAVE_BIO_GET_DATA
+-
+ /* Define to 1 if you have the `BIO_meth_new' function. */
+ #undef HAVE_BIO_METH_NEW
+ 
+diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c
+index af59ff4..8d68d02 100644
+--- a/src/interfaces/libpq/fe-secure-openssl.c
++++ b/src/interfaces/libpq/fe-secure-openssl.c
+@@ -1800,11 +1800,6 @@ PQsslAttribute(PGconn *conn, const char *attribute_name)
+  * to retry; do we need to adopt their logic for that?
+  */
+ 
+-#ifndef HAVE_BIO_GET_DATA
+-#define BIO_get_data(bio) (bio->ptr)
+-#define BIO_set_data(bio, data) (bio->ptr = data)
+-#endif
+-
+ static BIO_METHOD *my_bio_methods;
+ 
+ static int
+@@ -1812,7 +1807,7 @@ my_sock_read(BIO *h, char *buf, int size)
+ {
+ 	int			res;
+ 
+-	res = pqsecure_raw_read((PGconn *) BIO_get_data(h), buf, size);
++	res = pqsecure_raw_read((PGconn *) BIO_get_app_data(h), buf, size);
+ 	BIO_clear_retry_flags(h);
+ 	if (res < 0)
+ 	{
+@@ -1842,7 +1837,7 @@ my_sock_write(BIO *h, const char *buf, int size)
+ {
+ 	int			res;
+ 
+-	res = pqsecure_raw_write((PGconn *) BIO_get_data(h), buf, size);
++	res = pqsecure_raw_write((PGconn *) BIO_get_app_data(h), buf, size);
+ 	BIO_clear_retry_flags(h);
+ 	if (res < 0)
+ 	{
+@@ -1933,7 +1928,7 @@ my_SSL_set_fd(PGconn *conn, int fd)
+ 		SSLerr(SSL_F_SSL_SET_FD, ERR_R_BUF_LIB);
+ 		goto err;
+ 	}
+-	BIO_set_data(bio, conn);
++	BIO_set_app_data(bio, conn);
+ 
+ 	SSL_set_bio(conn->ssl, bio, bio);
+ 	BIO_set_fd(bio, fd, BIO_NOCLOSE);
+diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
+index 790f03b..a53239f 100644
+--- a/src/tools/msvc/Solution.pm
++++ b/src/tools/msvc/Solution.pm
+@@ -226,7 +226,6 @@ sub GenerateFiles
+ 		HAVE_ATOMICS               => 1,
+ 		HAVE_ATOMIC_H              => undef,
+ 		HAVE_BACKTRACE_SYMBOLS     => undef,
+-		HAVE_BIO_GET_DATA          => undef,
+ 		HAVE_BIO_METH_NEW          => undef,
+ 		HAVE_CLOCK_GETTIME         => undef,
+ 		HAVE_COMPUTED_GOTO         => undef,
+@@ -566,7 +565,6 @@ sub GenerateFiles
+ 			|| ($digit1 >= '1' && $digit2 >= '1' && $digit3 >= '0'))
+ 		{
+ 			$define{HAVE_ASN1_STRING_GET0_DATA} = 1;
+-			$define{HAVE_BIO_GET_DATA}          = 1;
+ 			$define{HAVE_BIO_METH_NEW}          = 1;
+ 			$define{HAVE_HMAC_CTX_FREE}         = 1;
+ 			$define{HAVE_HMAC_CTX_NEW}          = 1;
+-- 
+Tristan Partin
+Neon (https://neon.tech)
+

From 7e38332a2bd1f877d96b6169a555fa06c0baf9e5 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Sat, 3 Feb 2024 03:03:07 +0100
Subject: [PATCH 1048/1307] (#22633) [ICU] Fix source URL in conandata

Signed-off-by: Uilian Ries 
---
 recipes/icu/all/conandata.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/icu/all/conandata.yml b/recipes/icu/all/conandata.yml
index 8f6d4963890d2..49d66d9be1d5a 100644
--- a/recipes/icu/all/conandata.yml
+++ b/recipes/icu/all/conandata.yml
@@ -1,6 +1,6 @@
 sources:
   "74.2":
-    url: "https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src-FIXED.tgz"
+    url: "https://github.com/unicode-org/icu/releases/download/release-74-2/icu4c-74_2-src.tgz"
     sha256: "68db082212a96d6f53e35d60f47d38b962e9f9d207a74cfac78029ae8ff5e08c"
   "74.1":
     url: "https://github.com/unicode-org/icu/releases/download/release-74-1/icu4c-74_1-src.tgz"

From 810f87e4e9cc603b7679682d7c408b526b4f4a4c Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 3 Feb 2024 11:18:42 +0900
Subject: [PATCH 1049/1307] (#22637) crowcpp-crow: remove 1.1.1, add 1.1.0

---
 recipes/crowcpp-crow/all/conandata.yml | 6 +++---
 recipes/crowcpp-crow/config.yml        | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/recipes/crowcpp-crow/all/conandata.yml b/recipes/crowcpp-crow/all/conandata.yml
index 38f0d89281e03..7b927ae7b3902 100644
--- a/recipes/crowcpp-crow/all/conandata.yml
+++ b/recipes/crowcpp-crow/all/conandata.yml
@@ -1,7 +1,7 @@
 sources:
-  "1.1.1":
-    url: "https://github.com/CrowCpp/crow/archive/refs/tags/v1.1.1.tar.gz"
-    sha256: "9b545c1a18abecb381a6cb8a9bff9381884115f817e9d960cf96c22d81f01b6e"
+  "1.1.0":
+    url: "https://github.com/CrowCpp/crow/archive/refs/tags/v1.1.0.tar.gz"
+    sha256: "f4281c3f25769dbc82437dd4199a8ba07b2a6e8a2f42e36a6fd805c493aae5ca"
   "1.0+5":
     url: "https://github.com/CrowCpp/crow/archive/refs/tags/v1.0+5.tar.gz"
     sha256: "4eb1b80b97dda4a3c4f613c581c734e0221911c88ff859ed679bda3dd5d7b319"
diff --git a/recipes/crowcpp-crow/config.yml b/recipes/crowcpp-crow/config.yml
index 80fb851c29fef..271396eff4652 100644
--- a/recipes/crowcpp-crow/config.yml
+++ b/recipes/crowcpp-crow/config.yml
@@ -1,5 +1,5 @@
 versions:
-  "1.1.1":
+  "1.1.0":
     folder: all
   "1.0+5":
     folder: all

From aad3921cc59d4dcbdbd0d94cb5e7f8853d6ff2a6 Mon Sep 17 00:00:00 2001
From: Guillaume Egles 
Date: Fri, 2 Feb 2024 18:38:53 -0800
Subject: [PATCH 1050/1307] (#22642) restinio: add version `0.7.2`

---
 recipes/restinio/config.yml         | 2 ++
 recipes/restinio/v0.7/conandata.yml | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/recipes/restinio/config.yml b/recipes/restinio/config.yml
index df26f55e95f2c..385096b41a86b 100644
--- a/recipes/restinio/config.yml
+++ b/recipes/restinio/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.7.2":
+    folder: "v0.7"
   "0.7.1":
     folder: "v0.7"
   "0.7.0":
diff --git a/recipes/restinio/v0.7/conandata.yml b/recipes/restinio/v0.7/conandata.yml
index e74209bdf08a6..7eae58a5c9bb2 100644
--- a/recipes/restinio/v0.7/conandata.yml
+++ b/recipes/restinio/v0.7/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.7.2":
+    url: "https://github.com/Stiffstream/restinio/archive/v.0.7.2.tar.gz"
+    sha256: "8d48dcf0e01a30562d7357f95048f43fa7c08db69eabef00540d60a3278523cb"
   "0.7.1":
     url: "https://github.com/Stiffstream/restinio/archive/v.0.7.1.tar.gz"
     sha256: "46a3224ad23f768412c3494cd11f973b753b0d0be51906c46176ea7bafa687f6"

From f26b312492387128803df0b1890557a54e13964d Mon Sep 17 00:00:00 2001
From: toge 
Date: Sat, 3 Feb 2024 17:18:41 +0900
Subject: [PATCH 1051/1307] (#22644) cwalk: add version 1.2.8

---
 recipes/cwalk/all/conandata.yml               | 19 +++++++++++++++++++
 recipes/cwalk/all/conanfile.py                |  6 ++++--
 .../all/patches/0001-fix-cmake-1.2.8.patch    | 13 +++++++++++++
 recipes/cwalk/config.yml                      |  2 ++
 4 files changed, 38 insertions(+), 2 deletions(-)
 create mode 100644 recipes/cwalk/all/patches/0001-fix-cmake-1.2.8.patch

diff --git a/recipes/cwalk/all/conandata.yml b/recipes/cwalk/all/conandata.yml
index 89588e33be62f..0ae84f70cd58a 100644
--- a/recipes/cwalk/all/conandata.yml
+++ b/recipes/cwalk/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.2.8":
+    url: "https://github.com/likle/cwalk/archive/v1.2.8.tar.gz"
+    sha256: "48b99bd46f0b9ce027ca882b003e44a5db0369dec6fd9898fd5420aa282d780f"
   "1.2.7":
     url: "https://github.com/likle/cwalk/archive/v1.2.7.tar.gz"
     sha256: "ae424ec30830c970412e34d9092eaa6131d91af289cdad0ad66a7b1c58e768e7"
@@ -18,15 +21,31 @@ sources:
     url: "https://github.com/likle/cwalk/archive/v1.0.0.zip"
     sha256: "9ff6d85f88e7fe4877698afb40745d301491c1d3fca96f08d1622f5fe3494182"
 patches:
+  "1.2.8":
+    - patch_file: "patches/0001-fix-cmake-1.2.8.patch"
+      patch_description: "disable warnings"
+      patch_type: "conan"
   "1.2.7":
     - patch_file: "patches/0001-fix-cmake-1.2.5.patch"
+      patch_description: "disable warnings"
+      patch_type: "conan"
   "1.2.6":
     - patch_file: "patches/0001-fix-cmake-1.2.5.patch"
+      patch_description: "disable warnings"
+      patch_type: "conan"
   "1.2.5":
     - patch_file: "patches/0001-fix-cmake-1.2.5.patch"
+      patch_description: "disable warnings"
+      patch_type: "conan"
   "1.2.2":
     - patch_file: "patches/0001-fix-cmake-1.2.2.patch"
+      patch_description: "add installer, disable test"
+      patch_type: "conan"
   "1.1.0":
     - patch_file: "patches/0001-fix-cmake-1.1.0.patch"
+      patch_description: "add installer, disable test"
+      patch_type: "conan"
   "1.0.0":
     - patch_file: "patches/0001-fix-cmake-1.0.0.patch"
+      patch_description: "add installer, disable test"
+      patch_type: "conan"
diff --git a/recipes/cwalk/all/conanfile.py b/recipes/cwalk/all/conanfile.py
index bf570216dca5f..dc9e4e2bd3639 100644
--- a/recipes/cwalk/all/conanfile.py
+++ b/recipes/cwalk/all/conanfile.py
@@ -13,13 +13,12 @@ class CwalkConan(ConanFile):
     description = "Path library for C/C++. Cross-Platform for Windows, " \
                   "MacOS and Linux. Supports UNIX and Windows path styles " \
                   "on those platforms."
-    url = "https://github.com/conan-io/conan-center-index"
     license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://likle.github.io/cwalk/"
     topics = ("cross-platform", "windows", "macos", "osx", "linux",
               "path-manipulation", "path", "directory", "file", "file-system",
               "unc", "path-parsing", "file-path")
-
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
@@ -65,6 +64,7 @@ def package(self):
         cmake = CMake(self)
         cmake.install()
         rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
 
         # TODO: to remove in conan v2 once cmake_find_package_* generators removed
         self._create_cmake_module_alias_targets(
@@ -93,6 +93,8 @@ def package_info(self):
         self.cpp_info.libs = ["cwalk"]
         if self.options.shared and Version(self.version) >= "1.2.5":
             self.cpp_info.defines.append("CWK_SHARED")
+        if Version(self.version) >= "1.2.8":
+            self.cpp_info.set_property("pkg_config_name", "cwalk")
 
         # TODO: to remove in conan v2 once cmake_find_package_* generators removed
         self.cpp_info.filenames["cmake_find_package"] = "Cwalk"
diff --git a/recipes/cwalk/all/patches/0001-fix-cmake-1.2.8.patch b/recipes/cwalk/all/patches/0001-fix-cmake-1.2.8.patch
new file mode 100644
index 0000000000000..fb90bad966d4c
--- /dev/null
+++ b/recipes/cwalk/all/patches/0001-fix-cmake-1.2.8.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ed38852..9d4ec62 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,7 @@ endif()
+ add_library(cwalk
+   "${INCLUDE_DIRECTORY}/cwalk.h"
+   "${SOURCE_DIRECTORY}/cwalk.c")
+-enable_warnings(cwalk)
++# enable_warnings(cwalk)
+ target_include_directories(cwalk PUBLIC
+   $
+   $
diff --git a/recipes/cwalk/config.yml b/recipes/cwalk/config.yml
index 3a4a484ff7332..42be9164c47b3 100644
--- a/recipes/cwalk/config.yml
+++ b/recipes/cwalk/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.2.8":
+    folder: all
   "1.2.7":
     folder: all
   "1.2.6":

From 0ba38e0442f1a019d3a37aeb7be8b4229ddd673f Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 4 Feb 2024 05:23:32 +0900
Subject: [PATCH 1052/1307] (#22640) yder: update orcania/2.3.3

---
 recipes/yder/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/yder/all/conanfile.py b/recipes/yder/all/conanfile.py
index ffe23774e69d2..397af435bb258 100644
--- a/recipes/yder/all/conanfile.py
+++ b/recipes/yder/all/conanfile.py
@@ -42,7 +42,7 @@ def configure(self):
         self.settings.rm_safe("compiler.libcxx")
 
     def requirements(self):
-        self.requires("orcania/2.3.1")
+        self.requires("orcania/2.3.3")
         if self.options.get_safe("with_libsystemd"):
             self.requires("libsystemd/253.10")
 

From 8bfd309748a17afea1a5041eba8e1e0103cce415 Mon Sep 17 00:00:00 2001
From: toge 
Date: Sun, 4 Feb 2024 08:18:11 +0900
Subject: [PATCH 1053/1307] (#22648) cpp-httplib: add version 0.15.2

---
 recipes/cpp-httplib/all/conandata.yml | 3 +++
 recipes/cpp-httplib/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml
index b4f0d16d4309c..4b90fc7da1db2 100644
--- a/recipes/cpp-httplib/all/conandata.yml
+++ b/recipes/cpp-httplib/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.15.2":
+    url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.2.tar.gz"
+    sha256: "4afbcf4203249d2cbcb698e46e1f6fb61b479013a84844d6bb1c044e233cab6a"
   "0.15.1":
     url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.1.tar.gz"
     sha256: "8d6a4a40ee8fd3f553b7e895882e60e674bd910883fc1857587dbbabee3cdb91"
diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml
index c0fa6e5745c91..1d814c307666b 100644
--- a/recipes/cpp-httplib/config.yml
+++ b/recipes/cpp-httplib/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.15.2":
+    folder: all
   "0.15.1":
     folder: all
   "0.14.3":

From 475660c43d088f989be8953f6e70706f6d1cd678 Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Mon, 5 Feb 2024 04:36:35 +0000
Subject: [PATCH 1054/1307] (#22618) [bot] Update authorized users list
 (2024-02-01)

Co-authored-by: conan-center-bot 
---
 .c3i/authorized_users.yml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index b6af7a64a5048..8e096fa6fd761 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1278,3 +1278,6 @@ authorized_users:
 - stefansli
 - wgtmac
 - kevinAlbs
+- retroandchill
+- adamws
+- rob-baily

From 7044daf33edc2c1051d571cee97ebee3d6cc5032 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 5 Feb 2024 19:33:10 +0900
Subject: [PATCH 1055/1307] (#22663) redis-plus-plus: add version 1.3.12

---
 recipes/redis-plus-plus/all/conandata.yml | 7 +++++++
 recipes/redis-plus-plus/config.yml        | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/recipes/redis-plus-plus/all/conandata.yml b/recipes/redis-plus-plus/all/conandata.yml
index eb42b97f78519..39cad834c3b22 100644
--- a/recipes/redis-plus-plus/all/conandata.yml
+++ b/recipes/redis-plus-plus/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.3.12":
+    url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.12.tar.gz"
+    sha256: "26c1e45cdbafe1af4d2cf756957b2268baab6f802b53bcdd435864620e2c03c7"
   "1.3.11":
     url: "https://github.com/sewenew/redis-plus-plus/archive/1.3.11.tar.gz"
     sha256: "bb4990eed60d3654cd6902b9e67b3ab43e52557e84315560660b0c9e64b6ff77"
@@ -21,6 +24,10 @@ sources:
     url: "https://github.com/sewenew/redis-plus-plus/archive/1.2.3.tar.gz"
     sha256: "1a3336752133019c963e06c28667b96690d6395b804e5e326671777ff88982ea"
 patches:
+  "1.3.12":
+    - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch"
+      patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake"
+      patch_type: "conan"
   "1.3.11":
     - patch_file: "patches/1.3.8-0001-fix-dependencies-injection.patch"
       patch_description: "Robust discovery & injection of dependencies, and handle missing hiredis_ssl-config.cmake"
diff --git a/recipes/redis-plus-plus/config.yml b/recipes/redis-plus-plus/config.yml
index 973c54194e222..b0578160cf5b2 100644
--- a/recipes/redis-plus-plus/config.yml
+++ b/recipes/redis-plus-plus/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.3.12":
+    folder: all
   "1.3.11":
     folder: all
   "1.3.10":

From f44696fcfbd3ccb430b2dc7ab7e4f81b4bc91d7c Mon Sep 17 00:00:00 2001
From: Ahajha <44127594+Ahajha@users.noreply.github.com>
Date: Mon, 5 Feb 2024 05:49:09 -0500
Subject: [PATCH 1056/1307] (#22549) [tk] Use xorg components, fix MSVC shared
 build

* Add -Wl,--as-needed to prevent extra xorg linking

* Add components in Linux and FreeBSD

* Write directly to the package index file

* Only use components on Linux

* Convert replace_in_file to patch

* Add final newline
---
 recipes/tk/all/conandata.yml                        |  3 +++
 recipes/tk/all/conanfile.py                         | 12 ++++++++++++
 .../tk/all/patches/0004-Fix-msvc-shared-build.patch | 13 +++++++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 recipes/tk/all/patches/0004-Fix-msvc-shared-build.patch

diff --git a/recipes/tk/all/conandata.yml b/recipes/tk/all/conandata.yml
index 7e9e03ca25a75..ab60eb6021e47 100644
--- a/recipes/tk/all/conandata.yml
+++ b/recipes/tk/all/conandata.yml
@@ -14,3 +14,6 @@ patches:
     - patch_file: "patches/0003-Patch-tkConfig.sh.patch"
       patch_description: "Remove TK_BUILD_* and TK_SRC_DIR from tkConfig.sh for portability"
       patch_type: "portability"
+    - patch_file: "patches/0004-Fix-msvc-shared-build.patch"
+      patch_description: "Output an inline file directly to its final destination to avoid a failure in C3I"
+      patch_type: "conan"
diff --git a/recipes/tk/all/conanfile.py b/recipes/tk/all/conanfile.py
index 2c3e88ddc0d5b..2683c9b951f69 100644
--- a/recipes/tk/all/conanfile.py
+++ b/recipes/tk/all/conanfile.py
@@ -136,6 +136,8 @@ def generate(self):
                         "_ATL_XP_TARGETING",
                     ]
                 )
+            if not is_apple_os(self):
+                tc.extra_ldflags.append("-Wl,--as-needed")
             tc.generate()
 
             if self.settings.os == "Linux":
@@ -273,6 +275,16 @@ def package_info(self):
                 "ole32",
                 "oleaut32",
             ]
+        elif self.settings.os == "Linux":
+            self.cpp_info.requires = [
+                "tcl::tcl",
+                "fontconfig::fontconfig",
+                "xorg::x11",
+                "xorg::xcb",
+                "xorg::xrender",
+                "xorg::xau",
+                "xorg::xdmcp",
+            ]
 
         tk_library = os.path.join(
             self.package_folder,
diff --git a/recipes/tk/all/patches/0004-Fix-msvc-shared-build.patch b/recipes/tk/all/patches/0004-Fix-msvc-shared-build.patch
new file mode 100644
index 0000000000000..1665cb737d8b1
--- /dev/null
+++ b/recipes/tk/all/patches/0004-Fix-msvc-shared-build.patch
@@ -0,0 +1,13 @@
+diff --git a/win/makefile.vc b/win/makefile.vc
+index 6371f0f4b..b548f827d 100644
+--- a/win/makefile.vc
++++ b/win/makefile.vc
+@@ -651,7 +651,7 @@ install-binaries:
+ 	@$(CPY) "$(TKSTUBLIB)" "$(LIB_INSTALL_DIR)\"
+ !if !$(STATIC_BUILD)
+ 	@echo creating package index
+-	@type << > $(OUT_DIR)\pkgIndex.tcl
++	@type <<$(OUT_DIR)\pkgIndex.tcl
+ if {[catch {package present Tcl 8.6.0}]} { return }
+ if {($$::tcl_platform(platform) eq "unix") && ([info exists ::env(DISPLAY)]
+ 	|| ([info exists ::argv] && ("-display" in $$::argv)))} {

From 1a5c959f0be97885d10a6df929c7601fd8c53c48 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Mon, 5 Feb 2024 14:31:16 +0100
Subject: [PATCH 1057/1307] (#22237) opentelemetry-cpp: bump deps

* opentelemetry-cpp: bump deps

* don't bump boost

* don't bump thrift

* bump thrift

* Update conanfile.py

* bump boost and thrift

* unbump thrift

* Update recipes/opentelemetry-cpp/all/conanfile.py

Co-authored-by: Uilian Ries 

* test recipe: bump cppstd

abseil needs c++14

* fix test_V1_package

---------

Co-authored-by: Uilian Ries 
---
 recipes/opentelemetry-cpp/all/conanfile.py    | 42 ++++++++-----------
 .../all/test_package/CMakeLists.txt           |  2 +-
 .../all/test_v1_package/CMakeLists.txt        |  9 ++--
 3 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/recipes/opentelemetry-cpp/all/conanfile.py b/recipes/opentelemetry-cpp/all/conanfile.py
index e13d0077e219b..3fbb1802a08da 100644
--- a/recipes/opentelemetry-cpp/all/conanfile.py
+++ b/recipes/opentelemetry-cpp/all/conanfile.py
@@ -119,21 +119,21 @@ def requirements(self):
            self.options.with_otlp_http or
            self.options.with_etw
         ):
-           self.requires("nlohmann_json/3.11.2")
-           self.requires("openssl/[>=1.1 <4]")
+            self.requires("nlohmann_json/3.11.3")
+            self.requires("openssl/[>=1.1 <4]")
 
         if (self.options.with_zipkin or
            self.options.with_elasticsearch or
            self.options.with_otlp_http
         ):
-           self.requires("libcurl/[>=7.78.0 <9]")
+            self.requires("libcurl/[>=7.78.0 <9]")
 
         if self.options.with_prometheus:
             self.requires("prometheus-cpp/1.1.0")
 
         if self.options.get_safe("with_jaeger"):
             self.requires("thrift/0.17.0")
-            self.requires("boost/1.82.0")
+            self.requires("boost/1.84.0")
 
     @property
     def _required_boost_components(self):
@@ -300,8 +300,7 @@ def _otel_libraries(self):
             if self.options.with_otlp_grpc:
                 libraries.append("opentelemetry_exporter_otlp_grpc")
                 libraries.append("opentelemetry_exporter_otlp_grpc_metrics")
-                if Version(self.version) >= "1.7.0":
-                    libraries.append("opentelemetry_exporter_otlp_grpc_client")
+                libraries.append("opentelemetry_exporter_otlp_grpc_client")
                 if self.options.with_logs_preview:
                     libraries.append("opentelemetry_exporter_otlp_grpc_log")
             if self.options.with_otlp_http:
@@ -384,33 +383,26 @@ def package_info(self):
             ])
 
         if self.options.with_otlp_grpc:
-            if "1.5.0" <= Version(self.version) < "1.7.0":
-                self.cpp_info.components["opentelemetry_exporter_otlp_grpc_metrics"].requires.extend([
-                    "grpc::grpc++",
-                    "opentelemetry_otlp_recordable",
-                ])
-
             if Version(self.version) <= "1.7.0":
                 self.cpp_info.components["opentelemetry_exporter_otlp_grpc"].requires.extend([
                     "grpc::grpc++",
                     "opentelemetry_otlp_recordable",
                 ])
 
-            if Version(self.version) >= "1.7.0":
-                self.cpp_info.components["opentelemetry_exporter_otlp_grpc_client"].requires.extend([
-                    "grpc::grpc++",
-                    "opentelemetry_proto",
-                ])
+            self.cpp_info.components["opentelemetry_exporter_otlp_grpc_client"].requires.extend([
+                "grpc::grpc++",
+                "opentelemetry_proto",
+            ])
 
-                self.cpp_info.components["opentelemetry_exporter_otlp_grpc"].requires.extend([
-                    "opentelemetry_otlp_recordable",
-                    "opentelemetry_exporter_otlp_grpc_client"
-                ])
+            self.cpp_info.components["opentelemetry_exporter_otlp_grpc"].requires.extend([
+                "opentelemetry_otlp_recordable",
+                "opentelemetry_exporter_otlp_grpc_client"
+            ])
 
-                self.cpp_info.components["opentelemetry_exporter_otlp_grpc_metrics"].requires.extend([
-                    "opentelemetry_otlp_recordable",
-                    "opentelemetry_exporter_otlp_grpc_client"
-                ])
+            self.cpp_info.components["opentelemetry_exporter_otlp_grpc_metrics"].requires.extend([
+                "opentelemetry_otlp_recordable",
+                "opentelemetry_exporter_otlp_grpc_client"
+            ])
 
             if self.options.with_logs_preview:
                 self.cpp_info.components["opentelemetry_exporter_otlp_grpc_log"].requires.extend([
diff --git a/recipes/opentelemetry-cpp/all/test_package/CMakeLists.txt b/recipes/opentelemetry-cpp/all/test_package/CMakeLists.txt
index 53dd5c5a1c6f7..0898e9106c8e0 100644
--- a/recipes/opentelemetry-cpp/all/test_package/CMakeLists.txt
+++ b/recipes/opentelemetry-cpp/all/test_package/CMakeLists.txt
@@ -6,4 +6,4 @@ find_package(opentelemetry-cpp REQUIRED CONFIG)
 
 add_executable(${CMAKE_PROJECT_NAME} test_package.cpp)
 target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE opentelemetry-cpp::opentelemetry-cpp)
-target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_11)
+target_compile_features(${CMAKE_PROJECT_NAME} PRIVATE cxx_std_14)
diff --git a/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt b/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt
index 432e5d7c64ed4..babe7e0cea000 100644
--- a/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt
+++ b/recipes/opentelemetry-cpp/all/test_v1_package/CMakeLists.txt
@@ -1,12 +1,9 @@
 cmake_minimum_required(VERSION 3.8)
 
-project(test_package CXX)
+project(test_package)
 
 include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
 conan_basic_setup(TARGETS)
 
-find_package(opentelemetry-cpp REQUIRED CONFIG)
-
-add_executable(${PROJECT_NAME} ../test_package/test_package.cpp)
-target_link_libraries(${PROJECT_NAME} PRIVATE opentelemetry-cpp::opentelemetry-cpp)
-target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package
+                 ${CMAKE_CURRENT_BINARY_DIR}/test_package)

From bc07462ed678ed572ab59fbabc1a0cdd4d112003 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 5 Feb 2024 23:09:25 +0900
Subject: [PATCH 1058/1307] (#22653) beauty: add version 1.0.3, update boost

* beauty: add version 1.0.3, update boost

* downgrade boost/1.83.0
---
 recipes/beauty/all/conandata.yml | 3 +++
 recipes/beauty/all/conanfile.py  | 7 +++----
 recipes/beauty/config.yml        | 2 ++
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/recipes/beauty/all/conandata.yml b/recipes/beauty/all/conandata.yml
index 6e8cad241d836..ba365a8d82861 100644
--- a/recipes/beauty/all/conandata.yml
+++ b/recipes/beauty/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.0.3":
+    url: "https://github.com/dfleury2/beauty/archive/refs/tags/1.0.3.tar.gz"
+    sha256: "1707b0974537cfd8d1d2fd0b5accd5a662c0b408042aa01384cf5840ecc43594"
   "1.0.2":
     url: "https://github.com/dfleury2/beauty/archive/refs/tags/1.0.2.tar.gz"
     sha256: "627294d04a91c85e14d9c29475d539da5172c6d7306a48dca7c72413e47eebd6"
diff --git a/recipes/beauty/all/conanfile.py b/recipes/beauty/all/conanfile.py
index 105c26d8ad8b8..cb6e4434731c3 100644
--- a/recipes/beauty/all/conanfile.py
+++ b/recipes/beauty/all/conanfile.py
@@ -13,12 +13,11 @@
 
 class BeautyConan(ConanFile):
     name = "beauty"
-    homepage = "https://github.com/dfleury2/beauty"
     description = "HTTP Server above Boost.Beast"
-    topics = ("http", "server", "boost.beast")
-    url = "https://github.com/conan-io/conan-center-index"
     license = "MIT"
-
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/dfleury2/beauty"
+    topics = ("http", "server", "boost.beast")
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
diff --git a/recipes/beauty/config.yml b/recipes/beauty/config.yml
index 8457ca9a4a8cd..f625d5d2b747f 100644
--- a/recipes/beauty/config.yml
+++ b/recipes/beauty/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.0.3":
+    folder: all
   "1.0.2":
     folder: all

From f080d4bb23d7a7543f473d1fbcbfada3a14449df Mon Sep 17 00:00:00 2001
From: Noah Miller 
Date: Tue, 6 Feb 2024 04:13:32 +1300
Subject: [PATCH 1059/1307] (#22483) (#22482) poco: add transitive_headers
 trait on expat dependency

---
 recipes/poco/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py
index d677c8b157a1b..c088845ae6933 100644
--- a/recipes/poco/all/conanfile.py
+++ b/recipes/poco/all/conanfile.py
@@ -151,7 +151,7 @@ def requirements(self):
             self.requires("pcre2/10.42")
         self.requires("zlib/[>=1.2.11 <2]")
         if self.options.enable_xml:
-            self.requires("expat/2.5.0")
+            self.requires("expat/2.5.0", transitive_headers=True)
         if self.options.enable_data_sqlite:
             self.requires("sqlite3/3.45.0")
         if self.options.enable_apacheconnector:

From 1f675852657f29db8bf838c13cf7e96dc3d23525 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 00:50:37 +0900
Subject: [PATCH 1060/1307] (#22651) yder: add version 1.4.20

---
 recipes/yder/all/conandata.yml | 3 +++
 recipes/yder/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/yder/all/conandata.yml b/recipes/yder/all/conandata.yml
index f6c79182d9b12..bda9472f3c267 100644
--- a/recipes/yder/all/conandata.yml
+++ b/recipes/yder/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.4.20":
+    url: "https://github.com/babelouest/yder/archive/refs/tags/v1.4.20.tar.gz"
+    sha256: "c1a7f2281514d0d0bba912b6b70f371d8c127ccfd644b8c438c9301a0fd4c5f2"
   "1.4.18":
     url: "https://github.com/babelouest/yder/archive/refs/tags/v1.4.18.tar.gz"
     sha256: "b69cc81f6630f66468595d151446c00c90abed058f03f82e151591b8598a7598"
diff --git a/recipes/yder/config.yml b/recipes/yder/config.yml
index 76bddfaab892d..5e84389f49d3a 100644
--- a/recipes/yder/config.yml
+++ b/recipes/yder/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.4.20":
+    folder: all
   "1.4.18":
     folder: all

From 61d36750a380e15ab4c19391d4316c40acaa811e Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 01:08:34 +0900
Subject: [PATCH 1061/1307] (#22656) nameof: add version 0.10.4

---
 recipes/nameof/all/conandata.yml | 3 +++
 recipes/nameof/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/nameof/all/conandata.yml b/recipes/nameof/all/conandata.yml
index a47ecd560d7e3..53cdec57f34dc 100644
--- a/recipes/nameof/all/conandata.yml
+++ b/recipes/nameof/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.10.4":
+    url: "https://github.com/Neargye/nameof/archive/v0.10.4.tar.gz"
+    sha256: "b67ed2155a32760067eee0d33c727b9badfd8c12393ebbe3b7ab219b4faa0149"
   "0.10.3":
     url: "https://github.com/Neargye/nameof/archive/v0.10.3.tar.gz"
     sha256: "f31dd02841adfbb98949454005a308174645957d2b8d4dc06a7c15e1039e46e6"
diff --git a/recipes/nameof/config.yml b/recipes/nameof/config.yml
index 9af7662bde26f..480d6a637aced 100644
--- a/recipes/nameof/config.yml
+++ b/recipes/nameof/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.10.4":
+    folder: "all"
   "0.10.3":
     folder: "all"
   "0.10.2":

From c484b3bd1771b4148d2e15eb3978349beb50ae01 Mon Sep 17 00:00:00 2001
From: Roberto Rossini <71787608+robomics@users.noreply.github.com>
Date: Mon, 5 Feb 2024 17:29:23 +0100
Subject: [PATCH 1062/1307] (#22616) hictk: add v0.0.8 and bump deps

* Add hictk v0.0.4

* Bump deps

* Add hictk v0.0.8

* Bump deps

* Bugfix

* Bugfix

* Update xxhash version check
---
 recipes/hictk/all/conandata.yml |  3 +++
 recipes/hictk/all/conanfile.py  | 21 ++++++++++++++-------
 recipes/hictk/config.yml        |  2 ++
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml
index 0a77d0b0f3599..c0ae183d99318 100644
--- a/recipes/hictk/all/conandata.yml
+++ b/recipes/hictk/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.0.8":
+    url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.8.tar.gz"
+    sha256: "4bdadf49cb053731ea31f50312c9e4fcbcdcbaf94c39715f7b325641629bed4b"
   "0.0.3":
     url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.3.tar.gz"
     sha256: "f49657b9ef80ef9fa07f125a0b6f056923235c9ea77e19cee312b004384ea39e"
diff --git a/recipes/hictk/all/conanfile.py b/recipes/hictk/all/conanfile.py
index 7e609444e89da..5993c72d21567 100644
--- a/recipes/hictk/all/conanfile.py
+++ b/recipes/hictk/all/conanfile.py
@@ -5,6 +5,7 @@
 from conan.tools.build import check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.files import copy, get, rmdir
+from conan.tools.scm import Version
 
 required_conan_version = ">=1.50.0"
 
@@ -39,20 +40,26 @@ def layout(self):
         cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("bshoshany-thread-pool/3.5.0", transitive_headers=True)
-        self.requires("fast_float/6.0.0", transitive_headers=True)
+        self.requires("bshoshany-thread-pool/4.0.1", transitive_headers=True)
+        self.requires("fast_float/6.1.0", transitive_headers=True)
         if self.options.with_eigen:
             self.requires("eigen/3.4.0", transitive_headers=True)
-        self.requires("fmt/10.1.1", transitive_headers=True)
+        self.requires("fmt/10.2.1", transitive_headers=True)
         self.requires("hdf5/1.14.3", transitive_headers=True)
-        self.requires("highfive/2.8.0", transitive_headers=True)
+        self.requires("highfive/2.9.0", transitive_headers=True)
         self.requires("libdeflate/1.19", transitive_headers=True)
-        self.requires("parallel-hashmap/1.37", transitive_headers=True)
+        self.requires("parallel-hashmap/1.3.11", transitive_headers=True)  # Note: v1.3.11 is more recent than v1.37
         self.requires("span-lite/0.10.3", transitive_headers=True)
-        self.requires("spdlog/1.12.0", transitive_headers=True)
-        self.requires("xxhash/0.8.2", transitive_headers=True)
+        self.requires("spdlog/1.13.0", transitive_headers=True)
         self.requires("zstd/1.5.5", transitive_headers=True)
 
+        if Version(self.version) == "0.0.3":
+            self.requires("xxhash/0.8.2", transitive_headers=True)
+
+        if Version(self.version) > "0.0.7":
+            self.requires("readerwriterqueue/1.0.6", transitive_headers=True)
+            self.requires("concurrentqueue/1.0.4", transitive_headers=True)
+
     def package_id(self):
         self.info.clear()
 
diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml
index ff35624c14df5..460eb40585b0b 100644
--- a/recipes/hictk/config.yml
+++ b/recipes/hictk/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.0.8":
+    folder: all
   "0.0.3":
     folder: all
   "0.0.2":

From 2a1b78b75fe0975bc7756a05778aa00f77b3beb3 Mon Sep 17 00:00:00 2001
From: Marian Klymov 
Date: Mon, 5 Feb 2024 19:05:34 +0200
Subject: [PATCH 1063/1307] (#19476) zlib-ng: provide better compatibility with
 zlib

---
 recipes/zlib-ng/all/conanfile.py                 |  8 ++++++++
 recipes/zlib-ng/all/test_package/CMakeLists.txt  | 10 ++++++++--
 recipes/zlib-ng/all/test_package/conanfile.py    |  9 +++++++--
 recipes/zlib-ng/all/test_v1_package/conanfile.py |  1 +
 4 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/recipes/zlib-ng/all/conanfile.py b/recipes/zlib-ng/all/conanfile.py
index 853a0a0f6a309..e0d0177aaa348 100644
--- a/recipes/zlib-ng/all/conanfile.py
+++ b/recipes/zlib-ng/all/conanfile.py
@@ -51,6 +51,8 @@ def configure(self):
             self.options.rm_safe("fPIC")
         self.settings.rm_safe("compiler.cppstd")
         self.settings.rm_safe("compiler.libcxx")
+        if self.options.zlib_compat:
+            self.provides = ["zlib"]
 
     def layout(self):
         cmake_layout(self, src_folder="src")
@@ -106,6 +108,12 @@ def package_info(self):
             self.cpp_info.libs = [f"z{suffix}"]
         if self.options.zlib_compat:
             self.cpp_info.defines.append("ZLIB_COMPAT")
+            #copied from zlib
+            self.cpp_info.set_property("cmake_find_mode", "both")
+            self.cpp_info.set_property("cmake_file_name", "ZLIB")
+            self.cpp_info.set_property("cmake_target_name", "ZLIB::ZLIB")
+            self.cpp_info.names["cmake_find_package"] = "ZLIB"
+            self.cpp_info.names["cmake_find_package_multi"] = "ZLIB"
         if self.options.with_gzfileop:
             self.cpp_info.defines.append("WITH_GZFILEOP")
         if not self.options.with_new_strategies:
diff --git a/recipes/zlib-ng/all/test_package/CMakeLists.txt b/recipes/zlib-ng/all/test_package/CMakeLists.txt
index 1afe7de5d08fc..f10e632412804 100644
--- a/recipes/zlib-ng/all/test_package/CMakeLists.txt
+++ b/recipes/zlib-ng/all/test_package/CMakeLists.txt
@@ -1,8 +1,14 @@
 cmake_minimum_required(VERSION 3.8)
 project(test_package LANGUAGES C)
 
-find_package(zlib-ng REQUIRED CONFIG)
+if (ZLIB_COMPAT)
+  set(zlib_name ZLIB)
+else()
+  set(zlib_name zlib-ng)
+endif()
+
+find_package(${zlib_name} REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.c)
-target_link_libraries(${PROJECT_NAME} PRIVATE zlib-ng::zlib-ng)
+target_link_libraries(${PROJECT_NAME} PRIVATE ${zlib_name}::${zlib_name})
 target_compile_features(${PROJECT_NAME} PRIVATE c_std_99)
diff --git a/recipes/zlib-ng/all/test_package/conanfile.py b/recipes/zlib-ng/all/test_package/conanfile.py
index 0f34761d1525c..eabf8e03bfd74 100644
--- a/recipes/zlib-ng/all/test_package/conanfile.py
+++ b/recipes/zlib-ng/all/test_package/conanfile.py
@@ -1,12 +1,12 @@
 from conan import ConanFile
 from conan.tools.build import can_run
-from conan.tools.cmake import CMake, cmake_layout
+from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
 import os
 
 
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
-    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    generators = "CMakeDeps", "VirtualRunEnv"
     test_type = "explicit"
 
     def layout(self):
@@ -15,6 +15,11 @@ def layout(self):
     def requirements(self):
         self.requires(self.tested_reference_str)
 
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.variables["ZLIB_COMPAT"] = bool(self.dependencies["zlib-ng"].options.zlib_compat)
+        tc.generate()
+
     def build(self):
         cmake = CMake(self)
         cmake.configure()
diff --git a/recipes/zlib-ng/all/test_v1_package/conanfile.py b/recipes/zlib-ng/all/test_v1_package/conanfile.py
index 38f4483872d47..d374156671cbb 100644
--- a/recipes/zlib-ng/all/test_v1_package/conanfile.py
+++ b/recipes/zlib-ng/all/test_v1_package/conanfile.py
@@ -8,6 +8,7 @@ class TestPackageConan(ConanFile):
 
     def build(self):
         cmake = CMake(self)
+        cmake.definitions["ZLIB_COMPAT"] = self.options["zlib-ng"].zlib_compat
         cmake.configure()
         cmake.build()
 

From c5501680ebd7244df293c3e4b383df1b8b3ba38d Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 02:51:14 +0900
Subject: [PATCH 1064/1307] (#22652) libcbor: add version 0.11.0

* libcbor: add version 0.11.0

* remove cmake files
---
 recipes/libcbor/all/conandata.yml | 3 +++
 recipes/libcbor/all/conanfile.py  | 1 +
 recipes/libcbor/config.yml        | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/recipes/libcbor/all/conandata.yml b/recipes/libcbor/all/conandata.yml
index e1d0e5f6211c5..c9712282e5c82 100644
--- a/recipes/libcbor/all/conandata.yml
+++ b/recipes/libcbor/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.11.0":
+    url: "https://github.com/PJK/libcbor/archive/v0.11.0.tar.gz"
+    sha256: "89e0a83d16993ce50651a7501355453f5250e8729dfc8d4a251a78ea23bb26d7"
   "0.10.2":
     url: "https://github.com/PJK/libcbor/archive/v0.10.2.tar.gz"
     sha256: "e75f712215d7b7e5c89ef322a09b701f7159f028b8b48978865725f00f79875b"
diff --git a/recipes/libcbor/all/conanfile.py b/recipes/libcbor/all/conanfile.py
index 2dcedcee9a1fc..e7b8cdd0c66a8 100644
--- a/recipes/libcbor/all/conanfile.py
+++ b/recipes/libcbor/all/conanfile.py
@@ -71,6 +71,7 @@ def package(self):
         cmake = CMake(self)
         cmake.install()
         rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
 
     def package_info(self):
         self.cpp_info.set_property("pkg_config_name", "libcbor")
diff --git a/recipes/libcbor/config.yml b/recipes/libcbor/config.yml
index 7eceffdad45cc..fcc17114549de 100644
--- a/recipes/libcbor/config.yml
+++ b/recipes/libcbor/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.11.0":
+    folder: "all"
   "0.10.2":
     folder: "all"
   "0.10.1":

From 5f706a666921ad5a9fc30506673f76596fc52b7b Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 03:28:50 +0900
Subject: [PATCH 1065/1307] (#22660) ssp: update fast_float/6.1.0

---
 recipes/ssp/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/ssp/all/conanfile.py b/recipes/ssp/all/conanfile.py
index 16b88f523f6b2..5cb7a535180b4 100644
--- a/recipes/ssp/all/conanfile.py
+++ b/recipes/ssp/all/conanfile.py
@@ -37,7 +37,7 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def requirements(self):
-        self.requires("fast_float/6.0.0")
+        self.requires("fast_float/6.1.0")
 
     def package_id(self):
         self.info.clear()

From e56aef75ec95b785d6af1021f3ee5bc3a179b9e4 Mon Sep 17 00:00:00 2001
From: Rasmus Thomsen 
Date: Mon, 5 Feb 2024 20:13:40 +0100
Subject: [PATCH 1066/1307] (#22641) boost: add upstream patch to fix build w/
 c++20 on macOS

---
 recipes/boost/all/conandata.yml               |   4 +
 ...reimplement-string_set-as-any-string.patch | 337 ++++++++++++++++++
 2 files changed, 341 insertions(+)
 create mode 100644 recipes/boost/all/patches/1.84.0-reimplement-string_set-as-any-string.patch

diff --git a/recipes/boost/all/conandata.yml b/recipes/boost/all/conandata.yml
index da5e5a928df63..f0c416fba2531 100644
--- a/recipes/boost/all/conandata.yml
+++ b/recipes/boost/all/conandata.yml
@@ -72,6 +72,10 @@ patches:
     - patch_file: "patches/1.82.0-locale-iconv-library-option.patch"
       patch_description: "Optional flag to specify iconv from either libc of libiconv"
       patch_type: "conan"
+    - patch_file: "patches/1.84.0-reimplement-string_set-as-any-string.patch"
+      patch_description: "Fix compilation with cppstd=20 on libcxx platforms (e.g. MacOS)"
+      patch_type: "official"
+      patch_source: "https://github.com/boostorg/locale/commit/c5e8f02c903696a213fc4b710f6740ccd1f07f4e"
   "1.83.0":
     - patch_file: "patches/1.82.0-locale-iconv-library-option.patch"
       patch_description: "Optional flag to specify iconv from either libc of libiconv"
diff --git a/recipes/boost/all/patches/1.84.0-reimplement-string_set-as-any-string.patch b/recipes/boost/all/patches/1.84.0-reimplement-string_set-as-any-string.patch
new file mode 100644
index 0000000000000..15393721de8ee
--- /dev/null
+++ b/recipes/boost/all/patches/1.84.0-reimplement-string_set-as-any-string.patch
@@ -0,0 +1,337 @@
+Fixes compilation with cppstd=20 on MacOS
+
+From c5e8f02c903696a213fc4b710f6740ccd1f07f4e Mon Sep 17 00:00:00 2001
+From: Alexander Grund 
+Date: Sun, 3 Dec 2023 20:06:27 +0100
+Subject: [PATCH] Reimplement `string_set` as `any_string`
+
+Use a better name for a type-erased string implemented using
+`dynamic_cast` instead of storing&comparing the `typeid` of the char
+type used.
+This is a workaround for missing typeinfo for `char8_t` on e.g. libc++
+on FreeBSD 13.1.
+It also simplifies memory management size calc/copy implementation.
+---
+ boost/locale/detail/any_string.hpp | 71 ++++++++++++++++++++++
+ boost/locale/formatting.hpp        | 51 ++--------------
+ libs/locale/src/boost/locale/formatting.cpp       | 45 --------------
+ libs/locale/test/test_ios_info.cpp             | 64 +++++++++++++++----
+ 4 files changed, 127 insertions(+), 104 deletions(-)
+ create mode 100644 boost/locale/detail/any_string.hpp
+
+diff --git a/boost/locale/detail/any_string.hpp b/boost/locale/detail/any_string.hpp
+new file mode 100644
+index 00000000..c0cc7ffb
+--- /dev/null
++++ b/boost/locale/detail/any_string.hpp
+@@ -0,0 +1,71 @@
++//
++// Copyright (c) 2023 Alexander Grund
++//
++// Distributed under the Boost Software License, Version 1.0.
++// https://www.boost.org/LICENSE_1_0.txt
++
++#ifndef BOOST_LOCALE_DETAIL_ANY_STRING_HPP_INCLUDED
++#define BOOST_LOCALE_DETAIL_ANY_STRING_HPP_INCLUDED
++
++#include 
++#include 
++#include 
++#include 
++#include 
++#include 
++
++/// \cond INTERNAL
++namespace boost { namespace locale { namespace detail {
++    /// Type-erased std::basic_string
++    class any_string {
++        struct BOOST_SYMBOL_VISIBLE base {
++            virtual ~base() = default;
++            virtual base* clone() const = 0;
++
++        protected:
++            base() = default;
++            base(const base&) = default;
++            base(base&&) = delete;
++            base& operator=(const base&) = default;
++            base& operator=(base&&) = delete;
++        };
++        template
++        struct BOOST_SYMBOL_VISIBLE impl : base {
++            explicit impl(const boost::basic_string_view value) : s(value) {}
++            impl* clone() const override { return new impl(*this); }
++            std::basic_string s;
++        };
++
++        std::unique_ptr s_;
++
++    public:
++        any_string() = default;
++        any_string(const any_string& other) : s_(other.s_ ? other.s_->clone() : nullptr) {}
++        any_string(any_string&&) = default;
++        any_string& operator=(any_string other) // Covers the copy and move assignment
++        {
++            s_.swap(other.s_);
++            return *this;
++        }
++
++        template
++        void set(const boost::basic_string_view s)
++        {
++            BOOST_ASSERT(!s.empty());
++            s_.reset(new impl(s));
++        }
++
++        template
++        std::basic_string get() const
++        {
++            if(!s_)
++                throw std::bad_cast();
++            return dynamic_cast&>(*s_).s;
++        }
++    };
++
++}}} // namespace boost::locale::detail
++
++/// \endcond
++
++#endif
+diff --git a/boost/locale/formatting.hpp b/boost/locale/formatting.hpp
+index d14e6f69..e3c8619e 100644
+--- a/boost/locale/formatting.hpp
++++ b/boost/locale/formatting.hpp
+@@ -8,15 +8,13 @@
+ #ifndef BOOST_LOCALE_FORMATTING_HPP_INCLUDED
+ #define BOOST_LOCALE_FORMATTING_HPP_INCLUDED
+ 
++#include 
+ #include 
+-#include 
+-#include 
+ #include 
+ #include 
+ #include 
+ #include 
+ #include 
+-#include 
+ 
+ #ifdef BOOST_MSVC
+ #    pragma warning(push)
+@@ -130,13 +128,13 @@ namespace boost { namespace locale {
+         template
+         void date_time_pattern(const std::basic_string& str)
+         {
+-            date_time_pattern_set().set(str);
++            datetime_.set(str);
+         }
+         /// Get date/time pattern (strftime like)
+         template
+         std::basic_string date_time_pattern() const
+         {
+-            return date_time_pattern_set().get();
++            return datetime_.get();
+         }
+ 
+         /// \cond INTERNAL
+@@ -144,51 +142,10 @@ namespace boost { namespace locale {
+         /// \endcond
+ 
+     private:
+-        class string_set;
+-
+-        const string_set& date_time_pattern_set() const;
+-        string_set& date_time_pattern_set();
+-
+-        class BOOST_LOCALE_DECL string_set {
+-        public:
+-            string_set();
+-            ~string_set();
+-            string_set(const string_set& other);
+-            string_set& operator=(string_set other);
+-            void swap(string_set& other);
+-
+-            template
+-            void set(const boost::basic_string_view s)
+-            {
+-                BOOST_ASSERT(!s.empty());
+-                delete[] ptr;
+-                ptr = nullptr;
+-                type = &typeid(Char);
+-                size = sizeof(Char) * s.size();
+-                ptr = size ? new char[size] : nullptr;
+-                memcpy(ptr, s.data(), size);
+-            }
+-
+-            template
+-            std::basic_string get() const
+-            {
+-                if(type == nullptr || *type != typeid(Char))
+-                    throw std::bad_cast();
+-                std::basic_string result(size / sizeof(Char), Char(0));
+-                memcpy(&result.front(), ptr, size);
+-                return result;
+-            }
+-
+-        private:
+-            const std::type_info* type;
+-            size_t size;
+-            char* ptr;
+-        };
+-
+         uint64_t flags_;
+         int domain_id_;
+         std::string time_zone_;
+-        string_set datetime_;
++        detail::any_string datetime_;
+     };
+ 
+     /// \brief This namespace includes all manipulators that can be used on IO streams
+diff --git a/src/boost/locale/shared/formatting.cpp b/src/boost/locale/shared/formatting.cpp
+index 489d1fd5..457ba782 100644
+--- a/libs/locale/src/boost/locale/shared/formatting.cpp
++++ b/libs/locale/src/boost/locale/shared/formatting.cpp
+@@ -7,43 +7,8 @@
+ #include 
+ #include 
+ #include "boost/locale/shared/ios_prop.hpp"
+-#include 
+-#include 
+ 
+ namespace boost { namespace locale {
+-
+-    ios_info::string_set::string_set() : type(nullptr), size(0), ptr(nullptr) {}
+-    ios_info::string_set::~string_set()
+-    {
+-        delete[] ptr;
+-    }
+-    ios_info::string_set::string_set(const string_set& other)
+-    {
+-        if(other.ptr != nullptr) {
+-            ptr = new char[other.size];
+-            size = other.size;
+-            type = other.type;
+-            memcpy(ptr, other.ptr, size);
+-        } else {
+-            ptr = nullptr;
+-            size = 0;
+-            type = nullptr;
+-        }
+-    }
+-
+-    void ios_info::string_set::swap(string_set& other)
+-    {
+-        std::swap(type, other.type);
+-        std::swap(size, other.size);
+-        std::swap(ptr, other.ptr);
+-    }
+-
+-    ios_info::string_set& ios_info::string_set::operator=(string_set other)
+-    {
+-        swap(other);
+-        return *this;
+-    }
+-
+     ios_info::ios_info() : flags_(0), domain_id_(0), time_zone_(time_zone::global()) {}
+ 
+     ios_info::~ios_info() = default;
+@@ -105,16 +70,6 @@ namespace boost { namespace locale {
+         return time_zone_;
+     }
+ 
+-    const ios_info::string_set& ios_info::date_time_pattern_set() const
+-    {
+-        return datetime_;
+-    }
+-
+-    ios_info::string_set& ios_info::date_time_pattern_set()
+-    {
+-        return datetime_;
+-    }
+-
+     ios_info& ios_info::get(std::ios_base& ios)
+     {
+         return impl::ios_prop::get(ios);
+diff --git a/libs/locale/test/test_ios_info.cpp b/libs/locale/test/test_ios_info.cpp
+index 9b63aaed..79179a8f 100644
+--- a/libs/locale/test/test_ios_info.cpp
++++ b/libs/locale/test/test_ios_info.cpp
+@@ -105,18 +105,6 @@ void test_member_methods()
+ 
+         info.date_time_pattern(std::string("Pattern"));
+         TEST_EQ(info.date_time_pattern(), "Pattern");
+-
+-        info.date_time_pattern(ascii_to("WChar Pattern"));
+-        TEST_EQ(info.date_time_pattern(), ascii_to("WChar Pattern"));
+-        TEST_THROWS(info.date_time_pattern(), std::bad_cast);
+-
+-        info.date_time_pattern(ascii_to("Char16 Pattern"));
+-        TEST_THROWS(info.date_time_pattern(), std::bad_cast);
+-        TEST_EQ(info.date_time_pattern(), ascii_to("Char16 Pattern"));
+-
+-        info.date_time_pattern(ascii_to("Char32 Pattern"));
+-        TEST_THROWS(info.date_time_pattern(), std::bad_cast);
+-        TEST_EQ(info.date_time_pattern(), ascii_to("Char32 Pattern"));
+     }
+ }
+ 
+@@ -212,8 +200,60 @@ void test_manipulators()
+     TEST_EQ(info2.date_time_pattern(), L"My TZ");
+ }
+ 
++void test_any_string()
++{
++    boost::locale::detail::any_string s;
++    TEST_THROWS(s.get(), std::bad_cast);
++    TEST_THROWS(s.get(), std::bad_cast);
++
++    s.set("Char Pattern");
++    TEST_EQ(s.get(), "Char Pattern");
++    TEST_THROWS(s.get(), std::bad_cast);
++
++    s.set(ascii_to("WChar Pattern"));
++    TEST_EQ(s.get(), ascii_to("WChar Pattern"));
++    TEST_THROWS(s.get(), std::bad_cast);
++
++    s.set(ascii_to("Char16 Pattern"));
++    TEST_EQ(s.get(), ascii_to("Char16 Pattern"));
++    TEST_THROWS(s.get(), std::bad_cast);
++
++    s.set(ascii_to("Char32 Pattern"));
++    TEST_EQ(s.get(), ascii_to("Char32 Pattern"));
++    TEST_THROWS(s.get(), std::bad_cast);
++
++#ifndef BOOST_LOCALE_NO_CXX20_STRING8
++    s.set(ascii_to("Char8 Pattern"));
++    TEST_EQ(s.get(), ascii_to("Char8 Pattern"));
++    TEST_THROWS(s.get(), std::bad_cast);
++#endif
++
++    boost::locale::detail::any_string s1, s2, empty;
++    s1.set("Char");
++    s2.set(ascii_to("WChar"));
++    // Copy ctor
++    boost::locale::detail::any_string s3(s1);
++    TEST_EQ(s3.get(), "Char");
++    TEST_EQ(s1.get(), "Char");
++    // Ensure deep copy
++    s3.set("Foo");
++    TEST_EQ(s3.get(), "Foo");
++    TEST_EQ(s1.get(), "Char");
++    // Copy assign
++    s3 = s2;
++    TEST_EQ(s3.get(), ascii_to("WChar"));
++    TEST_EQ(s2.get(), ascii_to("WChar"));
++    // Move assign
++    s3 = std::move(s1);
++    TEST_EQ(s3.get(), "Char");
++    // From empty
++    s3 = empty;
++    TEST_THROWS(s3.get(), std::bad_cast);
++}
++
+ void test_main(int /*argc*/, char** /*argv*/)
+ {
++    test_any_string();
+     test_member_methods();
+     test_manipulators();
+ }

From 7387c5dea20e317f717b7c5815cf90e6a924cb3f Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Tue, 6 Feb 2024 00:02:00 +0000
Subject: [PATCH 1067/1307] (#22681) [bot] Update list of references
 (prod-v2/ListPackages)

Co-authored-by: conan-center-bot 
---
 .c3i/conan_v2_ready_references.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml
index 312d7c7c8d526..8eeed5f74f09b 100644
--- a/.c3i/conan_v2_ready_references.yml
+++ b/.c3i/conan_v2_ready_references.yml
@@ -346,6 +346,7 @@ required_for_references:
 - eternal
 - ethash
 - etl
+- eventpp
 - evmc
 - exiv2
 - expat
@@ -454,6 +455,7 @@ required_for_references:
 - gnu-config
 - gnulib
 - gnutls
+- godot-cpp
 - godot_headers
 - googleapis
 - gperf
@@ -1013,8 +1015,10 @@ required_for_references:
 - outcome
 - ozz-animation
 - p-ranav-glob
+- p7zip
 - paho-mqtt-c
 - paho-mqtt-cpp
+- pango
 - panzi-portable-endian
 - parallel-hashmap
 - parg

From 52526d5dad66ef846f3452c5f4e8b5d44aee3c18 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 12:47:57 +0900
Subject: [PATCH 1068/1307] (#22455) scnlib: add version 2.0.0, remove older
 version

* scnlib: add version 2.0.0

* support other options

* remove 0.4, preserve header_only option

* add build_requirements

* drop support gcc11 in 2.0.0

* drop support apple-clang 12, 13 due to std::regex_constants::multiline

* update msvc version

* drop support msvc on C++17

* update fast_float/6.1.0
---
 recipes/scnlib/all/conandata.yml              |  14 +--
 recipes/scnlib/all/conanfile.py               | 110 ++++++++++++++----
 .../0.4-0001-install-dll-windows.patch        |  10 --
 .../2.0.0-0001-remove-re2-version.patch       |  13 +++
 .../scnlib/all/test_package/CMakeLists.txt    |   7 +-
 .../scnlib/all/test_package/test_package.cpp  |  26 ++++-
 recipes/scnlib/config.yml                     |   4 +-
 7 files changed, 136 insertions(+), 48 deletions(-)
 delete mode 100644 recipes/scnlib/all/patches/0.4-0001-install-dll-windows.patch
 create mode 100644 recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch

diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml
index fc615b57c8109..28c026a4701a3 100644
--- a/recipes/scnlib/all/conandata.yml
+++ b/recipes/scnlib/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.0.0":
+    url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.0.tar.gz"
+    sha256: "2a35356a3a7485fdf97f28cfbea52db077cf4e7bab0a5a0fc3b04e89630334cd"
   "1.1.3":
     url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.1.3.tar.gz"
     sha256: "32ca1baed2da5d86aa03273c87580ef32e95925697d252138507ec0545d86ab2"
@@ -8,10 +11,11 @@ sources:
   "1.0":
     url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz"
     sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe"
-  "0.4":
-    url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v0.4.tar.gz"
-    sha256: "f23e66b00c9d38671b39b83c082a5b2db1cf05b3e3eff7b4a769487d9ed9d366"
 patches:
+  "2.0.0":
+    - patch_file: "patches/2.0.0-0001-remove-re2-version.patch"
+      patch_description: "remove re2 version on find_package"
+      patch_type: "portability"
   "1.1.3":
     - patch_file: "patches/1.1.3-0001-install-dll-windows.patch"
       patch_description: "add runtime destination path on install"
@@ -42,7 +46,3 @@ patches:
     - patch_file: "patches/1.0-0003-use-conan-package.patch"
       patch_description: "use conan package of fast-float"
       patch_type: "conan"
-  "0.4":
-    - patch_file: "patches/0.4-0001-install-dll-windows.patch"
-      patch_description: "add runtime destination path on install"
-      patch_type: "portability"
diff --git a/recipes/scnlib/all/conanfile.py b/recipes/scnlib/all/conanfile.py
index 3760576fb6438..c08cd042027e8 100644
--- a/recipes/scnlib/all/conanfile.py
+++ b/recipes/scnlib/all/conanfile.py
@@ -1,10 +1,11 @@
 from conan import ConanFile
-from conan.tools.microsoft import check_min_vs
 from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir
 from conan.tools.build import check_min_cppstd
 from conan.tools.scm import Version
 from conan.tools.layout import basic_layout
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.microsoft import is_msvc
+from conan.errors import ConanInvalidConfiguration
 
 import os
 
@@ -23,16 +24,40 @@ class ScnlibConan(ConanFile):
         "header_only": [True, False],
         "shared": [True, False],
         "fPIC": [True, False],
+        "regex_backend": ["None", "std", "boost", "boost_icu", "re2"],
     }
     default_options = {
         "header_only": False,
         "shared": False,
         "fPIC": True,
+        "regex_backend": "std",
     }
 
     @property
     def _min_cppstd(self):
-        return 11
+        if Version(self.version) < "2.0.0":
+            return "11"
+        else:
+            # scn/2.0.0 has complation error on MSVC c++17
+            # we have to use versions which support c++20
+            # https://github.com/eliaskosunen/scnlib/issues/97
+            # https://github.com/conan-io/conan-center-index/pull/22455#issuecomment-1924444193
+            return "20" if is_msvc(self) else "17"
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "17": {
+                "gcc": "8",
+                "clang": "7",
+                # scn/2.0.0 requires std::regex_constants::multiline
+                "apple-clang": "14",
+            },
+            "20": {
+                "Visual Studio": "17",
+                "msvc": "193",
+            }
+        }.get(self._min_cppstd, {})
 
     def export_sources(self):
         export_conandata_patches(self)
@@ -40,37 +65,61 @@ def export_sources(self):
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
+        if Version(self.version) < "2.0":
+            del self.options.regex_backend
 
     def configure(self):
-        if self.options.header_only or self.options.shared:
+        if self.options.get_safe("header_only") or self.options.shared:
             self.options.rm_safe("fPIC")
-        if self.options.header_only:
+        if self.options.get_safe("header_only"):
             del self.options.shared
+            self.package_type = "header-library"
 
     def layout(self):
-        if self.options.header_only:
+        if self.options.get_safe("header_only"):
             basic_layout(self, src_folder="src")
         else:
             cmake_layout(self, src_folder="src")
 
     def requirements(self):
-        if Version(self.version) >= "1.0":
-            self.requires("fast_float/6.0.0")
+        self.requires("fast_float/6.1.0")
+        if Version(self.version) >= "2.0":
+            self.requires("simdutf/4.0.5")
+        if self.options.get_safe("regex_backend") in ["boost", "boost_icu"]:
+            self.requires("boost/1.83.0")
+        elif self.options.get_safe("regex_backend") == "re2":
+            self.requires("re2/20231101")
+
+    def package_id(self):
+        if self.info.options.get_safe("header_only"):
+            self.info.clear()
 
     def validate(self):
         if self.settings.compiler.get_safe("cppstd"):
             check_min_cppstd(self, self._min_cppstd)
-        check_min_vs(self, 192 if Version(self.version) >= "1.0" else 191)
-
-    def package_id(self):
-        if self.info.options.header_only:
-            self.info.clear()
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+        if self.options.get_safe("regex_backend") == "boost_icu" and \
+            not self.dependencies["boost"].options.get_safe("i18n_backend_icu"):
+            raise ConanInvalidConfiguration(
+                f"{self.ref} with regex_backend=Boost_icu option requires boost::i18n_backend_icu to be enabled."
+            )
+        if Version(self.version) >= "2.0.0" and self.options.header_only:
+            raise ConanInvalidConfiguration(f"{self.ref} doesn't support header only mode.")
+        if Version(self.version) >= "2.0.0" and self.settings.compiler == "gcc" and Version(self.settings.compiler.version).major == "11":
+            raise ConanInvalidConfiguration(f"{self.ref} doesn't support gcc 11.x due to std::regex_constants::multiline is not defined.")
+
+    def build_requirements(self):
+        self.tool_requires("cmake/[>=3.16 <4]")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def generate(self):
-        if self.options.header_only:
+        if self.options.get_safe("header_only"):
             return
 
         tc = CMakeToolchain(self)
@@ -80,8 +129,17 @@ def generate(self):
         tc.variables["SCN_DOCS"] = False
         tc.variables["SCN_INSTALL"] = True
         tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True
-        if Version(self.version) >= "1.0":
+        if Version(self.version) < "2.0":
             tc.variables["SCN_USE_BUNDLED_FAST_FLOAT"] = False
+        else:
+            tc.variables["SCN_USE_EXTERNAL_SIMDUTF"] = True
+            tc.variables["SCN_USE_EXTERNAL_FAST_FLOAT"] = True
+            tc.variables["SCN_BENCHMARKS_BUILDTIME"] = False
+            tc.variables["SCN_BENCHMARKS_BINARYSIZE"] = False
+            tc.variables["SCN_DISABLE_REGEX"] = self.options.regex_backend is None
+            if self.options.regex_backend is not None:
+                tc.variables["SCN_REGEX_BACKEND"] = self.options.regex_backend
+                tc.variables["SCN_USE_EXTERNAL_REGEX_BACKEND"] = True
         tc.generate()
 
         deps = CMakeDeps(self)
@@ -89,14 +147,14 @@ def generate(self):
 
     def build(self):
         apply_conandata_patches(self)
-        if not self.options.header_only:
+        if not self.options.get_safe("header_only"):
             cmake = CMake(self)
             cmake.configure()
             cmake.build()
 
     def package(self):
         copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
-        if self.options.header_only:
+        if self.options.get_safe("header_only"):
             copy(self, "*", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include"))
             src_folder = os.path.join(self.source_folder, "src")
             if Version(self.version) >= "1.0":
@@ -111,23 +169,27 @@ def package(self):
             cmake.install()
             rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
             rmdir(self, os.path.join(self.package_folder, "share"))
-        if Version(self.version) >= "1.0":
-            rm(self, "*.cmake", os.path.join(self.package_folder, "include", "scn", "detail"))
-            rmdir(self, os.path.join(self.package_folder, "include", "scn", "detail", "CMakeFiles"))
-            rmdir(self, os.path.join(self.package_folder, "include", "scn", "detail", "deps", "CMakeFiles"))
+        rm(self, "*.cmake", os.path.join(self.package_folder, "include", "scn", "detail"))
+        rmdir(self, os.path.join(self.package_folder, "include", "scn", "detail", "CMakeFiles"))
+        rmdir(self, os.path.join(self.package_folder, "include", "scn", "detail", "deps", "CMakeFiles"))
 
     def package_info(self):
-        target = "scn-header-only" if self.options.header_only else "scn"
+        target = "scn-header-only" if self.options.get_safe("header_only") else "scn"
         self.cpp_info.set_property("cmake_file_name", "scn")
         self.cpp_info.set_property("cmake_target_name", f"scn::{target}")
         # TODO: back to global scope in conan v2 once cmake_find_package* generators removed
-        if self.options.header_only:
+        if self.options.get_safe("header_only"):
             self.cpp_info.components["_scnlib"].defines = ["SCN_HEADER_ONLY=1"]
         else:
             self.cpp_info.components["_scnlib"].defines = ["SCN_HEADER_ONLY=0"]
             self.cpp_info.components["_scnlib"].libs = ["scn"]
-        if Version(self.version) >= "1.0":
-            self.cpp_info.components["_scnlib"].requires = ["fast_float::fast_float"]
+        self.cpp_info.components["_scnlib"].requires.append("fast_float::fast_float")
+        if Version(self.version) >= "2.0":
+            self.cpp_info.components["_scnlib"].requires.append("simdutf::simdutf")
+            if self.options.get_safe("regex_backend") in ["boost", "boost_icu"]:
+                self.cpp_info.components["_scnlib"].requires.append("boost::regex")
+            elif self.options.get_safe("regex_backend") == "re2":
+                self.cpp_info.components["_scnlib"].requires.append("re2::re2")
 
         if self.settings.os in ["Linux", "FreeBSD"]:
             self.cpp_info.components["_scnlib"].system_libs.append("m")
diff --git a/recipes/scnlib/all/patches/0.4-0001-install-dll-windows.patch b/recipes/scnlib/all/patches/0.4-0001-install-dll-windows.patch
deleted file mode 100644
index 8928ce2f8c250..0000000000000
--- a/recipes/scnlib/all/patches/0.4-0001-install-dll-windows.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -145,6 +145,7 @@ if (SCN_INSTALL)
- 
-     install(TARGETS ${SCN_EXPORT_TARGETS_LIST}
-             EXPORT scnTargets
-+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-             ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
-             LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-             INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch b/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch
new file mode 100644
index 0000000000000..a256652f48c41
--- /dev/null
+++ b/recipes/scnlib/all/patches/2.0.0-0001-remove-re2-version.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake
+index ae2832b..fec6359 100644
+--- a/cmake/dependencies.cmake
++++ b/cmake/dependencies.cmake
+@@ -154,7 +154,7 @@ if (SCN_REGEX_BACKEND STREQUAL "re2")
+         message(FATAL_ERROR "SCN_REGEX_BOOST_USE_ICU isn't supported when SCN_REGEX_BACKEND is re2")
+     endif ()
+ 
+-    find_package(re2 11.0.0 REQUIRED)
++    find_package(re2 REQUIRED)
+     set(SCN_REGEX_BACKEND_TARGET re2::re2)
+ endif ()
+ 
diff --git a/recipes/scnlib/all/test_package/CMakeLists.txt b/recipes/scnlib/all/test_package/CMakeLists.txt
index 0c68330d44cd3..ebeda65ce06fe 100644
--- a/recipes/scnlib/all/test_package/CMakeLists.txt
+++ b/recipes/scnlib/all/test_package/CMakeLists.txt
@@ -9,4 +9,9 @@ if(TARGET scn::scn-header-only)
 else()
     target_link_libraries(${PROJECT_NAME} PRIVATE scn::scn)
 endif()
-target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
+if (scn_VERSION VERSION_LESS "2.0.0")
+    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
+else()
+    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
+    target_compile_definitions(${PROJECT_NAME} PUBLIC SCNLIB_V2)
+endif()
diff --git a/recipes/scnlib/all/test_package/test_package.cpp b/recipes/scnlib/all/test_package/test_package.cpp
index 148a9caff4852..276439b1c0eb3 100644
--- a/recipes/scnlib/all/test_package/test_package.cpp
+++ b/recipes/scnlib/all/test_package/test_package.cpp
@@ -1,9 +1,27 @@
+#include 
+#include 
+
+#ifndef SCNLIB_V2
+
 #include 
 
-#include 
+int main() {
+    std::string word;
+    auto result = scn::scan("Hello world", "{}", word);
+    std::cout << word << '\n';
+    std::cout << result.range_as_string() << '\n';
+}
+
+#else
+
+#include 
 
 int main() {
-    std::string s{"conan-center-index"};
-    auto span = scn::make_span(s);
-    return 0;
+    if (auto result = scn::scan("Hello world!", "{}")) {
+        std::cout << result->value() << '\n';
+    } else {
+        std::cout << "Couldn't parse a word: " << result.error().msg() << '\n';
+    }
 }
+
+#endif
diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml
index 3305d97b32797..8d8acc5534543 100644
--- a/recipes/scnlib/config.yml
+++ b/recipes/scnlib/config.yml
@@ -1,9 +1,9 @@
 versions:
+  "2.0.0":
+    folder: all
   "1.1.3":
     folder: all
   "1.1.2":
     folder: all
   "1.0":
     folder: all
-  "0.4":
-    folder: all

From a51031f1b475514909f4b67c7623d714aca00b0d Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 05:09:11 +0100
Subject: [PATCH 1069/1307] (#22594) stale: migrate from bot to action

* stale: migrate from bot to action

The bot has been deprecated for some time: https://github.com/probot/stale

* Apply suggestions from code review

Co-authored-by: Uilian Ries 

---------

Co-authored-by: Uilian Ries 
---
 .github/stale.yml           | 61 -----------------------------------
 .github/workflows/stale.yml | 63 +++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 61 deletions(-)
 delete mode 100644 .github/stale.yml
 create mode 100644 .github/workflows/stale.yml

diff --git a/.github/stale.yml b/.github/stale.yml
deleted file mode 100644
index f3a08a0c9f04e..0000000000000
--- a/.github/stale.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-# Configuration for probot-stale - https://github.com/probot/stale
-
-# Number of days of inactivity before an Issue or Pull Request becomes stale
-daysUntilStale: 30
-
-# Number of days of inactivity before an Issue or Pull Request with the stale label is closed.
-# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale.
-daysUntilClose: 30
-
-# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled)
-onlyLabels: []
-
-# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable
-exemptLabels:
-  - blocked
-  - infrastructure
-
-# Set to true to ignore issues in a project (defaults to false)
-exemptProjects: false
-
-# Set to true to ignore issues in a milestone (defaults to false)
-exemptMilestones: false
-
-# Set to true to ignore issues with an assignee (defaults to false)
-exemptAssignees: false
-
-# Label to use when marking as stale
-staleLabel: stale
-
-# Comment to post when marking as stale. Set to `false` to disable
-markComment: >
-  This pull request has been automatically marked as stale because it has not had
-  recent activity. It will be closed if no further activity occurs. Thank you
-  for your contributions.
-
-# Comment to post when removing the stale label.
-# unmarkComment: >
-#   Your comment here.
-
-# Comment to post when closing a stale Issue or Pull Request.
-closeComment: >
-  This pull request has been automatically closed because it has not had
-  recent activity. Thank you for your contributions.
-
-# Limit the number of actions per hour, from 1-30. Default is 30
-limitPerRun: 30
-
-# Limit to only `issues` or `pulls`
-only: pulls
-
-# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls':
-# pulls:
-#   daysUntilStale: 30
-#   markComment: >
-#     This pull request has been automatically marked as stale because it has not had
-#     recent activity. It will be closed if no further activity occurs. Thank you
-#     for your contributions.
-
-# issues:
-#   exemptLabels:
-#     - confirmed
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 0000000000000..434907fbc777c
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,63 @@
+# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
+#
+# You can adjust the behavior by modifying this file.
+# For more information, see:
+# https://github.com/actions/stale
+name: Mark stale pull requests
+
+
+on:
+  schedule:
+  - cron: '34 6 * * *'
+
+jobs:
+  stale:
+    if: github.repository == 'conan-io/conan-center-index'
+
+    runs-on: ubuntu-latest
+    permissions:
+      pull-requests: read
+      issues: write
+
+
+    steps:
+    - uses: actions/stale@v9
+      with:
+        # Do not make issues as stale
+        days-before-issue-stale: -1
+        # Number of days before stale PRs are closed
+        days-before-pr-stale: 30
+
+
+        # Do not close issues automatically
+        days-before-issue-close: -1
+        # Idle number of days before closing stale PRs
+        days-before-pr-close: 30
+
+
+        # Labels on PRs exempted from stale
+        exempt-pr-labels: blocked,infrastructure
+
+        # Label to apply on staled PRs
+        stale-pr-label: 'stale'
+        # Label to be removed when updating a PR
+        labels-to-remove-when-unstale: 'stale'
+
+        # Skip issues when having stale state
+        remove-issue-stale-when-updated: false
+        ignore-issue-updates: true
+
+
+        # Comment on the staled PRs
+        stale-pr-message: >
+            This pull request has been automatically marked as stale because it has not had
+            recent activity. It will be closed if no further activity occurs. Thank you
+            for your contributions.
+
+        # Comment on the staled PRs while closed
+        close-pr-message: >
+            This pull request has been automatically closed because it has not had
+            recent activity. Thank you for your contributions.
+
+        # Max number of operations per run
+        operations-per-run: 30

From 469ee55e8a7723668e85c0d0830f6a74ffe8d8f5 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 13:28:44 +0900
Subject: [PATCH 1070/1307] (#22628) libnabo: add version 1.1.0

* libnabo: add version 1.1.0

* export symbols on windows

* add short_paths

* disable fPIC
---
 recipes/libnabo/all/conandata.yml             |  7 +++
 recipes/libnabo/all/conanfile.py              | 21 +++++++-
 .../all/patches/1.1.0-0001-fix-cmake.patch    | 51 +++++++++++++++++++
 recipes/libnabo/config.yml                    |  2 +
 4 files changed, 79 insertions(+), 2 deletions(-)
 create mode 100644 recipes/libnabo/all/patches/1.1.0-0001-fix-cmake.patch

diff --git a/recipes/libnabo/all/conandata.yml b/recipes/libnabo/all/conandata.yml
index 86054cc4bd55a..7eb0f0c7c45e1 100644
--- a/recipes/libnabo/all/conandata.yml
+++ b/recipes/libnabo/all/conandata.yml
@@ -1,8 +1,15 @@
 sources:
+  "1.1.0":
+    url: "https://github.com/ethz-asl/libnabo/archive/refs/tags/1.1.0.tar.gz"
+    sha256: "b69aa15cfe6baf77ae20eadd5ada9f71c725895a8983b72afb0439a1308dea5a"
   "1.0.7":
     url: "https://github.com/ethz-asl/libnabo/archive/refs/tags/1.0.7.tar.gz"
     sha256: "817f43ba77668a7fab2834e78f0a9ff80e294d69c9818142084a32040547d10a"
 patches:
+  "1.1.0":
+    - patch_file: "patches/1.1.0-0001-fix-cmake.patch"
+      patch_description: "use cci's eigen, disable fPIC on static build"
+      patch_type: "conan"
   "1.0.7":
     - patch_file: "patches/1.0.7-0001-fix-cmake.patch"
       patch_description: "Fix upstream CMakeLists"
diff --git a/recipes/libnabo/all/conanfile.py b/recipes/libnabo/all/conanfile.py
index 7ea7ce19cee21..fd6030eb858fa 100644
--- a/recipes/libnabo/all/conanfile.py
+++ b/recipes/libnabo/all/conanfile.py
@@ -1,6 +1,8 @@
 from conan import ConanFile
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir
+from conan.tools.build import check_min_cppstd
+from conan.tools.scm import Version
 import os
 
 required_conan_version = ">=1.53.0"
@@ -10,9 +12,9 @@ class LibnaboConan(ConanFile):
     name = "libnabo"
     description = "A fast K Nearest Neighbor library for low-dimensional spaces"
     license = "BSD-3-Clause"
-    topics = ("nearest-neighbor", "kd-tree")
-    homepage = "https://github.com/ethz-asl/libnabo"
     url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/ethz-asl/libnabo"
+    topics = ("nearest-neighbor", "kd-tree")
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {
@@ -25,6 +27,11 @@ class LibnaboConan(ConanFile):
         "fPIC": True,
         "with_openmp": False,
     }
+    short_paths = True
+
+    @property
+    def _min_cppstd(self):
+        return 11
 
     def export_sources(self):
         export_conandata_patches(self)
@@ -43,6 +50,10 @@ def layout(self):
     def requirements(self):
         self.requires("eigen/3.4.0", transitive_headers=True)
 
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
@@ -51,6 +62,12 @@ def generate(self):
         tc.cache_variables["USE_OPEN_MP"] = self.options.with_openmp
         tc.cache_variables["USE_OPEN_CL"] = False
         tc.cache_variables["SHARED_LIBS"] = self.options.shared
+        if Version(self.version) >= "1.1.0":
+            tc.variables["LIBNABO_BUILD_DOXYGEN"] = False
+            tc.variables["LIBNABO_BUILD_EXAMPLES"] = False
+            tc.variables["LIBNABO_BUILD_TESTS"] = False
+            tc.variables["LIBNABO_BUILD_PYTHON"] = False
+            tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True
         tc.generate()
         deps = CMakeDeps(self)
         deps.generate()
diff --git a/recipes/libnabo/all/patches/1.1.0-0001-fix-cmake.patch b/recipes/libnabo/all/patches/1.1.0-0001-fix-cmake.patch
new file mode 100644
index 0000000000000..763b4f0a33bce
--- /dev/null
+++ b/recipes/libnabo/all/patches/1.1.0-0001-fix-cmake.patch
@@ -0,0 +1,51 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7ba5fb7..36ab3a0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -91,17 +91,17 @@ endif ()
+ include(GNUInstallDirs)
+ 
+ # eigen 2 or 3
+-find_path(EIGEN_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
+-  HINTS  ENV EIGEN3_INC_DIR
+-         ENV EIGEN3_DIR
+-  PATHS  Eigen/Core
+-         /usr/local/include
+-         /usr/include
+-         /opt/local/include
+-  PATH_SUFFIXES include eigen3 eigen2 eigen
+-  DOC "Directory containing the Eigen3 header files"
+-)
+-
++# find_path(EIGEN_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
++#   HINTS  ENV EIGEN3_INC_DIR
++#          ENV EIGEN3_DIR
++#   PATHS  Eigen/Core
++#          /usr/local/include
++#          /usr/include
++#          /opt/local/include
++#   PATH_SUFFIXES include eigen3 eigen2 eigen
++#   DOC "Directory containing the Eigen3 header files"
++# )
++find_package(Eigen3 REQUIRED CONFIG)
+ # optionally, opencl
+ # OpenCL disabled as its code is not up-to-date with API
+ set(USE_OPEN_CL FALSE CACHE BOOL "Set to TRUE to look for OpenCL")
+@@ -146,14 +146,14 @@ if (SHARED_LIBS)
+ else ()
+ 	add_library(${LIB_NAME} STATIC ${NABO_SRC})
+ 	if (NOT MSVC)
+-		target_compile_options(${LIB_NAME} PRIVATE -fPIC)
++#		target_compile_options(${LIB_NAME} PRIVATE -fPIC)
+ 	endif()
+ 	install(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib)
+ endif ()
+ set_target_properties(${LIB_NAME} PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION 1)
+-
++target_link_libraries(${LIB_NAME} PUBLIC Eigen3::Eigen)
+ target_include_directories(${LIB_NAME} PUBLIC
+-	${EIGEN_INCLUDE_DIR}
++#	${EIGEN_INCLUDE_DIR}
+ 	$
+ 	$
+   )
diff --git a/recipes/libnabo/config.yml b/recipes/libnabo/config.yml
index 377623d3a93f7..5150f4a01606f 100644
--- a/recipes/libnabo/config.yml
+++ b/recipes/libnabo/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.1.0":
+    folder: all
   "1.0.7":
     folder: all

From 2491716a399a2e96a7665c83296fb9745df74b77 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 05:48:04 +0100
Subject: [PATCH 1071/1307] (#22664) actions: bump
 peter-evans/create-pull-request

---
 .github/workflows/on-push-do-doco.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/on-push-do-doco.yml b/.github/workflows/on-push-do-doco.yml
index f5206b720d4a9..17b68406118dd 100644
--- a/.github/workflows/on-push-do-doco.yml
+++ b/.github/workflows/on-push-do-doco.yml
@@ -22,7 +22,7 @@ jobs:
           --toc-level 5
       shell: bash
     - name: Create Pull Request
-      uses: peter-evans/create-pull-request@v4
+      uses: peter-evans/create-pull-request@v6
       with:
         branch: bot/action-doc-toc
         commit-message: "[docs] Regenerate tables of contents"

From ed5d2f31ee5a9b2aa5e9153c89a27b5ec12be540 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 06:08:32 +0100
Subject: [PATCH 1072/1307] (#22671) libsquish: generate missing binaries

* squish: generate missing binaries

* Update conanfile.py

* Update conanfile.py

* fix lib name
---
 recipes/libsquish/all/conanfile.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes/libsquish/all/conanfile.py b/recipes/libsquish/all/conanfile.py
index aaefbce93b7c7..7275e4df15734 100644
--- a/recipes/libsquish/all/conanfile.py
+++ b/recipes/libsquish/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
-from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get
+from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get
 import os
 
 required_conan_version = ">=1.53.0"
@@ -81,6 +81,6 @@ def package(self):
         cmake.install()
 
     def package_info(self):
-        self.cpp_info.libs = collect_libs(self)
+        self.cpp_info.libs = ["squishd" if self.settings.build_type == "Debug" else "squish"]
         if self.settings.os in ["Linux", "FreeBSD"]:
             self.cpp_info.system_libs.append("m")

From 07df0e075e2115c70a40456bad5588e0bd4e2212 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Tue, 6 Feb 2024 09:02:52 +0100
Subject: [PATCH 1073/1307] (#22674) [c-blosc2] Update package sha256

* remove version 2.4.3

Signed-off-by: Uilian Ries 

* remove version 2.6.0

Signed-off-by: Uilian Ries 

* remove version 2.10

Signed-off-by: Uilian Ries 

* remove patch files

Signed-off-by: Uilian Ries 

* remove 2.10

Signed-off-by: Uilian Ries 

* update checksum

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
---
 recipes/c-blosc2/all/conandata.yml            |  56 +------
 .../all/patches/2.10.0-0001-fix-cmake.patch   | 106 -------------
 .../all/patches/2.10.2-0001-fix-cmake.patch   | 139 ------------------
 .../all/patches/2.4.1-0001-fix-cmake.patch    | 119 ---------------
 recipes/c-blosc2/config.yml                   |  12 --
 5 files changed, 7 insertions(+), 425 deletions(-)
 delete mode 100644 recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch
 delete mode 100644 recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch
 delete mode 100644 recipes/c-blosc2/all/patches/2.4.1-0001-fix-cmake.patch

diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml
index 82534d15de07f..647496032bc04 100644
--- a/recipes/c-blosc2/all/conandata.yml
+++ b/recipes/c-blosc2/all/conandata.yml
@@ -1,43 +1,25 @@
 sources:
   "2.13.1":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.13.1.tar.gz"
-    sha256: "6e7f5940269acd54d8dfe87c2102a442ad0407b1a62266a6f916134bae234399"
+    sha256: "8e71ed3ca2eb4dad13adc34b2e88fb2687b63b8d9cc904aaf60510d75c44ff47"
   "2.13.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.13.0.tar.gz"
-    sha256: "d886798ff0a63948a4076f2ed60f0dc18be3aa1299ac1aff2cf705419cbe1bea"
+    sha256: "931ab054e83ebc98786f2e014156c6b5168af27e52d37d63523fa1a87c080f44"
   "2.12.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.12.0.tar.gz"
-    sha256: "b8fa07ab0627c19fb652e08a5ada197eb0939b75e97e2fb76bbee145eaedc6e9"
+    sha256: "51685bab203685100d03ece2e724a3ea035174fd6108e3c45a55a1a60e0ec350"
   "2.11.3":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz"
-    sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037"
-  "2.11.2":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.11.2.tar.gz"
-    sha256: "4a508362653468d8948762886c6b24e6bafb70e02709aa31284c0ff9db62b83d"
-  "2.11.1":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.11.1.tar.gz"
-    sha256: "1e9923e0f026eb6e6caee608b4b9a523837806076fc79409055a6386cf5de1ea"
+    sha256: "89e5e1019853e0fbb5ebb97828abb141cae8dba0d7bf5d29364d07d227f864f0"
   "2.10.5":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.10.5.tar.gz"
-    sha256: "a88f94bf839c1371aab8207a6a43698ceb92c72f65d0d7fe5b6e59f24c138b4d"
-  "2.10.2":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.10.2.tar.gz"
-    sha256: "069785bc14c006c7dab40ea0c620bdf3eb8752663fd55c706d145bceabc2a31d"
-  "2.10.0":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.10.0.tar.gz"
-    sha256: "cb7f7c0c62af78982140ecff21a2f3ca9ce6a0a1c02e314fcdce1a98da0fe231"
+    sha256: "3540ac942d845beedb432cf4f65c2c30c3818e211e094f1320563f9aa2bc7b3b"
   "2.8.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.8.0.tar.gz"
-    sha256: "be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd"
+    sha256: "97327e493908911ee06dd5144afa8818de255127305e63ef39368d8d8ae2cb06"
   "2.6.1":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.6.1.tar.gz"
-    sha256: "514a793368093893c1a7cae030f7e31faca7f86465ae69dd576f256d8bf28c08"
-  "2.6.0":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.6.0.tar.gz"
-    sha256: "ca4fc79a7c4a4d4f53da856ee0bb7083c16236210fdd6263397124572c25a507"
-  "2.4.3":
-    url: "https://github.com/Blosc/c-blosc2/archive/v2.4.3.tar.gz"
-    sha256: "d4aa5e0794598794f20ab950e973d44f0d0d9c133ea1a5a07cb200fa54d2e036"
+    sha256: "4a91b229cfa5beb89ab9edb75f7a45e501ac6bb19a9b73a26f06e9b2a1f42875"
 patches:
   "2.13.1":
     - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
@@ -55,26 +37,10 @@ patches:
     - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
       patch_description: "use cci package"
       patch_type: "conan"
-  "2.11.2":
-    - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
-  "2.11.1":
-    - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
   "2.10.5":
     - patch_file: "patches/2.10.5-0001-fix-cmake.patch"
       patch_description: "use cci package"
       patch_type: "conan"
-  "2.10.2":
-    - patch_file: "patches/2.10.2-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
-  "2.10.0":
-    - patch_file: "patches/2.10.0-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
   "2.8.0":
     - patch_file: "patches/2.8.0-0001-fix-cmake.patch"
       patch_description: "use cci package"
@@ -83,11 +49,3 @@ patches:
     - patch_file: "patches/2.6.0-0001-fix-cmake.patch"
       patch_description: "use cci package"
       patch_type: "conan"
-  "2.6.0":
-    - patch_file: "patches/2.6.0-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
-  "2.4.3":
-    - patch_file: "patches/2.4.1-0001-fix-cmake.patch"
-      patch_description: "use cci package"
-      patch_type: "conan"
diff --git a/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch
deleted file mode 100644
index 17ad6d731a77c..0000000000000
--- a/recipes/c-blosc2/all/patches/2.10.0-0001-fix-cmake.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 85d1e03..00e6cad 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -152,26 +152,26 @@ if(BUILD_LITE)
- endif()
- 
- if(PREFER_EXTERNAL_LZ4)
--    find_package(LZ4)
-+    find_package(lz4)
- else()
-     message(STATUS "Using LZ4 internal sources.")
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
-     if(PREFER_EXTERNAL_ZLIB)
--        find_package(ZLIB_NG)
--        if(ZLIB_NG_FOUND)
-+        find_package(zlib-ng)
-+        if(zlib-ng_FOUND)
-             set(HAVE_ZLIB_NG TRUE)
-         else()
-             find_package(ZLIB)
-         endif()
- 
--        if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+        if(NOT (zlib-ng_FOUND OR ZLIB_FOUND))
-             message(STATUS "No ZLIB found.  Using ZLIB-NG internal sources.")
-         endif()
-     endif()
- 
--    if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+    if(0)
-         message(STATUS "Using ZLIB-NG internal sources for ZLIB support.")
-         set(HAVE_ZLIB_NG TRUE)
-         add_definitions(-DZLIB_COMPAT)
-@@ -192,8 +192,8 @@ endif()
- 
- if(NOT DEACTIVATE_ZSTD)
-     if(PREFER_EXTERNAL_ZSTD)
--        find_package(ZSTD)
--        if(NOT ZSTD_FOUND)
-+        find_package(zstd)
-+        if(NOT zstd_FOUND)
-           message(STATUS "No ZSTD library found.  Using internal sources.")
-         endif()
-     else()
-diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt
-index a6d566d..ba65bae 100644
---- a/blosc/CMakeLists.txt
-+++ b/blosc/CMakeLists.txt
-@@ -18,8 +18,8 @@ set(CMAKE_C_VISIBILITY_PRESET hidden)
- 
- # includes
- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
--if(LZ4_FOUND)
--    set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_INCLUDE_DIR})
-+if(lz4_FOUND)
-+    set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${lz4_INCLUDE_DIR})
- else()
-     set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4)
-     set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_LOCAL_DIR})
-@@ -37,8 +37,8 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
--        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR})
-+    if(zstd_FOUND)
-+        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zstd_INCLUDE_DIR})
-     else()
-         set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.5)
-         set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_LOCAL_DIR}
-@@ -100,8 +100,8 @@ else()
-     set(LIBS ${LIBS} ${CMAKE_DL_LIBS})
- endif()
- 
--if(LZ4_FOUND)
--    set(LIBS ${LIBS} ${LZ4_LIBRARY})
-+if(lz4_FOUND)
-+    set(LIBS ${LIBS} ${lz4_LIBRARIES})
- else()
-     file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c)
-     set(SOURCES ${SOURCES} ${LZ4_FILES})
-@@ -109,8 +109,8 @@ else()
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
--    if(ZLIB_NG_FOUND)
--        set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY})
-+    if(zlib-ng_FOUND)
-+        set(LIBS ${LIBS} ${zlib-ng_LIBRARIES})
-     elseif(ZLIB_FOUND)
-         set(LIBS ${LIBS} ${ZLIB_LIBRARIES})
-     else()
-@@ -122,8 +122,8 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
--        set(LIBS ${LIBS} ${ZSTD_LIBRARY})
-+    if(zstd_FOUND)
-+        set(LIBS ${LIBS} ${zstd_LIBRARIES})
-     else()
-         # Enable assembly code only when not using MSVC *and* x86 is there
-         if((NOT MSVC) AND COMPILER_SUPPORT_SSE2)   # if SSE2 is here, this is an x86 platform
diff --git a/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch
deleted file mode 100644
index fb1f3b574be59..0000000000000
--- a/recipes/c-blosc2/all/patches/2.10.2-0001-fix-cmake.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4b4fc6a..79d61da 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -152,26 +152,26 @@ if(BUILD_LITE)
- endif()
- 
- if(PREFER_EXTERNAL_LZ4)
--    find_package(LZ4)
-+    find_package(lz4)
- else()
-     message(STATUS "Using LZ4 internal sources.")
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
-     if(PREFER_EXTERNAL_ZLIB)
--        find_package(ZLIB_NG)
--        if(ZLIB_NG_FOUND)
-+        find_package(zlib-ng)
-+        if(zlib-ng_FOUND)
-             set(HAVE_ZLIB_NG TRUE)
-         else()
-             find_package(ZLIB)
-         endif()
- 
--        if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+        if(NOT (zlib-ng_FOUND OR ZLIB_FOUND))
-             message(STATUS "No ZLIB found.  Using ZLIB-NG internal sources.")
-         endif()
-     endif()
- 
--    if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+    if(0)
-         message(STATUS "Using ZLIB-NG internal sources for ZLIB support.")
-         set(HAVE_ZLIB_NG TRUE)
-         add_definitions(-DZLIB_COMPAT)
-@@ -192,8 +192,8 @@ endif()
- 
- if(NOT DEACTIVATE_ZSTD)
-     if(PREFER_EXTERNAL_ZSTD)
--        find_package(ZSTD)
--        if(NOT ZSTD_FOUND)
-+        find_package(zstd)
-+        if(NOT zstd_FOUND)
-           message(STATUS "No ZSTD library found.  Using internal sources.")
-         endif()
-     else()
-diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt
-index b44b710..681705e 100644
---- a/blosc/CMakeLists.txt
-+++ b/blosc/CMakeLists.txt
-@@ -79,15 +79,15 @@ set(INTERNAL_LIBS ${PROJECT_SOURCE_DIR}/internal-complibs)
- # link dependencies
- #   "link" dependent targets via target_link_libraries (preferred) and
- #   manually add includes / libs for others
--if(LZ4_FOUND)
-+if(lz4_FOUND)
-     if(BUILD_SHARED)
--        target_include_directories(blosc2_shared PUBLIC ${LZ4_INCLUDE_DIR})
-+        target_include_directories(blosc2_shared PUBLIC ${lz4_INCLUDE_DIR})
-     endif()
-     if(BUILD_STATIC)
--        target_include_directories(blosc2_static PUBLIC ${LZ4_INCLUDE_DIR})
-+        target_include_directories(blosc2_static PUBLIC ${lz4_INCLUDE_DIR})
-     endif()
-     if(BUILD_TESTS)
--        target_include_directories(blosc_testing PUBLIC ${LZ4_INCLUDE_DIR})
-+        target_include_directories(blosc_testing PUBLIC ${lz4_INCLUDE_DIR})
-     endif()
- else()
-     set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4)
-@@ -138,18 +138,18 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
-+    if(zstd_FOUND)
-         if(BUILD_SHARED)
--            target_include_directories(blosc2_shared PUBLIC ${ZSTD_INCLUDE_DIR})
--            target_link_libraries(blosc2_shared PUBLIC ${ZSTD_LIBRARY})
-+            target_include_directories(blosc2_shared PUBLIC ${zstd_INCLUDE_DIR})
-+            target_link_libraries(blosc2_shared PUBLIC ${zstd_LIBRARY})
-         endif()
-         if(BUILD_STATIC)
--            target_include_directories(blosc2_static PUBLIC ${ZSTD_INCLUDE_DIR})
--            target_link_libraries(blosc2_static PUBLIC ${ZSTD_LIBRARY})
-+            target_include_directories(blosc2_static PUBLIC ${zstd_INCLUDE_DIR})
-+            target_link_libraries(blosc2_static PUBLIC ${zstd_LIBRARY})
-         endif()
-         if(BUILD_TESTS)
--            target_include_directories(blosc_testing PUBLIC ${ZSTD_INCLUDE_DIR})
--            target_link_libraries(blosc_testing PUBLIC ${ZSTD_LIBRARY})
-+            target_include_directories(blosc_testing PUBLIC ${zstd_INCLUDE_DIR})
-+            target_link_libraries(blosc_testing PUBLIC ${zstd_LIBRARY})
-         endif()
-     else()
-         set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.5)
-@@ -190,8 +190,8 @@ else()
-     set(LIBS ${LIBS} ${CMAKE_DL_LIBS})
- endif()
- 
--if(LZ4_FOUND)
--    set(LIBS ${LIBS} ${LZ4_LIBRARY})
-+if(lz4_FOUND)
-+    set(LIBS ${LIBS} ${lz4_LIBRARIES})
- else()
-     file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c)
-     list(APPEND SOURCES ${LZ4_FILES})
-@@ -199,8 +199,8 @@ else()
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
--    if(ZLIB_NG_FOUND)
--        set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY})
-+    if(zlib-ng_FOUND)
-+        set(LIBS ${LIBS} ${zlib-ng_LIBRARIES})
-     elseif(ZLIB_FOUND)
-         set(LIBS ${LIBS} ${ZLIB_LIBRARIES})
-     else()
-@@ -212,8 +212,8 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
--        set(LIBS ${LIBS} ${ZSTD_LIBRARY})
-+    if(zstd_FOUND)
-+        set(LIBS ${LIBS} ${zstd_LIBRARIES})
-     else()
-         # Enable assembly code only when not using MSVC *and* x86 is there
-         if((NOT MSVC) AND COMPILER_SUPPORT_SSE2)   # if SSE2 is here, this is an x86 platform
-@@ -268,7 +268,7 @@ list(APPEND SOURCES
-     blosc/directories.c
-     blosc/blosc2-stdio.c
-     blosc/b2nd.c
--    blosc/b2nd_utils.c    
-+    blosc/b2nd_utils.c
- )
- if(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL arm64)
-     if(COMPILER_SUPPORT_SSE2)
diff --git a/recipes/c-blosc2/all/patches/2.4.1-0001-fix-cmake.patch b/recipes/c-blosc2/all/patches/2.4.1-0001-fix-cmake.patch
deleted file mode 100644
index 565d775f0be52..0000000000000
--- a/recipes/c-blosc2/all/patches/2.4.1-0001-fix-cmake.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 866c7f6..c2e2501 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -144,26 +144,26 @@ if(BUILD_LITE)
- endif()
- 
- if(PREFER_EXTERNAL_LZ4)
--    find_package(LZ4)
-+    find_package(lz4)
- else()
-     message(STATUS "Using LZ4 internal sources.")
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
-     if(PREFER_EXTERNAL_ZLIB)
--        find_package(ZLIB_NG)
--        if (ZLIB_NG_FOUND)
-+        find_package(zlib-ng)
-+        if (zlib-ng_FOUND)
-             set(HAVE_ZLIB_NG TRUE)
-         else()
-             find_package(ZLIB)
-         endif()
- 
--        if(NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+        if(NOT (zlib-ng_FOUND OR ZLIB_FOUND))
-             message(STATUS "No ZLIB found.  Using ZLIB-NG internal sources.")
-         endif()
-     endif()
- 
--    if (NOT (ZLIB_NG_FOUND OR ZLIB_FOUND))
-+    if (0)
-         message(STATUS "Using ZLIB-NG internal sources for ZLIB support.")
-         set(HAVE_ZLIB_NG TRUE)
-         add_definitions(-DZLIB_COMPAT)
-@@ -184,8 +184,8 @@ endif()
- 
- if(NOT DEACTIVATE_ZSTD)
-     if(PREFER_EXTERNAL_ZSTD)
--        find_package(ZSTD)
--        if(NOT ZSTD_FOUND)
-+        find_package(zstd)
-+        if(NOT zstd_FOUND)
-           message(STATUS "No ZSTD library found.  Using internal sources.")
-         endif()
-     else()
-diff --git a/blosc/CMakeLists.txt b/blosc/CMakeLists.txt
-index 441bab6..f17e467 100644
---- a/blosc/CMakeLists.txt
-+++ b/blosc/CMakeLists.txt
-@@ -10,16 +10,16 @@ set(CMAKE_C_VISIBILITY_PRESET hidden)
- 
- # includes
- set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
--if(LZ4_FOUND)
--    set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_INCLUDE_DIR})
-+if(lz4_FOUND)
-+    set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${lz4_INCLUDE_DIR})
- else()
-     set(LZ4_LOCAL_DIR ${INTERNAL_LIBS}/lz4-1.9.4)
-     set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${LZ4_LOCAL_DIR})
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
--    if(ZLIB_NG_FOUND)
--        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_NG_INCLUDE_DIR})
-+    if(zlib-ng_FOUND)
-+        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zlib-ng_INCLUDE_DIR})
-     elseif(ZLIB_FOUND)
-         set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
-     else()
-@@ -29,8 +29,8 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
--        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR})
-+    if(zstd_FOUND)
-+        set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${zstd_INCLUDE_DIR})
-     else()
-         set(ZSTD_LOCAL_DIR ${INTERNAL_LIBS}/zstd-1.5.2)
-         set(BLOSC_INCLUDE_DIRS ${BLOSC_INCLUDE_DIRS} ${ZSTD_LOCAL_DIR}
-@@ -90,8 +90,8 @@ else()
-     endif()
- endif()
- 
--if(LZ4_FOUND)
--    set(LIBS ${LIBS} ${LZ4_LIBRARY})
-+if(lz4_FOUND)
-+    set(LIBS ${LIBS} ${lz4_LIBRARIES})
- else()
-     file(GLOB LZ4_FILES ${LZ4_LOCAL_DIR}/*.c)
-     set(SOURCES ${SOURCES} ${LZ4_FILES})
-@@ -99,10 +99,10 @@ else()
- endif()
- 
- if(NOT DEACTIVATE_ZLIB)
--    if(ZLIB_NG_FOUND)
--        set(LIBS ${LIBS} ${ZLIB_NG_LIBRARY})
-+    if(zlib-ng_FOUND)
-+        set(LIBS ${LIBS} ${zlib-ng_LIBRARIES})
-     elseif(ZLIB_FOUND)
--        set(LIBS ${LIBS} ${ZLIB_LIBRARY})
-+        set(LIBS ${LIBS} ${ZLIB_LIBRARIES})
-     else()
-         set(ZLIB_LOCAL_DIR ${INTERNAL_LIBS}/${ZLIB_NG_DIR})
-         file(GLOB ZLIB_FILES ${ZLIB_LOCAL_DIR}/*.c)
-@@ -112,8 +112,8 @@ if(NOT DEACTIVATE_ZLIB)
- endif()
- 
- if(NOT DEACTIVATE_ZSTD)
--    if(ZSTD_FOUND)
--        set(LIBS ${LIBS} ${ZSTD_LIBRARY})
-+    if(zstd_FOUND)
-+        set(LIBS ${LIBS} ${zstd_LIBRARIES})
-     else()
-         # Enable assembly code only when not using MSVC *and* x86 is there
-         if((NOT MSVC) AND COMPILER_SUPPORT_SSE2)   # if SSE2 is here, this is an x86 platform
diff --git a/recipes/c-blosc2/config.yml b/recipes/c-blosc2/config.yml
index 81293b4195234..44d877a4a4290 100644
--- a/recipes/c-blosc2/config.yml
+++ b/recipes/c-blosc2/config.yml
@@ -7,21 +7,9 @@ versions:
     folder: all
   "2.11.3":
     folder: all
-  "2.11.2":
-    folder: all
-  "2.11.1":
-    folder: all
   "2.10.5":
     folder: all
-  "2.10.2":
-    folder: all
-  "2.10.0":
-    folder: all
   "2.8.0":
     folder: all
   "2.6.1":
     folder: all
-  "2.6.0":
-    folder: all
-  "2.4.3":
-    folder: all

From 4f700f9a5430323003713f3ff029aae114e4f76c Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 17:28:47 +0900
Subject: [PATCH 1074/1307] (#22658) span-lite: add version 0.11.0, remove
 older versions

---
 recipes/span-lite/all/conandata.yml | 42 +++++++++++++----------------
 recipes/span-lite/all/conanfile.py  | 15 ++++-------
 recipes/span-lite/config.yml        | 16 +++++------
 3 files changed, 29 insertions(+), 44 deletions(-)

diff --git a/recipes/span-lite/all/conandata.yml b/recipes/span-lite/all/conandata.yml
index fe2adde8330d8..f5a6e5aa8bfcb 100644
--- a/recipes/span-lite/all/conandata.yml
+++ b/recipes/span-lite/all/conandata.yml
@@ -1,28 +1,22 @@
 sources:
-  "0.6.0":
-    url: https://github.com/martinmoene/span-lite/archive/v0.6.0.tar.gz
-    sha256: da97ea5922a3c6129fe2ce89b95b471ae40e2ad921b354e472236a5ad57c5053
-  "0.7.0":
-    url: https://github.com/martinmoene/span-lite/archive/v0.7.0.tar.gz
-    sha256: e95a9b281b46eb2b44257c6c4ec218c1741144c1167644896e29fd6aed9bbcf4
-  "0.8.0":
-    url: https://github.com/martinmoene/span-lite/archive/v0.8.0.tar.gz
-    sha256: cca1c9de1dd1b7244ee8e5a093cc38b869d972154db61932b7dd22bd7a9d609c
-  "0.8.1":
-    url: https://github.com/martinmoene/span-lite/archive/v0.8.1.tar.gz
-    sha256: 2136dba54988c16b03f7c652ea977205bf624bfde90c24331177027d6529386d
-  "0.9.0":
-    url: https://github.com/martinmoene/span-lite/archive/v0.9.0.tar.gz
-    sha256: cdb5f86e5f5e679d63700a56de734c44fe22a574a17347d09dbaaef80619af91
-  "0.9.2":
-    url: https://github.com/martinmoene/span-lite/archive/v0.9.2.tar.gz
-    sha256: 7562802aac9b78e0140c3d59933cf4dc5825c0712c63daad2f7fff8c67e62eb4
-  "0.10.0":
-    url: https://github.com/martinmoene/span-lite/archive/v0.10.0.tar.gz
-    sha256: fd2ca42c18b4d5fae869752d18cf414bb4a3e4f01e617835a79ddb54a207889c
-  "0.10.1":
-    url: "https://github.com/martinmoene/span-lite/archive/v0.10.1.tar.gz"
-    sha256: "f915bca2d1e8357efdd043a5dc88047b390a76d77fb8cc1b6de831f7f43e397b"
+  "0.11.0":
+    url: "https://github.com/martinmoene/span-lite/archive/v0.11.0.tar.gz"
+    sha256: "ef4e028e18ff21044da4b4641ca1bc8a2e2d656e2028322876c0e1b9b6904f9d"
   "0.10.3":
     url: "https://github.com/martinmoene/span-lite/archive/v0.10.3.tar.gz"
     sha256: "04ac8148760369f11d4cdbc7969d66cb3d372357b6b5c7744841a60551ccb50b"
+  "0.10.1":
+    url: "https://github.com/martinmoene/span-lite/archive/v0.10.1.tar.gz"
+    sha256: "f915bca2d1e8357efdd043a5dc88047b390a76d77fb8cc1b6de831f7f43e397b"
+  "0.10.0":
+    url: https://github.com/martinmoene/span-lite/archive/v0.10.0.tar.gz
+    sha256: fd2ca42c18b4d5fae869752d18cf414bb4a3e4f01e617835a79ddb54a207889c
+  "0.9.2":
+    url: https://github.com/martinmoene/span-lite/archive/v0.9.2.tar.gz
+    sha256: 7562802aac9b78e0140c3d59933cf4dc5825c0712c63daad2f7fff8c67e62eb4
+  "0.9.0":
+    url: https://github.com/martinmoene/span-lite/archive/v0.9.0.tar.gz
+    sha256: cdb5f86e5f5e679d63700a56de734c44fe22a574a17347d09dbaaef80619af91
+  "0.8.1":
+    url: https://github.com/martinmoene/span-lite/archive/v0.8.1.tar.gz
+    sha256: 2136dba54988c16b03f7c652ea977205bf624bfde90c24331177027d6529386d
diff --git a/recipes/span-lite/all/conanfile.py b/recipes/span-lite/all/conanfile.py
index a3cdfec98fc6a..1ff14a35802e5 100644
--- a/recipes/span-lite/all/conanfile.py
+++ b/recipes/span-lite/all/conanfile.py
@@ -8,11 +8,12 @@
 
 class SpanLiteConan(ConanFile):
     name = "span-lite"
+    description = "A C++20-like span for C++98, C++11 and later in a single-file header-only library"
+    license = "BSL-1.0"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/martinmoene/span-lite"
-    description = "span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library"
-    topics = ("cpp98", "cpp11", "cpp14", "cpp17", "span", "span-implementations")
-    license = "BSL-1.0"
+    topics = ("cpp98", "cpp11", "cpp14", "cpp17", "span", "span-implementations", "header-only")
+    package_type = "header-library"
     settings = "os", "arch", "compiler", "build_type"
     no_copy_source = True
 
@@ -23,11 +24,7 @@ def package_id(self):
         self.info.clear()
 
     def source(self):
-        get(self, **self.conan_data["sources"][self.version],
-            destination=self.source_folder, strip_root=True)
-
-    def build(self):
-        pass
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
     def package(self):
         copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include"))
@@ -38,7 +35,6 @@ def package_info(self):
         self.cpp_info.set_property("cmake_target_name", "nonstd::span-lite")
         self.cpp_info.bindirs = []
         self.cpp_info.libdirs = []
-        self.cpp_info.resdirs = []
 
         # TODO: to remove in conan v2 once cmake_find_package* generators removed
         self.cpp_info.filenames["cmake_find_package"] = "span-lite"
@@ -48,6 +44,5 @@ def package_info(self):
         self.cpp_info.components["spanlite"].names["cmake_find_package"] = "span-lite"
         self.cpp_info.components["spanlite"].names["cmake_find_package_multi"] = "span-lite"
         self.cpp_info.components["spanlite"].set_property("cmake_target_name", "nonstd::span-lite")
-        self.cpp_info.components["spanlite"].bindirs = []
         self.cpp_info.components["spanlite"].libdirs = []
         self.cpp_info.components["spanlite"].resdirs = []
diff --git a/recipes/span-lite/config.yml b/recipes/span-lite/config.yml
index ebfb72f91ca97..cd3bc2b5634a7 100644
--- a/recipes/span-lite/config.yml
+++ b/recipes/span-lite/config.yml
@@ -1,19 +1,15 @@
 versions:
-  "0.6.0":
+  "0.11.0":
     folder: all
-  "0.7.0":
-    folder: all
-  "0.8.0":
+  "0.10.3":
     folder: all
-  "0.8.1":
+  "0.10.1":
     folder: all
-  "0.9.0":
+  "0.10.0":
     folder: all
   "0.9.2":
     folder: all
-  "0.10.0":
-    folder: all
-  "0.10.1":
+  "0.9.0":
     folder: all
-  "0.10.3":
+  "0.8.1":
     folder: all

From dbb286fd8840ce8928a74c0f726cd796e715d124 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 6 Feb 2024 10:45:47 +0200
Subject: [PATCH 1075/1307] (#21328) coin-utils: explicitly disable blas and
 lapack, add CMakeDeps test

---
 recipes/coin-utils/all/conanfile.py                 | 3 +++
 recipes/coin-utils/all/test_package/CMakeLists.txt  | 7 +++++--
 recipes/coin-utils/all/test_package/conanfile.py    | 6 ++++--
 recipes/coin-utils/all/test_v1_package/conanfile.py | 6 ++++--
 4 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/recipes/coin-utils/all/conanfile.py b/recipes/coin-utils/all/conanfile.py
index 98f96c3d12201..78854eb346b37 100644
--- a/recipes/coin-utils/all/conanfile.py
+++ b/recipes/coin-utils/all/conanfile.py
@@ -55,6 +55,7 @@ def layout(self):
     def requirements(self):
         self.requires("bzip2/1.0.8")
         self.requires("zlib/[>=1.2.11 <2]")
+        # TODO: add blas and lapack support
 
     def validate(self):
         if self.settings.os == "Windows" and self.options.shared:
@@ -86,6 +87,8 @@ def generate(self):
             env.generate(scope="build")
 
         tc = AutotoolsToolchain(self)
+        tc.configure_args.append("--without-blas")
+        tc.configure_args.append("--without-lapack")
         if is_msvc(self):
             tc.configure_args.append(f"--enable-msvc={self.settings.compiler.runtime}")
             tc.extra_cxxflags.append("-EHsc")
diff --git a/recipes/coin-utils/all/test_package/CMakeLists.txt b/recipes/coin-utils/all/test_package/CMakeLists.txt
index 761c9f0a9c670..843123daf5450 100644
--- a/recipes/coin-utils/all/test_package/CMakeLists.txt
+++ b/recipes/coin-utils/all/test_package/CMakeLists.txt
@@ -3,6 +3,9 @@ project(test_package LANGUAGES CXX)
 
 find_package(PkgConfig REQUIRED)
 pkg_check_modules(CoinUtils REQUIRED IMPORTED_TARGET coinutils)
+add_executable(${PROJECT_NAME}_pkgconfig test_package.cpp)
+target_link_libraries(${PROJECT_NAME}_pkgconfig PRIVATE PkgConfig::CoinUtils)
 
-add_executable(${PROJECT_NAME} test_package.cpp)
-target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::CoinUtils)
+find_package(coin-utils REQUIRED CONFIG)
+add_executable(${PROJECT_NAME}_cmake test_package.cpp)
+target_link_libraries(${PROJECT_NAME}_cmake PRIVATE coin-utils::coin-utils)
diff --git a/recipes/coin-utils/all/test_package/conanfile.py b/recipes/coin-utils/all/test_package/conanfile.py
index 7ab87ca07735c..0a6ce61d2c57d 100644
--- a/recipes/coin-utils/all/test_package/conanfile.py
+++ b/recipes/coin-utils/all/test_package/conanfile.py
@@ -6,7 +6,7 @@
 
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
-    generators = "CMakeToolchain", "PkgConfigDeps", "VirtualBuildEnv", "VirtualRunEnv"
+    generators = "CMakeToolchain", "CMakeDeps", "PkgConfigDeps", "VirtualBuildEnv", "VirtualRunEnv"
     test_type = "explicit"
 
     def layout(self):
@@ -26,5 +26,7 @@ def build(self):
 
     def test(self):
         if can_run(self):
-            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package_pkgconfig")
+            self.run(bin_path, env="conanrun")
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package_cmake")
             self.run(bin_path, env="conanrun")
diff --git a/recipes/coin-utils/all/test_v1_package/conanfile.py b/recipes/coin-utils/all/test_v1_package/conanfile.py
index b3607270e232e..340d3fd656e33 100644
--- a/recipes/coin-utils/all/test_v1_package/conanfile.py
+++ b/recipes/coin-utils/all/test_v1_package/conanfile.py
@@ -4,7 +4,7 @@
 
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type"
-    generators = "cmake", "pkg_config"
+    generators = "cmake", "cmake_find_package_multi", "pkg_config"
 
     def build_requirements(self):
         self.build_requires("pkgconf/2.0.3")
@@ -16,5 +16,7 @@ def build(self):
 
     def test(self):
         if not tools.cross_building(self):
-            bin_path = os.path.join("bin", "test_package")
+            bin_path = os.path.join("bin", "test_package_pkgconfig")
+            self.run(bin_path, run_environment=True)
+            bin_path = os.path.join("bin", "test_package_cmake")
             self.run(bin_path, run_environment=True)

From 13c8bb0ba5ebd631b7ee6fbf841bb29242ea5400 Mon Sep 17 00:00:00 2001
From: Carlos Zoido 
Date: Tue, 6 Feb 2024 10:02:11 +0100
Subject: [PATCH 1076/1307] (#22621) Add llama.cpp

* add llama.cpp

* remove unused option

* invalid for incompatible compilers

* wip

* wip

* minor changes

* revert changes

* remove native option
---
 recipes/llama-cpp/all/conandata.yml           |   4 +
 recipes/llama-cpp/all/conanfile.py            | 112 ++++++++++++++++++
 .../llama-cpp/all/test_package/CMakeLists.txt |  14 +++
 .../llama-cpp/all/test_package/conanfile.py   |  27 +++++
 .../all/test_package/test_package.cpp         |  41 +++++++
 recipes/llama-cpp/config.yml                  |   3 +
 6 files changed, 201 insertions(+)
 create mode 100644 recipes/llama-cpp/all/conandata.yml
 create mode 100644 recipes/llama-cpp/all/conanfile.py
 create mode 100644 recipes/llama-cpp/all/test_package/CMakeLists.txt
 create mode 100644 recipes/llama-cpp/all/test_package/conanfile.py
 create mode 100644 recipes/llama-cpp/all/test_package/test_package.cpp
 create mode 100644 recipes/llama-cpp/config.yml

diff --git a/recipes/llama-cpp/all/conandata.yml b/recipes/llama-cpp/all/conandata.yml
new file mode 100644
index 0000000000000..9a540abd27e25
--- /dev/null
+++ b/recipes/llama-cpp/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "b2038":
+    url: "https://github.com/ggerganov/llama.cpp/archive/refs/tags/b2038.tar.gz"
+    sha256: "a55bc75f5c76624cabfd9ea5e045f76597411231cb6fc231f2a0bff6287ab13b"
diff --git a/recipes/llama-cpp/all/conanfile.py b/recipes/llama-cpp/all/conanfile.py
new file mode 100644
index 0000000000000..b39564c4e0974
--- /dev/null
+++ b/recipes/llama-cpp/all/conanfile.py
@@ -0,0 +1,112 @@
+import os
+
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.apple import is_apple_os
+from conan.tools.build import check_min_cppstd, cross_building
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.files import copy, get, rmdir
+from conan.tools.scm import Version
+
+
+required_conan_version = ">=1.53.0"
+
+
+class LlamaCppConan(ConanFile):
+    name = "llama-cpp"
+    description = "Inference of LLaMA model in pure C/C++"
+    topics = ("llama", "llm", "ai")
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/ggerganov/llama.cpp"
+    license = "MIT"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+ 
+    package_type = "library"
+
+    @property
+    def _min_cppstd(self):
+        return "11"
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "8"
+        }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.get_safe("compiler.version")) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires {str(self.settings.compiler)}>={minimum_version}."
+            )
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        deps = CMakeDeps(self)
+        deps.generate()
+
+        tc = CMakeToolchain(self)
+        tc.variables["LLAMA_STANDALONE"] = False
+        tc.variables["LLAMA_BUILD_TESTS"] = False
+        tc.variables["LLAMA_BUILD_EXAMPLES"] = False
+        tc.variables["BUILD_SHARED_LIBS"] = bool(self.options.shared)
+        if hasattr(self, "settings_build") and cross_building(self):
+            tc.variables["LLAMA_NATIVE"] = False
+        tc.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        copy(self, "*", os.path.join(self.source_folder, "models"), os.path.join(self.package_folder, "res", "models"))
+        copy(self, "*.h*", os.path.join(self.source_folder, "common"), os.path.join(self.package_folder, "include", "common"))
+        copy(self, "*common*.lib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+        copy(self, "*common*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"), keep_path=False)
+        copy(self, "*common*.so", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+        copy(self, "*common*.dylib", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+        copy(self, "*common*.a", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"), keep_path=False)
+
+
+    def package_info(self):
+        self.cpp_info.components["llama"].libs = ["llama"]
+        self.cpp_info.components["llama"].resdirs = ["res"]
+        self.cpp_info.components["llama"].libdirs = ["lib"]
+
+        if is_apple_os(self):
+            self.cpp_info.components["llama"].frameworks.extend(["Foundation", "Accelerate", "Metal"])
+        elif self.settings.os in ("Linux", "FreeBSD"):
+            self.cpp_info.components["llama"].system_libs.extend(["dl", "m", "pthread"])
+
+        self.cpp_info.components["common"].requires.append("llama")
+        self.cpp_info.components["common"].includedirs = [os.path.join("include", "common")]
+        self.cpp_info.components["common"].libs = ["common"]
+
diff --git a/recipes/llama-cpp/all/test_package/CMakeLists.txt b/recipes/llama-cpp/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..ebff8cc0707b3
--- /dev/null
+++ b/recipes/llama-cpp/all/test_package/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 3.15)
+
+project(test_package CXX)
+
+find_package(llama-cpp REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE llama-cpp::llama llama-cpp::common)
+set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11)
+
+add_custom_command(TARGET test_package POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy_directory
+        ${llama-cpp_INCLUDE_DIR}/../res/models
+        ${CMAKE_CURRENT_BINARY_DIR}/models)
diff --git a/recipes/llama-cpp/all/test_package/conanfile.py b/recipes/llama-cpp/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..7bb00fd3fe796
--- /dev/null
+++ b/recipes/llama-cpp/all/test_package/conanfile.py
@@ -0,0 +1,27 @@
+import os
+
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package ./models/ggml-vocab-llama.gguf 'Hello World'")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/llama-cpp/all/test_package/test_package.cpp b/recipes/llama-cpp/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..a87c31b0d652c
--- /dev/null
+++ b/recipes/llama-cpp/all/test_package/test_package.cpp
@@ -0,0 +1,41 @@
+#include "common.h"
+#include "llama.h"
+
+#include 
+#include 
+#include 
+#include 
+
+// from https://github.com/ggerganov/llama.cpp/tree/master/examples/tokenize
+
+int main(int argc, char ** argv) {
+    if (argc < 2 || argv[1][0] == '-') {
+        printf("usage: %s MODEL_PATH PROMPT [--ids]\n" , argv[0]);
+        return 1;
+    }
+
+    const char * model_path = argv[1];
+    const char * prompt     = argv[2];
+
+
+    llama_backend_init(false);
+
+    llama_model_params model_params = llama_model_default_params();
+    model_params.vocab_only = true;
+    llama_model * model = llama_load_model_from_file(model_path, model_params);
+
+    llama_context_params ctx_params = llama_context_default_params();
+    llama_context * ctx = llama_new_context_with_model(model, ctx_params);
+
+    const bool add_bos = llama_should_add_bos_token(model);
+
+    std::vector tokens;
+
+    tokens = ::llama_tokenize(model, prompt, add_bos, true);
+
+    for (int i = 0; i < (int) tokens.size(); i++) {
+        printf("%6d -> '%s'\n", tokens[i], llama_token_to_piece(ctx, tokens[i]).c_str());
+    }
+
+    return 0;
+}
diff --git a/recipes/llama-cpp/config.yml b/recipes/llama-cpp/config.yml
new file mode 100644
index 0000000000000..139b1481c0979
--- /dev/null
+++ b/recipes/llama-cpp/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "b2038":
+    folder: "all"

From 73b651c5f859b9137f1281bdec3578b295a8c065 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Tue, 6 Feb 2024 11:27:59 +0200
Subject: [PATCH 1077/1307] (#22004) taglib: add v1.13.1, v2.0-beta

* taglib: add v1.13.1, v2.0-beta

* taglib: v2 requires C++17

* taglib: add 2.0-beta to config.yml

* taglib: fix is_v2 check

* taglib: set cxx_std in test_package

* taglib: add non-beta v2.0

* taglib: bump deps
---
 recipes/taglib/all/conandata.yml              |  6 +++
 recipes/taglib/all/conanfile.py               | 43 ++++++++++++++++---
 .../taglib/all/test_package/CMakeLists.txt    |  3 ++
 recipes/taglib/config.yml                     |  4 ++
 4 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/recipes/taglib/all/conandata.yml b/recipes/taglib/all/conandata.yml
index af90af9573848..9e6c9ce55c7d0 100644
--- a/recipes/taglib/all/conandata.yml
+++ b/recipes/taglib/all/conandata.yml
@@ -1,4 +1,10 @@
 sources:
+  "2.0":
+    url: "https://taglib.org/releases/taglib-2.0.tar.gz"
+    sha256: "e36ea877a6370810b97d84cf8f72b1e4ed205149ab3ac8232d44c850f38a2859"
+  "1.13.1":
+    url: "https://taglib.org/releases/taglib-1.13.1.tar.gz"
+    sha256: "c8da2b10f1bfec2cd7dbfcd33f4a2338db0765d851a50583d410bacf055cfd0b"
   "1.13":
     url: "https://taglib.org/releases/taglib-1.13.tar.gz"
     sha256: "58f08b4db3dc31ed152c04896ee9172d22052bc7ef12888028c01d8b1d60ade0"
diff --git a/recipes/taglib/all/conanfile.py b/recipes/taglib/all/conanfile.py
index 816397a133c86..cbdc12fd0501f 100644
--- a/recipes/taglib/all/conanfile.py
+++ b/recipes/taglib/all/conanfile.py
@@ -1,9 +1,12 @@
+import os
+
 from conan import ConanFile
-from conan.tools.build import stdcpp_library
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import stdcpp_library, check_min_cppstd
 from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
 from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir
+from conan.tools.microsoft import is_msvc_static_runtime
 from conan.tools.scm import Version
-import os
 
 required_conan_version = ">=1.54.0"
 
@@ -29,6 +32,21 @@ class TaglibConan(ConanFile):
         "bindings": True,
     }
 
+    @property
+    def _min_cppstd(self):
+        # https://github.com/taglib/taglib/blob/v2.0beta/CMakeLists.txt#L5
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "Visual Studio": "16",
+            "msvc": "192",
+            "gcc": "7",
+            "clang": "6",
+            "apple-clang": "10",
+        }
+
     def export_sources(self):
         export_conandata_patches(self)
 
@@ -45,6 +63,18 @@ def layout(self):
 
     def requirements(self):
         self.requires("zlib/[>=1.2.11 <2]")
+        if Version(self.version) >= 2:
+            self.requires("utfcpp/4.0.4")
+
+    def validate(self):
+        if Version(self.version) >= 2:
+            if self.settings.compiler.cppstd:
+                check_min_cppstd(self, self._min_cppstd)
+            minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+            if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+                raise ConanInvalidConfiguration(
+                    f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+                )
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -56,6 +86,7 @@ def generate(self):
         tc.variables["BUILD_TESTS"] = False
         tc.variables["BUILD_EXAMPLES"] = False
         tc.variables["BUILD_BINDINGS"] = self.options.bindings
+        tc.variables["ENABLE_STATIC_RUNTIME"] = is_msvc_static_runtime(self)
         tc.generate()
         cd = CMakeDeps(self)
         cd.generate()
@@ -67,10 +98,7 @@ def _patch_sources(self):
             os.path.join(self.source_folder, "taglib", "CMakeLists.txt"),
             os.path.join(self.source_folder, "bindings", "c", "CMakeLists.txt"),
         ]:
-            if Version(self.version) >= "1.13":
-                replace_in_file(self, cmakelists, "INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR}", "")
-            else:
-                replace_in_file(self, cmakelists, "INSTALL_NAME_DIR ${LIB_INSTALL_DIR}", "")
+            replace_in_file(self, cmakelists, "INSTALL_NAME_DIR ${", "# INSTALL_NAME_DIR ${")
 
     def build(self):
         self._patch_sources()
@@ -83,6 +111,7 @@ def package(self):
         cmake = CMake(self)
         cmake.install()
         rm(self, "taglib-config", os.path.join(self.package_folder, "bin"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
         rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
 
     def package_info(self):
@@ -92,6 +121,8 @@ def package_info(self):
         self.cpp_info.components["tag"].includedirs.append(os.path.join("include", "taglib"))
         self.cpp_info.components["tag"].libs = ["tag"]
         self.cpp_info.components["tag"].requires = ["zlib::zlib"]
+        if Version(self.version) >= 2:
+            self.cpp_info.components["tag"].requires.append("utfcpp::utfcpp")
         if not self.options.shared:
             self.cpp_info.components["tag"].defines.append("TAGLIB_STATIC")
             if self.settings.os in ["Linux", "FreeBSD"]:
diff --git a/recipes/taglib/all/test_package/CMakeLists.txt b/recipes/taglib/all/test_package/CMakeLists.txt
index ada6c88956048..ff4fb5bbf84b0 100644
--- a/recipes/taglib/all/test_package/CMakeLists.txt
+++ b/recipes/taglib/all/test_package/CMakeLists.txt
@@ -5,3 +5,6 @@ find_package(taglib REQUIRED CONFIG)
 
 add_executable(${PROJECT_NAME} test_package.cpp)
 target_link_libraries(${PROJECT_NAME} PRIVATE taglib::taglib)
+if (taglib_VERSION VERSION_GREATER_EQUAL 2)
+    target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
+endif()
diff --git a/recipes/taglib/config.yml b/recipes/taglib/config.yml
index c171123076114..72a875c97a160 100644
--- a/recipes/taglib/config.yml
+++ b/recipes/taglib/config.yml
@@ -1,4 +1,8 @@
 versions:
+  "2.0":
+    folder: all
+  "1.13.1":
+    folder: all
   "1.13":
     folder: all
   "1.12":

From 78a1c7e7bff35596d9992e9cda60144082a835d0 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 10:29:40 +0100
Subject: [PATCH 1078/1307] stale bot: fix permissions and line endings
 (#22685)

* stale bot: fix permissions and line endings

* re-add issues write permission

according to https://github.com/conan-io/conan-center-index/pull/22594/commits/f752324c3016bc29eafbba7034b765b97b3d1f69#r1474037168 it's needed

* Update .github/workflows/stale.yml

Co-authored-by: Uilian Ries 

---------

Co-authored-by: Uilian Ries 
---
 .github/workflows/stale.yml | 126 ++++++++++++++++++------------------
 1 file changed, 63 insertions(+), 63 deletions(-)

diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 434907fbc777c..00910a77f7c49 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -1,63 +1,63 @@
-# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
-#
-# You can adjust the behavior by modifying this file.
-# For more information, see:
-# https://github.com/actions/stale
-name: Mark stale pull requests
-
-
-on:
-  schedule:
-  - cron: '34 6 * * *'
-
-jobs:
-  stale:
-    if: github.repository == 'conan-io/conan-center-index'
-
-    runs-on: ubuntu-latest
-    permissions:
-      pull-requests: read
-      issues: write
-
-
-    steps:
-    - uses: actions/stale@v9
-      with:
-        # Do not make issues as stale
-        days-before-issue-stale: -1
-        # Number of days before stale PRs are closed
-        days-before-pr-stale: 30
-
-
-        # Do not close issues automatically
-        days-before-issue-close: -1
-        # Idle number of days before closing stale PRs
-        days-before-pr-close: 30
-
-
-        # Labels on PRs exempted from stale
-        exempt-pr-labels: blocked,infrastructure
-
-        # Label to apply on staled PRs
-        stale-pr-label: 'stale'
-        # Label to be removed when updating a PR
-        labels-to-remove-when-unstale: 'stale'
-
-        # Skip issues when having stale state
-        remove-issue-stale-when-updated: false
-        ignore-issue-updates: true
-
-
-        # Comment on the staled PRs
-        stale-pr-message: >
-            This pull request has been automatically marked as stale because it has not had
-            recent activity. It will be closed if no further activity occurs. Thank you
-            for your contributions.
-
-        # Comment on the staled PRs while closed
-        close-pr-message: >
-            This pull request has been automatically closed because it has not had
-            recent activity. Thank you for your contributions.
-
-        # Max number of operations per run
-        operations-per-run: 30
+# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
+#
+# You can adjust the behavior by modifying this file.
+# For more information, see:
+# https://github.com/actions/stale
+name: Mark stale pull requests
+
+
+on:
+  schedule:
+  - cron: '34 6 * * *'
+
+jobs:
+  stale:
+    if: github.repository == 'conan-io/conan-center-index'
+
+    runs-on: ubuntu-latest
+    permissions:
+      pull-requests: write
+      issues: read
+
+
+    steps:
+    - uses: actions/stale@v9
+      with:
+        # Do not make issues as stale
+        days-before-issue-stale: -1
+        # Number of days before stale PRs are closed
+        days-before-pr-stale: 30
+
+
+        # Do not close issues automatically
+        days-before-issue-close: -1
+        # Idle number of days before closing stale PRs
+        days-before-pr-close: 30
+
+
+        # Labels on PRs exempted from stale
+        exempt-pr-labels: blocked,infrastructure
+
+        # Label to apply on staled PRs
+        stale-pr-label: 'stale'
+        # Label to be removed when updating a PR
+        labels-to-remove-when-unstale: 'stale'
+
+        # Skip issues when having stale state
+        remove-issue-stale-when-updated: false
+        ignore-issue-updates: true
+
+
+        # Comment on the staled PRs
+        stale-pr-message: >
+            This pull request has been automatically marked as stale because it has not had
+            recent activity. It will be closed if no further activity occurs. Thank you
+            for your contributions.
+
+        # Comment on the staled PRs while closed
+        close-pr-message: >
+            This pull request has been automatically closed because it has not had
+            recent activity. Thank you for your contributions.
+
+        # Max number of operations per run
+        operations-per-run: 30

From ea64dcbc42b6cfcea036e85735387aeae1053c4a Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 10:49:22 +0100
Subject: [PATCH 1079/1307] (#22607) Bump/graphene/all

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericlemanissier.github.io/conan-center-index-bump-deps/)

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* graphene/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)
---
 recipes/graphene/all/conanfile.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes/graphene/all/conanfile.py b/recipes/graphene/all/conanfile.py
index 8f5581630fd90..ccf6c76d58f43 100644
--- a/recipes/graphene/all/conanfile.py
+++ b/recipes/graphene/all/conanfile.py
@@ -51,7 +51,7 @@ def layout(self):
 
     def requirements(self):
         if self.options.with_glib:
-            self.requires("glib/2.78.0")
+            self.requires("glib/2.78.3")
 
     def validate(self):
         if self.settings.compiler == "gcc":
@@ -70,9 +70,9 @@ def validate(self):
                 )
 
     def build_requirements(self):
-        self.tool_requires("meson/1.2.2")
+        self.tool_requires("meson/1.3.1")
         if not self.conf.get("tools.gnu:pkg_config", default=False):
-            self.tool_requires("pkgconf/2.0.3")
+            self.tool_requires("pkgconf/2.1.0")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From e539f16374f518f667499bbcd32b948a2c35db67 Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 19:09:35 +0900
Subject: [PATCH 1080/1307] (#22659) jsoncons: add version 0.173.4, remove
 older versions

---
 recipes/jsoncons/all/conandata.yml | 12 +++---------
 recipes/jsoncons/config.yml        |  8 ++------
 2 files changed, 5 insertions(+), 15 deletions(-)

diff --git a/recipes/jsoncons/all/conandata.yml b/recipes/jsoncons/all/conandata.yml
index 0e171fd2b8f21..7d2ea6ccc163d 100644
--- a/recipes/jsoncons/all/conandata.yml
+++ b/recipes/jsoncons/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.173.4":
+    url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.4.tar.gz"
+    sha256: "3e3525325c88b33f15af2e1f3cf7a1893a49e47aa787a2df723a098b3a4b20b1"
   "0.173.3":
     url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.173.3.tar.gz"
     sha256: "2b5796e8f681ce9253fb5863d695ecb1cebc7092596af01ce4fca0e5e245b7be"
@@ -17,12 +20,3 @@ sources:
   "0.171.1":
     url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.1.tar.gz"
     sha256: "e84d71bcf7c78f21de8bbd88a8da6f6afa458f562f6b846ef51f1aa5697ad904"
-  "0.171.0":
-    url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.171.0.tar.gz"
-    sha256: "0be840e984e30e70747c01e55669bbd4c49737cffc5852ccc5625dfe3dd38530"
-  "0.170.2":
-    url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.170.2.tar.gz"
-    sha256: "0ff0cd407f6b27dea66a3202bc8bc2e043ec1614419e76840eda5b5f8045a43a"
-  "0.169.0":
-    url: "https://github.com/danielaparker/jsoncons/archive/refs/tags/v0.169.0.tar.gz"
-    sha256: "423dc99d6950056fb55782513daf74adf37501eaf01b977b2415873cd0c44243"
diff --git a/recipes/jsoncons/config.yml b/recipes/jsoncons/config.yml
index ee21c69a59197..89bdd7665089f 100644
--- a/recipes/jsoncons/config.yml
+++ b/recipes/jsoncons/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.173.4":
+    folder: "all"
   "0.173.3":
     folder: "all"
   "0.173.2":
@@ -11,9 +13,3 @@ versions:
     folder: "all"
   "0.171.1":
     folder: "all"
-  "0.171.0":
-    folder: "all"
-  "0.170.2":
-    folder: "all"
-  "0.169.0":
-    folder: "all"

From 3b01892ac0d912525ed794c64b11118601e9d6cb Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 19:28:41 +0900
Subject: [PATCH 1081/1307] (#22678) cli11: add version 2.4.0

---
 recipes/cli11/all/conandata.yml | 3 +++
 recipes/cli11/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cli11/all/conandata.yml b/recipes/cli11/all/conandata.yml
index fb856253269aa..710d40000e172 100644
--- a/recipes/cli11/all/conandata.yml
+++ b/recipes/cli11/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.4.0":
+    url: "https://github.com/CLIUtils/CLI11/archive/v2.4.0.tar.gz"
+    sha256: "d2ce8d5318d2a7a7d1120e2a18caac49cd65423d5d4158cbbc0267e6768af522"
   "2.3.2":
     url: "https://github.com/CLIUtils/CLI11/archive/v2.3.2.tar.gz"
     sha256: "aac0ab42108131ac5d3344a9db0fdf25c4db652296641955720a4fbe52334e22"
diff --git a/recipes/cli11/config.yml b/recipes/cli11/config.yml
index 37bc8ba7326b9..77e437062a028 100644
--- a/recipes/cli11/config.yml
+++ b/recipes/cli11/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.4.0":
+    folder: all
   "2.3.2":
     folder: all
   "2.3.1":

From f4a70b51a1359de9f45cc99ec68963345314467b Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 19:52:29 +0900
Subject: [PATCH 1082/1307] (#22682) optional-lite: add  version 3.6.0

---
 recipes/optional-lite/all/conandata.yml | 3 +++
 recipes/optional-lite/all/conanfile.py  | 9 +++------
 recipes/optional-lite/config.yml        | 2 ++
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/recipes/optional-lite/all/conandata.yml b/recipes/optional-lite/all/conandata.yml
index 39ffa178f7dc7..91b29bae3c40f 100644
--- a/recipes/optional-lite/all/conandata.yml
+++ b/recipes/optional-lite/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "3.6.0":
+    url: "https://github.com/martinmoene/optional-lite/archive/v3.6.0.tar.gz"
+    sha256: "2be17fcfc764809612282c3e728cabc42afe703b9dc333cc87c48d882fcfc2c2"
   "3.5.0":
     url: "https://github.com/martinmoene/optional-lite/archive/v3.5.0.tar.gz"
     sha256: "6077cee87e2812afd05a273645051e0b55397a25c220295ddc1d6f49d0cf5cc8"
diff --git a/recipes/optional-lite/all/conanfile.py b/recipes/optional-lite/all/conanfile.py
index cc778fb643aac..c0ba7980dc0da 100644
--- a/recipes/optional-lite/all/conanfile.py
+++ b/recipes/optional-lite/all/conanfile.py
@@ -8,11 +8,11 @@
 
 class OptionalLiteConan(ConanFile):
     name = "optional-lite"
-    url = "https://github.com/conan-io/conan-center-index"
-    homepage = "https://github.com/martinmoene/optional-lite"
     description = "A single-file header-only version of a C++17-like optional, a nullable object for C++98, C++11 and later"
-    topics = ("cpp98", "cpp17", "optional", "optional-implementations")
     license = "BSL-1.0"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/martinmoene/optional-lite"
+    topics = ("cpp98", "cpp17", "optional", "optional-implementations", "header-only")
     package_type = "header-library"
     settings = "os", "arch", "compiler", "build_type"
     no_copy_source = True
@@ -26,9 +26,6 @@ def package_id(self):
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
 
-    def build(self):
-        pass
-
     def package(self):
         copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include"))
         copy(self, "LICENSE.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
diff --git a/recipes/optional-lite/config.yml b/recipes/optional-lite/config.yml
index 14d2da2b590c7..07884c2e355df 100644
--- a/recipes/optional-lite/config.yml
+++ b/recipes/optional-lite/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "3.6.0":
+    folder: all
   "3.5.0":
     folder: all
   "3.4.0":

From 2b7bbc49c1fa868e69bd960b3608a3aafc3d961b Mon Sep 17 00:00:00 2001
From: toge 
Date: Tue, 6 Feb 2024 20:09:13 +0900
Subject: [PATCH 1083/1307] (#22686) cpp-httplib: add version 0.15.3

---
 recipes/cpp-httplib/all/conandata.yml | 3 +++
 recipes/cpp-httplib/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cpp-httplib/all/conandata.yml b/recipes/cpp-httplib/all/conandata.yml
index 4b90fc7da1db2..55f4436e78089 100644
--- a/recipes/cpp-httplib/all/conandata.yml
+++ b/recipes/cpp-httplib/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.15.3":
+    url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.3.tar.gz"
+    sha256: "2121bbf38871bb2aafb5f7f2b9b94705366170909f434428352187cb0216124e"
   "0.15.2":
     url: "https://github.com/yhirose/cpp-httplib/archive/v0.15.2.tar.gz"
     sha256: "4afbcf4203249d2cbcb698e46e1f6fb61b479013a84844d6bb1c044e233cab6a"
diff --git a/recipes/cpp-httplib/config.yml b/recipes/cpp-httplib/config.yml
index 1d814c307666b..89c0fa2d0946b 100644
--- a/recipes/cpp-httplib/config.yml
+++ b/recipes/cpp-httplib/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.15.3":
+    folder: all
   "0.15.2":
     folder: all
   "0.15.1":

From 8b3f3ac58071267c6b6a9e631ab3d30c7353a9ad Mon Sep 17 00:00:00 2001
From: Conan Center Index Bot
 <54393557+conan-center-bot@users.noreply.github.com>
Date: Tue, 6 Feb 2024 11:22:34 +0000
Subject: [PATCH 1084/1307] (#22687) [bot] Update authorized users list
 (2024-02-06)

* Add/remove users to Access Request

* Update .c3i/authorized_users.yml

---------

Co-authored-by: conan-center-bot 
Co-authored-by: Uilian Ries 
---
 .c3i/authorized_users.yml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index 8e096fa6fd761..d11a0fe788d74 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1281,3 +1281,8 @@ authorized_users:
 - retroandchill
 - adamws
 - rob-baily
+- crhowell3
+- Jak-o-Shadows
+- MelamudMichael
+- Rodarin
+- philippun1

From b96487108a6db5a552ac2e8942561a146fe32395 Mon Sep 17 00:00:00 2001
From: adamws 
Date: Tue, 6 Feb 2024 13:09:26 +0100
Subject: [PATCH 1085/1307] (#22559) openssl: add `enable_trace` option

This option is required in order to use tracing API introduced in
OpenSSL 3.0 [1].

Fixes #22556

[1] https://www.openssl.org/docs/manmaster/man3/OSSL_trace_set_channel.html#Configure-Tracing
---
 recipes/openssl/3.x.x/conanfile.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py
index b7033e12ed40c..f23cd0b52fadd 100644
--- a/recipes/openssl/3.x.x/conanfile.py
+++ b/recipes/openssl/3.x.x/conanfile.py
@@ -31,6 +31,7 @@ class OpenSSLConan(ConanFile):
         "386": [True, False],
         "capieng_dialog": [True, False],
         "enable_capieng": [True, False],
+        "enable_trace": [True, False],
         "no_aria": [True, False],
         "no_autoload_config": [True, False],
         "no_asm": [True, False],
@@ -386,6 +387,9 @@ def _configure_args(self):
         args.append("no-md2" if self.options.get_safe("no_md2", True) else "enable-md2")
         args.append("-DOPENSSL_TLS_SECURITY_LEVEL=%s" % str(self.options.tls_security_level))
 
+        if self.options.get_safe("enable_trace"):
+            args.append("enable-trace")
+
         if self.settings.os == "Neutrino":
             args.append("no-asm -lsocket -latomic")
 

From b45ac16bb84f72779c635b068ad066aa86ca49d5 Mon Sep 17 00:00:00 2001
From: Ahajha <44127594+Ahajha@users.noreply.github.com>
Date: Tue, 6 Feb 2024 07:52:56 -0500
Subject: [PATCH 1086/1307] (#22665) libiconv: Fix building on mingw

---
 recipes/libiconv/all/conanfile.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/recipes/libiconv/all/conanfile.py b/recipes/libiconv/all/conanfile.py
index 2117c9f4edde3..1c44ed6e67c02 100644
--- a/recipes/libiconv/all/conanfile.py
+++ b/recipes/libiconv/all/conanfile.py
@@ -87,6 +87,19 @@ def generate(self):
         env.generate()
 
         tc = AutotoolsToolchain(self)
+        if self.settings.os == "Windows" and self.settings.compiler == "gcc":
+            if self.settings.arch == "x86":
+                tc.update_configure_args({
+                    "--host": "i686-w64-mingw32",
+                    "RC": "windres --target=pe-i386",
+                    "WINDRES": "windres --target=pe-i386",
+                })
+            elif self.settings.arch == "x86_64":
+                tc.update_configure_args({
+                    "--host": "x86_64-w64-mingw32",
+                    "RC": "windres --target=pe-x86-64",
+                    "WINDRES": "windres --target=pe-x86-64",
+                })
         msvc_version = {"Visual Studio": "12", "msvc": "180"}
         if is_msvc(self) and Version(self.settings.compiler.version) >= msvc_version[str(self.settings.compiler)]:
             # https://github.com/conan-io/conan/issues/6514

From b2df9528e3edc2d083270719eac69b3032f841c2 Mon Sep 17 00:00:00 2001
From: Daniel Heater 
Date: Tue, 6 Feb 2024 09:49:33 -0600
Subject: [PATCH 1087/1307] =?UTF-8?q?(#22683)=20As=20reported=20in=20issue?=
 =?UTF-8?q?=20#22654,=20qt=20depends=20on=20freetype/2.13.2=20which=20depe?=
 =?UTF-8?q?=E2=80=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: dheater 
---
 recipes/qt/6.x.x/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py
index 80e70011378b2..9e3b0dd0a6a02 100644
--- a/recipes/qt/6.x.x/conanfile.py
+++ b/recipes/qt/6.x.x/conanfile.py
@@ -336,7 +336,7 @@ def requirements(self):
             else:
                 self.requires("libjpeg/9e")
         if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration:
-            self.requires("libpng/1.6.40")
+            self.requires("libpng/1.6.42")
         if self.options.with_sqlite3 and not self.options.multiconfiguration:
             self.requires("sqlite3/3.45.0")
         if self.options.get_safe("with_mysql", False):

From 33f01c956ee04f0ed303d4f7659b9f3a6065e5d0 Mon Sep 17 00:00:00 2001
From: igormironchik 
Date: Tue, 6 Feb 2024 19:09:42 +0300
Subject: [PATCH 1088/1307] (#22689) md4qt: bump version

---
 recipes/md4qt/all/conandata.yml | 3 +++
 recipes/md4qt/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml
index 0cba22d652847..16e0c43dea8d2 100644
--- a/recipes/md4qt/all/conandata.yml
+++ b/recipes/md4qt/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.7.0":
+    url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.0.tar.gz"
+    sha256: "e5722b586fa6c6d126487056fa47f0d933b94413ac44b79f52573226eca04a07"
   "2.6.0":
     url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.6.0.tar.gz"
     sha256: "8884a3b18fd923dd49994190e0b11c1882e409fce59fb6e5ee8e866dd889b8d0"
diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml
index 99ee89b18595a..36c498e0d5bfd 100644
--- a/recipes/md4qt/config.yml
+++ b/recipes/md4qt/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.7.0":
+    folder: all
   "2.6.0":
     folder: all
   "2.5.2":

From 835b37ba28bc83685b853a0ed858c343ad60dd03 Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Tue, 6 Feb 2024 18:08:52 +0100
Subject: [PATCH 1089/1307] (#22246) sdl/all: bump deps

* sdl/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* remove unused patches

* fixup

* fixup

* sdl/all: bump deps

Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps)
Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/)

* remove outdated code

* Update conanfile.py

* Update conanfile.py

* Update conanfile.py

* Update conanfile.py
---
 recipes/sdl/all/conanfile.py                  | 20 ++++----------
 .../all/patches/0001-fix-cmake-ios-tvos.patch | 26 ------------------
 .../all/patches/0002-mingw-improvements.patch | 27 -------------------
 ...2.0.14-wayland-scanner-buildrequires.patch | 23 ----------------
 ...2.0.16-wayland-scanner-buildrequires.patch | 24 -----------------
 5 files changed, 5 insertions(+), 115 deletions(-)
 delete mode 100644 recipes/sdl/all/patches/0001-fix-cmake-ios-tvos.patch
 delete mode 100644 recipes/sdl/all/patches/0002-mingw-improvements.patch
 delete mode 100644 recipes/sdl/all/patches/0003-2.0.14-wayland-scanner-buildrequires.patch
 delete mode 100644 recipes/sdl/all/patches/0003-2.0.16-wayland-scanner-buildrequires.patch

diff --git a/recipes/sdl/all/conanfile.py b/recipes/sdl/all/conanfile.py
index 03ff0430a22b1..97981518e1f52 100644
--- a/recipes/sdl/all/conanfile.py
+++ b/recipes/sdl/all/conanfile.py
@@ -3,14 +3,13 @@
 from conan.tools.apple import is_apple_os
 from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, replace_in_file, rm, rmdir, copy
 from conan.tools.microsoft import is_msvc
-from conan.tools.build import cross_building
 from conan.tools.scm import Version
 from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
 from conan.tools.env import Environment
 
 import os
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.55.0"
 
 
 class SDLConan(ConanFile):
@@ -95,9 +94,6 @@ def generate(self):
         env = Environment()
         env.define_path("LIBRARY_PATH", os.pathsep.join(lib_paths))
 
-        # FIXME: remove and raise required_conan_version to 1.55 once it's on c3i
-        env.prepend_path("PKG_CONFIG_PATH", self.generators_folder)
-
         env = env.vars(self, scope="build")
         env.save_script("sdl_env")
 
@@ -161,11 +157,11 @@ def requirements(self):
                 self.requires("xkbcommon/1.6.0")
                 self.requires("egl/system")
             if self.options.libunwind:
-                self.requires("libunwind/1.7.2")
+                self.requires("libunwind/1.8.0")
 
     def validate(self):
         # SDL>=2.0.18 requires xcode 12 or higher because it uses CoreHaptics.
-        if Version(self.version) >= "2.0.18" and is_apple_os(self) and Version(self.settings.compiler.version) < "12":
+        if is_apple_os(self) and Version(self.settings.compiler.version) < "12":
             raise ConanInvalidConfiguration("{}/{} requires xcode 12 or higher".format(self.name, self.version))
 
         if self.settings.os == "Linux":
@@ -183,13 +179,7 @@ def package_id(self):
             del self.info.options.sdl2main
 
     def build_requirements(self):
-        if self.settings.os == "Macos" and cross_building(self):
-            # Workaround for CMake bug with error message:
-            # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being
-            # set. This could be because you are using a Mac OS X version less than 10.5
-            # or because CMake's platform configuration is corrupt.
-            # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded.
-            self.tool_requires("cmake/3.27.9")
+        self.tool_requires("cmake/[>3.27 <4]")
         if self.settings.os == "Linux" and not self.conf.get("tools.gnu:pkg_config", check_type=str):
             self.tool_requires("pkgconf/2.1.0")
         if hasattr(self, "settings_build") and self.options.get_safe("wayland"):
@@ -220,7 +210,7 @@ def _patch_sources(self):
                         '# check_library_exists(c iconv_open "" HAVE_BUILTIN_ICONV)')
 
         # Ensure to find wayland-scanner from wayland recipe in build requirements (or requirements if 1 profile)
-        if self.options.get_safe("wayland") and Version(self.version) >= "2.0.18":
+        if self.options.get_safe("wayland"):
             replace_in_file(self,
                 os.path.join(self.source_folder, "cmake", "sdlchecks.cmake"),
                 "find_program(WAYLAND_SCANNER NAMES wayland-scanner REQUIRED)",
diff --git a/recipes/sdl/all/patches/0001-fix-cmake-ios-tvos.patch b/recipes/sdl/all/patches/0001-fix-cmake-ios-tvos.patch
deleted file mode 100644
index 7a56e3d843ff6..0000000000000
--- a/recipes/sdl/all/patches/0001-fix-cmake-ios-tvos.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-see https://github.com/libsdl-org/SDL/commit/471d3c363e654c7ad10782f50cb47e639c0646c3
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -131,6 +131,8 @@ elseif(APPLE)
-     set(MACOSX TRUE)
-   elseif(CMAKE_SYSTEM_NAME MATCHES ".*tvOS.*")
-     set(TVOS TRUE)
-+  elseif(CMAKE_SYSTEM_NAME MATCHES ".*iOS.*")
-+    set(IOS TRUE)
-   endif()
-   # TODO: iOS?
- elseif(CMAKE_SYSTEM_NAME MATCHES "BeOS.*")
-@@ -1668,7 +1670,11 @@ elseif(APPLE)
-     message_error("SDL_FILE must be enabled to build on MacOS X")
-   endif()
- 
--  file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/macosx/*.m)
-+  if(IOS OR TVOS)
-+    file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/ios/*.m)
-+  else()
-+    file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/macosx/*.m)
-+  endif()
-   set(SOURCE_FILES ${SOURCE_FILES} ${MISC_SOURCES})
-   set(HAVE_SDL_MISC TRUE)
- 
diff --git a/recipes/sdl/all/patches/0002-mingw-improvements.patch b/recipes/sdl/all/patches/0002-mingw-improvements.patch
deleted file mode 100644
index 250f0b8951359..0000000000000
--- a/recipes/sdl/all/patches/0002-mingw-improvements.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Upstream-pull-request: https://github.com/libsdl-org/SDL/pull/4492
-Upstream-pull-request-status: Merged
----
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b9b9eb62..454a0bbd 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -2092,7 +2092,8 @@ if(NOT CMAKE_HOST_WIN32)
-   execute_process(COMMAND sh ${SDL2_SOURCE_DIR}/build-scripts/updaterev.sh
-     WORKING_DIRECTORY ${SDL2_BINARY_DIR})
- endif()
--if(NOT WINDOWS OR CYGWIN)
-+if(NOT WINDOWS OR CYGWIN OR MINGW)
-+
-   set(prefix ${CMAKE_INSTALL_PREFIX})
-   set(exec_prefix "\${prefix}")
-   set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
-@@ -2361,7 +2361,7 @@ else()
-   set(SOPOSTFIX "")
- endif()
- 
--if(NOT (WINDOWS OR CYGWIN))
-+if(NOT (WINDOWS OR CYGWIN OR MINGW))
-   if(SDL_SHARED)
-     set(SOEXT ${CMAKE_SHARED_LIBRARY_SUFFIX}) # ".so", ".dylib", etc.
-     get_target_property(SONAME SDL2 OUTPUT_NAME)
diff --git a/recipes/sdl/all/patches/0003-2.0.14-wayland-scanner-buildrequires.patch b/recipes/sdl/all/patches/0003-2.0.14-wayland-scanner-buildrequires.patch
deleted file mode 100644
index d6352aaac4789..0000000000000
--- a/recipes/sdl/all/patches/0003-2.0.14-wayland-scanner-buildrequires.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/cmake/sdlchecks.cmake
-+++ b/cmake/sdlchecks.cmake
-@@ -593,9 +593,10 @@ endmacro()
- # - HAVE_DLOPEN opt
- macro(CheckWayland)
-   if(VIDEO_WAYLAND)
--    pkg_check_modules(WAYLAND wayland-client wayland-scanner wayland-egl wayland-cursor egl xkbcommon)
-+    pkg_check_modules(WAYLAND wayland-client wayland-egl wayland-cursor egl xkbcommon)
- 
-     if(WAYLAND_FOUND)
-+      if(0)
-       execute_process(
-         COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=wayland_scanner wayland-scanner
-         WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
-@@ -607,6 +608,8 @@ macro(CheckWayland)
-       if(NOT WAYLAND_SCANNER_RC EQUAL 0)
-         set(WAYLAND_FOUND FALSE)
-       endif()
-+      endif()
-+      set(WAYLAND_SCANNER "wayland-scanner")
-     endif()
- 
-     if(WAYLAND_FOUND)
diff --git a/recipes/sdl/all/patches/0003-2.0.16-wayland-scanner-buildrequires.patch b/recipes/sdl/all/patches/0003-2.0.16-wayland-scanner-buildrequires.patch
deleted file mode 100644
index 664a37968e03a..0000000000000
--- a/recipes/sdl/all/patches/0003-2.0.16-wayland-scanner-buildrequires.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/cmake/sdlchecks.cmake
-+++ b/cmake/sdlchecks.cmake
-@@ -628,10 +628,10 @@ endmacro()
- # - HAVE_DLOPEN opt
- macro(CheckWayland)
-   if(VIDEO_WAYLAND)
--    pkg_check_modules(WAYLAND wayland-client wayland-scanner wayland-egl wayland-cursor egl xkbcommon)
--    pkg_check_modules(WAYLAND_SCANNER_1_15 "wayland-scanner>=1.15")
-+    pkg_check_modules(WAYLAND wayland-client wayland-egl wayland-cursor egl xkbcommon)
- 
-     if(WAYLAND_FOUND AND HAVE_VIDEO_OPENGL_EGL)
-+      if(0)
-       execute_process(
-         COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=wayland_scanner wayland-scanner
-         WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
-@@ -643,6 +643,8 @@ macro(CheckWayland)
-       if(NOT WAYLAND_SCANNER_RC EQUAL 0)
-         set(WAYLAND_FOUND FALSE)
-       endif()
-+      endif()
-+      set(WAYLAND_SCANNER "wayland-scanner")
-     endif()
- 
-     if(WAYLAND_FOUND)

From 9dcab28d13b5ad072af31eb59910f8eddfb06c5a Mon Sep 17 00:00:00 2001
From: Gregor Jasny 
Date: Tue, 6 Feb 2024 23:29:13 +0100
Subject: [PATCH 1090/1307] (#22552) aws-c-http: update dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Due to #21033, we'll have to raise the aws-c-io dependency here as well.

Co-authored-by: Rubén Rincón Blanco 
---
 recipes/aws-c-http/all/conanfile.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes/aws-c-http/all/conanfile.py b/recipes/aws-c-http/all/conanfile.py
index a9bb3bc67dc42..f9311547cb20c 100644
--- a/recipes/aws-c-http/all/conanfile.py
+++ b/recipes/aws-c-http/all/conanfile.py
@@ -52,7 +52,7 @@ def requirements(self):
         elif Version(self.version) <= "0.6.22":
             self.requires("aws-c-io/0.13.4", transitive_headers=True, transitive_libs=True)
         else:
-            self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True)
+            self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True)
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)

From 748e168644d205eaddaa5715bdcf3633b7e2e9e6 Mon Sep 17 00:00:00 2001
From: Sneder89 <45610045+Sneder89@users.noreply.github.com>
Date: Wed, 7 Feb 2024 08:53:30 +0100
Subject: [PATCH 1091/1307] (#22699) Add cppcheck 2.13.3

* Update conandata.yml

* Update config.yml
---
 recipes/cppcheck/all/conandata.yml | 3 +++
 recipes/cppcheck/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cppcheck/all/conandata.yml b/recipes/cppcheck/all/conandata.yml
index d0f5a27793e17..71b6f57a8c0f0 100644
--- a/recipes/cppcheck/all/conandata.yml
+++ b/recipes/cppcheck/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.13.3":
+    url: "https://github.com/danmar/cppcheck/archive/2.13.3.tar.gz"
+    sha256: "ac8c526d19496038c09bf4781bd804ab1f7aaadee4c3b699629830d24742dd81"
   "2.13":
     url: "https://github.com/danmar/cppcheck/archive/2.13.0.tar.gz"
     sha256: "8229afe1dddc3ed893248b8a723b428dc221ea014fbc76e6289840857c03d450"
diff --git a/recipes/cppcheck/config.yml b/recipes/cppcheck/config.yml
index 654cfb904a00d..27715122c7600 100644
--- a/recipes/cppcheck/config.yml
+++ b/recipes/cppcheck/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.13.3":
+    folder: all
   "2.13":
     folder: all
   "2.12.1":

From b362f2bb9f266d8f4cf9a5520a0c2977ed9f2500 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Wed, 7 Feb 2024 15:45:18 +0100
Subject: [PATCH 1092/1307] (#22668) [config] Add waitaing list for users in
 authorized users

* Move users to waitlist

Signed-off-by: Uilian Ries 

* Add change name in docs

Signed-off-by: Uilian Ries 

* Update .c3i/waitlist_users.yml

---------

Signed-off-by: Uilian Ries 
---
 .c3i/authorized_users.yml | 2 --
 .c3i/config_v1.yml        | 1 +
 .c3i/config_v2.yml        | 1 +
 .c3i/waitlist_users.yml   | 4 ++++
 docs/faqs.md              | 9 +++++++++
 5 files changed, 15 insertions(+), 2 deletions(-)
 create mode 100644 .c3i/waitlist_users.yml

diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml
index d11a0fe788d74..4200ed3ec3c89 100644
--- a/.c3i/authorized_users.yml
+++ b/.c3i/authorized_users.yml
@@ -1266,7 +1266,6 @@ authorized_users:
 - wu-vincent
 - Inujel
 - keszegrobert
-- Mike-Solar
 - tomasz-wezyk
 - RaguzovaTatyana
 - st9007a
@@ -1278,7 +1277,6 @@ authorized_users:
 - stefansli
 - wgtmac
 - kevinAlbs
-- retroandchill
 - adamws
 - rob-baily
 - crhowell3
diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml
index dd6f6670d4c22..6bb2f823e1899 100644
--- a/.c3i/config_v1.yml
+++ b/.c3i/config_v1.yml
@@ -16,6 +16,7 @@ artifactory:
 github:
   reviewers: "reviewers.yml"
   authorized_users: "authorized_users.yml"
+  waitlist_users: "waitlist_users.yml"
 
 slack:
   credential_success_url: SLACK_SUCCESS_WEBHOOK_URL
diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml
index a4257b5a5ecb9..765cbc758a9e0 100644
--- a/.c3i/config_v2.yml
+++ b/.c3i/config_v2.yml
@@ -23,6 +23,7 @@ artifactory:
 github:
   reviewers: "reviewers.yml"
   authorized_users: "authorized_users.yml"
+  waitlist_users: "waitlist_users.yml"
 
 # Things related to Jenkins jobs:
 tasks:
diff --git a/.c3i/waitlist_users.yml b/.c3i/waitlist_users.yml
new file mode 100644
index 0000000000000..ead4b94c37882
--- /dev/null
+++ b/.c3i/waitlist_users.yml
@@ -0,0 +1,4 @@
+waitlist_users:
+- Mike-Solar
+- retroandchill
+- refactorTractor
diff --git a/docs/faqs.md b/docs/faqs.md
index 8fc8cb331f121..b463fc96e8c9b 100644
--- a/docs/faqs.md
+++ b/docs/faqs.md
@@ -41,6 +41,7 @@ This section gathers the most common questions from the community related to pac
   * [How to watch only specific recipes?](#how-to-watch-only-specific-recipes)
   * [Is it possible to disable Pylint?](#is-it-possible-to-disable-pylint)
   * [How long can I be inactive before being removed from the authorized users list?](#how-long-can-i-be-inactive-before-being-removed-from-the-authorized-users-list)
+  * [What happens in case I change my user name?](#what-happens-in-case-i-change-my-user-name)
   * [Can we add package which are parts of bigger projects like Boost?](#can-we-add-package-which-are-parts-of-bigger-projects-like-boost)
     * [Can I add my project which I will submit to Boost?](#can-i-add-my-project-which-i-will-submit-to-boost)
   * [Can I add options that do not affect `package_id` or the package contents](#can-i-add-options-that-do-not-affect-package_id-or-the-package-contents)
@@ -431,6 +432,14 @@ difficult to understand [linter errors](linters.md), please comment on your pull
 
 Please, read [Inactivity and user removal section](adding_packages/README.md#inactivity-and-user-removal).
 
+## What happens in case I change my user name?
+
+Your Github user name is used to identify you in the authorized users list. If you change your user name, you will need to communicate or, in the #4, or opening a new issue.
+Otherwise, the CI will not be able to find you and will not build your pull requests.
+In case you change you user name just after asking for authorization in #4, please, communicate the change in the same issue.
+Users are revised before being added to the authorized users list, in case the user name is not found in #4, it will be asked in the pull request `Update authorized users list`.
+If the user does not answer, the user will be moved to the `waitlist_users.yml` file, until having further communication.
+
 ## Can we add package which are parts of bigger projects like Boost?
 
 Sadly no. There have been many efforts in the past and we feel it's not sustainable given the number of combinations of libraries and version.

From 846e6ad2264fce276bac6dd4b0459c8635e5381b Mon Sep 17 00:00:00 2001
From: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Date: Thu, 8 Feb 2024 09:27:01 +0100
Subject: [PATCH 1093/1307] (#21239) xkbcommon: put wayland-protocols in build
 requirements irrespective of one or dual profile + bump dependencies

* put wayland-protocols in build requirements irrespective of conan profile usage

* bump libxml2 and meson

* try manual creation of pkgconfig file of wayland-protocols at build time instead of generate time

* try dependencies.build?

* use legacy deps_cpp_info

* move back manual generation of wayland-protocols.pc if 1 profile to generate()

* back to libxml/2.11.4 for the moment due to version conflict with wayland

* Revert "back to libxml/2.11.4 for the moment due to version conflict with wayland"

This reverts commit d55b7ea4d79c8641ff17f20b35e737c13e37164f.

* small change to make CI happy

---------

Co-authored-by: Daniel 
---
 recipes/xkbcommon/all/conanfile.py | 83 +++++++++++++++---------------
 1 file changed, 42 insertions(+), 41 deletions(-)

diff --git a/recipes/xkbcommon/all/conanfile.py b/recipes/xkbcommon/all/conanfile.py
index aa22ef2b05309..c646e023dd17c 100644
--- a/recipes/xkbcommon/all/conanfile.py
+++ b/recipes/xkbcommon/all/conanfile.py
@@ -1,16 +1,17 @@
 import os
+import textwrap
 
 from conan import ConanFile
 from conan.tools.apple import fix_apple_shared_install_name
-from conan.tools.env import VirtualBuildEnv
-from conan.tools.files import copy, get, replace_in_file, rmdir
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
+from conan.tools.files import copy, get, replace_in_file, rmdir, save
 from conan.tools.gnu import PkgConfigDeps
 from conan.tools.layout import basic_layout
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.scm import Version
 from conan.errors import ConanInvalidConfiguration
 
-required_conan_version = ">=1.53.0"
+required_conan_version = ">=1.60.0 <2 || >=2.0.5"
 
 
 class XkbcommonConan(ConanFile):
@@ -68,8 +69,6 @@ def requirements(self):
             self.requires("libxml2/2.12.3")
         if self.options.get_safe("with_wayland"):
             self.requires("wayland/1.22.0")
-            if not self._has_build_profile:
-                self.requires("wayland-protocols/1.32")
 
     def validate(self):
         if self.settings.os not in ["Linux", "FreeBSD"]:
@@ -80,8 +79,9 @@ def build_requirements(self):
         self.tool_requires("bison/3.8.2")
         if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
             self.tool_requires("pkgconf/2.1.0")
-        if self._has_build_profile and self.options.get_safe("with_wayland"):
-            self.tool_requires("wayland/")
+        if self.options.get_safe("with_wayland"):
+            if self._has_build_profile:
+                self.tool_requires("wayland/")
             self.tool_requires("wayland-protocols/1.32")
 
     def source(self):
@@ -90,6 +90,9 @@ def source(self):
     def generate(self):
         env = VirtualBuildEnv(self)
         env.generate()
+        if self.options.get_safe("with_wayland") and not self._has_build_profile:
+            env = VirtualRunEnv(self)
+            env.generate(scope="build")
 
         tc = MesonToolchain(self)
         tc.project_options["enable-docs"] = False
@@ -97,46 +100,46 @@ def generate(self):
         tc.project_options["enable-x11"] = self.options.with_x11
         if self._has_xkbregistry_option:
             tc.project_options["enable-xkbregistry"] = self.options.xkbregistry
-        if self._has_build_profile:
-            tc.project_options["build.pkg_config_path"] = self.generators_folder
+        tc.project_options["build.pkg_config_path"] = self.generators_folder
         tc.generate()
 
         pkg_config_deps = PkgConfigDeps(self)
-        if self._has_build_profile and self.options.get_safe("with_wayland"):
-            pkg_config_deps.build_context_activated = ["wayland", "wayland-protocols"]
-            pkg_config_deps.build_context_suffix = {"wayland": "_BUILD", "wayland-protocols": "_BUILD"}
-        pkg_config_deps.generate()
-
-    def build(self):
         if self.options.get_safe("with_wayland"):
-            meson_build_file = os.path.join(self.source_folder, "meson.build")
-            # Patch the build system to use the pkg-config files generated for the build context.
-
-            if Version(self.version) >= "1.5.0":
-                get_pkg_config_var = "get_variable(pkgconfig: "
-            else:
-                get_pkg_config_var = "get_pkgconfig_variable("
-
             if self._has_build_profile:
-                replace_in_file(self, meson_build_file,
-                                "wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)",
-                                "wayland_scanner_dep = dependency('wayland-scanner_BUILD', required: false, native: true)")
-                replace_in_file(self, meson_build_file,
-                                "wayland_protocols_dep = dependency('wayland-protocols', version: '>=1.12', required: false)",
-                                "wayland_protocols_dep = dependency('wayland-protocols_BUILD', version: '>=1.12', required: false, native: true)")
+                pkg_config_deps.build_context_activated = ["wayland", "wayland-protocols"]
+                pkg_config_deps.build_context_suffix = {"wayland": "_BUILD"}
             else:
-                replace_in_file(self, meson_build_file,
-                                "wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)",
-                                "# wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)")
-
-                replace_in_file(self, meson_build_file,
-                                "if not wayland_client_dep.found() or not wayland_protocols_dep.found() or not wayland_scanner_dep.found()",
-                                "if not wayland_client_dep.found() or not wayland_protocols_dep.found()")
+                # Manually generate pkgconfig file of wayland-protocols since
+                # PkgConfigDeps.build_context_activated can't work with legacy 1 profile
+                # We must use legacy conan v1 deps_cpp_info because self.dependencies doesn't
+                # contain build requirements when using 1 profile.
+                wp_prefix = self.deps_cpp_info["wayland-protocols"].rootpath
+                wp_version = self.deps_cpp_info["wayland-protocols"].version
+                wp_pkg_content = textwrap.dedent(f"""\
+                    prefix={wp_prefix}
+                    datarootdir=${{prefix}}/res
+                    pkgdatadir=${{datarootdir}}/wayland-protocols
+                    Name: Wayland Protocols
+                    Description: Wayland protocol files
+                    Version: {wp_version}
+                """)
+                save(self, os.path.join(self.generators_folder, "wayland-protocols.pc"), wp_pkg_content)
+        pkg_config_deps.generate()
 
-                replace_in_file(self, meson_build_file,
-                                f"wayland_scanner = find_program(wayland_scanner_dep.{get_pkg_config_var}'wayland_scanner'))",
-                                "wayland_scanner = find_program('wayland-scanner')")
+    def _patch_sources(self):
+        if self.options.get_safe("with_wayland"):
+            if self._has_build_profile:
+                # Patch the build system to use the pkg-config files generated for the build context.
+                meson_build_file = os.path.join(self.source_folder, "meson.build")
+                replace_in_file(
+                    self,
+                    meson_build_file,
+                    "wayland_scanner_dep = dependency('wayland-scanner', required: false, native: true)",
+                    "wayland_scanner_dep = dependency('wayland-scanner_BUILD', required: false, native: true)",
+                )
 
+    def build(self):
+        self._patch_sources()
         meson = Meson(self)
         meson.configure()
         meson.build()
@@ -167,8 +170,6 @@ def package_info(self):
             self.cpp_info.components["xkbcli-interactive-wayland"].libs = []
             self.cpp_info.components["xkbcli-interactive-wayland"].includedirs = []
             self.cpp_info.components["xkbcli-interactive-wayland"].requires = ["wayland::wayland-client"]
-            if not self._has_build_profile:
-                self.cpp_info.components["xkbcli-interactive-wayland"].requires.append("wayland-protocols::wayland-protocols")
 
         if Version(self.version) >= "1.0.0":
             self.env_info.PATH.append(os.path.join(self.package_folder, "bin"))

From 0c171ff419e92c3e927c2e1858630d65d3f85fa3 Mon Sep 17 00:00:00 2001
From: Dmitry Bely 
Date: Thu, 8 Feb 2024 09:04:08 +0000
Subject: [PATCH 1094/1307] (#19226) pixman: fix static and allow shared MSVC
 build

* pixman: avoid __declspec(dllexport) for static MSVC build

* pixman/0.40.0: enable shared MSVC build
---
 recipes/pixman/all/conandata.yml              |  4 +++
 recipes/pixman/all/conanfile.py               | 10 ++++---
 .../all/patches/0003-meson-static-build.patch | 28 +++++++++++++++++++
 3 files changed, 38 insertions(+), 4 deletions(-)
 create mode 100644 recipes/pixman/all/patches/0003-meson-static-build.patch

diff --git a/recipes/pixman/all/conandata.yml b/recipes/pixman/all/conandata.yml
index 64d7ea0c4a642..f712201caaef3 100644
--- a/recipes/pixman/all/conandata.yml
+++ b/recipes/pixman/all/conandata.yml
@@ -30,6 +30,10 @@ patches:
       patch_description: "backport fix for clang build"
       patch_type: "portability"
       patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/48"
+    - patch_file: "patches/0003-meson-static-build.patch"
+      patch_description: "backport fix for msvc static build"
+      patch_type: "bugfix"
+      patch_source: "https://gitlab.freedesktop.org/pixman/pixman/-/commit/48d5df1f3772a08a929dcb3b2fe4d7b1853223c9.patch"
   "0.38.4":
     - patch_file: "patches/0002-meson-build.patch"
       patch_description: "backport meson build files from 0.40.0 to fix windows build"
diff --git a/recipes/pixman/all/conanfile.py b/recipes/pixman/all/conanfile.py
index aca2fe9a7ec26..8d655189662cb 100644
--- a/recipes/pixman/all/conanfile.py
+++ b/recipes/pixman/all/conanfile.py
@@ -11,6 +11,7 @@
 from conan.tools.layout import basic_layout
 from conan.tools.meson import Meson, MesonToolchain
 from conan.tools.microsoft import is_msvc
+from conan.tools.scm import Version
 
 required_conan_version = ">=1.53.0"
 
@@ -50,8 +51,8 @@ def layout(self):
         basic_layout(self, src_folder="src")
 
     def validate(self):
-        if self.settings.os == "Windows" and self.options.shared:
-            raise ConanInvalidConfiguration("pixman can only be built as a static library on Windows")
+        if self.settings.os == "Windows" and self.options.shared and Version(self.version) < "0.40.0":
+            raise ConanInvalidConfiguration(f"pixman/{self.version} can only be built as a static library on Windows")
 
     def build_requirements(self):
         self.tool_requires("meson/1.2.3")
@@ -84,16 +85,17 @@ def package(self):
         copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses"))
         meson = Meson(self)
         meson.install()
+        rm(self, "*.pdb", os.path.join(self.package_folder, "bin"))
         lib_folder = os.path.join(self.package_folder, "lib")
         rmdir(self, os.path.join(lib_folder, "pkgconfig"))
         rm(self, "*.la", lib_folder)
         fix_apple_shared_install_name(self)
-        if is_msvc(self):
+        if is_msvc(self) and not self.options.shared:
             prefix = "libpixman-1"
             rename(self, os.path.join(lib_folder, f"{prefix}.a"), os.path.join(lib_folder, f"{prefix}.lib"))
 
     def package_info(self):
-        self.cpp_info.libs = ['libpixman-1'] if self.settings.os == "Windows" else ['pixman-1']
+        self.cpp_info.libs = ['libpixman-1'] if self.settings.os == "Windows" and not self.options.shared else ['pixman-1']
         self.cpp_info.includedirs.append(os.path.join("include", "pixman-1"))
         self.cpp_info.set_property("pkg_config_name", "pixman-1")
         if self.settings.os in ("FreeBSD", "Linux"):
diff --git a/recipes/pixman/all/patches/0003-meson-static-build.patch b/recipes/pixman/all/patches/0003-meson-static-build.patch
new file mode 100644
index 0000000000000..6283ba2680054
--- /dev/null
+++ b/recipes/pixman/all/patches/0003-meson-static-build.patch
@@ -0,0 +1,28 @@
+From 48d5df1f3772a08a929dcb3b2fe4d7b1853223c9 Mon Sep 17 00:00:00 2001
+From: Benjamin Gilbert 
+Date: Thu, 5 Jan 2023 20:29:00 -0500
+Subject: [PATCH] meson: don't dllexport when built as static library
+
+If a static Pixman is linked with a dynamic library, Pixman shouldn't
+export its own symbols into the latter's ABI.
+---
+ pixman/meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/pixman/meson.build b/pixman/meson.build
+index 5dce870..62ec66b 100644
+--- a/pixman/meson.build
++++ b/pixman/meson.build
+@@ -31,7 +31,8 @@ version_h = configure_file(
+ )
+ 
+ libpixman_extra_cargs = []
+-if cc.has_function_attribute('dllexport')
++default_library = get_option('default_library')
++if default_library != 'static' and cc.has_function_attribute('dllexport')
+   libpixman_extra_cargs = ['-DPIXMAN_API=__declspec(dllexport)']
+ endif
+ 
+-- 
+GitLab
+

From d0a485982326c97eaf5b500697b7726d15df4f6c Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 8 Feb 2024 10:22:44 +0100
Subject: [PATCH 1095/1307] (#22713) [docs] Add changelog 07-February-2024

Signed-off-by: Uilian Ries 
---
 docs/changelog.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/changelog.md b/docs/changelog.md
index 242fce4e25c14..e5f21f6b7c8bf 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -1,5 +1,10 @@
 # Changelog
 
+### 07-February-2024 - 15:43 CET
+
+- [feature] Add waiting list for new collaborators that are not found in access request issue.
+- [feature] Skip building bump dependencies PRs by default. It will require manual CI trigger.
+
 ### 24-January-2024 - 12:13 CET
 
 - [feature] Update Conan 1.x branch to version 1.62.0

From 529290c656381db8dfb68c79e21312ad1afd8ea1 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 8 Feb 2024 18:48:13 +0900
Subject: [PATCH 1096/1307] (#22560) mgclient: add recipe

* mgclient: add recipe

* add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS

* fix dll install path
---
 recipes/mgclient/all/conandata.yml            |   9 ++
 recipes/mgclient/all/conanfile.py             | 100 ++++++++++++++++++
 .../1.4.2-0001-static-shared.build.patch      |  43 ++++++++
 .../mgclient/all/test_package/CMakeLists.txt  |   7 ++
 .../mgclient/all/test_package/conanfile.py    |  26 +++++
 .../mgclient/all/test_package/test_package.c  |  22 ++++
 recipes/mgclient/config.yml                   |   3 +
 7 files changed, 210 insertions(+)
 create mode 100644 recipes/mgclient/all/conandata.yml
 create mode 100644 recipes/mgclient/all/conanfile.py
 create mode 100644 recipes/mgclient/all/patches/1.4.2-0001-static-shared.build.patch
 create mode 100644 recipes/mgclient/all/test_package/CMakeLists.txt
 create mode 100644 recipes/mgclient/all/test_package/conanfile.py
 create mode 100644 recipes/mgclient/all/test_package/test_package.c
 create mode 100644 recipes/mgclient/config.yml

diff --git a/recipes/mgclient/all/conandata.yml b/recipes/mgclient/all/conandata.yml
new file mode 100644
index 0000000000000..a07869d5875d5
--- /dev/null
+++ b/recipes/mgclient/all/conandata.yml
@@ -0,0 +1,9 @@
+sources:
+  "1.4.2":
+    url: "https://github.com/memgraph/mgclient/archive/refs/tags/v1.4.2.tar.gz"
+    sha256: "aa89422636b1e25b8f9f34453f331e15d32a5957a9b2381c3598fc3644dbc043"
+patches:
+  "1.4.2":
+    - patch_file: "patches/1.4.2-0001-static-shared.build.patch"
+      patch_description: "make static and shared build separated"
+      patch_type: "conan"
diff --git a/recipes/mgclient/all/conanfile.py b/recipes/mgclient/all/conanfile.py
new file mode 100644
index 0000000000000..958881a323221
--- /dev/null
+++ b/recipes/mgclient/all/conanfile.py
@@ -0,0 +1,100 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.scm import Version
+from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy
+from conan.tools.build import check_min_cppstd
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+import os
+
+
+required_conan_version = ">=1.53.0"
+
+class MGClientConan(ConanFile):
+    name = "mgclient"
+    description = "C/C++ Memgraph Client"
+    license = "Apache-2.0"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/memgraph/mgclient"
+    topics = ("memgraph", "client")
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+        "with_cpp": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+        "with_cpp": True,
+    }
+
+    @property
+    def _min_cppstd(self):
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "7",
+            "clang": "7",
+            "apple-clang": "10",
+            "Visual Studio": "16",
+            "msvc": "192",
+        }
+
+    def export_sources(self):
+        export_conandata_patches(self)
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("openssl/[>=1.1 <4]")
+
+    def validate(self):
+        if self.options.with_cpp:
+            if self.settings.compiler.get_safe("cppstd"):
+                check_min_cppstd(self, self._min_cppstd)
+            minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+            if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+                raise ConanInvalidConfiguration(
+                    f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+                )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.variables["BUILD_CPP_BINDINGS"] = self.options.with_cpp
+        tc.generate()
+        deps = CMakeDeps(self)
+        deps.generate()
+
+    def build(self):
+        apply_conandata_patches(self)
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
+        cmake.install()
+
+    def package_info(self):
+        self.cpp_info.libs = ["mgclient"]
+
+        if self.settings.os == "Windows":
+            self.cpp_info.system_libs.append("ws2_32")
diff --git a/recipes/mgclient/all/patches/1.4.2-0001-static-shared.build.patch b/recipes/mgclient/all/patches/1.4.2-0001-static-shared.build.patch
new file mode 100644
index 0000000000000..efba4fc8b2bb4
--- /dev/null
+++ b/recipes/mgclient/all/patches/1.4.2-0001-static-shared.build.patch
@@ -0,0 +1,43 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e905e85..85a6b0a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -50,6 +50,7 @@ else()
+     find_package(OpenSSL REQUIRED)
+     include(GenerateExportHeader)
+ 
++    if(NOT BUILD_SHARED_LIBS)
+     add_library(mgclient-static STATIC ${mgclient_src_files})
+ 
+     generate_export_header(mgclient-static
+@@ -74,6 +75,7 @@ else()
+         target_link_libraries(mgclient-static PUBLIC ws2_32)
+     endif()
+ 
++    else()
+     add_library(mgclient-shared SHARED ${mgclient_src_files})
+ 
+     generate_export_header(mgclient-shared
+@@ -102,13 +104,21 @@ else()
+     generate_export_header(mgclient-shared
+             BASE_NAME "mgclient"
+             EXPORT_FILE_NAME "mgclient-export.h")
++    endif()
+ 
+     include(GNUInstallDirs)
+ 
+-    install(TARGETS mgclient-static mgclient-shared
++    if(NOT BUILD_SHARED_LIBS)
++    install(TARGETS mgclient-static
+             ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+             LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+             RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR})
++    else()
++    install(TARGETS mgclient-shared
++            ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
++    endif()
+     install(DIRECTORY
+             "${PROJECT_SOURCE_DIR}/include/"
+             DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/recipes/mgclient/all/test_package/CMakeLists.txt b/recipes/mgclient/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..cbe32d3f6014a
--- /dev/null
+++ b/recipes/mgclient/all/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES C)
+
+find_package(mgclient REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE mgclient::mgclient)
diff --git a/recipes/mgclient/all/test_package/conanfile.py b/recipes/mgclient/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/mgclient/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/mgclient/all/test_package/test_package.c b/recipes/mgclient/all/test_package/test_package.c
new file mode 100644
index 0000000000000..078593ee4c3ab
--- /dev/null
+++ b/recipes/mgclient/all/test_package/test_package.c
@@ -0,0 +1,22 @@
+#include 
+#include 
+
+#include "mgclient.h"
+
+int main(int argc, char *argv[]) {
+  mg_init();
+  printf("mgclient version: %s\n", mg_client_version());
+
+  mg_session_params *params = mg_session_params_make();
+  if (!params) {
+    fprintf(stderr, "failed to allocate session parameters\n");
+    exit(1);
+  }
+  mg_session_params_set_host(params, "localhsot");
+  mg_session_params_set_port(params, 8888);
+  mg_session_params_set_sslmode(params, MG_SSLMODE_DISABLE);
+
+  mg_finalize();
+
+  return 0;
+}
diff --git a/recipes/mgclient/config.yml b/recipes/mgclient/config.yml
new file mode 100644
index 0000000000000..ba127d382373b
--- /dev/null
+++ b/recipes/mgclient/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "1.4.2":
+    folder: all

From 61fa1243613aa6395f44048375949a2dfca5f2e1 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 8 Feb 2024 19:08:06 +0900
Subject: [PATCH 1097/1307] (#22583) mapbox-wagyu: add recipe

* mapbox-wagyu: add recipe

* fix licese name

Co-authored-by: Uilian Ries 

* remove boost

* remove transitive_headers

---------

Co-authored-by: Uilian Ries 
---
 recipes/mapbox-wagyu/all/conandata.yml        |  4 ++
 recipes/mapbox-wagyu/all/conanfile.py         | 68 +++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |  8 +++
 .../all/test_package/conanfile.py             | 26 +++++++
 .../all/test_package/test_package.cpp         | 28 ++++++++
 recipes/mapbox-wagyu/config.yml               |  3 +
 6 files changed, 137 insertions(+)
 create mode 100644 recipes/mapbox-wagyu/all/conandata.yml
 create mode 100644 recipes/mapbox-wagyu/all/conanfile.py
 create mode 100644 recipes/mapbox-wagyu/all/test_package/CMakeLists.txt
 create mode 100644 recipes/mapbox-wagyu/all/test_package/conanfile.py
 create mode 100644 recipes/mapbox-wagyu/all/test_package/test_package.cpp
 create mode 100644 recipes/mapbox-wagyu/config.yml

diff --git a/recipes/mapbox-wagyu/all/conandata.yml b/recipes/mapbox-wagyu/all/conandata.yml
new file mode 100644
index 0000000000000..b9f6cbffdb795
--- /dev/null
+++ b/recipes/mapbox-wagyu/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.5.0":
+    url: "https://github.com/mapbox/wagyu/archive/refs/tags/0.5.0.tar.gz"
+    sha256: "88c41eaba03107ebe79052fdbd66e419e903d331a2616a51849018e13648ab83"
diff --git a/recipes/mapbox-wagyu/all/conanfile.py b/recipes/mapbox-wagyu/all/conanfile.py
new file mode 100644
index 0000000000000..c742efbc4dde0
--- /dev/null
+++ b/recipes/mapbox-wagyu/all/conanfile.py
@@ -0,0 +1,68 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import copy, get
+from conan.tools.layout import basic_layout
+from conan.tools.scm import Version
+import os
+
+required_conan_version = ">=1.52.0"
+
+class MapboxWagyuConan(ConanFile):
+    name = "mapbox-wagyu"
+    description = "A general library for geometry operations of union, intersections, difference, and xor"
+    license = "LicenseRef-mapbox-wagyu"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/mapbox/wagyu/"
+    topics = ("geometry", "clipping", "header-only")
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        return 14
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "apple-clang": "10",
+            "clang": "7",
+            "gcc": "7",
+            "msvc": "191",
+            "Visual Studio": "15",
+        }
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("mapbox-geometry/2.0.3")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def package(self):
+        copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"))
+        copy(
+            self,
+            "*.hpp",
+            os.path.join(self.source_folder, "include"),
+            os.path.join(self.package_folder, "include"),
+        )
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
diff --git a/recipes/mapbox-wagyu/all/test_package/CMakeLists.txt b/recipes/mapbox-wagyu/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..84fec480cbc2c
--- /dev/null
+++ b/recipes/mapbox-wagyu/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(mapbox-wagyu REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE mapbox-wagyu::mapbox-wagyu)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14)
diff --git a/recipes/mapbox-wagyu/all/test_package/conanfile.py b/recipes/mapbox-wagyu/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..3a91c9439218e
--- /dev/null
+++ b/recipes/mapbox-wagyu/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/mapbox-wagyu/all/test_package/test_package.cpp b/recipes/mapbox-wagyu/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..0cd92638b261b
--- /dev/null
+++ b/recipes/mapbox-wagyu/all/test_package/test_package.cpp
@@ -0,0 +1,28 @@
+#include 
+
+#include 
+#include 
+
+int main() {
+    mapbox::geometry::point< std::int64_t> p1 = { 0, 0 };
+    mapbox::geometry::point< std::int64_t> p2 = { 100, 100 };
+    mapbox::geometry::box< std::int64_t> bbox(p1, p2);
+
+    mapbox::geometry::linear_ring< std::int64_t> lr;
+    lr.push_back(mapbox::geometry::point< std::int64_t>(25, 25));
+    lr.push_back(mapbox::geometry::point< std::int64_t>(175, 25));
+    lr.push_back(mapbox::geometry::point< std::int64_t>(175, 75));
+    lr.push_back(mapbox::geometry::point< std::int64_t>(25, 75));
+    lr.push_back(mapbox::geometry::point< std::int64_t>(25, 25));
+
+    auto out = mapbox::geometry::wagyu::quick_clip::quick_lr_clip(lr, bbox);
+
+    mapbox::geometry::linear_ring< std::int64_t> want;
+    want.push_back(mapbox::geometry::point< std::int64_t>(25, 25));
+    want.push_back(mapbox::geometry::point< std::int64_t>(100, 25));
+    want.push_back(mapbox::geometry::point< std::int64_t>(100, 75));
+    want.push_back(mapbox::geometry::point< std::int64_t>(25, 75));
+    want.push_back(mapbox::geometry::point< std::int64_t>(25, 25));
+
+    assert(out == want);
+}
diff --git a/recipes/mapbox-wagyu/config.yml b/recipes/mapbox-wagyu/config.yml
new file mode 100644
index 0000000000000..ca7b2c3985d5e
--- /dev/null
+++ b/recipes/mapbox-wagyu/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.5.0":
+    folder: all

From 651f0e641c4799e2637068c98605a73cf3aaeac6 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Thu, 8 Feb 2024 11:43:12 +0100
Subject: [PATCH 1098/1307] (#22705) [c-blosc2] Revert checksum

* Revert checksum for c-blosc2

Signed-off-by: Uilian Ries 

* more topics

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
---
 recipes/c-blosc2/all/conandata.yml | 14 +++++++-------
 recipes/c-blosc2/all/conanfile.py  |  2 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/recipes/c-blosc2/all/conandata.yml b/recipes/c-blosc2/all/conandata.yml
index 647496032bc04..6975b1d26667a 100644
--- a/recipes/c-blosc2/all/conandata.yml
+++ b/recipes/c-blosc2/all/conandata.yml
@@ -1,25 +1,25 @@
 sources:
   "2.13.1":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.13.1.tar.gz"
-    sha256: "8e71ed3ca2eb4dad13adc34b2e88fb2687b63b8d9cc904aaf60510d75c44ff47"
+    sha256: "6e7f5940269acd54d8dfe87c2102a442ad0407b1a62266a6f916134bae234399"
   "2.13.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.13.0.tar.gz"
-    sha256: "931ab054e83ebc98786f2e014156c6b5168af27e52d37d63523fa1a87c080f44"
+    sha256: "d886798ff0a63948a4076f2ed60f0dc18be3aa1299ac1aff2cf705419cbe1bea"
   "2.12.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.12.0.tar.gz"
-    sha256: "51685bab203685100d03ece2e724a3ea035174fd6108e3c45a55a1a60e0ec350"
+    sha256: "b8fa07ab0627c19fb652e08a5ada197eb0939b75e97e2fb76bbee145eaedc6e9"
   "2.11.3":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.11.3.tar.gz"
-    sha256: "89e5e1019853e0fbb5ebb97828abb141cae8dba0d7bf5d29364d07d227f864f0"
+    sha256: "7273ec3ab42adc247425ab34b0601db86a6e2a6aa1a97a11e29df02e078f5037"
   "2.10.5":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.10.5.tar.gz"
-    sha256: "3540ac942d845beedb432cf4f65c2c30c3818e211e094f1320563f9aa2bc7b3b"
+    sha256: "a88f94bf839c1371aab8207a6a43698ceb92c72f65d0d7fe5b6e59f24c138b4d"
   "2.8.0":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.8.0.tar.gz"
-    sha256: "97327e493908911ee06dd5144afa8818de255127305e63ef39368d8d8ae2cb06"
+    sha256: "be608cdf68deb02e0d3ee62e183942a0fe5d5d3185375b9b6566e2ae35a9bdbd"
   "2.6.1":
     url: "https://github.com/Blosc/c-blosc2/archive/v2.6.1.tar.gz"
-    sha256: "4a91b229cfa5beb89ab9edb75f7a45e501ac6bb19a9b73a26f06e9b2a1f42875"
+    sha256: "514a793368093893c1a7cae030f7e31faca7f86465ae69dd576f256d8bf28c08"
 patches:
   "2.13.1":
     - patch_file: "patches/2.11.1-0001-fix-cmake.patch"
diff --git a/recipes/c-blosc2/all/conanfile.py b/recipes/c-blosc2/all/conanfile.py
index 7d0ee7490f4cd..33223628423bf 100644
--- a/recipes/c-blosc2/all/conanfile.py
+++ b/recipes/c-blosc2/all/conanfile.py
@@ -18,7 +18,7 @@ class CBlosc2Conan(ConanFile):
     license = "BSD-3-Clause"
     url = "https://github.com/conan-io/conan-center-index"
     homepage = "https://github.com/Blosc/c-blosc2"
-    topics = ("c-blosc", "blosc", "compression")
+    topics = ("c-blosc", "blosc", "compression", "cache", "store")
     package_type = "library"
     settings = "os", "arch", "compiler", "build_type"
     options = {

From 42cffa831bb9fea5cd05d56f507b0d92db320646 Mon Sep 17 00:00:00 2001
From: toge 
Date: Thu, 8 Feb 2024 20:08:51 +0900
Subject: [PATCH 1099/1307] (#22649) ignition-cmake: add version 2.17.1, rename
 patch filename

---
 recipes/ignition-cmake/all/conandata.yml      | 24 +++++---
 ...ixes.patch => 2.10.0-0001-fix-cmake.patch} |  0
 .../all/patches/2.17.1-0001-fix-cmake.patch   | 58 +++++++++++++++++++
 ...fixes.patch => 2.5.0-0001-fix-cmake.patch} |  0
 recipes/ignition-cmake/config.yml             |  4 +-
 5 files changed, 78 insertions(+), 8 deletions(-)
 rename recipes/ignition-cmake/all/patches/{0002-ignition-cmake-2.10.0-fixes.patch => 2.10.0-0001-fix-cmake.patch} (100%)
 create mode 100644 recipes/ignition-cmake/all/patches/2.17.1-0001-fix-cmake.patch
 rename recipes/ignition-cmake/all/patches/{0001-cmake-fixes.patch => 2.5.0-0001-fix-cmake.patch} (100%)

diff --git a/recipes/ignition-cmake/all/conandata.yml b/recipes/ignition-cmake/all/conandata.yml
index ccb98d28636f3..7fffddb3eb19f 100644
--- a/recipes/ignition-cmake/all/conandata.yml
+++ b/recipes/ignition-cmake/all/conandata.yml
@@ -1,13 +1,23 @@
 sources:
-  "2.5.0":
-    url: "https://github.com/gazebosim/gz-cmake/archive/ignition-cmake2_2.5.0.zip"
-    sha256: "30945958fbe598f654d30de926a798f9055b1c635f7d85441ecba1ebe0804d2d"
+  "2.17.1":
+    url: "https://github.com/gazebosim/gz-cmake/archive/refs/tags/ignition-cmake2_2.17.1.tar.gz"
+    sha256: "f8dbadac71540324e0c506b607cefa99e99a8aca997f7af8e67cb486eb610cc0"
   "2.10.0":
     url: "https://github.com/gazebosim/gz-cmake/archive/refs/tags/ignition-cmake2_2.10.0.tar.gz"
     sha256: "48a01131731b09c32cfc7d577c4db378fb02e49a071e24c9299624766e1d05a2"
-
-patches:
   "2.5.0":
-    - patch_file: "patches/0001-cmake-fixes.patch"
+    url: "https://github.com/gazebosim/gz-cmake/archive/refs/tags/ignition-cmake2_2.5.0.tar.gz"
+    sha256: "d19d0005f0a8dcf79851376a8beff13a0d41b441dd00b3504d218e912dba9d1e"
+patches:
+  "2.17.1":
+    - patch_file: "patches/2.17.1-0001-fix-cmake.patch"
+      patch_description: "fix cmake folders"
+      patch_type: "conan"
   "2.10.0":
-    - patch_file: "patches/0002-ignition-cmake-2.10.0-fixes.patch"
+    - patch_file: "patches/2.10.0-0001-fix-cmake.patch"
+      patch_description: "fix cmake folders"
+      patch_type: "conan"
+  "2.5.0":
+    - patch_file: "patches/2.5.0-0001-fix-cmake.patch"
+      patch_description: "fix cmake folders"
+      patch_type: "conan"
diff --git a/recipes/ignition-cmake/all/patches/0002-ignition-cmake-2.10.0-fixes.patch b/recipes/ignition-cmake/all/patches/2.10.0-0001-fix-cmake.patch
similarity index 100%
rename from recipes/ignition-cmake/all/patches/0002-ignition-cmake-2.10.0-fixes.patch
rename to recipes/ignition-cmake/all/patches/2.10.0-0001-fix-cmake.patch
diff --git a/recipes/ignition-cmake/all/patches/2.17.1-0001-fix-cmake.patch b/recipes/ignition-cmake/all/patches/2.17.1-0001-fix-cmake.patch
new file mode 100644
index 0000000000000..efd3c2a4c4a5f
--- /dev/null
+++ b/recipes/ignition-cmake/all/patches/2.17.1-0001-fix-cmake.patch
@@ -0,0 +1,58 @@
+diff --git a/cmake/IgnCMake.cmake b/cmake/IgnCMake.cmake
+index b4aa7e3..17ece86 100644
+--- a/cmake/IgnCMake.cmake
++++ b/cmake/IgnCMake.cmake
+@@ -37,3 +37,10 @@ include(IgnSanitizers)
+ #============================================================================
+ include(CMakePackageConfigHelpers)
+ include(CMakeParseArguments)
++
++set(IGNITION_CMAKE_DIR "${CMAKE_CURRENT_LIST_DIR}")
++set(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../..")
++set(IGNITION_CMAKE_DOXYGEN_DIR "${PACKAGE_PREFIX_DIR}/lib/ignition/ignition-cmake2/doxygen")
++set(IGNITION_CMAKE_CODECHECK_DIR "${PACKAGE_PREFIX_DIR}/lib/ignition/ignition-cmake2/codecheck")
++set(IGNITION_CMAKE_BENCHMARK_DIR "${PACKAGE_PREFIX_DIR}/lib/ignition/ignition-cmake2/benchmark")
++set(IGNITION_CMAKE_TOOLS_DIR "${PACKAGE_PREFIX_DIR}/lib/ignition/ignition-cmake2/tools")
+diff --git a/cmake/IgnSetCompilerFlags.cmake b/cmake/IgnSetCompilerFlags.cmake
+index 0a6b5b5..03df75b 100644
+--- a/cmake/IgnSetCompilerFlags.cmake
++++ b/cmake/IgnSetCompilerFlags.cmake
+@@ -77,9 +77,9 @@ macro(ign_setup_unix)
+     exec_program(${CMAKE_UNAME} ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)
+     set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE INTERNAL
+         "processor type (i386 and x86_64)")
+-    if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+-      set(IGN_ADD_fPIC_TO_LIBRARIES true)
+-    endif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
++    # if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
++    #   set(IGN_ADD_fPIC_TO_LIBRARIES true)
++    # endif(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
+   endif(CMAKE_UNAME)
+ 
+ endmacro()
+@@ -93,8 +93,10 @@ macro(ign_setup_apple)
+   #    10.x.x = Mac OSX Snow Leopard (10.6)
+   #    11.x.x = Mac OSX Lion (10.7)
+   #    12.x.x = Mac OSX Mountain Lion (10.8)
+-  if(${CMAKE_SYSTEM_VERSION} LESS 10)
+-    add_definitions(-DMAC_OS_X_VERSION=1050)
++  if(NOT CMAKE_SYSTEM_VERSION)
++      return()
++  elseif(${CMAKE_SYSTEM_VERSION} LESS 10)
++      add_definitions(-DMAC_OS_X_VERSION=1050)
+   elseif(${CMAKE_SYSTEM_VERSION} GREATER 10 AND ${CMAKE_SYSTEM_VERSION} LESS 11)
+     add_definitions(-DMAC_OS_X_VERSION=1060)
+   elseif(${CMAKE_SYSTEM_VERSION} GREATER 11 AND ${CMAKE_SYSTEM_VERSION} LESS 12)
+diff --git a/cmake/IgnUtils.cmake b/cmake/IgnUtils.cmake
+index 9b94c85..5e525e6 100644
+--- a/cmake/IgnUtils.cmake
++++ b/cmake/IgnUtils.cmake
+@@ -1409,7 +1409,7 @@ macro(_ign_add_library_or_component)
+     # Generate export macro headers
+     # Note: INTERFACE libraries do not need the export header
+     set(binary_include_dir
+-      "${CMAKE_BINARY_DIR}/include/${include_dir}")
++      "${PROJECT_BINARY_DIR}/include/${include_dir}")
+ 
+     set(implementation_file_name "${binary_include_dir}/detail/Export.hh")
+ 
diff --git a/recipes/ignition-cmake/all/patches/0001-cmake-fixes.patch b/recipes/ignition-cmake/all/patches/2.5.0-0001-fix-cmake.patch
similarity index 100%
rename from recipes/ignition-cmake/all/patches/0001-cmake-fixes.patch
rename to recipes/ignition-cmake/all/patches/2.5.0-0001-fix-cmake.patch
diff --git a/recipes/ignition-cmake/config.yml b/recipes/ignition-cmake/config.yml
index 90aed98c5dd74..1d34d3bb6f93d 100644
--- a/recipes/ignition-cmake/config.yml
+++ b/recipes/ignition-cmake/config.yml
@@ -1,5 +1,7 @@
 versions:
-  "2.5.0":
+  "2.17.1":
     folder: all
   "2.10.0":
     folder: all
+  "2.5.0":
+    folder: all

From 859548a127a6c812f04944bd31667bfd1d83499e Mon Sep 17 00:00:00 2001
From: Ahajha <44127594+Ahajha@users.noreply.github.com>
Date: Thu, 8 Feb 2024 06:28:36 -0500
Subject: [PATCH 1100/1307] (#22712) tk: Fix apple shared install name

---
 recipes/tk/all/conanfile.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes/tk/all/conanfile.py b/recipes/tk/all/conanfile.py
index 2683c9b951f69..1d1ce6f92531f 100644
--- a/recipes/tk/all/conanfile.py
+++ b/recipes/tk/all/conanfile.py
@@ -2,7 +2,7 @@
 
 from conan import ConanFile
 from conan.errors import ConanException, ConanInvalidConfiguration
-from conan.tools.apple import is_apple_os
+from conan.tools.apple import is_apple_os, fix_apple_shared_install_name
 from conan.tools.build import cross_building
 from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
 from conan.tools.files import (
@@ -242,6 +242,8 @@ def package(self):
             # This can only be modified after build since the value being replaced is a result
             # of variable substitution in tkConfig.sh.in
             replace_in_file(self, tkConfigShPath, "//", "${TK_ROOT}/")
+        
+        fix_apple_shared_install_name(self)
 
     def package_info(self):
         tk_version = Version(self.version)

From 8606c23837ddd0fea46847dae43620484ebdccf4 Mon Sep 17 00:00:00 2001
From: Andrei Malashkin 
Date: Thu, 8 Feb 2024 21:48:44 +0800
Subject: [PATCH 1101/1307] (#22596) initial implementation of etcd-cpp-apiv3

* initial implementation of etcd-cpp-apiv3

* make linter happy

* make linter happy

* use CMakeDeps

* update test package; collect libs

* add check for grpc - it shall be static lib

* remove generated cmake files

* add transitive libs

* Update recipes/etcd-cpp-apiv3/all/conanfile.py

Co-authored-by: Uilian Ries 

* disable macos support for now

* prepare to CCI

Signed-off-by: Uilian Ries 

* remove not used import

Signed-off-by: Uilian Ries 

* Fix path separator in Windows

* use C++14 by default

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Uilian Ries 
---
 recipes/etcd-cpp-apiv3/all/conandata.yml      |   4 +
 recipes/etcd-cpp-apiv3/all/conanfile.py       | 110 ++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |   7 ++
 .../all/test_package/conanfile.py             |  26 +++++
 .../all/test_package/test_package.cpp         |  13 +++
 recipes/etcd-cpp-apiv3/config.yml             |   3 +
 6 files changed, 163 insertions(+)
 create mode 100644 recipes/etcd-cpp-apiv3/all/conandata.yml
 create mode 100644 recipes/etcd-cpp-apiv3/all/conanfile.py
 create mode 100644 recipes/etcd-cpp-apiv3/all/test_package/CMakeLists.txt
 create mode 100644 recipes/etcd-cpp-apiv3/all/test_package/conanfile.py
 create mode 100644 recipes/etcd-cpp-apiv3/all/test_package/test_package.cpp
 create mode 100644 recipes/etcd-cpp-apiv3/config.yml

diff --git a/recipes/etcd-cpp-apiv3/all/conandata.yml b/recipes/etcd-cpp-apiv3/all/conandata.yml
new file mode 100644
index 0000000000000..639ef314f4821
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.15.4":
+    url: "https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3/archive/refs/tags/v0.15.4.tar.gz"
+    sha256: "4516ecfa420826088c187efd42dad249367ca94ea6cdfc24e3030c3cf47af7b4"
diff --git a/recipes/etcd-cpp-apiv3/all/conanfile.py b/recipes/etcd-cpp-apiv3/all/conanfile.py
new file mode 100644
index 0000000000000..2d42f65ab0601
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/all/conanfile.py
@@ -0,0 +1,110 @@
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout
+from conan.tools.files import get, copy, rmdir
+from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
+from conan.tools.build import check_min_cppstd
+from conan.tools.scm import Version
+from conan.errors import ConanInvalidConfiguration
+import os
+
+required_conan_version = ">=1.53.0"
+
+class EtcdCppApiv3Conan(ConanFile):
+    name = "etcd-cpp-apiv3"
+    package_type = "library"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/etcd-cpp-apiv3/etcd-cpp-apiv3"
+    license = "BSD-3-Clause"
+    description = ("C++ library for etcd's v3 client APIs, i.e., ETCDCTL_API=3.")
+    topics = ("etcd", "api", )
+
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    @property
+    def _is_legacy_one_profile(self):
+        return not hasattr(self, "settings_build")
+
+    @property
+    def _min_cppstd(self):
+        return 14
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "apple-clang": "10",
+            "clang": "7",
+            "gcc": "6",
+            "msvc": "191",
+            "Visual Studio": "15",
+        }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def build_requirements(self):
+        if not self._is_legacy_one_profile:
+            self.tool_requires("protobuf/")
+            self.tool_requires("grpc/")
+
+    def requirements(self):
+        self.requires("protobuf/3.21.12")
+        self.requires("openssl/[>=1.1 <4]")
+        self.requires("grpc/1.54.3")
+        self.requires("cpprestsdk/2.10.19", transitive_headers=True, transitive_libs=True)
+
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version],
+            destination=self.source_folder, strip_root=True)
+
+    def generate(self):
+        env = VirtualBuildEnv(self)
+        env.generate()
+        if self._is_legacy_one_profile:
+            env = VirtualRunEnv(self)
+            env.generate(scope="build")
+
+        tc = CMakeToolchain(self)
+        tc.variables["gRPC_VERSION"] = self.dependencies["grpc"].ref.version
+        tc.variables["ETCD_CMAKE_CXX_STANDARD"] = self.settings.compiler.get_safe("cppstd", self._min_cppstd)
+        tc.variables["OpenSSL_DIR"] = self.dependencies["openssl"].package_folder.replace('\\', '/')
+        tc.generate()
+
+        cmake_deps = CMakeDeps(self)
+        cmake_deps.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, "LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+
+    def package_info(self):
+        self.cpp_info.libs = ["etcd-cpp-api"]
diff --git a/recipes/etcd-cpp-apiv3/all/test_package/CMakeLists.txt b/recipes/etcd-cpp-apiv3/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..3dfe027a95ad7
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/all/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.1)
+project(test_package LANGUAGES CXX)
+
+find_package(etcd-cpp-apiv3 REQUIRED)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE etcd-cpp-apiv3::etcd-cpp-apiv3)
diff --git a/recipes/etcd-cpp-apiv3/all/test_package/conanfile.py b/recipes/etcd-cpp-apiv3/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..0a6bc68712d90
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import CMake, cmake_layout
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/etcd-cpp-apiv3/all/test_package/test_package.cpp b/recipes/etcd-cpp-apiv3/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..b481840dd6d30
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/all/test_package/test_package.cpp
@@ -0,0 +1,13 @@
+#include 
+#include 
+#include 
+#include "etcd/Client.hpp"
+
+static const std::string etcd_url =
+    etcdv3::detail::resolve_etcd_endpoints("http://127.0.0.1:2379");
+
+int main()
+{
+    etcd::Client* etcd = etcd::Client::WithUser(etcd_url, "root", "root");
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/etcd-cpp-apiv3/config.yml b/recipes/etcd-cpp-apiv3/config.yml
new file mode 100644
index 0000000000000..810f6e84b1f61
--- /dev/null
+++ b/recipes/etcd-cpp-apiv3/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.15.4":
+    folder: all

From 0e94d7d040beee3010b9e764673eaf2a93b2b762 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Thu, 8 Feb 2024 17:28:15 +0200
Subject: [PATCH 1102/1307] (#22048) autoconf: add v2.72

* autoconf: add v2.72

* autoconf: revert to the old patching logic
---
 recipes/autoconf/all/conandata.yml            |  17 +-
 recipes/autoconf/all/conanfile.py             |   6 -
 .../2.72-0001-relocatable-autoconf.patch      | 262 ++++++++++++++++++
 .../2.72-0003-disable-man-regeneration.patch  |  12 +
 recipes/autoconf/config.yml                   |   2 +
 5 files changed, 291 insertions(+), 8 deletions(-)
 create mode 100644 recipes/autoconf/all/patches/2.72-0001-relocatable-autoconf.patch
 create mode 100644 recipes/autoconf/all/patches/2.72-0003-disable-man-regeneration.patch

diff --git a/recipes/autoconf/all/conandata.yml b/recipes/autoconf/all/conandata.yml
index aefee4cae6132..48a99f0a3f908 100644
--- a/recipes/autoconf/all/conandata.yml
+++ b/recipes/autoconf/all/conandata.yml
@@ -1,8 +1,21 @@
 sources:
+  "2.72":
+    url: "https://ftpmirror.gnu.org/autoconf/autoconf-2.72.tar.xz"
+    sha256: "ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a"
   "2.71":
-    sha256: "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c"
-    url: "https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz"
+    url: "https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.xz"
+    sha256: "f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4"
 patches:
+  "2.72":
+    - patch_file: "patches/2.72-0001-relocatable-autoconf.patch"
+      patch_description: "Replace instances where absolute paths are embedded the generated files"
+      patch_type: "conan"
+    - patch_file: "patches/2.71-0002-no-perl-path-in-shebang.patch"
+      patch_description: "Avoid build machine's perl path to be embedded the generated files"
+      patch_type: "conan"
+    - patch_file: "patches/2.72-0003-disable-man-regeneration.patch"
+      patch_description: "Disable man regeneration"
+      patch_type: "conan"
   "2.71":
     - patch_file: "patches/2.71-0001-relocatable-autoconf.patch"
       patch_description: "Replace instances where absolute paths are embedded the generated files"
diff --git a/recipes/autoconf/all/conanfile.py b/recipes/autoconf/all/conanfile.py
index 6030c1664be5b..048942c07adfc 100644
--- a/recipes/autoconf/all/conanfile.py
+++ b/recipes/autoconf/all/conanfile.py
@@ -105,12 +105,6 @@ def package_info(self):
         self.cpp_info.includedirs = []
         self.cpp_info.resdirs = ["res"]
 
-        # TODO: These variables can be removed since the scripts now locate the resources
-        #       relative to themselves.
-        dataroot_path = os.path.join(self.package_folder, "res", "autoconf")
-        self.buildenv_info.define_path("AC_MACRODIR", dataroot_path)
-        self.buildenv_info.define_path("autom4te_perllibdir", dataroot_path)
-
         bin_path = os.path.join(self.package_folder, "bin")
         self.buildenv_info.define_path("AUTOCONF", os.path.join(bin_path, "autoconf"))
         self.buildenv_info.define_path("AUTORECONF", os.path.join(bin_path, "autoreconf"))
diff --git a/recipes/autoconf/all/patches/2.72-0001-relocatable-autoconf.patch b/recipes/autoconf/all/patches/2.72-0001-relocatable-autoconf.patch
new file mode 100644
index 0000000000000..a7ebbaa6c17bf
--- /dev/null
+++ b/recipes/autoconf/all/patches/2.72-0001-relocatable-autoconf.patch
@@ -0,0 +1,262 @@
+diff --git a/Makefile.in b/Makefile.in
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -427,7 +427,7 @@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LTLIBOBJS = @LTLIBOBJS@
+-M4 = @M4@
++M4 = /usr/bin/env m4
+ M4_DEBUGFILE = @M4_DEBUGFILE@
+ M4_GNU = @M4_GNU@
+ MAKEINFO = @MAKEINFO@
+diff --git a/bin/autoconf.in b/bin/autoconf.in
+--- a/bin/autoconf.in
++++ b/bin/autoconf.in
+@@ -26,10 +26,14 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
++  $ENV{'trailer_m4'} ||= "$pkgdatadir/autoconf/trailer.m4";
+   unshift @INC, $pkgdatadir;
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+diff --git a/bin/autoheader.in b/bin/autoheader.in
+--- a/bin/autoheader.in
++++ b/bin/autoheader.in
+@@ -29,10 +29,13 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, "$pkgdatadir";
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+@@ -54,7 +57,8 @@
+ our ($config_h, %symbol, %verbatim);
+ 
+ # Lib files.
+-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
++my $scriptpath = abs_path(dirname(__FILE__));
++my $autom4te = $ENV{'AUTOM4TE'} || "$scriptpath/@autom4te-name@";
+ my $config_h_in;
+ my @prepend_include;
+ my @include;
+diff --git a/bin/autom4te.in b/bin/autom4te.in
+--- a/bin/autom4te.in
++++ b/bin/autom4te.in
+@@ -25,10 +25,13 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, $pkgdatadir;
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+@@ -48,7 +51,8 @@
+ use Autom4te::XFile;
+ 
+ # Data directory.
+-my $pkgdatadir = $ENV{'AC_MACRODIR'} || '@pkgdatadir@';
++my $scriptpath = abs_path(dirname(__FILE__));
++my $pkgdatadir = $ENV{'AC_MACRODIR'} || "$scriptpath/../res/autoconf";
+ 
+ # $LANGUAGE{LANGUAGE} -- Automatic options for LANGUAGE.
+ my %language;
+@@ -91,7 +95,7 @@
+ my $freeze = 0;
+ 
+ # $M4.
+-my $m4 = $ENV{"M4"} || '@M4@';
++my $m4 = $ENV{"M4"} || '/usr/bin/env m4';
+ # Some non-GNU m4's don't reject the --help option, so give them /dev/null.
+ fatal "need GNU m4 1.4 or later: $m4"
+   if system "$m4 --help &1 | grep reload-state >/dev/null";
+@@ -321,6 +325,12 @@
+ 	if /^\s*(\#.*)?$/;
+ 
+       my @words = shellwords ($_);
++      # not using: s#AUTOCONF_M4DIR#$pkgdatadir#r to support perl <5.14
++      my @words_clone = @words;
++      @words = ();
++      foreach ( @words_clone ) {
++        push(@words, do { (my $tmp = $_) =~ s#AUTOCONF_M4DIR#$pkgdatadir#; $tmp });
++      }
+       my $type = shift @words;
+       if ($type eq 'begin-language:')
+ 	{
+diff --git a/bin/autoreconf.in b/bin/autoreconf.in
+--- a/bin/autoreconf.in
++++ b/bin/autoreconf.in
+@@ -28,11 +28,14 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ my $buildauxdir;
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, $pkgdatadir;
+ 
+   $buildauxdir = $ENV{'autom4te_buildauxdir'} || $pkgdatadir . '/build-aux';
+@@ -116,9 +119,10 @@
+ ";
+ 
+ # Lib files.
+-my $autoconf    = $ENV{'AUTOCONF'}    || '@bindir@/@autoconf-name@';
+-my $autoheader  = $ENV{'AUTOHEADER'}  || '@bindir@/@autoheader-name@';
+-my $autom4te    = $ENV{'AUTOM4TE'}    || '@bindir@/@autom4te-name@';
++my $scriptpath = abs_path(dirname(__FILE__));
++my $autoconf    = $ENV{'AUTOCONF'}    || "$scriptpath/@autoconf-name@";
++my $autoheader  = $ENV{'AUTOHEADER'}  || "$scriptpath/@autoheader-name@";
++my $autom4te    = $ENV{'AUTOM4TE'}    || "$scriptpath/@autom4te-name@";
+ my $automake    = $ENV{'AUTOMAKE'}    || 'automake';
+ my $aclocal     = $ENV{'ACLOCAL'}     || 'aclocal';
+ my $libtoolize  = $ENV{'LIBTOOLIZE'}  || 'libtoolize';
+diff --git a/bin/autoscan.in b/bin/autoscan.in
+--- a/bin/autoscan.in
++++ b/bin/autoscan.in
+@@ -27,10 +27,13 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, $pkgdatadir;
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+@@ -95,7 +98,8 @@
+ my $log;
+ 
+ # Autoconf and lib files.
+-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
++my $scriptpath = abs_path(dirname(__FILE__));
++my $autom4te = $ENV{'AUTOM4TE'} || "$scriptpath/@autom4te-name@";
+ my $autoconf = "$autom4te --language=autoconf";
+ my @prepend_include;
+ my @include = ('@pkgdatadir@');
+diff --git a/bin/autoupdate.in b/bin/autoupdate.in
+--- a/bin/autoupdate.in
++++ b/bin/autoupdate.in
+@@ -28,10 +28,13 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, $pkgdatadir;
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+@@ -51,14 +54,15 @@
+ use Autom4te::XFile;
+ 
+ # Lib files.
+-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@';
++my $scriptpath = abs_path(dirname(__FILE__));
++my $autom4te = $ENV{'AUTOM4TE'} || "$scriptpath/@autom4te-name@";
+ my $autoconf = "$autom4te --language=autoconf";
+ # We need to find m4sugar.
+ my @prepend_include;
+ my @include = ('@pkgdatadir@');
+ my $force = 0;
+ # m4.
+-my $m4 = $ENV{"M4"} || '@M4@';
++my $m4 = $ENV{"M4"} || '/usr/bin/env m4';
+ 
+ 
+ # $HELP
+diff --git a/bin/ifnames.in b/bin/ifnames.in
+--- a/bin/ifnames.in
++++ b/bin/ifnames.in
+@@ -32,10 +32,13 @@
+ use 5.006;
+ use strict;
+ use warnings FATAL => 'all';
++use Cwd 'abs_path';
++use File::Basename;
+ 
+ BEGIN
+ {
+-  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@';
++  my $scriptpath = abs_path(dirname(__FILE__));
++  my $pkgdatadir = $ENV{'autom4te_perllibdir'} || "$scriptpath/../res/autoconf";
+   unshift @INC, $pkgdatadir;
+ 
+   # Override SHELL.  On DJGPP SHELL may not be set to a shell
+diff --git a/lib/autom4te.in b/lib/autom4te.in
+--- a/lib/autom4te.in
++++ b/lib/autom4te.in
+@@ -115,7 +115,7 @@
+ # This intermediate language is used by aclocal to build aclocal.m4.
+ 
+ begin-language: "Autoconf-without-aclocal-m4"
+-args: --prepend-include '@pkgdatadir@'
++args: --prepend-include 'AUTOCONF_M4DIR'
+ args: --cache=autom4te.cache
+ args: autoconf/autoconf.m4f
+ args: acsite.m4?
+@@ -142,7 +142,7 @@
+ ## -------- ##
+ 
+ begin-language: "Autotest"
+-args: --prepend-include '@pkgdatadir@'
++args: --prepend-include 'AUTOCONF_M4DIR'
+ args: autotest/autotest.m4f
+ args: package.m4?
+ args: local.at?
+@@ -156,7 +156,7 @@
+ ## ---- ##
+ 
+ begin-language: "M4sh"
+-args: --prepend-include '@pkgdatadir@'
++args: --prepend-include 'AUTOCONF_M4DIR'
+ args: m4sugar/m4sh.m4f
+ args: --mode 777
+ args: --language M4sugar
+@@ -168,6 +168,6 @@
+ ## ------- ##
+ 
+ begin-language: "M4sugar"
+-args: --prepend-include '@pkgdatadir@'
++args: --prepend-include 'AUTOCONF_M4DIR'
+ args: m4sugar/m4sugar.m4f
+ end-language: "M4sugar"
diff --git a/recipes/autoconf/all/patches/2.72-0003-disable-man-regeneration.patch b/recipes/autoconf/all/patches/2.72-0003-disable-man-regeneration.patch
new file mode 100644
index 0000000000000..af2e738435ff6
--- /dev/null
+++ b/recipes/autoconf/all/patches/2.72-0003-disable-man-regeneration.patch
@@ -0,0 +1,12 @@
+--- Makefile.in
++++ Makefile.in
+@@ -2171,9 +2171,2 @@
+ .PHONY: install-data-hook install-data-hook-make-aux-scripts-executable
+ 
+-man/autoconf.1:   $(common_dep) man/autoconf.w   man/autoconf.x   $(binsrcdir)/autoconf.in
+-man/autoheader.1: $(common_dep) man/autoheader.w man/autoheader.x $(binsrcdir)/autoheader.in
+-man/autom4te.1:   $(common_dep) man/autom4te.w   man/autom4te.x   $(binsrcdir)/autom4te.in
+-man/autoreconf.1: $(common_dep) man/autoreconf.w man/autoreconf.x $(binsrcdir)/autoreconf.in
+-man/autoscan.1:   $(common_dep) man/autoscan.w   man/autoscan.x   $(binsrcdir)/autoscan.in
+-man/autoupdate.1: $(common_dep) man/autoupdate.w man/autoupdate.x $(binsrcdir)/autoupdate.in
+-man/ifnames.1:    $(common_dep) man/ifnames.w    man/ifnames.x    $(binsrcdir)/ifnames.in
diff --git a/recipes/autoconf/config.yml b/recipes/autoconf/config.yml
index f45dc3e529288..946e15e5dab08 100644
--- a/recipes/autoconf/config.yml
+++ b/recipes/autoconf/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "2.72":
+    folder: all
   "2.71":
     folder: all

From adc0f733bd4e986d1d6ef0f634b09560a16335c8 Mon Sep 17 00:00:00 2001
From: Rob Boehne 
Date: Thu, 8 Feb 2024 09:54:26 -0600
Subject: [PATCH 1103/1307] (#22694) [expat] Add expat version 2.6.0

---
 recipes/expat/all/conandata.yml | 3 +++
 recipes/expat/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml
index f3b9d575c901c..50ac4905f740e 100644
--- a/recipes/expat/all/conandata.yml
+++ b/recipes/expat/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.6.0":
+    url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_0/expat-2.6.0.tar.xz"
+    sha256: "cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e"
   "2.5.0":
     url: "https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.xz"
     sha256: "ef2420f0232c087801abf705e89ae65f6257df6b7931d37846a193ef2e8cdcbe"
diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml
index e09e9d75495cc..548e19d13502f 100644
--- a/recipes/expat/config.yml
+++ b/recipes/expat/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.6.0":
+    folder: all
   "2.5.0":
     folder: all
   "2.4.9":

From 7ed79e4be77253a3fc9c6c088657519de45145fb Mon Sep 17 00:00:00 2001
From: Cameron <54868046+crhowell3@users.noreply.github.com>
Date: Thu, 8 Feb 2024 12:08:15 -0600
Subject: [PATCH 1104/1307] (#22646) [opendis6] new recipe
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Initial template for opendis6

* Added conandata, test package dirs

* Fixed syntax error in conanfile

* Syntax fix

* Fixed conan build, now works

* prepare for CCI

Signed-off-by: Uilian Ries 

* Added CMake as a build req

* Fixed linter issue

* Updated SHA256 to new release file

* Bumped min compiler versions

* Update recipes/opendis6/all/conanfile.py

* Update recipes/opendis6/all/conanfile.py

* Update recipes/opendis6/all/conanfile.py

* Update recipes/opendis6/all/test_package/CMakeLists.txt

* Update recipes/opendis6/all/conanfile.py

---------

Signed-off-by: Uilian Ries 
Co-authored-by: Uilian Ries 
Co-authored-by: Rubén Rincón Blanco 
---
 recipes/opendis6/all/conandata.yml            |  4 +
 recipes/opendis6/all/conanfile.py             | 95 +++++++++++++++++++
 .../opendis6/all/test_package/CMakeLists.txt  |  8 ++
 .../opendis6/all/test_package/conanfile.py    | 26 +++++
 .../all/test_package/test_package.cpp         | 14 +++
 recipes/opendis6/config.yml                   |  3 +
 6 files changed, 150 insertions(+)
 create mode 100644 recipes/opendis6/all/conandata.yml
 create mode 100644 recipes/opendis6/all/conanfile.py
 create mode 100644 recipes/opendis6/all/test_package/CMakeLists.txt
 create mode 100644 recipes/opendis6/all/test_package/conanfile.py
 create mode 100644 recipes/opendis6/all/test_package/test_package.cpp
 create mode 100644 recipes/opendis6/config.yml

diff --git a/recipes/opendis6/all/conandata.yml b/recipes/opendis6/all/conandata.yml
new file mode 100644
index 0000000000000..7824537ac8c80
--- /dev/null
+++ b/recipes/opendis6/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.1.0":
+    url: "https://github.com/crhowell3/opendis6/archive/refs/tags/0.1.0.tar.gz"
+    sha256: "7acfd6ecdcea03c75f93834c4e8ad532aee03eb0fdd2736c9095e2d548214125"
diff --git a/recipes/opendis6/all/conanfile.py b/recipes/opendis6/all/conanfile.py
new file mode 100644
index 0000000000000..7e3a9bc79f7cc
--- /dev/null
+++ b/recipes/opendis6/all/conanfile.py
@@ -0,0 +1,95 @@
+import os
+
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
+from conan.tools.files import copy, get, rmdir
+from conan.tools.build import check_min_cppstd
+from conan.tools.scm import Version
+from conan.errors import ConanInvalidConfiguration
+
+required_conan_version = ">=1.53.0"
+
+class OpenDis6Conan(ConanFile):
+    name = "opendis6"
+    homepage = "https://github.com/crhowell3/opendis6"
+    description = "Modern C++ implementation of IEEE 1278.1a-1998"
+    topics = ("library", "protocol", "dis")
+    url = "https://github.com/conan-io/conan-center-index"
+    license = "BSD-2-Clause"
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False]
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True
+    }
+
+    @property
+    def _min_cppstd(self):
+        return "17"
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "Visual Studio": "15",
+            "msvc": "191",
+            "gcc": "8.5",
+            "clang": "6",
+            "apple-clang": "14",
+        }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.cache_variables["BUILD_EXAMPLES"] = False
+        tc.cache_variables["BUILD_TESTS"] = False
+        tc.generate()
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def build_requirements(self):
+        self.tool_requires("cmake/[>=3.22 <4]")
+    
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.")
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "res"))
+        rmdir(self, os.path.join(self.package_folder, "share"))
+
+    def package_info(self):
+        self.cpp_info.libs = ["OpenDIS6"]
+        self.cpp_info.set_property("cmake_file_name", "OpenDIS")
+        self.cpp_info.set_property("cmake_target_name", "OpenDIS::OpenDIS6")
+        self.cpp_info.set_property("cmake_target_aliases", ["OpenDIS::DIS6","OpenDIS6"])
+        
+        if self.settings.os in ["Linux", "FreeBSD"]:
+            self.cpp_info.system_libs.append("m")
diff --git a/recipes/opendis6/all/test_package/CMakeLists.txt b/recipes/opendis6/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..c3a404538b736
--- /dev/null
+++ b/recipes/opendis6/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(OpenDIS CONFIG REQUIRED)
+
+add_executable(test_package_dis test_package.cpp)
+target_link_libraries(test_package_dis PRIVATE OpenDIS::OpenDIS6)
+set_target_properties(test_package_dis PROPERTIES CXX_STANDARD 17)
diff --git a/recipes/opendis6/all/test_package/conanfile.py b/recipes/opendis6/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..8e56d28728132
--- /dev/null
+++ b/recipes/opendis6/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+import os
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeToolchain
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout
+
+class TestPackageConan(ConanFile):
+    settings = "os", "compiler", "build_type", "arch"
+    generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            self.run(os.path.join(self.cpp.build.bindirs[0],
+                     "test_package_dis"), env="conanrun")
diff --git a/recipes/opendis6/all/test_package/test_package.cpp b/recipes/opendis6/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..8d0bb6749255c
--- /dev/null
+++ b/recipes/opendis6/all/test_package/test_package.cpp
@@ -0,0 +1,14 @@
+#include 
+
+#include "dis6/entity_information/EntityStatePdu.h"
+
+int main() {
+  dis::EntityStatePdu pdu1, pdu2;
+
+  dis::DataStream ds(dis::kBig);
+  pdu1.Marshal(ds);
+  pdu2.Unmarshal(ds);
+
+  std::cout << "Success\n";
+  return EXIT_SUCCESS;
+}
diff --git a/recipes/opendis6/config.yml b/recipes/opendis6/config.yml
new file mode 100644
index 0000000000000..6c11a439d0bc2
--- /dev/null
+++ b/recipes/opendis6/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.1.0":
+    folder: all

From b45854204eae2884529c79477f7553efc0828f8d Mon Sep 17 00:00:00 2001
From: Kleto Zan 
Date: Thu, 8 Feb 2024 17:28:41 -0300
Subject: [PATCH 1105/1307] (#22643) openssl: Add option to disable apps build
 in 3.x.x

This is useful for example to disable build of http_server for tvOS.

tvOS doesn't have fork() and http_server uses it:

apps/lib/http_server.c:156:24: error: 'fork' is unavailable: not available on tvOS
        switch (fpid = fork()) {
---
 recipes/openssl/3.x.x/conanfile.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes/openssl/3.x.x/conanfile.py b/recipes/openssl/3.x.x/conanfile.py
index f23cd0b52fadd..afcc879ec24a9 100644
--- a/recipes/openssl/3.x.x/conanfile.py
+++ b/recipes/openssl/3.x.x/conanfile.py
@@ -33,6 +33,7 @@ class OpenSSLConan(ConanFile):
         "enable_capieng": [True, False],
         "enable_trace": [True, False],
         "no_aria": [True, False],
+        "no_apps": [True, False],
         "no_autoload_config": [True, False],
         "no_asm": [True, False],
         "no_async": [True, False],

From 3c55971a382fc32e1120cf299afb8a6d5048d46b Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 16:48:02 +0900
Subject: [PATCH 1106/1307] (#22722) cli11: add version 2.4.1

---
 recipes/cli11/all/conandata.yml | 3 +++
 recipes/cli11/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/cli11/all/conandata.yml b/recipes/cli11/all/conandata.yml
index 710d40000e172..f6711af51ec3a 100644
--- a/recipes/cli11/all/conandata.yml
+++ b/recipes/cli11/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.4.1":
+    url: "https://github.com/CLIUtils/CLI11/archive/v2.4.1.tar.gz"
+    sha256: "73b7ec52261ce8fe980a29df6b4ceb66243bb0b779451dbd3d014cfec9fdbb58"
   "2.4.0":
     url: "https://github.com/CLIUtils/CLI11/archive/v2.4.0.tar.gz"
     sha256: "d2ce8d5318d2a7a7d1120e2a18caac49cd65423d5d4158cbbc0267e6768af522"
diff --git a/recipes/cli11/config.yml b/recipes/cli11/config.yml
index 77e437062a028..29883272197c4 100644
--- a/recipes/cli11/config.yml
+++ b/recipes/cli11/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.4.1":
+    folder: all
   "2.4.0":
     folder: all
   "2.3.2":

From 899aaf6144e1c8b1014d8ec94c405de9f993a24e Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 17:07:58 +0900
Subject: [PATCH 1107/1307] (#22726) 7bitdi: add version 2.1.0

---
 recipes/7bitdi/all/conandata.yml | 3 +++
 recipes/7bitdi/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/7bitdi/all/conandata.yml b/recipes/7bitdi/all/conandata.yml
index d7e7e7fe4e22e..22d7e84c10e0a 100644
--- a/recipes/7bitdi/all/conandata.yml
+++ b/recipes/7bitdi/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.1.0":
+    url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v2.1.0.tar.gz"
+    sha256: "54edceb4f90bf652126310ca0b78150d05a02d7081cef3c9ccaba5f4dd112935"
   "2.0.0":
     url: "https://github.com/7bitcoder/7bitDI/archive/refs/tags/v2.0.0.tar.gz"
     sha256: "ae6d01c677b928a9c0979b9b2395692f9a3d876e07189d9b191e7b55c13d9ef4"
diff --git a/recipes/7bitdi/config.yml b/recipes/7bitdi/config.yml
index 870fb33e55af0..4a1d176d1dc7e 100644
--- a/recipes/7bitdi/config.yml
+++ b/recipes/7bitdi/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.1.0":
+    folder: all
   "2.0.0":
     folder: all
   "1.0.0":

From 9094090695d3e76f6946fcfea251334e99a4a696 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 17:27:57 +0900
Subject: [PATCH 1108/1307] (#22721) glaze: add version 2.0.7

---
 recipes/glaze/all/conandata.yml | 3 +++
 recipes/glaze/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml
index 5573aaa9a0d2c..247424073dd75 100644
--- a/recipes/glaze/all/conandata.yml
+++ b/recipes/glaze/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "2.0.7":
+    url: "https://github.com/stephenberry/glaze/archive/v2.0.7.tar.gz"
+    sha256: "1bf981e72733fb5a02a91c9642d91fa39e4a1ebe42f81e8fc6a016c11ed762cb"
   "2.0.6":
     url: "https://github.com/stephenberry/glaze/archive/v2.0.6.tar.gz"
     sha256: "aa5d4921382e9781998ebbf6d36964556daa3367a2aef5ca814122502b450abc"
diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml
index 4091325ce2c5a..67e6a0900ca46 100644
--- a/recipes/glaze/config.yml
+++ b/recipes/glaze/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "2.0.7":
+    folder: all
   "2.0.6":
     folder: all
   "2.0.5":

From 5ebf11c428dcdef18ba1168f8833db23debb19bd Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 17:48:11 +0900
Subject: [PATCH 1109/1307] (#22724) usockets: add version 0.8.8

---
 recipes/usockets/all/conandata.yml | 7 +++++++
 recipes/usockets/config.yml        | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/recipes/usockets/all/conandata.yml b/recipes/usockets/all/conandata.yml
index df56cdd674867..3fbcf6ef2a19d 100644
--- a/recipes/usockets/all/conandata.yml
+++ b/recipes/usockets/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "0.8.8":
+    url: "https://github.com/uNetworking/uSockets/archive/v0.8.8.tar.gz"
+    sha256: "d14d2efe1df767dbebfb8d6f5b52aa952faf66b30c822fbe464debaa0c5c0b17"
   "0.8.7":
     url: "https://github.com/uNetworking/uSockets/archive/v0.8.7.tar.gz"
     sha256: "920313a2ae42bbda17bded6fc83b3df635af24cc9abefc87905ad60fdc596edf"
@@ -27,6 +30,10 @@ sources:
     url: "https://github.com/uNetworking/uSockets/archive/v0.4.0.tar.gz"
     sha256: "f9f15b395def578cc79a5b32abc64fa9cff5dac873062911f515b984b90f7cc2"
 patches:
+  "0.8.8":
+    - patch_file: "patches/0001-makefile_0.8.6.patch"
+      patch_description: "remove lto options"
+      patch_type: "portability"
   "0.8.7":
     - patch_file: "patches/0001-makefile_0.8.6.patch"
       patch_description: "remove lto options"
diff --git a/recipes/usockets/config.yml b/recipes/usockets/config.yml
index c71afbcfba697..a6ec735be30d3 100644
--- a/recipes/usockets/config.yml
+++ b/recipes/usockets/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "0.8.8":
+    folder: all
   "0.8.7":
     folder: all
   "0.8.6":

From 30c5f6b4aeeb9bce3614b9b2f1db7ea3324d8cdc Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 18:08:24 +0900
Subject: [PATCH 1110/1307] (#22725) wise_enum: add version 3.1.0

---
 recipes/wise_enum/all/conandata.yml | 5 ++++-
 recipes/wise_enum/config.yml        | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/recipes/wise_enum/all/conandata.yml b/recipes/wise_enum/all/conandata.yml
index a7eb4605abb61..05e03d94a0301 100644
--- a/recipes/wise_enum/all/conandata.yml
+++ b/recipes/wise_enum/all/conandata.yml
@@ -1,4 +1,7 @@
-sources: 
+sources:
+  "3.1.0":
+    url: "https://github.com/quicknir/wise_enum/archive/refs/tags/3.1.0.tar.gz"
+    sha256: "79410816314941ea2c00b2bbd6932797caefa397a76db425d2b96e6211d1069b"
   "3.0.0":
     url: "https://github.com/quicknir/wise_enum/archive/refs/tags/3.0.0.tar.gz"
     sha256: "6e0d62855854ea755dd4277e74a599d1f4e7eec95562baf751151cc2e4df5eb8"
diff --git a/recipes/wise_enum/config.yml b/recipes/wise_enum/config.yml
index c6ac749e0b234..fba1ec47d0659 100644
--- a/recipes/wise_enum/config.yml
+++ b/recipes/wise_enum/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "3.1.0":
+    folder: all
   "3.0.0":
     folder: all

From 58d741970cf1915ad54d81b76fab1cd11daa209a Mon Sep 17 00:00:00 2001
From: Martin Delille 
Date: Fri, 9 Feb 2024 11:49:21 +0100
Subject: [PATCH 1111/1307] (#22717) [openapi-generator] Add version 7.3.0

---
 recipes/openapi-generator/all/conandata.yml | 3 +++
 recipes/openapi-generator/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/openapi-generator/all/conandata.yml b/recipes/openapi-generator/all/conandata.yml
index f0c50c95fa214..62465f2d111e7 100644
--- a/recipes/openapi-generator/all/conandata.yml
+++ b/recipes/openapi-generator/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "7.3.0":
+    url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.3.0/openapi-generator-cli-7.3.0.jar"
+    sha256: "879c15340a75a19a7e720efc242c3223e0e4207b0694d6d1cea5c7dd87cf1cce"
   "7.2.0":
     url: "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar"
     sha256: "1cf0c80de12c0fdc8594289c19e414b402108ef10b8dd0bfda1953151341ab5d"
diff --git a/recipes/openapi-generator/config.yml b/recipes/openapi-generator/config.yml
index 797b4078e69ca..07bf0a2fcdb65 100644
--- a/recipes/openapi-generator/config.yml
+++ b/recipes/openapi-generator/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "7.3.0":
+    folder: all
   "7.2.0":
     folder: all
   "7.0.0":

From d350f314ca6ee649534b914f6d552969d8310073 Mon Sep 17 00:00:00 2001
From: toge 
Date: Fri, 9 Feb 2024 20:24:03 +0900
Subject: [PATCH 1112/1307] (#19148) influxdb-cxx: add recipe

* influxdb-cxx: add recipe

* remove unused import

* fix compilation error on msvc shared build

* Use 0.7.2, fix test_package, reference github issue

---------

Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
---
 recipes/influxdb-cxx/all/conandata.yml        |   4 +
 recipes/influxdb-cxx/all/conanfile.py         | 102 ++++++++++++++++++
 .../all/test_package/CMakeLists.txt           |   8 ++
 .../all/test_package/conanfile.py             |  26 +++++
 .../all/test_package/test_package.cpp         |  16 +++
 recipes/influxdb-cxx/config.yml               |   3 +
 6 files changed, 159 insertions(+)
 create mode 100644 recipes/influxdb-cxx/all/conandata.yml
 create mode 100644 recipes/influxdb-cxx/all/conanfile.py
 create mode 100644 recipes/influxdb-cxx/all/test_package/CMakeLists.txt
 create mode 100644 recipes/influxdb-cxx/all/test_package/conanfile.py
 create mode 100644 recipes/influxdb-cxx/all/test_package/test_package.cpp
 create mode 100644 recipes/influxdb-cxx/config.yml

diff --git a/recipes/influxdb-cxx/all/conandata.yml b/recipes/influxdb-cxx/all/conandata.yml
new file mode 100644
index 0000000000000..465f6aea89730
--- /dev/null
+++ b/recipes/influxdb-cxx/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.7.2":
+    url: "https://github.com/offa/influxdb-cxx/archive/refs/tags/v0.7.2.tar.gz"
+    sha256: "951e067df5731cb23b72f53fcbea8e56920819c6191b6885ea180168eb1950d9"
diff --git a/recipes/influxdb-cxx/all/conanfile.py b/recipes/influxdb-cxx/all/conanfile.py
new file mode 100644
index 0000000000000..c903fb4c5efc1
--- /dev/null
+++ b/recipes/influxdb-cxx/all/conanfile.py
@@ -0,0 +1,102 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.files import get, copy, rmdir
+from conan.tools.build import check_min_cppstd
+from conan.tools.scm import Version
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+import os
+
+required_conan_version = ">=1.53.0"
+
+class InfluxdbCxxConan(ConanFile):
+    name = "influxdb-cxx"
+    description = "InfluxDB C++ client library."
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/offa/influxdb-cxx"
+    topics = ("influxdb", "influxdb-client")
+    settings = "os", "arch", "compiler", "build_type"
+    package_type = "library"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+        "boost": [True, False]
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+        "boost": True,
+    }
+
+    @property
+    def _min_cppstd(self):
+        return 17
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "8",
+            "clang": "7",
+            "apple-clang": "12",
+            "Visual Studio": "16",
+            "msvc": "192",
+        }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def requirements(self):
+        self.requires("cpr/1.10.4")
+        if self.options.boost:
+            self.requires("boost/1.82.0")
+
+    def validate(self):
+        if self.settings.compiler.cppstd:
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        # BUILD_SHARED_LIBS is defined explicitly in CMakeLists.txt
+        tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared
+        tc.cache_variables["INFLUXCXX_TESTING"] = False
+        tc.cache_variables["INFLUXCXX_WITH_BOOST"] = self.options.boost
+        if self.options.shared:
+            # See https://github.com/offa/influxdb-cxx/issues/194
+            tc.preprocessor_definitions["InfluxDB_EXPORTS"] = 1
+        tc.generate()
+        deps = CMakeDeps(self)
+        deps.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def package(self):
+        copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        cmake = CMake(self)
+        cmake.install()
+
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+
+    def package_info(self):
+        self.cpp_info.libs = ["InfluxDB"]
+
+        self.cpp_info.set_property("cmake_file_name", "InfluxDB")
+        self.cpp_info.set_property("cmake_target_name", "InfluxData::InfluxDB")
diff --git a/recipes/influxdb-cxx/all/test_package/CMakeLists.txt b/recipes/influxdb-cxx/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..2f8068d41fdb4
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(InfluxDB REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(test_package PRIVATE InfluxData::InfluxDB)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
diff --git a/recipes/influxdb-cxx/all/test_package/conanfile.py b/recipes/influxdb-cxx/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/influxdb-cxx/all/test_package/test_package.cpp b/recipes/influxdb-cxx/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..e91f55ee908cc
--- /dev/null
+++ b/recipes/influxdb-cxx/all/test_package/test_package.cpp
@@ -0,0 +1,16 @@
+#include 
+#include 
+#include 
+
+int main()
+{
+    try {
+        auto influxdb = influxdb::InfluxDBFactory::Get("xyz://foobar");
+    }
+    catch(influxdb::InfluxDBException& e) {
+
+    }
+
+    std::cout << "Influxdb-cxx test package successful\n";
+    return 0;
+}
diff --git a/recipes/influxdb-cxx/config.yml b/recipes/influxdb-cxx/config.yml
new file mode 100644
index 0000000000000..eb766ff2f024b
--- /dev/null
+++ b/recipes/influxdb-cxx/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.7.2":
+    folder: all

From aef45be65a8453ae15e00f272ba35084c0ef14c4 Mon Sep 17 00:00:00 2001
From: Ivan Maidanski 
Date: Fri, 9 Feb 2024 15:10:40 +0300
Subject: [PATCH 1113/1307] (#22703) Add gc/8.2.6 recipe

---
 recipes/bdwgc/all/conandata.yml                   |  5 +++++
 .../bdwgc/all/patches/update-cmake-8_2_6.patch    | 15 +++++++++++++++
 recipes/bdwgc/config.yml                          |  2 ++
 3 files changed, 22 insertions(+)
 create mode 100644 recipes/bdwgc/all/patches/update-cmake-8_2_6.patch

diff --git a/recipes/bdwgc/all/conandata.yml b/recipes/bdwgc/all/conandata.yml
index 8dfe6c5a2d882..d463c9bb2301b 100644
--- a/recipes/bdwgc/all/conandata.yml
+++ b/recipes/bdwgc/all/conandata.yml
@@ -11,6 +11,9 @@ sources:
   "8.2.4":
     url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.4/gc-8.2.4.tar.gz"
     sha256: "3d0d3cdbe077403d3106bb40f0cbb563413d6efdbb2a7e1cd6886595dec48fc2"
+  "8.2.6":
+    url: "https://github.com/ivmai/bdwgc/releases/download/v8.2.6/gc-8.2.6.tar.gz"
+    sha256: "b9183fe49d4c44c7327992f626f8eaa1d8b14de140f243edb1c9dcff7719a7fc"
 patches:
   "8.0.4":
     - patch_file: "patches/update-cmake-8_0_4.patch"
@@ -20,3 +23,5 @@ patches:
     - patch_file: "patches/update-cmake-8_2_2.patch"
   "8.2.4":
     - patch_file: "patches/update-cmake-8_2_4.patch"
+  "8.2.6":
+    - patch_file: "patches/update-cmake-8_2_6.patch"
diff --git a/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch b/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch
new file mode 100644
index 0000000000000..1ae810763c0db
--- /dev/null
+++ b/recipes/bdwgc/all/patches/update-cmake-8_2_6.patch
@@ -0,0 +1,15 @@
+--- CMakeLists.txt
++++ CMakeLists.txt
+@@ -177,6 +177,12 @@ if (enable_threads)
+   message(STATUS "Thread library: ${CMAKE_THREAD_LIBS_INIT}")
+   if (without_libatomic_ops OR BORLAND OR MSVC OR WATCOM)
+     include_directories(libatomic_ops/src)
++    find_package(Atomic_ops CONFIG)
++    if (Atomic_ops_FOUND)
++      get_target_property(AO_INCLUDE_DIRS Atomic_ops::atomic_ops
++                          INTERFACE_INCLUDE_DIRECTORIES)
++      include_directories(${AO_INCLUDE_DIRS})
++    endif()
+     # Note: alternatively, use CFLAGS_EXTRA to pass -I<...>/libatomic_ops/src.
+   else()
+     # Assume the compiler supports GCC atomic intrinsics.
diff --git a/recipes/bdwgc/config.yml b/recipes/bdwgc/config.yml
index b018b2961234b..c736cacb36944 100644
--- a/recipes/bdwgc/config.yml
+++ b/recipes/bdwgc/config.yml
@@ -7,3 +7,5 @@ versions:
     folder: all
   "8.2.4":
     folder: all
+  "8.2.6":
+    folder: all

From 2ccff6880a2a1ffcdfb9a6e4661ac7d6b88ba848 Mon Sep 17 00:00:00 2001
From: Martin Valgur 
Date: Fri, 9 Feb 2024 14:26:43 +0200
Subject: [PATCH 1114/1307] (#22115) util-linux-libuuid: bump gettext
 dependency

* util-linux-libuuid: bump gettext dependency

* util-linux-libuuid: try to improve macOS build
---
 recipes/util-linux-libuuid/all/conanfile.py | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/recipes/util-linux-libuuid/all/conanfile.py b/recipes/util-linux-libuuid/all/conanfile.py
index e5c35fe2c862b..0a90fad2ce052 100644
--- a/recipes/util-linux-libuuid/all/conanfile.py
+++ b/recipes/util-linux-libuuid/all/conanfile.py
@@ -1,6 +1,6 @@
 from conan import ConanFile
 from conan.errors import ConanInvalidConfiguration
-from conan.tools.apple import fix_apple_shared_install_name
+from conan.tools.apple import fix_apple_shared_install_name, is_apple_os, XCRun
 from conan.tools.files import copy, get, rm, rmdir
 from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
 from conan.tools.layout import basic_layout
@@ -73,7 +73,7 @@ def validate(self):
     def requirements(self):
         if self.settings.os == "Macos":
             # Required because libintl.{a,dylib} is not distributed via libc on Macos
-            self.requires("libgettext/0.21")
+            self.requires("libgettext/0.22")
 
     def source(self):
         get(self, **self.conan_data["sources"][self.version], strip_root=True)
@@ -86,6 +86,22 @@ def generate(self):
             tc.extra_defines.append("HAVE_SYS_FILE_H")
         if "x86" in self.settings.arch:
             tc.extra_cflags.append("-mstackrealign")
+
+        # Based on https://github.com/conan-io/conan-center-index/blob/c647b1/recipes/libx264/all/conanfile.py#L94
+        if is_apple_os(self) and self.settings.arch == "armv8":
+            tc.configure_args.append("--host=aarch64-apple-darwin")
+            tc.extra_asflags = ["-arch arm64"]
+            tc.extra_ldflags = ["-arch arm64"]
+            if self.settings.os != "Macos":
+                xcrun = XCRun(self)
+                platform_flags = ["-isysroot", xcrun.sdk_path]
+                apple_min_version_flag = AutotoolsToolchain(self).apple_min_version_flag
+                if apple_min_version_flag:
+                    platform_flags.append(apple_min_version_flag)
+                tc.extra_asflags.extend(platform_flags)
+                tc.extra_cflags.extend(platform_flags)
+                tc.extra_ldflags.extend(platform_flags)
+
         tc.generate()
 
         deps = AutotoolsDeps(self)

From d48a7d283c0b002b337f941eaf191e2aff637009 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Fri, 9 Feb 2024 14:42:09 +0100
Subject: [PATCH 1115/1307] (#18016) [intel-ipsec-mb] Add new recipe: Intel
 IPSec MB 1.4

* Add Intel IPSec MB

Signed-off-by: Uilian Ries 

* add cmake as build requirement

Signed-off-by: Uilian Ries 

* bump cmake version to 3.16

Signed-off-by: Uilian Ries 

* fix nasm include folders

Signed-off-by: Uilian Ries 

* Fix nasm path

Signed-off-by: Uilian Ries 

* remove unused import

Signed-off-by: Uilian Ries 

* call patch sources

Signed-off-by: Uilian Ries 

* call patch sources

Signed-off-by: Uilian Ries 

* fix cmake target for Windows

Signed-off-by: Uilian Ries 

* enforce install prefix

Signed-off-by: Uilian Ries 

* Fix Windows installation

Signed-off-by: Uilian Ries 

* enforce prefix install

Signed-off-by: Uilian Ries 

* fix windows build

Signed-off-by: Uilian Ries 

* Set nasm path for Conan 1.x

Signed-off-by: Uilian Ries 

* fix nasm path on Windows

Signed-off-by: Uilian Ries 

* Fix asm environment for Windows

Signed-off-by: Uilian Ries 

* Fix build on Linux

Signed-off-by: Uilian Ries 

* improve topics

Signed-off-by: Uilian Ries 

---------

Signed-off-by: Uilian Ries 
---
 recipes/intel-ipsec-mb/all/conandata.yml      |  12 ++
 recipes/intel-ipsec-mb/all/conanfile.py       | 104 ++++++++++++++++++
 .../all/patches/0001-unix-fpic.patch          |  13 +++
 .../all/patches/0002-install-windows.patch    |  36 ++++++
 .../all/test_package/CMakeLists.txt           |   8 ++
 .../all/test_package/conanfile.py             |  26 +++++
 .../all/test_package/test_package.c           |  13 +++
 recipes/intel-ipsec-mb/config.yml             |   3 +
 8 files changed, 215 insertions(+)
 create mode 100644 recipes/intel-ipsec-mb/all/conandata.yml
 create mode 100644 recipes/intel-ipsec-mb/all/conanfile.py
 create mode 100644 recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
 create mode 100644 recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/conanfile.py
 create mode 100644 recipes/intel-ipsec-mb/all/test_package/test_package.c
 create mode 100644 recipes/intel-ipsec-mb/config.yml

diff --git a/recipes/intel-ipsec-mb/all/conandata.yml b/recipes/intel-ipsec-mb/all/conandata.yml
new file mode 100644
index 0000000000000..d898ee0ccba2f
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/conandata.yml
@@ -0,0 +1,12 @@
+sources:
+  "1.4":
+    url: "https://github.com/intel/intel-ipsec-mb/archive/refs/tags/v1.4.tar.gz"
+    sha256: "b441b3ecf0a9fe69ff675f2eb9fe4d1304814558a8f15f5617638ddc99e05873"
+patches:
+  "1.4":
+    - patch_file: "patches/0001-unix-fpic.patch"
+      patch_description: "Do not enforce fPIC flag always"
+      patch_type: "conan"
+    - patch_file: "patches/0002-install-windows.patch"
+      patch_description: "Do not enforce Windows folders path when installing"
+      patch_type: "conan"
diff --git a/recipes/intel-ipsec-mb/all/conanfile.py b/recipes/intel-ipsec-mb/all/conanfile.py
new file mode 100644
index 0000000000000..4e9e314b05c43
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/conanfile.py
@@ -0,0 +1,104 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.files import get, copy, rmdir, apply_conandata_patches, export_conandata_patches
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.env import VirtualBuildEnv, Environment
+from conan.tools.microsoft import is_msvc
+import os
+
+required_conan_version = ">=1.53.0"
+
+
+class PackageConan(ConanFile):
+    name = "intel-ipsec-mb"
+    description = "Intel(R) Multi-Buffer Crypto for IPSec"
+    license = "BSD-3-Clause"
+    homepage = "https://github.com/intel/intel-ipsec-mb"
+    url = "https://github.com/conan-io/conan-center-index"
+    topics = ("intel", "ipsec", "crypto", "security")
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    @property
+    def _cmake_target(self):
+        return "libIPSec_MB" if is_msvc(self) else "IPSec_MB"
+
+    @property
+    def _settings_build(self):
+        return getattr(self, "settings_build", self.settings)
+
+    def export_sources(self):
+        export_conandata_patches(self)
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def validate(self):
+        if self.settings.os not in ("FreeBSD", "Linux", "Windows"):
+            raise ConanInvalidConfiguration(f"{self.ref} does not support the O.S. {self.settings.os}.")
+
+    def build_requirements(self):
+        self.tool_requires("nasm/2.15.05")
+        self.tool_requires("cmake/[>3.16 <4]")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        # INFO: Conan 1.x does not find nasm package automatically due PATH priority.
+        nasm_bin_folder = os.path.join(self.dependencies.direct_build["nasm"].package_folder, "bin").replace("\\", "/")
+        nasm_path = os.path.join(nasm_bin_folder, "nasm").replace("\\", "/")
+        env = Environment()
+        env.define("AS", nasm_path)
+        env.prepend("PATH", nasm_bin_folder)
+        envvars = env.vars(self, scope="build")
+        envvars.save_script("asm_configuration")
+
+        env = VirtualBuildEnv(self)
+        env.generate(scope="build")
+        tc = CMakeToolchain(self)
+        # INFO: intel-ipsec-mb project forces shared by default.
+        tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared
+        # INFO: When running on Linux, uses /usr/bin/nasm in case no enforced
+        if self._settings_build.os == "Linux":
+            tc.cache_variables["CMAKE_ASM_NASM_COMPILER"] = nasm_path
+        tc.generate()
+        tc = CMakeDeps(self)
+        tc.generate()
+
+    def build(self):
+        apply_conandata_patches(self)
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build(target=self._cmake_target)
+
+    def package(self):
+        copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        copy(self, "intel-ipsec-mb.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "lib"), keep_path=False)
+        cmake = CMake(self)
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "man"))
+        rmdir(self, os.path.join(self.package_folder, "intel-ipsec-mb"))
+
+    def package_info(self):
+        self.cpp_info.libs = [self._cmake_target]
+        if self.settings.os in ["Linux", "FreeBSD"]:
+            self.cpp_info.system_libs = ["pthread"]
diff --git a/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch b/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
new file mode 100644
index 0000000000000..b4684f31ccc0b
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/patches/0001-unix-fpic.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/cmake/unix.cmake b/lib/cmake/unix.cmake
+index 78aafae..d94297c 100644
+--- a/lib/cmake/unix.cmake
++++ b/lib/cmake/unix.cmake
+@@ -38,7 +38,7 @@ string(APPEND CMAKE_ASM_NASM_FLAGS
+ 
+ # set C compiler flags
+ set(CMAKE_C_FLAGS
+-    "-fPIC -W -Wall -Wextra -Wmissing-declarations \
++    "-W -Wall -Wextra -Wmissing-declarations \
+ -Wpointer-arith -Wcast-qual -Wundef -Wwrite-strings -Wformat \
+ -Wformat-security -Wunreachable-code -Wmissing-noreturn \
+ -Wsign-compare -Wno-endif-labels -Wstrict-prototypes \
diff --git a/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch b/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
new file mode 100644
index 0000000000000..ddaeab8b5f130
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/patches/0002-install-windows.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/cmake/windows.cmake b/lib/cmake/windows.cmake
+index 02d39a1..0647029 100644
+--- a/lib/cmake/windows.cmake
++++ b/lib/cmake/windows.cmake
+@@ -93,27 +93,18 @@ endif()
+ add_library(${LIB} ${SRC_FILES_ASM} ${SRC_FILES_C} ${SRC_DEF_FILE})
+ 
+ # set install rules
+-set(CMAKE_INSTALL_PREFIX "c:/Program Files"
+-  CACHE STRING "Set default installation directory" FORCE)
+ install(TARGETS ${LIB}
+-  DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
++  RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
++  LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
++  ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
++
+ install(FILES
+   ${IMB_HDR}
+   ${SRC_DEF_FILE}
+   DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
+-if(BUILD_SHARED_LIBS)
+-  install(FILES
+-    $/${LIB}.exp
+-    $/${LIB}.pdb
+-    DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_PROJECT_NAME})
+-  install(FILES
+-    $/${LIB}.dll
+-    DESTINATION $ENV{WINDIR}/system32)
+-endif()
+ 
+ execute_process(
+   COMMAND cmd /C ${GEN_DEF_FILE_CMD}
+   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+   OUTPUT_QUIET
+ )
+-
diff --git a/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt b/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..094c6cf883fd7
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package C)
+
+find_package(intel-ipsec-mb REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE intel-ipsec-mb::intel-ipsec-mb)
+target_compile_features(${PROJECT_NAME} PRIVATE c_std_99)
diff --git a/recipes/intel-ipsec-mb/all/test_package/conanfile.py b/recipes/intel-ipsec-mb/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..ef5d7042163ec
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def layout(self):
+        cmake_layout(self)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/intel-ipsec-mb/all/test_package/test_package.c b/recipes/intel-ipsec-mb/all/test_package/test_package.c
new file mode 100644
index 0000000000000..231c42793f295
--- /dev/null
+++ b/recipes/intel-ipsec-mb/all/test_package/test_package.c
@@ -0,0 +1,13 @@
+#include "intel-ipsec-mb.h"
+
+#include 
+#include 
+
+int main() {
+    const char * version = NULL;
+
+    version = imb_get_version_str();
+    printf("Intel IPSec MB Version: %s\n", version);
+
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/intel-ipsec-mb/config.yml b/recipes/intel-ipsec-mb/config.yml
new file mode 100644
index 0000000000000..49afec8b671eb
--- /dev/null
+++ b/recipes/intel-ipsec-mb/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "1.4":
+    folder: all

From 85d840a1312f8ee1bd02ca86cd8d06c14c2dfdbc Mon Sep 17 00:00:00 2001
From: ericLemanissier 
Date: Mon, 12 Feb 2024 10:50:44 +0100
Subject: [PATCH 1116/1307] (#22728) stale: process older PRs first

* stale: process older PRs first

also, increase the number of operations. github has a limit of 15000/hour, so we have some leeway cf https://github.com/conan-io/conan-center-index/actions/runs/7840520311/job/21395244351#step:2:1486

* Update stale.yml
---
 .github/workflows/stale.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 00910a77f7c49..c9c6239fc08ea 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -34,6 +34,8 @@ jobs:
         # Idle number of days before closing stale PRs
         days-before-pr-close: 30
 
+        # process older PRs first
+        ascending: true
 
         # Labels on PRs exempted from stale
         exempt-pr-labels: blocked,infrastructure

From 4612ffa489c29196ef6d3e15df9a3817f7ead7c7 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:09:49 +0900
Subject: [PATCH 1117/1307] (#22730) drogon: add version 1.9.3

---
 recipes/drogon/all/conandata.yml             | 10 ++++++++++
 recipes/drogon/all/test_package/conanfile.py |  1 +
 recipes/drogon/config.yml                    |  2 ++
 3 files changed, 13 insertions(+)

diff --git a/recipes/drogon/all/conandata.yml b/recipes/drogon/all/conandata.yml
index 363e991a86f99..5ade6257a65f6 100644
--- a/recipes/drogon/all/conandata.yml
+++ b/recipes/drogon/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.9.3":
+    url: "https://github.com/drogonframework/drogon/archive/v1.9.3.tar.gz"
+    sha256: "fb4ef351b3e4c06ed850cfbbf50c571502decb1738fb7d62a9d7d70077c9fc23"
   "1.9.2":
     url: "https://github.com/drogonframework/drogon/archive/v1.9.2.tar.gz"
     sha256: "5bfcb7e11df83de45efc24e2785646276a0166893e0475221d8e7fa82832ffbd"
@@ -21,6 +24,13 @@ sources:
     url: "https://github.com/drogonframework/drogon/archive/v1.8.4.tar.gz"
     sha256: "6f2f59ead0f0c37b0aac4bc889cbaedf3c2540f3020e892596c72f0a4d887a18"
 patches:
+  "1.9.3":
+    - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
+      patch_description: "remove shared libs option"
+      patch_type: "conan"
+    - patch_file: "patches/1.9.2-0002-find-cci-packages.patch"
+      patch_description: "Fix jsoncpp cmake target name"
+      patch_type: "conan"
   "1.9.2":
     - patch_file: "patches/1.8.5-0001-remove-shared-libs.patch"
       patch_description: "remove shared libs option"
diff --git a/recipes/drogon/all/test_package/conanfile.py b/recipes/drogon/all/test_package/conanfile.py
index 84eaa369e4a72..99d0db4a34c2c 100644
--- a/recipes/drogon/all/test_package/conanfile.py
+++ b/recipes/drogon/all/test_package/conanfile.py
@@ -7,6 +7,7 @@
 class TestPackageConan(ConanFile):
     settings = "os", "arch", "compiler", "build_type",
     generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
 
     def requirements(self):
         self.requires(self.tested_reference_str)
diff --git a/recipes/drogon/config.yml b/recipes/drogon/config.yml
index 0849cdfebfa68..e9c9e23f0ecf5 100644
--- a/recipes/drogon/config.yml
+++ b/recipes/drogon/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.9.3":
+    folder: "all"
   "1.9.2":
     folder: "all"
   "1.9.1":

From 77fb1742549fe162574b9a5a85067881d9e31047 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:28:48 +0900
Subject: [PATCH 1118/1307] (#22736) poco: add version 1.13.1

---
 recipes/poco/all/conandata.yml | 10 ++++++++++
 recipes/poco/config.yml        |  2 ++
 2 files changed, 12 insertions(+)

diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml
index c2db4d028c469..67de3df463e94 100644
--- a/recipes/poco/all/conandata.yml
+++ b/recipes/poco/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.13.1":
+    url: "https://github.com/pocoproject/poco/archive/poco-1.13.1-release.tar.gz"
+    sha256: "8accf6c6ebb9ae686e7c8e2390a35beaab08d0ca1abda537cc2d0b7ab9296be5"
   "1.13.0":
     url: "https://github.com/pocoproject/poco/archive/poco-1.13.0-release.tar.gz"
     sha256: "0135160663795901f317215272fadf71f3b526f38daacb2ae8d6b07ad11d319b"
@@ -27,6 +30,13 @@ sources:
     url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz"
     sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37"
 patches:
+  "1.13.1":
+    - patch_file: patches/1.13.0.patch
+      patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program"
+      patch_type: "conan"
+    - patch_file: patches/1.13.0-0002-mysql-include.patch
+      patch_description: "include mysql.h instead of mysql/mysql.h"
+      patch_type: "portability"
   "1.13.0":
     - patch_file: patches/1.13.0.patch
       patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program"
diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml
index a59a7f8e7171f..aa504b39ac1af 100644
--- a/recipes/poco/config.yml
+++ b/recipes/poco/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.13.1":
+    folder: all
   "1.13.0":
     folder: all
   "1.12.5p2":

From 15c464aecbf3f89e42dc512c7cc72492ae2dfc44 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 19:50:05 +0900
Subject: [PATCH 1119/1307] (#22742) libnfs: add version 5.0.3

---
 recipes/libnfs/all/conandata.yml | 8 ++++++++
 recipes/libnfs/config.yml        | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/recipes/libnfs/all/conandata.yml b/recipes/libnfs/all/conandata.yml
index b4b4af80e776c..782953e21dab6 100644
--- a/recipes/libnfs/all/conandata.yml
+++ b/recipes/libnfs/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "5.0.3":
+    url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.3.tar.gz"
+    sha256: "d945cb4f4c8f82ee1f3640893a168810f794a28e1010bb007ec5add345e9df3e"
   "5.0.2":
     url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.2.tar.gz"
     sha256: "637e56643b19da9fba98f06847788c4dad308b723156a64748041035dcdf9bd3"
@@ -6,6 +9,11 @@ sources:
     url: "https://github.com/sahlberg/libnfs/archive/refs/tags/libnfs-5.0.1.tar.gz"
     sha256: "7ef445410b42f36b9bad426608b53ccb9ccca4101e545c383f564c11db672ca8"
 patches:
+  "5.0.3":
+    - patch_file: "patches/5.0.1-0001-remove-exports.patch"
+      patch_description: "Fix installation"
+      patch_type: "conan"
+      patch_source: "https://github.com/sahlberg/libnfs/pull/377"
   "5.0.2":
     - patch_file: "patches/5.0.1-0001-remove-exports.patch"
       patch_description: "Fix installation"
diff --git a/recipes/libnfs/config.yml b/recipes/libnfs/config.yml
index 7e49cd33d0bdc..7ec3cb9fcf03a 100644
--- a/recipes/libnfs/config.yml
+++ b/recipes/libnfs/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "5.0.3":
+    folder: "all"
   "5.0.2":
     folder: "all"
   "5.0.1":

From c03526a677426444782871e2de9909eccd5bae6b Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:10:11 +0900
Subject: [PATCH 1120/1307] (#22723) libuv: add version 1.48.0, remove older
 versions

* libuv: add version 1.48.0, remove older versions

* remove versions in config.yml
---
 recipes/libuv/all/conandata.yml               | 24 ++----
 .../libuv/all/patches/1.38.1/fix-cmake.patch  | 80 -------------------
 .../libuv/all/patches/1.40.0/fix-cmake.patch  | 77 ------------------
 .../libuv/all/patches/1.48.0/fix-cmake.patch  | 65 +++++++++++++++
 recipes/libuv/config.yml                      |  6 +-
 5 files changed, 74 insertions(+), 178 deletions(-)
 delete mode 100644 recipes/libuv/all/patches/1.38.1/fix-cmake.patch
 delete mode 100644 recipes/libuv/all/patches/1.40.0/fix-cmake.patch
 create mode 100644 recipes/libuv/all/patches/1.48.0/fix-cmake.patch

diff --git a/recipes/libuv/all/conandata.yml b/recipes/libuv/all/conandata.yml
index de25f5782ee20..578b3b599b79b 100644
--- a/recipes/libuv/all/conandata.yml
+++ b/recipes/libuv/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.48.0":
+    url: "https://github.com/libuv/libuv/archive/v1.48.0.tar.gz"
+    sha256: "8c253adb0f800926a6cbd1c6576abae0bc8eb86a4f891049b72f9e5b7dc58f33"
   "1.47.0":
     url: "https://github.com/libuv/libuv/archive/v1.47.0.tar.gz"
     sha256: "d50af7e6d72526db137e66fad812421c8a1cae09d146b0ec2bb9a22c5f23ba93"
@@ -26,13 +29,11 @@ sources:
   "1.41.0":
     url: "https://github.com/libuv/libuv/archive/v1.41.0.zip"
     sha256: "cb89a8b9f686c5ccf7ed09a9e0ece151a73ebebc17af3813159c335b02181794"
-  "1.40.0":
-    url: "https://github.com/libuv/libuv/archive/v1.40.0.zip"
-    sha256: "61366e30d8484197dc9e4a94dbd98a0ba52fb55cb6c6d991af1f3701b10f322b"
-  "1.38.1":
-    url: "https://github.com/libuv/libuv/archive/v1.38.1.zip"
-    sha256: "0359369492742eb2a36312fffe26f80bcffe4cec981a4fd72d182b061ee14890"
 patches:
+  "1.48.0":
+    - patch_file: "patches/1.48.0/fix-cmake.patch"
+      patch_description: "separate shared and static library build"
+      patch_type: "conan"
   "1.47.0":
     - patch_file: "patches/1.47.0/fix-cmake.patch"
       patch_description: "separate shared and static library build"
@@ -73,14 +74,3 @@ patches:
     - patch_file: "patches/1.40.0/fix-ios.patch"
       patch_description: "fix dlopen filename"
       patch_type: "portability"
-  "1.40.0":
-    - patch_file: "patches/1.40.0/fix-cmake.patch"
-      patch_description: "separate shared and static library build"
-      patch_type: "conan"
-    - patch_file: "patches/1.40.0/fix-ios.patch"
-      patch_description: "fix dlopen filename"
-      patch_type: "portability"
-  "1.38.1":
-    - patch_file: "patches/1.38.1/fix-cmake.patch"
-      patch_description: "separate shared and static library build"
-      patch_type: "conan"
diff --git a/recipes/libuv/all/patches/1.38.1/fix-cmake.patch b/recipes/libuv/all/patches/1.38.1/fix-cmake.patch
deleted file mode 100644
index 752d2ecdc5cea..0000000000000
--- a/recipes/libuv/all/patches/1.38.1/fix-cmake.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 2518c747..05b5add1 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -297,13 +297,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
-   list(APPEND uv_test_libraries util)
- endif()
- 
--add_library(uv SHARED ${uv_sources})
--target_compile_definitions(uv
--  INTERFACE
--    USING_UV_SHARED=1
--  PRIVATE
--    BUILDING_UV_SHARED=1
--    ${uv_defines})
-+add_library(uv ${uv_sources})
-+get_target_property(target_type uv TYPE)
-+if (target_type STREQUAL "SHARED_LIBRARY")
-+  target_compile_definitions(uv
-+    INTERFACE
-+      USING_UV_SHARED=1
-+    PRIVATE
-+      BUILDING_UV_SHARED=1
-+  )
-+else()
-+  set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a")
-+endif()
-+target_compile_definitions(uv PRIVATE ${uv_defines})
- target_compile_options(uv PRIVATE ${uv_cflags})
- target_include_directories(uv
-   PUBLIC
-@@ -313,17 +319,6 @@ target_include_directories(uv
-     $)
- target_link_libraries(uv ${uv_libraries})
- 
--add_library(uv_a STATIC ${uv_sources})
--target_compile_definitions(uv_a PRIVATE ${uv_defines})
--target_compile_options(uv_a PRIVATE ${uv_cflags})
--target_include_directories(uv_a
--  PUBLIC
--    $
--    $
--  PRIVATE
--    $)
--target_link_libraries(uv_a ${uv_libraries})
--
- if(LIBUV_BUILD_TESTS)
-   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
-   # before the actual tests are added.
-@@ -558,22 +553,20 @@ if(UNIX)
-   set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
-   set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
-   set(prefix ${CMAKE_INSTALL_PREFIX})
--  configure_file(libuv.pc.in libuv.pc @ONLY)
- 
-   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
--  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
--  install(FILES ${PROJECT_BINARY_DIR}/libuv.pc
--          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--  install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--  install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
- 
- if(WIN32)
-   install(DIRECTORY include/ DESTINATION include)
--  install(FILES LICENSE DESTINATION .)
--  install(TARGETS uv uv_a
--          RUNTIME DESTINATION lib/$
--          ARCHIVE DESTINATION lib/$)
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    RUNTIME DESTINATION bin
-+    ARCHIVE DESTINATION lib)
- endif()
- 
- message(STATUS "summary of build options:
diff --git a/recipes/libuv/all/patches/1.40.0/fix-cmake.patch b/recipes/libuv/all/patches/1.40.0/fix-cmake.patch
deleted file mode 100644
index 194123f2f2d1b..0000000000000
--- a/recipes/libuv/all/patches/1.40.0/fix-cmake.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e648b00..080f403 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -326,13 +326,19 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
-   list(APPEND uv_test_libraries util)
- endif()
- 
--add_library(uv SHARED ${uv_sources})
--target_compile_definitions(uv
--  INTERFACE
--    USING_UV_SHARED=1
--  PRIVATE
--    BUILDING_UV_SHARED=1
--    ${uv_defines})
-+add_library(uv ${uv_sources})
-+get_target_property(target_type uv TYPE)
-+if (target_type STREQUAL "SHARED_LIBRARY")
-+  target_compile_definitions(uv
-+    INTERFACE
-+      USING_UV_SHARED=1
-+    PRIVATE
-+      BUILDING_UV_SHARED=1
-+  )
-+else()
-+  set_property(TARGET uv PROPERTY OUTPUT_NAME "uv_a")
-+endif()
-+target_compile_definitions(uv PRIVATE ${uv_defines})
- target_compile_options(uv PRIVATE ${uv_cflags})
- target_include_directories(uv
-   PUBLIC
-@@ -342,17 +348,6 @@ target_include_directories(uv
-     $)
- target_link_libraries(uv ${uv_libraries})
- 
--add_library(uv_a STATIC ${uv_sources})
--target_compile_definitions(uv_a PRIVATE ${uv_defines})
--target_compile_options(uv_a PRIVATE ${uv_cflags})
--target_include_directories(uv_a
--  PUBLIC
--    $
--    $
--  PRIVATE
--    $)
--target_link_libraries(uv_a ${uv_libraries})
--
- if(LIBUV_BUILD_TESTS)
-   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
-   # before the actual tests are added.
-@@ -595,19 +590,18 @@ if(UNIX OR MINGW)
-   configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
- 
-   install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
--  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
--  install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
--          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--  install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--  install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
- 
- if(MSVC)
-   install(DIRECTORY include/ DESTINATION include)
--  install(FILES LICENSE DESTINATION .)
--  install(TARGETS uv uv_a
--          RUNTIME DESTINATION lib/$
--          ARCHIVE DESTINATION lib/$)
-+  install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX}/licenses)
-+  install(TARGETS uv
-+    RUNTIME DESTINATION bin
-+    ARCHIVE DESTINATION lib)
- endif()
- 
- message(STATUS "summary of build options:
diff --git a/recipes/libuv/all/patches/1.48.0/fix-cmake.patch b/recipes/libuv/all/patches/1.48.0/fix-cmake.patch
new file mode 100644
index 0000000000000..4fbe54ddf91e7
--- /dev/null
+++ b/recipes/libuv/all/patches/1.48.0/fix-cmake.patch
@@ -0,0 +1,65 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5e8e016..427bd86 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -465,7 +465,7 @@ if(LIBUV_BUILD_SHARED)
+   endif()
+   target_link_libraries(uv ${uv_libraries})
+   set_target_properties(uv PROPERTIES OUTPUT_NAME "uv")
+-endif()
++else()
+ 
+ add_library(uv_a STATIC ${uv_sources})
+ target_compile_definitions(uv_a PRIVATE ${uv_defines})
+@@ -485,7 +485,7 @@ set_target_properties(uv_a PROPERTIES OUTPUT_NAME "uv")
+ if(WIN32)
+   set_target_properties(uv_a PROPERTIES PREFIX "lib")
+ endif()
+-
++endif()
+ if(LIBUV_BUILD_TESTS)
+   # Small hack: use ${uv_test_sources} now to get the runner skeleton,
+   # before the actual tests are added.
+@@ -750,18 +750,18 @@ set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}")
+ set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
+ set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+-configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
++# configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
+ 
+ install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
+ install(FILES LICENSE-extra DESTINATION ${CMAKE_INSTALL_DOCDIR})
+-install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
+-        DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS uv_a EXPORT libuvConfig
+-        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(EXPORT libuvConfig
+-	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
+-	NAMESPACE libuv::)
++# install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
++#         DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++# install(TARGETS uv_a EXPORT libuvConfig
++#         ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++# install(EXPORT libuvConfig
++# 	DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
++# 	NAMESPACE libuv::)
+ 
+ if(LIBUV_BUILD_SHARED)
+   # The version in the filename is mirroring the behaviour of autotools.
+@@ -775,6 +775,15 @@ if(LIBUV_BUILD_SHARED)
+           RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+           LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+           ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++else()
++  configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
++  install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
++          DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++  install(TARGETS uv_a EXPORT libuvConfig
++          ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++  install(EXPORT libuvConfig
++          DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv
++          NAMESPACE libuv::)
+ endif()
+ 
+ if(MSVC)
diff --git a/recipes/libuv/config.yml b/recipes/libuv/config.yml
index 4c8ae03d813d7..55c98b3fd5a25 100644
--- a/recipes/libuv/config.yml
+++ b/recipes/libuv/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.48.0":
+    folder: all
   "1.47.0":
     folder: all
   "1.46.0":
@@ -17,7 +19,3 @@ versions:
     folder: all
   "1.41.0":
     folder: all
-  "1.40.0":
-    folder: all
-  "1.38.1":
-    folder: all

From b4fa44e8e28dc286daabe7dbb221ab6caf3ef007 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:32:23 +0900
Subject: [PATCH 1121/1307] (#22745) nanomsg: add version 1.2.1

---
 recipes/nanomsg/all/conandata.yml | 3 +++
 recipes/nanomsg/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/nanomsg/all/conandata.yml b/recipes/nanomsg/all/conandata.yml
index 1d7161c198806..dbc431024b1fd 100644
--- a/recipes/nanomsg/all/conandata.yml
+++ b/recipes/nanomsg/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.2.1":
+    url: "https://github.com/nanomsg/nanomsg/archive/refs/tags/1.2.1.tar.gz"
+    sha256: "2e6c20dbfcd4882e133c819ac77501e9b323cb17ae5b3376702c4446261fbc23"
   "1.2":
     url: "https://github.com/nanomsg/nanomsg/archive/refs/tags/1.2.tar.gz"
     sha256: "6ef7282e833df6a364f3617692ef21e59d5c4878acea4f2d7d36e21c8858de67"
diff --git a/recipes/nanomsg/config.yml b/recipes/nanomsg/config.yml
index a0777b5aa931c..faec73d798c80 100644
--- a/recipes/nanomsg/config.yml
+++ b/recipes/nanomsg/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.2.1":
+    folder: all
   "1.2":
     folder: all

From 120e3fea8ef10250cecf353f6954fbeeebc1f5fa Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 20:52:28 +0900
Subject: [PATCH 1122/1307] (#22750) bezier: add recipe

* bezier: add recipe

* drop support gcc 5
---
 recipes/bezier/all/conandata.yml              |  4 ++
 recipes/bezier/all/conanfile.py               | 63 +++++++++++++++++++
 .../bezier/all/test_package/CMakeLists.txt    |  8 +++
 recipes/bezier/all/test_package/conanfile.py  | 26 ++++++++
 .../bezier/all/test_package/test_package.cpp  |  9 +++
 recipes/bezier/config.yml                     |  3 +
 6 files changed, 113 insertions(+)
 create mode 100644 recipes/bezier/all/conandata.yml
 create mode 100644 recipes/bezier/all/conanfile.py
 create mode 100644 recipes/bezier/all/test_package/CMakeLists.txt
 create mode 100644 recipes/bezier/all/test_package/conanfile.py
 create mode 100644 recipes/bezier/all/test_package/test_package.cpp
 create mode 100644 recipes/bezier/config.yml

diff --git a/recipes/bezier/all/conandata.yml b/recipes/bezier/all/conandata.yml
new file mode 100644
index 0000000000000..4bb4e5cf2851f
--- /dev/null
+++ b/recipes/bezier/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "0.2.1":
+    url: "https://github.com/oysteinmyrmo/bezier/archive/refs/tags/v0.2.1.tar.gz"
+    sha256: "fce93c766f31ec445f6f48d0d1438c128640f0728d29745ca9e5424d9daf944f"
diff --git a/recipes/bezier/all/conanfile.py b/recipes/bezier/all/conanfile.py
new file mode 100644
index 0000000000000..b308756aa16cc
--- /dev/null
+++ b/recipes/bezier/all/conanfile.py
@@ -0,0 +1,63 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.build import check_min_cppstd
+from conan.tools.files import get, copy
+from conan.tools.layout import basic_layout
+from conan.tools.scm import Version
+import os
+
+
+required_conan_version = ">=1.52.0"
+
+
+class BezierConan(ConanFile):
+    name = "bezier"
+    description = "A single header only C++ library for Bezier curve calculations and manipulations."
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/oysteinmyrmo/bezier"
+    topics = ("curve", "header-only")
+    package_type = "header-library"
+    settings = "os", "arch", "compiler", "build_type"
+    no_copy_source = True
+
+    @property
+    def _min_cppstd(self):
+        return 11
+
+    @property
+    def _compilers_minimum_version(self):
+        return {
+            "gcc": "6",
+        }
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def package_id(self):
+        self.info.clear()
+
+    def validate(self):
+        if self.settings.compiler.get_safe("cppstd"):
+            check_min_cppstd(self, self._min_cppstd)
+        minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False)
+        if minimum_version and Version(self.settings.compiler.version) < minimum_version:
+            raise ConanInvalidConfiguration(
+                f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support."
+            )
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def package(self):
+        copy(self, pattern="LICENSE.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder)
+        copy(
+            self,
+            pattern="*.h",
+            dst=os.path.join(self.package_folder, "include"),
+            src=os.path.join(self.source_folder, "include"),
+        )
+
+    def package_info(self):
+        self.cpp_info.bindirs = []
+        self.cpp_info.libdirs = []
diff --git a/recipes/bezier/all/test_package/CMakeLists.txt b/recipes/bezier/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..b5a9211efc1a8
--- /dev/null
+++ b/recipes/bezier/all/test_package/CMakeLists.txt
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 3.15)
+project(test_package LANGUAGES CXX)
+
+find_package(bezier REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.cpp)
+target_link_libraries(${PROJECT_NAME} PRIVATE bezier::bezier)
+target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
diff --git a/recipes/bezier/all/test_package/conanfile.py b/recipes/bezier/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..3a91c9439218e
--- /dev/null
+++ b/recipes/bezier/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindir, "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/bezier/all/test_package/test_package.cpp b/recipes/bezier/all/test_package/test_package.cpp
new file mode 100644
index 0000000000000..72113a98c3ad7
--- /dev/null
+++ b/recipes/bezier/all/test_package/test_package.cpp
@@ -0,0 +1,9 @@
+#include 
+#include "bezier/bezier.h"
+
+int main(void) {
+    bezier::Bezier<3> cubicBezier({ {120, 160}, {35, 200}, {220, 260}, {220, 40} });
+
+    bezier::Point p = cubicBezier.valueAt(0.5);
+    std::cout << p.x << " " << p.y << std::endl;
+}
diff --git a/recipes/bezier/config.yml b/recipes/bezier/config.yml
new file mode 100644
index 0000000000000..f975c1e3261f7
--- /dev/null
+++ b/recipes/bezier/config.yml
@@ -0,0 +1,3 @@
+versions:
+  "0.2.1":
+    folder: all

From 4ac1fbf5dd2b3b9af9a54f7e4f2d6b331da9fda9 Mon Sep 17 00:00:00 2001
From: Uilian Ries 
Date: Mon, 12 Feb 2024 13:22:34 +0100
Subject: [PATCH 1123/1307] (#22752) [json-c] Add include folder following the
 upstream

Signed-off-by: Uilian Ries 
---
 recipes/json-c/all/conanfile.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/recipes/json-c/all/conanfile.py b/recipes/json-c/all/conanfile.py
index 8963e15ae1e8f..222938814d365 100644
--- a/recipes/json-c/all/conanfile.py
+++ b/recipes/json-c/all/conanfile.py
@@ -68,3 +68,4 @@ def package_info(self):
         self.cpp_info.set_property("cmake_target_name", "json-c::json-c")
         self.cpp_info.set_property("pkg_config_name", "json-c")
         self.cpp_info.libs = collect_libs(self)
+        self.cpp_info.includedirs = ["include", "include/json-c"]

From 9c2db6b1ebd20687b2be36fb9e7a82941654edc8 Mon Sep 17 00:00:00 2001
From: Klaus Holst Jacobsen
 <48069914+klausholstjacobsen@users.noreply.github.com>
Date: Mon, 12 Feb 2024 14:26:36 +0100
Subject: [PATCH 1124/1307] (#18943) popt/1.19: Added support for popt/1.19 and
 QNX portability

---
 recipes/popt/{all => 1.16}/conandata.yml      |  0
 recipes/popt/{all => 1.16}/conanfile.py       |  4 +
 .../patches/0004-vcpkg-fixmsvc.patch          |  0
 .../{all => 1.16}/test_package/CMakeLists.txt |  0
 .../{all => 1.16}/test_package/conanfile.py   |  0
 .../{all => 1.16}/test_package/test_package.c |  0
 .../test_v1_package/CMakeLists.txt            |  0
 .../test_v1_package/conanfile.py              |  0
 recipes/popt/1.19/conandata.yml               |  4 +
 recipes/popt/1.19/conanfile.py                | 88 +++++++++++++++++++
 recipes/popt/1.19/test_package/CMakeLists.txt |  7 ++
 recipes/popt/1.19/test_package/conanfile.py   | 26 ++++++
 recipes/popt/1.19/test_package/test_package.c | 17 ++++
 recipes/popt/config.yml                       |  4 +-
 14 files changed, 149 insertions(+), 1 deletion(-)
 rename recipes/popt/{all => 1.16}/conandata.yml (100%)
 rename recipes/popt/{all => 1.16}/conanfile.py (97%)
 rename recipes/popt/{all => 1.16}/patches/0004-vcpkg-fixmsvc.patch (100%)
 rename recipes/popt/{all => 1.16}/test_package/CMakeLists.txt (100%)
 rename recipes/popt/{all => 1.16}/test_package/conanfile.py (100%)
 rename recipes/popt/{all => 1.16}/test_package/test_package.c (100%)
 rename recipes/popt/{all => 1.16}/test_v1_package/CMakeLists.txt (100%)
 rename recipes/popt/{all => 1.16}/test_v1_package/conanfile.py (100%)
 create mode 100755 recipes/popt/1.19/conandata.yml
 create mode 100755 recipes/popt/1.19/conanfile.py
 create mode 100755 recipes/popt/1.19/test_package/CMakeLists.txt
 create mode 100755 recipes/popt/1.19/test_package/conanfile.py
 create mode 100755 recipes/popt/1.19/test_package/test_package.c
 mode change 100644 => 100755 recipes/popt/config.yml

diff --git a/recipes/popt/all/conandata.yml b/recipes/popt/1.16/conandata.yml
similarity index 100%
rename from recipes/popt/all/conandata.yml
rename to recipes/popt/1.16/conandata.yml
diff --git a/recipes/popt/all/conanfile.py b/recipes/popt/1.16/conanfile.py
similarity index 97%
rename from recipes/popt/all/conanfile.py
rename to recipes/popt/1.16/conanfile.py
index ce3a9a4e859ec..441401f46468c 100644
--- a/recipes/popt/all/conanfile.py
+++ b/recipes/popt/1.16/conanfile.py
@@ -53,6 +53,10 @@ def validate(self):
         if is_msvc(self) and self.options.shared:
             raise ConanInvalidConfiguration(f"{self.ref} can not be built as shared on Visual Studio and msvc.")
 
+    def requirements(self):
+        if self.settings.os == "Neutrino":
+            self.requires("libiconv/[>=1.15]")
+
     def build_requirements(self):
         self.tool_requires("gnu-config/cci.20210814")
         if self._settings_build.os == "Windows":
diff --git a/recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch b/recipes/popt/1.16/patches/0004-vcpkg-fixmsvc.patch
similarity index 100%
rename from recipes/popt/all/patches/0004-vcpkg-fixmsvc.patch
rename to recipes/popt/1.16/patches/0004-vcpkg-fixmsvc.patch
diff --git a/recipes/popt/all/test_package/CMakeLists.txt b/recipes/popt/1.16/test_package/CMakeLists.txt
similarity index 100%
rename from recipes/popt/all/test_package/CMakeLists.txt
rename to recipes/popt/1.16/test_package/CMakeLists.txt
diff --git a/recipes/popt/all/test_package/conanfile.py b/recipes/popt/1.16/test_package/conanfile.py
similarity index 100%
rename from recipes/popt/all/test_package/conanfile.py
rename to recipes/popt/1.16/test_package/conanfile.py
diff --git a/recipes/popt/all/test_package/test_package.c b/recipes/popt/1.16/test_package/test_package.c
similarity index 100%
rename from recipes/popt/all/test_package/test_package.c
rename to recipes/popt/1.16/test_package/test_package.c
diff --git a/recipes/popt/all/test_v1_package/CMakeLists.txt b/recipes/popt/1.16/test_v1_package/CMakeLists.txt
similarity index 100%
rename from recipes/popt/all/test_v1_package/CMakeLists.txt
rename to recipes/popt/1.16/test_v1_package/CMakeLists.txt
diff --git a/recipes/popt/all/test_v1_package/conanfile.py b/recipes/popt/1.16/test_v1_package/conanfile.py
similarity index 100%
rename from recipes/popt/all/test_v1_package/conanfile.py
rename to recipes/popt/1.16/test_v1_package/conanfile.py
diff --git a/recipes/popt/1.19/conandata.yml b/recipes/popt/1.19/conandata.yml
new file mode 100755
index 0000000000000..9154d03ec87c9
--- /dev/null
+++ b/recipes/popt/1.19/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "1.19":
+    url: "http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.19.tar.gz"
+    sha256: "c25a4838fc8e4c1c8aacb8bd620edb3084a3d63bf8987fdad3ca2758c63240f9"
diff --git a/recipes/popt/1.19/conanfile.py b/recipes/popt/1.19/conanfile.py
new file mode 100755
index 0000000000000..a8a39dc69c064
--- /dev/null
+++ b/recipes/popt/1.19/conanfile.py
@@ -0,0 +1,88 @@
+from conan import ConanFile
+from conan.errors import ConanInvalidConfiguration
+from conan.tools.apple import is_apple_os, fix_apple_shared_install_name
+from conan.tools.env import Environment, VirtualBuildEnv
+from conan.tools.files import collect_libs, copy, get, rmdir, rm
+from conan.tools.gnu import Autotools, AutotoolsToolchain, AutotoolsDeps
+from conan.tools.layout import basic_layout
+from conan.tools.microsoft import is_msvc
+import os
+
+
+required_conan_version = ">=1.54.0"
+
+class PoptConan(ConanFile):
+    name = "popt"
+    description = "Library for parsing command line parameters"
+    license = "MIT"
+    url = "https://github.com/conan-io/conan-center-index"
+    homepage = "https://github.com/rpm-software-management/popt"
+    topics = ("command line", "options", "parsing")
+    package_type = "library"
+    settings = "os", "arch", "compiler", "build_type"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True,
+    }
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def requirements(self):
+        if self.settings.os == "Neutrino":
+            self.requires("libiconv/1.15")
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        self.settings.rm_safe("compiler.libcxx")
+        self.settings.rm_safe("compiler.cppstd")
+
+    def layout(self):
+        basic_layout(self, src_folder="src")
+
+    def validate(self):
+        if is_msvc(self):
+            raise ConanInvalidConfiguration(f"{self.ref} can not be built with shared on Visual Studio and msvc, use mingw.")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        ad = AutotoolsDeps(self)
+        ad.generate()
+
+        tc = AutotoolsToolchain(self)
+        tc.ldflags.append("-lintl")
+        tc.generate()
+
+    def build(self):
+        autotools = Autotools(self)
+        autotools.configure()
+        autotools.make()
+
+    def package(self):
+        copy(self, pattern="COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+
+        autotools = Autotools(self)
+        autotools.install()
+
+        rm(self, "*.la", os.path.join(self.package_folder, "lib"))
+        rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
+        rmdir(self, os.path.join(self.package_folder, "share"))
+
+        fix_apple_shared_install_name(self)
+
+    def package_info(self):
+        self.cpp_info.libs = collect_libs(self)
+
+        if is_apple_os(self):
+            self.cpp_info.system_libs = ["iconv"]
+
+        if self.settings.os == "Neutrino":
+            self.cpp_info.system_libs = ["intl"]
diff --git a/recipes/popt/1.19/test_package/CMakeLists.txt b/recipes/popt/1.19/test_package/CMakeLists.txt
new file mode 100755
index 0000000000000..22ec2254e31d1
--- /dev/null
+++ b/recipes/popt/1.19/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.1)
+project(test_package LANGUAGES C)
+
+find_package(popt REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE popt::popt)
diff --git a/recipes/popt/1.19/test_package/conanfile.py b/recipes/popt/1.19/test_package/conanfile.py
new file mode 100755
index 0000000000000..e845ae751a301
--- /dev/null
+++ b/recipes/popt/1.19/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import cmake_layout, CMake
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run(bin_path, env="conanrun")
diff --git a/recipes/popt/1.19/test_package/test_package.c b/recipes/popt/1.19/test_package/test_package.c
new file mode 100755
index 0000000000000..1ba85997582a9
--- /dev/null
+++ b/recipes/popt/1.19/test_package/test_package.c
@@ -0,0 +1,17 @@
+#include 
+#include 
+#include "popt.h"
+
+
+int main(int argc, const char* argv[]) {
+    struct poptOption table[] = {
+        POPT_AUTOHELP
+        POPT_TABLEEND
+    };
+
+    poptContext context = poptGetContext(NULL, argc, argv, table, 0);
+    poptGetNextOpt(context);
+    poptFreeContext(context);
+
+    return EXIT_SUCCESS;
+}
diff --git a/recipes/popt/config.yml b/recipes/popt/config.yml
old mode 100644
new mode 100755
index b41d4f764c9b5..5701e758adc33
--- a/recipes/popt/config.yml
+++ b/recipes/popt/config.yml
@@ -1,3 +1,5 @@
 versions:
+  "1.19":
+    folder: "1.19"
   "1.16":
-    folder: all
+    folder: "1.16"

From 333c1f4276a18013cdb039df9be35b6c00fe8aec Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 22:51:06 +0900
Subject: [PATCH 1125/1307] (#22733) imgui: add version 1.90.2, 1.90.2-docking

---
 recipes/imgui/all/conandata.yml | 6 ++++++
 recipes/imgui/config.yml        | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml
index 99f46ac0b18c0..326ffeb754602 100644
--- a/recipes/imgui/all/conandata.yml
+++ b/recipes/imgui/all/conandata.yml
@@ -1,4 +1,10 @@
 sources:
+  "1.90.2":
+    url: "https://github.com/ocornut/imgui/archive/v1.90.2.tar.gz"
+    sha256: "452d1c11e5c4b4dfcca272915644a65f1c076498e8318b141ca75cd30470dd68"
+  "1.90.2-docking":
+    url: "https://github.com/ocornut/imgui/archive/v1.90.2-docking.tar.gz"
+    sha256: "69f1cd78d49ec9cc847b7082d641434ea731f0be41c6930bea08a46a0794ac17"
   "1.90.1":
     url: "https://github.com/ocornut/imgui/archive/v1.90.1.tar.gz"
     sha256: "21dcc985bb2ae8fe48047c86135dbc438d6980a8f2e08babbda5be820592f282"
diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml
index 5444f395d2f43..86b810236bae7 100644
--- a/recipes/imgui/config.yml
+++ b/recipes/imgui/config.yml
@@ -1,4 +1,8 @@
 versions:
+  "1.90.2":
+    folder: all
+  "1.90.2-docking":
+    folder: all
   "1.90.1":
     folder: all
   "1.90.1-docking":

From 39073effa061fb033e5d1a24e5c93f6656622d7e Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 23:09:11 +0900
Subject: [PATCH 1126/1307] (#22743) libzippp: add version 7.1-1.10.1

---
 recipes/libzippp/all/conandata.yml | 3 +++
 recipes/libzippp/config.yml        | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/recipes/libzippp/all/conandata.yml b/recipes/libzippp/all/conandata.yml
index 20f731c93139a..8419667338e92 100644
--- a/recipes/libzippp/all/conandata.yml
+++ b/recipes/libzippp/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "7.1-1.10.1":
+    url: "https://github.com/ctabin/libzippp/archive/libzippp-v7.1-1.10.1.tar.gz"
+    sha256: "9ded3c4b5641e65d2b3a3dd0cbc4106209ee17c17df70e5187e7171420752546"
   "7.0-1.10.1":
     url: "https://github.com/ctabin/libzippp/archive/libzippp-v7.0-1.10.1.tar.gz"
     sha256: "67d6808406b4fc255016ede52c7b5105e2d0e43899a3331de9ed86da5dea07a1"
diff --git a/recipes/libzippp/config.yml b/recipes/libzippp/config.yml
index ce3931e22d5f5..eb03fe8bdec4f 100644
--- a/recipes/libzippp/config.yml
+++ b/recipes/libzippp/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "7.1-1.10.1":
+    folder: all
   "7.0-1.10.1":
     folder: all
   "6.1-1.9.2":

From 99ecffbf6c15636c3ff801479ea01cd1754638e0 Mon Sep 17 00:00:00 2001
From: toge 
Date: Mon, 12 Feb 2024 23:30:51 +0900
Subject: [PATCH 1127/1307] (#22749) nng: add version 1.7.2, remove older
 versions, update mbedtls

* nng: add version 1.7.2, remove older versions, update mbedtls

* remove older versions in config.yml
---
 recipes/nng/all/conandata.yml                 | 19 +++----------------
 recipes/nng/all/conanfile.py                  |  8 +++++++-
 .../0001-fix-ios-tvos-watchos-1.3.0.patch     | 11 -----------
 recipes/nng/config.yml                        |  6 ++----
 4 files changed, 12 insertions(+), 32 deletions(-)
 delete mode 100644 recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch

diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml
index 84d072aa8848a..a0f5356224bc7 100644
--- a/recipes/nng/all/conandata.yml
+++ b/recipes/nng/all/conandata.yml
@@ -1,4 +1,7 @@
 sources:
+  "1.7.2":
+    url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.2.tar.gz"
+    sha256: "40e6af7bdd5d02ee98ba8fe5fd5c149ce3e5a555f202cdc837e3ead2d7cc7534"
   "1.7.1":
     url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.1.tar.gz"
     sha256: "b62b2170d2b4757f9f01fb65e5aa9f078dec726735e9de5ed5d7e332cbbbf2ef"
@@ -17,12 +20,6 @@ sources:
   "1.3.2":
     url: "https://github.com/nanomsg/nng/archive/v1.3.2.tar.gz"
     sha256: "0f8f2ede7f5ea2018c7fa615c76f48662eb06d39c71c3339f8ff38da44470855"
-  "1.3.1":
-    url: "https://github.com/nanomsg/nng/archive/v1.3.1.tar.gz"
-    sha256: "3f258514b6aed931485ce1a6e5745e07416d32e6c4315ae771ff358e9fd18e55"
-  "1.3.0":
-    url: "https://github.com/nanomsg/nng/archive/v1.3.0.tar.gz"
-    sha256: "e8fe50d0f79ec3243733f8b4c25099c88b2597ed1bb0d94a27c4385a2a24ecac"
 patches:
   "1.5.1":
     - patch_file: patches/0001-fix-ios-tvos-watchos-1.5.1.patch
@@ -34,13 +31,3 @@ patches:
       patch_description: "add support iOS, tvOS and watchOS"
       patch_type: "portability"
       patch_source: "https://github.com/nanomsg/nng/pull/1474"
-  "1.3.1":
-    - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.1.patch
-      patch_description: "add support iOS, tvOS and watchOS"
-      patch_type: "portability"
-      patch_source: "https://github.com/nanomsg/nng/pull/1474"
-  "1.3.0":
-    - patch_file: patches/0001-fix-ios-tvos-watchos-1.3.0.patch
-      patch_description: "add support iOS, tvOS and watchOS"
-      patch_type: "portability"
-      patch_source: "https://github.com/nanomsg/nng/pull/1474"
diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py
index 418a70d42be1f..3de52cd9ed251 100644
--- a/recipes/nng/all/conanfile.py
+++ b/recipes/nng/all/conanfile.py
@@ -26,6 +26,7 @@ class NngConan(ConanFile):
         "max_taskq_threads": ["ANY"],
         "max_expire_threads": ["ANY"],
         "max_poller_threads": ["ANY"],
+        "compat": [True, False],
     }
     default_options = {
         "shared": False,
@@ -36,6 +37,7 @@ class NngConan(ConanFile):
         "max_taskq_threads": "16",
         "max_expire_threads": "8",
         "max_poller_threads": "8",
+        "compat": True,
     }
 
     def export_sources(self):
@@ -48,6 +50,8 @@ def config_options(self):
             del self.options.max_expire_threads
         if Version(self.version) < "1.7.0":
             del self.options.max_poller_threads
+        if Version(self.version) < "1.7.2":
+            del self.options.compat
 
     def configure(self):
         if self.options.shared:
@@ -63,7 +67,7 @@ def requirements(self):
             if Version(self.version) < "1.5.2":
                 self.requires("mbedtls/2.25.0")
             else:
-                self.requires("mbedtls/3.5.1")
+                self.requires("mbedtls/3.5.2")
 
     def validate(self):
         compiler_minimum_version = {
@@ -96,6 +100,8 @@ def generate(self):
             tc.variables["NNG_MAX_EXPIRE_THREADS"] = self.options.max_expire_threads
         if "max_poller_threads" in self.options:
             tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads
+        if "compat" in self.options:
+            tc.variables["NNG_ENABLE_COMPAT"] = self.options.compat
         tc.generate()
 
     def build(self):
diff --git a/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch b/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch
deleted file mode 100644
index 3b71e923ae407..0000000000000
--- a/recipes/nng/all/patches/0001-fix-ios-tvos-watchos-1.3.0.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -214,7 +214,7 @@ elseif (CMAKE_SYSTEM_NAME MATCHES "Android")
-     add_definitions(-DNNG_USE_EVENTFD)
-     set(NNG_PLATFORM_POSIX ON)
- 
--elseif (CMAKE_SYSTEM_NAME MATCHES "Darwin")
-+elseif (APPLE)
-     add_definitions(-DNNG_PLATFORM_POSIX)
-     add_definitions(-DNNG_PLATFORM_DARWIN)
-     set(NNG_PLATFORM_POSIX ON)
diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml
index 3e8e4d6c71efa..5c118cf597a33 100644
--- a/recipes/nng/config.yml
+++ b/recipes/nng/config.yml
@@ -1,4 +1,6 @@
 versions:
+  "1.7.2":
+    folder: all
   "1.7.1":
     folder: all
   "1.7.0":
@@ -11,7 +13,3 @@ versions:
     folder: all
   "1.3.2":
     folder: all
-  "1.3.1":
-    folder: all
-  "1.3.0":
-    folder: all

From c631a5e52194a89f17fdad0141aef295d650d807 Mon Sep 17 00:00:00 2001
From: Anton 
Date: Mon, 12 Feb 2024 17:57:37 +0300
Subject: [PATCH 1128/1307] (#16372) dnet: add 1.16.3

* Init libdnet

* move to cmake

* prepare for cmake

* rename package

* fix license

* fix write header

* fix libcxx and cppstd

* bump to upstream

* Apply suggestions from code review

Co-authored-by: Martin Valgur 

* Remove test_v1_package, fix configure method

---------

Co-authored-by: Martin Valgur 
Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com>
---
 recipes/dnet/all/conandata.yml               |  4 ++
 recipes/dnet/all/conanfile.py                | 70 ++++++++++++++++++++
 recipes/dnet/all/test_package/CMakeLists.txt |  7 ++
 recipes/dnet/all/test_package/conanfile.py   | 26 ++++++++
 recipes/dnet/all/test_package/test_package.c | 39 +++++++++++
 recipes/dnet/config.yml                      |  3 +
 6 files changed, 149 insertions(+)
 create mode 100644 recipes/dnet/all/conandata.yml
 create mode 100644 recipes/dnet/all/conanfile.py
 create mode 100644 recipes/dnet/all/test_package/CMakeLists.txt
 create mode 100644 recipes/dnet/all/test_package/conanfile.py
 create mode 100644 recipes/dnet/all/test_package/test_package.c
 create mode 100644 recipes/dnet/config.yml

diff --git a/recipes/dnet/all/conandata.yml b/recipes/dnet/all/conandata.yml
new file mode 100644
index 0000000000000..6e95e35e1a154
--- /dev/null
+++ b/recipes/dnet/all/conandata.yml
@@ -0,0 +1,4 @@
+sources:
+  "1.17.0":
+    url: "https://github.com/ofalk/libdnet/archive/refs/tags/libdnet-1.17.0.tar.gz"
+    sha256: "6be1ed0763151ede4c9665a403f1c9d974b2ffab2eacdb26b22078e461aae1dc"
diff --git a/recipes/dnet/all/conanfile.py b/recipes/dnet/all/conanfile.py
new file mode 100644
index 0000000000000..c8d803e208864
--- /dev/null
+++ b/recipes/dnet/all/conanfile.py
@@ -0,0 +1,70 @@
+from conan import ConanFile
+from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout
+from conan.tools.files import copy, get, rmdir
+import os
+
+
+required_conan_version = ">=1.56.0"
+
+
+class dnetConan(ConanFile):
+    name = "dnet"
+    description = "Provides a simplified, portable interface to several low-level networking routines."
+    homepage = "https://github.com/ofalk/libdnet"
+    topics = ("dnet", "libdnet", "libdumbnet")
+    license = "BSD-3-Clause"
+    url = "https://github.com/conan-io/conan-center-index"
+    package_type = "library"
+    options = {
+        "shared": [True, False],
+        "fPIC": [True, False],
+    }
+    default_options = {
+        "shared": False,
+        "fPIC": True
+    }
+    settings = "os", "arch", "compiler", "build_type"
+
+
+    def layout(self):
+        cmake_layout(self, src_folder="src")
+
+    def config_options(self):
+        if self.settings.os == "Windows":
+            del self.options.fPIC
+
+    def configure(self):
+        if self.options.shared:
+            self.options.rm_safe("fPIC")
+        # This is a pure C project
+        self.settings.rm_safe("compiler.cppstd")
+        self.settings.rm_safe("compiler.libcxx")
+
+    def source(self):
+        get(self, **self.conan_data["sources"][self.version], strip_root=True)
+
+    def generate(self):
+        tc = CMakeToolchain(self)
+        tc.generate()
+
+        deps = CMakeDeps(self)
+        deps.generate()
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+    
+    def package(self):
+        copy(self,"LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.install()
+        rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
+
+    def package_info(self):
+        self.cpp_info.libs.append("dnet")
+        self.cpp_info.includedirs.append(os.path.join("include", "dnet"))
+ 
+        if self.settings.os == 'Windows':
+            self.cpp_info.system_libs = ['Iphlpapi', 'wsock32']
diff --git a/recipes/dnet/all/test_package/CMakeLists.txt b/recipes/dnet/all/test_package/CMakeLists.txt
new file mode 100644
index 0000000000000..d2b66a2eb9cdf
--- /dev/null
+++ b/recipes/dnet/all/test_package/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.1)
+project(test_package C)
+
+find_package(dnet REQUIRED CONFIG)
+
+add_executable(${PROJECT_NAME} test_package.c)
+target_link_libraries(${PROJECT_NAME} PRIVATE dnet::dnet)
diff --git a/recipes/dnet/all/test_package/conanfile.py b/recipes/dnet/all/test_package/conanfile.py
new file mode 100644
index 0000000000000..dcfce1e159562
--- /dev/null
+++ b/recipes/dnet/all/test_package/conanfile.py
@@ -0,0 +1,26 @@
+from conan import ConanFile
+from conan.tools.build import can_run
+from conan.tools.cmake import CMake, cmake_layout
+import os
+
+
+class TestPackageConan(ConanFile):
+    settings = "os", "arch", "compiler", "build_type"
+    generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv"
+    test_type = "explicit"
+
+    def layout(self):
+        cmake_layout(self)
+
+    def requirements(self):
+        self.requires(self.tested_reference_str)
+
+    def build(self):
+        cmake = CMake(self)
+        cmake.configure()
+        cmake.build()
+
+    def test(self):
+        if can_run(self):
+            bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
+            self.run("{} {}".format(bin_path, "127.0.0.1"), env="conanrun")
diff --git a/recipes/dnet/all/test_package/test_package.c b/recipes/dnet/all/test_package/test_package.c
new file mode 100644
index 0000000000000..6102a898664e5
--- /dev/null
+++ b/recipes/dnet/all/test_package/test_package.c
@@ -0,0 +1,39 @@
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+
+#if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
+#include 
+#elif defined(_WIN32)
+#include 
+#endif
+
+void addr_usage(void)
+{
+	fprintf(stderr, "Usage: dnet addr 
...\n"); + exit(1); +} + +int main(int argc, char *argv[]) +{ + struct addr addr; + int c, len; + + if (argc == 1 || *(argv[1]) == '-') + addr_usage(); + + for (c = 1; c < argc; c++) { + if (addr_aton(argv[c], &addr) < 0) + addr_usage(); + + len = addr.addr_bits / 8; + + if (write(1, addr.addr_data8, len) != len) + err(1, "write"); + } + return 0; +} diff --git a/recipes/dnet/config.yml b/recipes/dnet/config.yml new file mode 100644 index 0000000000000..aad66aeff535b --- /dev/null +++ b/recipes/dnet/config.yml @@ -0,0 +1,3 @@ +versions: + "1.17.0": + folder: "all" From d4f8f3fc452a8be89cdc2900c9917a97e5851314 Mon Sep 17 00:00:00 2001 From: Philipp <57151725+philippun1@users.noreply.github.com> Date: Mon, 12 Feb 2024 16:30:09 +0100 Subject: [PATCH 1129/1307] (#22675) qt: update libpng/1.6.42 Co-authored-by: Uilian Ries --- recipes/qt/5.x.x/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index ff873bf5ea419..8b1c566af5c7c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -371,7 +371,7 @@ def requirements(self): else: self.requires("libjpeg/9e") if self.options.get_safe("with_libpng", False) and not self.options.multiconfiguration: - self.requires("libpng/1.6.40") + self.requires("libpng/1.6.42") if self.options.with_sqlite3 and not self.options.multiconfiguration: self.requires("sqlite3/3.45.0") if self.options.get_safe("with_mysql", False): From cc9c2eafb0f71e4f1bce172bd91b8f0d4a270cad Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 01:09:10 +0900 Subject: [PATCH 1130/1307] (#22741) glaze: add version 2.0.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 247424073dd75..082ab5fde6a56 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.9": + url: "https://github.com/stephenberry/glaze/archive/v2.0.9.tar.gz" + sha256: "c1ffede3db5c74d2c46a3abe576985dc729c95df1b48ab575079427b55488bbd" "2.0.7": url: "https://github.com/stephenberry/glaze/archive/v2.0.7.tar.gz" sha256: "1bf981e72733fb5a02a91c9642d91fa39e4a1ebe42f81e8fc6a016c11ed762cb" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 67e6a0900ca46..5d09cdcfa69bd 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.9": + folder: all "2.0.7": folder: all "2.0.6": From 99fc90a31176bc52e6ebefb826d1d284f8d457c9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 01:29:53 +0900 Subject: [PATCH 1131/1307] (#22756) leveldb: update snappy/1.1.10 --- recipes/leveldb/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/leveldb/all/conanfile.py b/recipes/leveldb/all/conanfile.py index 25822de4f07a9..8886ea342497d 100644 --- a/recipes/leveldb/all/conanfile.py +++ b/recipes/leveldb/all/conanfile.py @@ -52,7 +52,7 @@ def requirements(self): # there is no "official" conan package yet; when that is available, we # can add similar with options for those if self.options.with_snappy: - self.requires("snappy/1.1.9") + self.requires("snappy/1.1.10") if self.options.with_crc32c: self.requires("crc32c/1.1.2") From 4cd206343279143418283690f95a77256143fee2 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 12 Feb 2024 18:10:02 +0100 Subject: [PATCH 1132/1307] (#22709) aws-c-auth: update dependencies Due to #21033, we'll have to raise the aws-c-io dependency here as well. --- recipes/aws-c-auth/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-auth/all/conanfile.py b/recipes/aws-c-auth/all/conanfile.py index 0181ea2ac5e2c..edc82083e9c0b 100644 --- a/recipes/aws-c-auth/all/conanfile.py +++ b/recipes/aws-c-auth/all/conanfile.py @@ -61,7 +61,7 @@ def requirements(self): else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.32", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True, transitive_libs=True) self.requires("aws-c-http/0.7.14", transitive_headers=True) self.requires("aws-c-sdkutils/0.1.12", transitive_headers=True) From 11f8b5b175d9beaac1c4f0b8d293f39f29fc13fb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Feb 2024 18:22:58 +0000 Subject: [PATCH 1133/1307] (#22754) [bot] Update authorized users list (2024-02-12) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 4200ed3ec3c89..37b43973ce278 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1284,3 +1284,7 @@ authorized_users: - MelamudMichael - Rodarin - philippun1 +- Kaaml +- AlexanderBabansky +- matthiasbuhl +- cnicolaescu From f79bb63fc77a749aeb1cac56dda0e5c049094058 Mon Sep 17 00:00:00 2001 From: PeteAudinate <99274874+PeteAudinate@users.noreply.github.com> Date: Mon, 12 Feb 2024 18:49:09 +0000 Subject: [PATCH 1134/1307] (#22732) b2: Don't apply CXXFLAGS env var if it doesn't exist Without this cxxflags are set to "None" which causes a compile failure. --- recipes/b2/portable/conanfile.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/recipes/b2/portable/conanfile.py b/recipes/b2/portable/conanfile.py index f93460f8b28cf..eb45936017eef 100644 --- a/recipes/b2/portable/conanfile.py +++ b/recipes/b2/portable/conanfile.py @@ -159,13 +159,14 @@ def build(self): if self.options.use_cxx_env: envvars = VirtualBuildEnv(self).vars() - cxx = envvars.get("CXX") - if cxx: - command += f" --cxx={cxx}" - self._write_project_config(cxx) + cxx_env = envvars.get("CXX") + if cxx_env: + command += f" --cxx={cxx_env}" + self._write_project_config(cxx_env) cxxflags_env = envvars.get("CXXFLAGS") - cxxflags = f"{cxxflags} {cxxflags_env}" + if cxxflags_env: + cxxflags = f"{cxxflags} {cxxflags_env}" if cxxflags: command += f' --cxxflags="{cxxflags}"' From 9540705c64a0b4fb8a375f40b2f793b091826a30 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 05:49:44 +0900 Subject: [PATCH 1135/1307] (#22755) uvw: add version 3.3.0 --- recipes/uvw/all/conandata.yml | 3 +++ recipes/uvw/all/conanfile.py | 1 + recipes/uvw/config.yml | 2 ++ 3 files changed, 6 insertions(+) diff --git a/recipes/uvw/all/conandata.yml b/recipes/uvw/all/conandata.yml index 2ce44b1f85239..f88dde6763845 100644 --- a/recipes/uvw/all/conandata.yml +++ b/recipes/uvw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.3.0": + url: "https://github.com/skypjack/uvw/archive/v3.3.0_libuv_v1.47.tar.gz" + sha256: "aabb17d3d8f0b3481b44e981c889dd4a2a6a3f1a96a4d01055e669f4b7d37d0e" "3.2.0": url: "https://github.com/skypjack/uvw/archive/v3.2.0_libuv_v1.46.tar.gz" sha256: "bd5aed741765950074b1ea2507291dce81e528abdf56c406991ad4a27d8d1714" diff --git a/recipes/uvw/all/conanfile.py b/recipes/uvw/all/conanfile.py index af145be3d5ce2..fc221de9ee0df 100644 --- a/recipes/uvw/all/conanfile.py +++ b/recipes/uvw/all/conanfile.py @@ -38,6 +38,7 @@ def _compilers_minimum_version(self): @property def _required_libuv_version(self): return { + "3.3.0": "1.47.0", "3.2.0": "1.46.0", "3.1.0": "1.45.0", "2.12.1": "1.44.2", diff --git a/recipes/uvw/config.yml b/recipes/uvw/config.yml index f7ecad1e5c9ed..7b4a0bac4b71c 100644 --- a/recipes/uvw/config.yml +++ b/recipes/uvw/config.yml @@ -1,4 +1,6 @@ versions: + "3.3.0": + folder: "all" "3.2.0": folder: "all" "3.1.0": From ad0b678359127ee31176de2881c505ffb903aceb Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:47:20 +0000 Subject: [PATCH 1136/1307] (#22758) [bot] Update list of references (prod-v2/ListPackages) Co-authored-by: conan-center-bot --- .c3i/conan_v2_ready_references.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.c3i/conan_v2_ready_references.yml b/.c3i/conan_v2_ready_references.yml index 8eeed5f74f09b..c8822abbf29a6 100644 --- a/.c3i/conan_v2_ready_references.yml +++ b/.c3i/conan_v2_ready_references.yml @@ -343,6 +343,7 @@ required_for_references: - erikzenker-hsm - erkir - etc2comp +- etcd-cpp-apiv3 - eternal - ethash - etl @@ -530,8 +531,10 @@ required_for_references: - indicators - indirect_value - influxdb-cpp +- influxdb-cxx - inih - inja +- intel-ipsec-mb - intel-neon2sse - intx - inversify-cpp @@ -801,6 +804,7 @@ required_for_references: - linux-syscall-support - litehtml - lksctp-tools +- llama-cpp - llhttp - llvm-openmp - lmdb @@ -831,6 +835,7 @@ required_for_references: - make - mapbox-geometry - mapbox-variant +- mapbox-wagyu - mariadb-connector-c - marisa - matchit @@ -859,6 +864,7 @@ required_for_references: - metall - metis - mfast +- mgclient - mgs - microprofile - microservice-essentials @@ -983,6 +989,7 @@ required_for_references: - opencore-amr - opencv - openddl-parser +- opendis6 - opene57 - openexr - openfbx From b7d0b6343d9648658d971b7468687e55b6cdfef1 Mon Sep 17 00:00:00 2001 From: Cristi N Date: Tue, 13 Feb 2024 09:50:35 +0100 Subject: [PATCH 1137/1307] (#22753) sqlite3: added `use_uri` option - which translates into `SQLITE_USE_URI` compile option --- recipes/sqlite3/all/CMakeLists.txt | 4 ++++ recipes/sqlite3/all/conanfile.py | 3 +++ 2 files changed, 7 insertions(+) diff --git a/recipes/sqlite3/all/CMakeLists.txt b/recipes/sqlite3/all/CMakeLists.txt index 1f1e60b9b2dcf..9d6257e47853f 100644 --- a/recipes/sqlite3/all/CMakeLists.txt +++ b/recipes/sqlite3/all/CMakeLists.txt @@ -17,6 +17,7 @@ option(ENABLE_RTREE "Enable support for the R*Tree index extension") option(ENABLE_UNLOCK_NOTIFY "Enable support for the unlock notify API") option(ENABLE_DEFAULT_SECURE_DELETE "Turns on secure deletion by default") option(USE_ALLOCA "The alloca() memory allocator will be used in a few situations where it is appropriate.") +option(USE_URI "This option causes the URI filename process logic to be enabled by default.") option(OMIT_LOAD_EXTENSION "Omits the entire extension loading mechanism from SQLite") option(OMIT_DEPRECATED "Omits deprecated interfaces and features") if(SQLITE3_VERSION VERSION_GREATER_EQUAL "3.35.0") @@ -93,6 +94,9 @@ endif() if(USE_ALLOCA) target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_USE_ALLOCA) endif() +if(USE_URI) + target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_USE_URI) +endif() if(OMIT_LOAD_EXTENSION) target_compile_definitions(${PROJECT_NAME} PRIVATE SQLITE_OMIT_LOAD_EXTENSION) endif() diff --git a/recipes/sqlite3/all/conanfile.py b/recipes/sqlite3/all/conanfile.py index eddf425a36988..8c9aee8f54806 100644 --- a/recipes/sqlite3/all/conanfile.py +++ b/recipes/sqlite3/all/conanfile.py @@ -35,6 +35,7 @@ class Sqlite3Conan(ConanFile): "enable_preupdate_hook": [True, False], "enable_rtree": [True, False], "use_alloca": [True, False], + "use_uri": [True, False], "omit_load_extension": [True, False], "omit_deprecated": [True, False], "enable_math_functions": [True, False], @@ -64,6 +65,7 @@ class Sqlite3Conan(ConanFile): "enable_preupdate_hook": False, "enable_rtree": True, "use_alloca": False, + "use_uri": False, "omit_load_extension": False, "omit_deprecated": False, "enable_math_functions": True, @@ -130,6 +132,7 @@ def generate(self): tc.variables["ENABLE_UNLOCK_NOTIFY"] = self.options.enable_unlock_notify tc.variables["ENABLE_DEFAULT_SECURE_DELETE"] = self.options.enable_default_secure_delete tc.variables["USE_ALLOCA"] = self.options.use_alloca + tc.variables["USE_URI"] = self.options.use_uri tc.variables["OMIT_LOAD_EXTENSION"] = self.options.omit_load_extension tc.variables["OMIT_DEPRECATED"] = self.options.omit_deprecated if self._has_enable_math_function_option: From 2472bc0fdd9da2f19710d337413db85ee603bb32 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 13 Feb 2024 18:27:56 +0900 Subject: [PATCH 1138/1307] (#22760) glaze: add version 2.1.0 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 082ab5fde6a56..4e699ca475415 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.0": + url: "https://github.com/stephenberry/glaze/archive/v2.1.0.tar.gz" + sha256: "b3bb4d886f17d266f37a6eec2c42b2e57e287918b20511297c4eb6b9960f0f8f" "2.0.9": url: "https://github.com/stephenberry/glaze/archive/v2.0.9.tar.gz" sha256: "c1ffede3db5c74d2c46a3abe576985dc729c95df1b48ab575079427b55488bbd" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 5d09cdcfa69bd..45dcbfc2283ba 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.0": + folder: all "2.0.9": folder: all "2.0.7": From c83402cd0166e66c662b1bbfafcfc130bdf5c8ce Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Tue, 13 Feb 2024 11:47:57 +0100 Subject: [PATCH 1139/1307] (#22757) sfl: Add sfl version 1.2.3 * sfl: Add sfl conan package * sfl: Add sfl conan package --- recipes/sfl/all/conandata.yml | 4 ++ recipes/sfl/all/conanfile.py | 45 +++++++++++++++++++ recipes/sfl/all/test_package/CMakeLists.txt | 8 ++++ recipes/sfl/all/test_package/conanfile.py | 28 ++++++++++++ recipes/sfl/all/test_package/test_package.cpp | 23 ++++++++++ recipes/sfl/config.yml | 3 ++ 6 files changed, 111 insertions(+) create mode 100644 recipes/sfl/all/conandata.yml create mode 100644 recipes/sfl/all/conanfile.py create mode 100644 recipes/sfl/all/test_package/CMakeLists.txt create mode 100644 recipes/sfl/all/test_package/conanfile.py create mode 100644 recipes/sfl/all/test_package/test_package.cpp create mode 100644 recipes/sfl/config.yml diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml new file mode 100644 index 0000000000000..78138456b199b --- /dev/null +++ b/recipes/sfl/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2.3": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.3.tar.gz" + sha256: "6111a81b5dcad091c5c8a420d127c1bbfb06f8fbb7d915e6a30b4b7d2d67db71" diff --git a/recipes/sfl/all/conanfile.py b/recipes/sfl/all/conanfile.py new file mode 100644 index 0000000000000..ef6582dd3b15f --- /dev/null +++ b/recipes/sfl/all/conanfile.py @@ -0,0 +1,45 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.62.0" + + +class SflConan(ConanFile): + name = "sfl" + description = "A header-only C++11 library that offers several new containers" + license = "Zlib" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/slavenf/sfl-library" + topics = ("containers", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE.txt", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "*", os.path.join(self.source_folder, "include"), os.path.join(self.package_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/sfl/all/test_package/CMakeLists.txt b/recipes/sfl/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..f8085bbcbe2d6 --- /dev/null +++ b/recipes/sfl/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(sfl REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE sfl::sfl) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/sfl/all/test_package/conanfile.py b/recipes/sfl/all/test_package/conanfile.py new file mode 100644 index 0000000000000..e62d4fe972ff2 --- /dev/null +++ b/recipes/sfl/all/test_package/conanfile.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sfl/all/test_package/test_package.cpp b/recipes/sfl/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..78ba6f47df1d5 --- /dev/null +++ b/recipes/sfl/all/test_package/test_package.cpp @@ -0,0 +1,23 @@ +#include + +#include "sfl/small_vector.hpp" +#include "sfl/small_flat_set.hpp" +#include "sfl/small_flat_map.hpp" +#include "sfl/small_flat_multiset.hpp" +#include "sfl/small_flat_multimap.hpp" +#include "sfl/small_unordered_flat_set.hpp" +#include "sfl/small_unordered_flat_map.hpp" +#include "sfl/small_unordered_flat_multiset.hpp" +#include "sfl/small_unordered_flat_multimap.hpp" +#include "sfl/compact_vector.hpp" +#include "sfl/segmented_vector.hpp" + +int main() { + sfl::small_vector v1; + v1.push_back(123); + + sfl::segmented_vector v2; + v2.push_back(123); + + return EXIT_SUCCESS; +} diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml new file mode 100644 index 0000000000000..81ff4bc37c872 --- /dev/null +++ b/recipes/sfl/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.3": + folder: "all" From 1240f77542b77a9b245583162c8b63e980b2a59c Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 13 Feb 2024 14:48:12 +0300 Subject: [PATCH 1140/1307] (#22716) md4qt: bump version --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 16e0c43dea8d2..59b1267eb8b5a 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.1": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.1.tar.gz" + sha256: "054cbaa286cfd3ce2d4e5c178b303b80eb23ad5bd54541571d6c9afbd285986e" "2.7.0": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.0.tar.gz" sha256: "e5722b586fa6c6d126487056fa47f0d933b94413ac44b79f52573226eca04a07" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 36c498e0d5bfd..3527c586022c3 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.1": + folder: all "2.7.0": folder: all "2.6.0": From 5daf02ff7bbafca2444af6c5b4d2c90d777b8176 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Tue, 13 Feb 2024 17:28:09 +0300 Subject: [PATCH 1141/1307] (#22762) md4qt: bump version to 2.7.2 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 59b1267eb8b5a..315e8aca50cf0 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.2": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.2.tar.gz" + sha256: "2d6b65db799fff944f2ecb8bb411f17687e41e0d5a17a37ad1c4bd22fe997d8b" "2.7.1": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.1.tar.gz" sha256: "054cbaa286cfd3ce2d4e5c178b303b80eb23ad5bd54541571d6c9afbd285986e" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 3527c586022c3..e03897a5ac97e 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.2": + folder: all "2.7.1": folder: all "2.7.0": From 96c442996dfa00e8ca3bcc1407a4982c49440b27 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 13 Feb 2024 16:02:11 +0100 Subject: [PATCH 1142/1307] (#22763) [hiredis] Use cache variables to make work with Cmake Signed-off-by: Uilian Ries --- recipes/hiredis/all/conanfile.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/hiredis/all/conanfile.py b/recipes/hiredis/all/conanfile.py index 4973e6b1da136..f81b8f52adbcd 100644 --- a/recipes/hiredis/all/conanfile.py +++ b/recipes/hiredis/all/conanfile.py @@ -56,9 +56,9 @@ def generate(self): # Since 1.2.0, BUILD_SHARED_LIBS has been defined by option() if Version(self.version) >= "1.2.0": tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["ENABLE_SSL"] = self.options.with_ssl - tc.variables["DISABLE_TESTS"] = True - tc.variables["ENABLE_EXAMPLES"] = False + tc.cache_variables["ENABLE_SSL"] = self.options.with_ssl + tc.cache_variables["DISABLE_TESTS"] = True + tc.cache_variables["ENABLE_EXAMPLES"] = False tc.generate() deps = CMakeDeps(self) deps.generate() From 37ed7f626150388f389b951994bd7a3477c40d45 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 13 Feb 2024 20:07:42 +0200 Subject: [PATCH 1143/1307] (#22295) physx: add v4.1.2, add package_type and no_copy_source=True MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * physx: add v4.1.2 * physx: set no_copy_source = True, package_type = "library" The source archive is more than 600 MB alone. * physx: fix test_package * physx: CMakeDeps is not needed * physx: use f-strings * Patch on source() method instead of build() due to no_copy_source=True We checked that the patches do not depend on the configuration --------- Co-authored-by: Rubén Rincón Blanco --- recipes/physx/4.x.x/conandata.yml | 13 ++++++++++ recipes/physx/4.x.x/conanfile.py | 25 ++++++++----------- recipes/physx/4.x.x/test_package/conanfile.py | 5 ++-- recipes/physx/config.yml | 2 ++ 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/recipes/physx/4.x.x/conandata.yml b/recipes/physx/4.x.x/conandata.yml index 6ce5c7aca0b19..3407713e50946 100644 --- a/recipes/physx/4.x.x/conandata.yml +++ b/recipes/physx/4.x.x/conandata.yml @@ -1,8 +1,21 @@ sources: + "4.1.2": + url: "https://github.com/NVIDIAGameWorks/PhysX/archive/a2c0428acab643e60618c681b501e86f7fd558cc.zip" + sha256: "d9c1939490a990277f8c773f288294cecb10e6fad8c820acad90fd4168b8ace3" "4.1.1": url: "https://github.com/NVIDIAGameWorks/PhysX/archive/ae80dede0546d652040ae6260a810e53e20a06fa.zip" sha256: "dd7db4c7879659658753029de57d04b18047ec04687b60f70335cde148a48d68" patches: + "4.1.2": + - patch_file: "patches/0003-PsWindowsInlineAoS-msvc142-bug-workaround.patch" + patch_description: "Workaround for a MSVC 142 bug on V3LoadA" + patch_type: "portability" + - patch_file: "patches/0004-Conan-PhysXGpu-name-workaround.patch" + patch_description: "Fix PhysXGpu library name" + patch_type: "conan" + - patch_file: "patches/0005-CMake-macos-ios-android-install-targets.patch" + patch_description: "Add installation targets for iOS, MacOS, Android" + patch_type: "portability" "4.1.1": - patch_file: "patches/0001-PsAllocator-include-typeinfo.patch" patch_description: "Fixed typeinfo inclusion for some VS versions" diff --git a/recipes/physx/4.x.x/conanfile.py b/recipes/physx/4.x.x/conanfile.py index 502ac7ccfc798..35264535f45b5 100644 --- a/recipes/physx/4.x.x/conanfile.py +++ b/recipes/physx/4.x.x/conanfile.py @@ -18,6 +18,7 @@ class PhysXConan(ConanFile): homepage = "https://github.com/NVIDIAGameWorks/PhysX" url = "https://github.com/conan-io/conan-center-index" + package_type = "library" settings = "os", "compiler", "arch", "build_type" options = { "shared": [True, False], @@ -35,8 +36,7 @@ class PhysXConan(ConanFile): } short_paths = True - - generators = "CMakeDeps" + no_copy_source = True def export_sources(self): export_conandata_patches(self) @@ -64,30 +64,28 @@ def validate(self): if self.settings.os == "Macos": if self.settings.arch not in ["x86", "x86_64"]: - raise ConanInvalidConfiguration("{} only supports x86 and x86_64 on macOS".format(self.name)) - + raise ConanInvalidConfiguration(f"{self.name} only supports x86 and x86_64 on macOS") + if valid_min_cppstd(self, 17): - raise ConanInvalidConfiguration("{} is not supported with C++ 17. Contributions are welcome.".format(self.name)) + raise ConanInvalidConfiguration(f"{self.name} is not supported with C++ 17. Contributions are welcome.") build_type = self.settings.build_type if build_type not in ["Debug", "RelWithDebInfo", "Release"]: raise ConanInvalidConfiguration("Current build_type is not supported") if self.settings.os == "Windows" and not is_msvc(self): - raise ConanInvalidConfiguration("{} only supports Visual Studio on Windows".format(self.name)) + raise ConanInvalidConfiguration(f"{self.name} only supports Visual Studio on Windows") if is_msvc(self): allowed_runtimes = ["MDd", "MTd"] if build_type == "Debug" else ["MD", "MT"] if msvc_runtime_flag(self) not in allowed_runtimes: raise ConanInvalidConfiguration( - "Visual Studio runtime {0} is required for {1} build type".format( - " or ".join(allowed_runtimes), - build_type, - ) + f"Visual Studio runtime {' or '.join(allowed_runtimes)} is required for {build_type} build type" ) def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) + self._patch_sources() def generate(self): tc = CMakeToolchain(self) @@ -141,8 +139,6 @@ def generate(self): tc.generate() def build(self): - self._patch_sources() - cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, "physx/compiler/public")) cmake.build(build_type=self._get_physx_build_type()) @@ -185,8 +181,7 @@ def _patch_sources(self): ): target, _ = os.path.splitext(os.path.basename(cmake_file)) replace_in_file(self, os.path.join(physx_source_cmake_dir, cmake_file), - "SET_TARGET_PROPERTIES({} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)".format(target), - "") + f"SET_TARGET_PROPERTIES({target} PROPERTIES POSITION_INDEPENDENT_CODE TRUE)", "") # No error for compiler warnings replace_in_file(self, os.path.join(physx_source_cmake_dir, "windows", "CMakeLists.txt"), @@ -263,7 +258,7 @@ def _copy_external_bin(self): "pattern": "PhysXDevice*.dll", "vc_ver": {"180": "vc120", "190": "vc140", "191": "vc141"}.get(str(compiler_version), "vc142") }] - + package_dst_bin_dir = os.path.join(self.package_folder, "bin") for dll_info in dll_info_list: diff --git a/recipes/physx/4.x.x/test_package/conanfile.py b/recipes/physx/4.x.x/test_package/conanfile.py index 3bc1fe0a67f9f..ff6d00f1438e2 100644 --- a/recipes/physx/4.x.x/test_package/conanfile.py +++ b/recipes/physx/4.x.x/test_package/conanfile.py @@ -6,6 +6,7 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" def requirements(self): self.requires(self.tested_reference_str) @@ -15,7 +16,7 @@ def layout(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["TEST_SHARED_LIBRARY"] = True if "fPIC" not in self.options["physx"].fields else self.options["physx"].fPIC + tc.variables["TEST_SHARED_LIBRARY"] = self.dependencies["physx"].options.get_safe("fPIC", True) tc.generate() def build(self): @@ -25,5 +26,5 @@ def build(self): def test(self): if can_run(self): - bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") self.run(bin_path, env="conanrun") diff --git a/recipes/physx/config.yml b/recipes/physx/config.yml index ff5afb6866457..f46b35cc99652 100644 --- a/recipes/physx/config.yml +++ b/recipes/physx/config.yml @@ -1,3 +1,5 @@ versions: + "4.1.2": + folder: "4.x.x" "4.1.1": folder: "4.x.x" From c9662ba806cbd111fbffc50b0560e743ad26b3f4 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Wed, 14 Feb 2024 12:09:27 +0100 Subject: [PATCH 1144/1307] (#21761) pthreadpool: Add cci.20231129 --- recipes/pthreadpool/all/conandata.yml | 3 +++ recipes/pthreadpool/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/pthreadpool/all/conandata.yml b/recipes/pthreadpool/all/conandata.yml index 4a1b5d58d8c57..5b276e0fd5b93 100644 --- a/recipes/pthreadpool/all/conandata.yml +++ b/recipes/pthreadpool/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/Maratyszcza/pthreadpool/archive/4fe0e1e183925bf8cfa6aae24237e724a96479b8.zip" + sha256: "a4cf06de57bfdf8d7b537c61f1c3071bce74e57524fe053e0bbd2332feca7f95" "cci.20210218": url: "https://github.com/Maratyszcza/pthreadpool/archive/b4589998be9a0f794236cf46f1b5b232b2b15ca3.zip" sha256: "b09f79d1b609239861bce5ed4ba4fbcf04f36e2c31471276158c44e5e15fde95" diff --git a/recipes/pthreadpool/config.yml b/recipes/pthreadpool/config.yml index 888d588d579dc..cb37cf1973096 100644 --- a/recipes/pthreadpool/config.yml +++ b/recipes/pthreadpool/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20231129": + folder: all "cci.20210218": folder: all From c05d1e9fe8eef997d59346269594368c4c39824e Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Feb 2024 01:47:05 +0900 Subject: [PATCH 1145/1307] (#19698) oatpp-sqlite: update sqlite3, use transitive_headers, use rm_safe * oatpp-sqlite: update sqlite3, use transitive_headers, use rm_safe * update sqlite3/3.43.1 * update dependencies Co-authored-by: Matthieu Darbois * update sqlite3 --------- Co-authored-by: Matthieu Darbois --- recipes/oatpp-sqlite/all/conanfile.py | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/recipes/oatpp-sqlite/all/conanfile.py b/recipes/oatpp-sqlite/all/conanfile.py index 75896ed5f3e71..5d2b46351ef5e 100644 --- a/recipes/oatpp-sqlite/all/conanfile.py +++ b/recipes/oatpp-sqlite/all/conanfile.py @@ -7,17 +7,17 @@ from conan.tools.scm import Version import os -required_conan_version = ">=1.51.1" +required_conan_version = ">=1.53.0" class OatppsqliteConan(ConanFile): name = "oatpp-sqlite" + description = "SQLite adapter for oatpp ORM." license = "Apache-2.0" - homepage = "https://github.com/oatpp/oatpp-sqlite" url = "https://github.com/conan-io/conan-center-index" - description = "oat++ SQLite library" + homepage = "https://github.com/oatpp/oatpp-sqlite" topics = ("oat++", "oatpp", "sqlite") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -34,17 +34,14 @@ def config_options(self): def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires(f"oatpp/{self.version}") - self.requires("sqlite3/3.39.4") + self.requires(f"oatpp/{self.version}", transitive_headers=True) + self.requires("sqlite3/3.45.0") def validate(self): if self.info.settings.compiler.get_safe("cppstd"): @@ -57,8 +54,7 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.ref} requires GCC >=5") def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self.source_folder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) From 02ff9d0d653fa0ca9c2cba9ce1c46bef0e79f176 Mon Sep 17 00:00:00 2001 From: Alexis Placet Date: Wed, 14 Feb 2024 18:11:09 +0100 Subject: [PATCH 1146/1307] (#22710) sqlcipher: Add 4.5.6 * sqlcipher: Add 4.5.6 * sqlcipher: Add 4.5.6 * sqlcipher: Fix topic case and add missing endline * sqlcipher: Fix license for version >4.5.6 * do not enforce cmake in test package Signed-off-by: Uilian Ries * sqlcipher: relax license filename to copy Co-authored-by: Uilian Ries * sqlcipher: Add option to enable column metadata * sqlcipher: do not enforce cmake in test package #2 --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/sqlcipher/all/conandata.yml | 7 + recipes/sqlcipher/all/conanfile.py | 11 +- .../all/patches/Makefile.in-v4.5.6.patch | 25 +++ .../all/patches/Makefile.msc-v4.5.6.patch | 161 ++++++++++++++++++ .../all/patches/fix_configure-v4.5.6.patch | 20 +++ .../sqlcipher/all/test_package/conanfile.py | 9 - .../all/test_v1_package/conanfile.py | 9 - recipes/sqlcipher/config.yml | 2 + 8 files changed, 223 insertions(+), 21 deletions(-) create mode 100644 recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch create mode 100644 recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch create mode 100644 recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch diff --git a/recipes/sqlcipher/all/conandata.yml b/recipes/sqlcipher/all/conandata.yml index a6f870e23b894..b9d316e874757 100644 --- a/recipes/sqlcipher/all/conandata.yml +++ b/recipes/sqlcipher/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.5.6": + url: "https://github.com/sqlcipher/sqlcipher/archive/v4.5.6.zip" + sha256: "5d269166c33c39c4dc6fc14be4ac8cd78b022f8bd59b0775becf0c896331a539" "4.5.1": url: "https://github.com/sqlcipher/sqlcipher/archive/v4.5.1.zip" sha256: "08a1024b299b5527d5b5ed79f67957938b516567f68662e973c4bec1b843b28e" @@ -18,6 +21,10 @@ sources: url: "https://github.com/sqlcipher/sqlcipher/archive/v4.3.0.zip" sha256: "41e1408465488e9c478ca5b7c5f8410405a10caa73b82db60ac115a76c563c05" patches: + "4.5.6": + - patch_file: patches/Makefile.in-v4.5.6.patch + - patch_file: patches/Makefile.msc-v4.5.6.patch + - patch_file: patches/fix_configure-v4.5.6.patch "4.5.1": - patch_file: patches/Makefile.in-v4.5.1.patch - patch_file: patches/Makefile.msc-v4.5.1.patch diff --git a/recipes/sqlcipher/all/conanfile.py b/recipes/sqlcipher/all/conanfile.py index d61f784a9ae42..103c2ec526cd3 100644 --- a/recipes/sqlcipher/all/conanfile.py +++ b/recipes/sqlcipher/all/conanfile.py @@ -20,7 +20,7 @@ class SqlcipherConan(ConanFile): license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.zetetic.net/sqlcipher/" - topics = ("database", "encryption", "SQLite") + topics = ("database", "encryption", "sqlite") package_type = "library" settings = "os", "arch", "compiler", "build_type" @@ -30,6 +30,7 @@ class SqlcipherConan(ConanFile): "crypto_library": ["openssl", "libressl", "commoncrypto"], "with_largefile": [True, False], "temporary_store": ["always_file", "default_file", "default_memory", "always_memory"], + "enable_column_metadata": [True, False], } default_options = { "shared": False, @@ -37,6 +38,7 @@ class SqlcipherConan(ConanFile): "crypto_library": "openssl", "with_largefile": True, "temporary_store": "default_memory", + "enable_column_metadata": False, } @property @@ -114,7 +116,10 @@ def _generate_msvc(self): env.define("OPTS", f'-I{crypto_dep.includedir} -DSQLITE_HAS_CODEC') env.define("NO_TCL", "1") env.define("USE_AMALGAMATION", "1") - env.define("OPT_FEATURE_FLAGS", "-DSQLCIPHER_CRYPTO_OPENSSL") + opt_feature_flags = "-DSQLCIPHER_CRYPTO_OPENSSL" + if self.options.enable_column_metadata: + opt_feature_flags += " -DSQLITE_ENABLE_COLUMN_METADATA" + env.define("OPT_FEATURE_FLAGS", opt_feature_flags) env.define("SQLITE_TEMP_STORE", self._temp_store_nmake_value) env.define("TCLSH_CMD", self.dependencies.build['tcl'].runenv_info.vars(self)['TCLSH']) @@ -221,7 +226,7 @@ def build(self): autotools.make() def package(self): - copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "LICENSE*", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) if is_msvc(self): copy(self, "*.dll", dst=os.path.join(self.package_folder, "bin"), src=self.source_folder, keep_path=False) copy(self, "*.lib", dst=os.path.join(self.package_folder, "lib"), src=self.source_folder, keep_path=False) diff --git a/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch new file mode 100644 index 0000000000000..ea44332dff260 --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.in-v4.5.6.patch @@ -0,0 +1,25 @@ +diff --git a/Makefile.in b/Makefile.in +index 870c5d30..4dc5d292 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -672,8 +672,7 @@ SQLITE3_SHELL_TARGET = $(SQLITE3_SHELL_TARGET_@HAVE_WASI_SDK@) + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-all: sqlite3.h libsqlcipher.la $(SQLITE3_SHELL_TARGET) \ +- $(HAVE_TCL:1=libtclsqlite3.la) ++all: sqlite3.h libsqlcipher.la + + Makefile: $(TOP)/Makefile.in + ./config.status +@@ -1557,9 +1556,8 @@ lib_install: libsqlcipher.la + $(INSTALL) -d $(DESTDIR)$(libdir) + $(LTINSTALL) libsqlcipher.la $(DESTDIR)$(libdir) + +-install: sqlcipher$(TEXE) lib_install sqlite3.h sqlcipher.pc ${HAVE_TCL:1=tcl_install} ++install: lib_install sqlite3.h sqlcipher.pc + $(INSTALL) -d $(DESTDIR)$(bindir) +- $(LTINSTALL) sqlcipher$(TEXE) $(DESTDIR)$(bindir) + $(INSTALL) -d $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 sqlite3.h $(DESTDIR)$(includedir) + $(INSTALL) -m 0644 $(TOP)/src/sqlite3ext.h $(DESTDIR)$(includedir) diff --git a/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch b/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch new file mode 100644 index 0000000000000..94b469d07e19d --- /dev/null +++ b/recipes/sqlcipher/all/patches/Makefile.msc-v4.5.6.patch @@ -0,0 +1,161 @@ +diff --git a/Makefile.msc b/Makefile.msc +index 85487315..e3c00752 100644 +--- a/Makefile.msc ++++ b/Makefile.msc +@@ -299,9 +299,9 @@ SQLITE3H = sqlite3.h + # + !IFNDEF SQLITE3DLL + !IF $(FOR_WIN10)!=0 +-SQLITE3DLL = winsqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ELSE +-SQLITE3DLL = sqlite3.dll ++SQLITE3DLL = sqlcipher.dll + !ENDIF + !ENDIF + +@@ -309,9 +309,9 @@ SQLITE3DLL = sqlite3.dll + # + !IFNDEF SQLITE3LIB + !IF $(FOR_WIN10)!=0 +-SQLITE3LIB = winsqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ELSE +-SQLITE3LIB = sqlite3.lib ++SQLITE3LIB = sqlcipher.lib + !ENDIF + !ENDIF + +@@ -696,7 +696,7 @@ SHELL_CORE_SRC = $(SQLITE3C) + SHELL_CORE_DEP = $(SQLITE3DLL) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_DEP = libsqlite3.lib ++SHELL_CORE_DEP = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_DEP = +@@ -719,7 +719,7 @@ TESTFIXTURE_DEP = zlib $(TESTFIXTURE_DEP) + SHELL_CORE_LIB = $(SQLITE3LIB) + # <> + !ELSEIF $(USE_AMALGAMATION)==0 +-SHELL_CORE_LIB = libsqlite3.lib ++SHELL_CORE_LIB = sqlcipher.lib + # <> + !ELSE + SHELL_CORE_LIB = +@@ -754,8 +754,9 @@ RCC = $(RCC) -DWINAPI_FAMILY=WINAPI_FAMILY_APP + # C compiler options for the Windows 10 platform (needs MSVC 2015). + # + !IF $(FOR_WIN10)!=0 +-TCC = $(TCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE +-BCC = $(BCC) /d2guard4 -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++# /d2guard4 requires /guard:cf to be present as well, but it doesn't work with /Zi (Debug builds) ++TCC = $(TCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE ++BCC = $(BCC) -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE + !ENDIF + + # Also, we need to dynamically link to the correct MSVC runtime +@@ -1039,8 +1040,10 @@ TLIBS = + # default to file, 2 to default to memory, and 3 to force temporary + # tables to always be in memory. + # +-TCC = $(TCC) -DSQLITE_TEMP_STORE=1 +-RCC = $(RCC) -DSQLITE_TEMP_STORE=1 ++ ++# Allow overriding the value ++TCC = $(TCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) ++RCC = $(RCC) -DSQLITE_TEMP_STORE=$(SQLITE_TEMP_STORE) + + # Enable/disable loadable extensions, and other optional features + # based on configuration. (-DSQLITE_OMIT*, -DSQLITE_ENABLE*). +@@ -1206,14 +1209,15 @@ LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(WP81LIBPATH)" + !ENDIF + LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) WindowsPhoneCore.lib RuntimeObject.lib PhoneAppModelHost.lib +-LTLINKOPTS = $(LTLINKOPTS) /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL + !ENDIF + + # When compiling for UWP or the Windows 10 platform, some extra linker + # options are also required. + # + !IF $(FOR_UWP)!=0 || $(FOR_WIN10)!=0 +-LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE /NODEFAULTLIB:kernel32.lib ++# Remove /NODEFAULTLIB:kernel32.lib, required by OpenSSL ++LTLINKOPTS = $(LTLINKOPTS) /DYNAMICBASE + LTLINKOPTS = $(LTLINKOPTS) mincore.lib + !IFDEF PSDKLIBPATH + LTLINKOPTS = $(LTLINKOPTS) "/LIBPATH:$(PSDKLIBPATH)" +@@ -1268,7 +1272,7 @@ LTLIBS = $(LTLIBS) $(LIBICU) + # + LIBOBJS0 = vdbe.lo parse.lo alter.lo analyze.lo attach.lo auth.lo \ + backup.lo bitvec.lo btmutex.lo btree.lo build.lo \ +- callback.lo complete.lo ctime.lo \ ++ callback.lo complete.lo crypto.lo crypto_impl.lo crypto_openssl.lo ctime.lo \ + date.lo dbpage.lo dbstat.lo delete.lo \ + expr.lo fault.lo fkey.lo \ + fts3.lo fts3_aux.lo fts3_expr.lo fts3_hash.lo fts3_icu.lo \ +@@ -1774,7 +1778,7 @@ ALL_TCL_TARGETS = + # This is the default Makefile target. The objects listed here + # are what get build when you type just "make" with no arguments. + # +-core: dll libsqlite3.lib shell ++core: dll sqlcipher.lib shell + + # Targets that require the Tcl library. + # +@@ -1793,11 +1797,12 @@ dll: $(SQLITE3DLL) + shell: $(SQLITE3EXE) + + # <> +-libsqlite3.lib: $(LIBOBJ) +- $(LTLIB) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) ++# LTLIBPATHS is required to find the openssl/libressl libs ++sqlcipher.lib: $(LIBOBJ) ++ $(LTLIB) $(LTLIBPATHS) $(LTLIBOPTS) /OUT:$@ $(LIBOBJ) $(TLIBS) + +-libtclsqlite3.lib: tclsqlite.lo libsqlite3.lib +- $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo libsqlite3.lib $(LIBTCLSTUB) $(TLIBS) ++libtclsqlite3.lib: tclsqlite.lo sqlcipher.lib ++ $(LTLIB) $(LTLIBOPTS) $(TCLLIBPATHS) $(LTLIBPATHS) /OUT:$@ tclsqlite.lo sqlcipher.lib $(LIBTCLSTUB) $(TLIBS) + + tclsqlite3.def: tclsqlite.lo + echo EXPORTS > tclsqlite3.def +@@ -1819,9 +1824,9 @@ $(SQLITE3DLL): $(LIBOBJ) $(LIBRESOBJS) $(CORE_LINK_DEP) + $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL $(CORE_LINK_OPTS) /OUT:$@ $(LIBOBJ) $(LIBRESOBJS) $(LTLIBS) $(TLIBS) + + # <> +-sqlite3.def: libsqlite3.lib ++sqlite3.def: sqlcipher.lib + echo EXPORTS > sqlite3.def +- dumpbin /all libsqlite3.lib \ ++ dumpbin /all sqlcipher.lib \ + | $(TCLSH_CMD) $(TOP)\tool\replace.tcl include "^\s+1 _?(sqlite3(?:session|changeset|changegroup|rebaser|rbu)?_[^@]*)(?:@\d+)?$$" \1 \ + | sort >> sqlite3.def + # <> +@@ -2008,6 +2013,15 @@ callback.lo: $(TOP)\src\callback.c $(HDR) + complete.lo: $(TOP)\src\complete.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\complete.c + ++crypto.lo: $(TOP)\src\crypto.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto.c ++ ++crypto_impl.lo: $(TOP)\src\crypto_impl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_impl.c ++ ++crypto_openssl.lo: $(TOP)\src\crypto_openssl.c $(HDR) ++ $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\crypto_openssl.c ++ + ctime.lo: $(TOP)\src\ctime.c $(HDR) + $(LTCOMPILE) $(CORE_COMPILE_OPTS) -c $(TOP)\src\ctime.c + +@@ -2427,7 +2441,7 @@ sqlite3rbu.lo: $(TOP)\ext\rbu\sqlite3rbu.c $(HDR) $(EXTHDR) + # Rules to build the 'testfixture' application. + # + # If using the amalgamation, use sqlite3.c directly to build the test +-# fixture. Otherwise link against libsqlite3.lib. (This distinction is ++# fixture. Otherwise link against sqlcipher.lib. (This distinction is + # necessary because the test fixture requires non-API symbols which are + # hidden when the library is built via the amalgamation). + # diff --git a/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch b/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch new file mode 100644 index 0000000000000..92c3d8c91d58c --- /dev/null +++ b/recipes/sqlcipher/all/patches/fix_configure-v4.5.6.patch @@ -0,0 +1,20 @@ +diff --git a/configure b/configure +index a2909ce..9c25987 100755 +--- a/configure ++++ b/configure +@@ -12732,7 +12732,6 @@ then : + printf %s "(cached) " >&6 + else $as_nop + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lcrypto $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -12764,7 +12763,6 @@ if test "x$ac_cv_lib_crypto_HMAC_Init_ex" = xyes + then : + printf "%s\n" "#define HAVE_LIBCRYPTO 1" >>confdefs.h + +- LIBS="-lcrypto $LIBS" + + else $as_nop + as_fn_error $? "Library crypto not found. Install openssl!\"" "$LINENO" 5 diff --git a/recipes/sqlcipher/all/test_package/conanfile.py b/recipes/sqlcipher/all/test_package/conanfile.py index a2566c4cce099..f42142315949c 100644 --- a/recipes/sqlcipher/all/test_package/conanfile.py +++ b/recipes/sqlcipher/all/test_package/conanfile.py @@ -13,15 +13,6 @@ class TestPackageConan(ConanFile): def requirements(self): self.requires(self.tested_reference_str) - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.tool_requires("cmake/[>=3.22]") - def layout(self): cmake_layout(self) diff --git a/recipes/sqlcipher/all/test_v1_package/conanfile.py b/recipes/sqlcipher/all/test_v1_package/conanfile.py index 84b7364551610..7bb57d9f4dc6a 100644 --- a/recipes/sqlcipher/all/test_v1_package/conanfile.py +++ b/recipes/sqlcipher/all/test_v1_package/conanfile.py @@ -7,15 +7,6 @@ class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" generators = "cmake", "cmake_find_package_multi" - def build_requirements(self): - if is_apple_os(self) and self.settings.arch == "armv8": - # Workaround for CMake bug with error message: - # Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being - # set. This could be because you are using a Mac OS X version less than 10.5 - # or because CMake's platform configuration is corrupt. - # FIXME: Remove once CMake on macOS/M1 CI runners is upgraded. - self.build_requires("cmake/3.22.0") - def build(self): cmake = CMake(self) cmake.configure() diff --git a/recipes/sqlcipher/config.yml b/recipes/sqlcipher/config.yml index 939fca7342f84..e679e5bd0c0e9 100644 --- a/recipes/sqlcipher/config.yml +++ b/recipes/sqlcipher/config.yml @@ -1,4 +1,6 @@ versions: + "4.5.6": + folder: all "4.5.1": folder: all "4.5.0": From aeb46ba84eb9a31e36c57fbdec4f9587f076ae9b Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 15 Feb 2024 02:49:57 +0900 Subject: [PATCH 1147/1307] (#22731) jasper: add version 4.2.0, update dependencies --- recipes/jasper/all/conandata.yml | 7 +++++++ recipes/jasper/all/conanfile.py | 12 ++++++------ .../patches/4.2.0-0003-deterministic-libname.patch | 13 +++++++++++++ recipes/jasper/config.yml | 2 ++ 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch diff --git a/recipes/jasper/all/conandata.yml b/recipes/jasper/all/conandata.yml index 0873904e06da9..0996a2f915ff8 100644 --- a/recipes/jasper/all/conandata.yml +++ b/recipes/jasper/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.2.0": + url: "https://github.com/jasper-software/jasper/releases/download/version-4.2.0/jasper-4.2.0.tar.gz" + sha256: "69f0b08a0cc281a06eaf7feed510736854bbff9af89ab1d01b77382ad57ec957" "4.1.2": url: "https://github.com/jasper-software/jasper/releases/download/version-4.1.2/jasper-4.1.2.tar.gz" sha256: "22392e439b87c79aaf8689ec79a286a7147e811c4bee34edf3d0b239798d672b" @@ -18,6 +21,10 @@ sources: url: "https://github.com/jasper-software/jasper/releases/download/version-2.0.33/jasper-2.0.33.tar.gz" sha256: "28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a" patches: + "4.2.0": + - patch_file: "patches/4.2.0-0003-deterministic-libname.patch" + patch_description: "No generator dependent libname" + patch_type: "conan" "4.1.2": - patch_file: "patches/4.1.1-0001-skip-rpath.patch" patch_description: "Do not enforce rpath configuration" diff --git a/recipes/jasper/all/conanfile.py b/recipes/jasper/all/conanfile.py index 758b12ef086f4..29bbcb6c115d7 100644 --- a/recipes/jasper/all/conanfile.py +++ b/recipes/jasper/all/conanfile.py @@ -12,11 +12,11 @@ class JasperConan(ConanFile): name = "jasper" + description = "JasPer Image Processing/Coding Tool Kit" license = "JasPer-2.0" - homepage = "https://jasper-software.github.io/jasper" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://jasper-software.github.io/jasper" topics = ("toolkit", "coding", "jpeg", "images") - description = "JasPer Image Processing/Coding Tool Kit" package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -50,9 +50,9 @@ def requirements(self): if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/3.0.0") + self.requires("libjpeg-turbo/3.0.2") elif self.options.with_libjpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.5") def build_requirements(self): if Version(self.version) >= "4.1.1": @@ -77,11 +77,11 @@ def generate(self): if Version(self.version) >= "3.0.0": tc.variables["JAS_ENABLE_LIBHEIF"] = False tc.variables["JAS_ENABLE_OPENGL"] = False - if cross_building(self): tc.cache_variables["JAS_CROSSCOMPILING"] = True tc.cache_variables["JAS_STDC_VERSION"] = "199901L" - + if Version(self.version) >= "4.2.0": + tc.variables["JAS_PACKAGING"] = True tc.generate() cmakedeps = CMakeDeps(self) diff --git a/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch b/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch new file mode 100644 index 0000000000000..ed1edf420e3b3 --- /dev/null +++ b/recipes/jasper/all/patches/4.2.0-0003-deterministic-libname.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c6925e4..8392edf 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,7 +274,7 @@ message("JAS_MULTICONFIGURATION_GENERATOR ${JAS_MULTICONFIGURATION_GENERATOR}") + # If a multiconfiguration generator is used, ensure that various output + # files are not placed in subdirectories (such as Debug and Release) + # as this will cause the CTest test suite to fail. +-if(JAS_MULTICONFIGURATION_GENERATOR) ++if(0) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY .) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY .) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY .) diff --git a/recipes/jasper/config.yml b/recipes/jasper/config.yml index d3b9298f87c1c..2539649ff499b 100644 --- a/recipes/jasper/config.yml +++ b/recipes/jasper/config.yml @@ -1,4 +1,6 @@ versions: + "4.2.0": + folder: all "4.1.2": folder: all "4.1.1": From 3136377b8cd5ede828526dd7df84746c8100415c Mon Sep 17 00:00:00 2001 From: David Aceituno Date: Wed, 14 Feb 2024 19:29:06 +0100 Subject: [PATCH 1148/1307] (#22767) Update to h5pp/1.11.2 --- recipes/h5pp/all/conandata.yml | 3 +++ recipes/h5pp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/h5pp/all/conandata.yml b/recipes/h5pp/all/conandata.yml index bf1850769d043..8a624a3c51a3b 100644 --- a/recipes/h5pp/all/conandata.yml +++ b/recipes/h5pp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.11.2": + url: "https://github.com/DavidAce/h5pp/archive/v1.11.2.tar.gz" + sha256: "5638bf699a92049910c80a7af3d6c8495f02253dd32ee0000bc35a29a9e61e9c" "1.11.1": url: "https://github.com/DavidAce/h5pp/archive/v1.11.1.tar.gz" sha256: "659d566dcb011e7a0f14f9fec9d6e6c783559eec3fd051de1e5cf44d95fd752b" diff --git a/recipes/h5pp/config.yml b/recipes/h5pp/config.yml index 6306850e1fb06..a489a477b18f9 100644 --- a/recipes/h5pp/config.yml +++ b/recipes/h5pp/config.yml @@ -17,3 +17,5 @@ versions: folder: "all" "1.11.1": folder: "all" + "1.11.2": + folder: "all" From e49bd288886175aa11ee8eb2799df544f3bb402d Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Wed, 14 Feb 2024 23:47:55 -0500 Subject: [PATCH 1149/1307] (#22727) fontconfig: update expat * fontconfig: update expat * Revert expat on fontconfig<2.13.93 * Only revert expat on Mac * alphabetize * Simplify test package for <2.13.93 * Bump expat again * Re-add return value Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/fontconfig/all/conanfile.py | 2 +- .../all/test_package/test_package.c | 22 ++----------------- recipes/fontconfig/meson/conanfile.py | 2 +- 3 files changed, 4 insertions(+), 22 deletions(-) diff --git a/recipes/fontconfig/all/conanfile.py b/recipes/fontconfig/all/conanfile.py index ddc997bea245a..543e746cf6bf8 100644 --- a/recipes/fontconfig/all/conanfile.py +++ b/recipes/fontconfig/all/conanfile.py @@ -48,7 +48,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39.2") diff --git a/recipes/fontconfig/all/test_package/test_package.c b/recipes/fontconfig/all/test_package/test_package.c index 7703ab64bbdec..3d2556b9cca2e 100644 --- a/recipes/fontconfig/all/test_package/test_package.c +++ b/recipes/fontconfig/all/test_package/test_package.c @@ -1,24 +1,6 @@ #include -#include -#include int main() { - FcConfig* config = FcInitLoadConfigAndFonts(); - FcPattern* pat = FcNameParse((const FcChar8*)"Arial"); - FcConfigSubstitute(config, pat, FcMatchPattern); - FcDefaultSubstitute(pat); - char* fontFile; - FcResult result; - FcPattern* font = FcFontMatch(config, pat, &result); - if (font) { - FcChar8* file = NULL; - if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) { - fontFile = (char*)file; - printf("%s\n",fontFile); - } - } else { - printf("Ops! I can't find any font!\n"); - } - FcPatternDestroy(pat); - return EXIT_SUCCESS; + FcInit(); + return 0; } diff --git a/recipes/fontconfig/meson/conanfile.py b/recipes/fontconfig/meson/conanfile.py index 550cc9984a1bb..95e3579f0f549 100644 --- a/recipes/fontconfig/meson/conanfile.py +++ b/recipes/fontconfig/meson/conanfile.py @@ -50,7 +50,7 @@ def layout(self): def requirements(self): self.requires("freetype/2.13.2") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") if self.settings.os == "Linux": self.requires("util-linux-libuuid/2.39.2") From 20afa4f7c2e81bd5a1ea4474ddedec70053168d1 Mon Sep 17 00:00:00 2001 From: sean <43609023+spnda@users.noreply.github.com> Date: Thu, 15 Feb 2024 06:27:46 +0100 Subject: [PATCH 1150/1307] (#22738) [fastgltf] Update to 0.7.0 * [fastgltf] Update to 0.7.0 * use cppstd to configure c++20 Signed-off-by: Uilian Ries * configure only since 0.7.0 Signed-off-by: Uilian Ries * Get compiler.cppstd --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/fastgltf/all/conandata.yml | 3 +++ recipes/fastgltf/all/conanfile.py | 9 +++++++-- recipes/fastgltf/all/test_package/CMakeLists.txt | 4 +++- recipes/fastgltf/all/test_package/test_package.cpp | 4 +++- recipes/fastgltf/config.yml | 2 ++ 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/recipes/fastgltf/all/conandata.yml b/recipes/fastgltf/all/conandata.yml index 7785359a1abd0..42f9e0fde5669 100644 --- a/recipes/fastgltf/all/conandata.yml +++ b/recipes/fastgltf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.7.0.tar.gz" + sha256: "1d0af69db938fd81dd34ea51f99e37f0023852c93befe63e23f9e55abd4a18ec" "0.6.1": url: "https://github.com/spnda/fastgltf/archive/refs/tags/v0.6.1.tar.gz" sha256: "5f10b153ec941f5e6465425f542d3864f586aca040b0b659cb9ae70d42369390" diff --git a/recipes/fastgltf/all/conanfile.py b/recipes/fastgltf/all/conanfile.py index 9eda29e2b49eb..507a972f624fe 100644 --- a/recipes/fastgltf/all/conanfile.py +++ b/recipes/fastgltf/all/conanfile.py @@ -83,13 +83,16 @@ def source(self): def generate(self): tc = CMakeToolchain(self) - tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False + if Version(self.version) <= "0.7.0": + tc.variables["FASTGLTF_DOWNLOAD_SIMDJSON"] = False if self.options.enable_small_vector: - tc.variables["FASTGLTF_USE_SMALL_VECTOR"] = True + tc.variables["FASTGLTF_USE_CUSTOM_SMALLVECTOR"] = True if self.options.get_safe("disable_custom_memory_pool"): tc.variables["FASTGLTF_DISABLE_CUSTOM_MEMORY_POOL"] = True if self.options.get_safe("use_64bit_float"): tc.variables["FASTGLTF_USE_64BIT_FLOAT"] = True + if Version(self.version) >= "0.7.0": + tc.variables["FASTGLTF_COMPILE_AS_CPP20"] = "20" in str(self.settings.get_safe("compiler.cppstd")) tc.generate() deps = CMakeDeps(self) deps.generate() @@ -108,3 +111,5 @@ def package(self): def package_info(self): self.cpp_info.libs = ["fastgltf"] + if "20" in str(self.settings.get_safe("compiler.cppstd")): + self.cpp_info.defines.append("FASTGLTF_CPP_20") diff --git a/recipes/fastgltf/all/test_package/CMakeLists.txt b/recipes/fastgltf/all/test_package/CMakeLists.txt index 7718a933cdc53..b4c6d8669be8e 100644 --- a/recipes/fastgltf/all/test_package/CMakeLists.txt +++ b/recipes/fastgltf/all/test_package/CMakeLists.txt @@ -6,6 +6,8 @@ find_package(fastgltf REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE fastgltf::fastgltf) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) -if(fastgltf_VERSION VERSION_GREATER_EQUAL "0.5.0") +if(fastgltf_VERSION VERSION_GREATER_EQUAL "0.7.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE FASTGLTF_0_7_0_LATER) +elseif(fastgltf_VERSION VERSION_GREATER_EQUAL "0.5.0") target_compile_definitions(${PROJECT_NAME} PRIVATE FASTGLTF_0_5_0_LATER) endif() diff --git a/recipes/fastgltf/all/test_package/test_package.cpp b/recipes/fastgltf/all/test_package/test_package.cpp index 1e9f5938b4446..b076f02e4cb70 100644 --- a/recipes/fastgltf/all/test_package/test_package.cpp +++ b/recipes/fastgltf/all/test_package/test_package.cpp @@ -1,5 +1,7 @@ #include -#ifdef FASTGLTF_0_5_0_LATER +#if defined(FASTGLTF_0_7_0_LATER) +# include +#elif defined(FASTGLTF_0_5_0_LATER) # include #else # include diff --git a/recipes/fastgltf/config.yml b/recipes/fastgltf/config.yml index 355c180a5e90b..2ea713dd46d98 100644 --- a/recipes/fastgltf/config.yml +++ b/recipes/fastgltf/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.1": folder: all "0.5.0": From e84eaeaf6bbe0d843dd144c7a0ee78c34b6794bf Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 01:08:48 +0900 Subject: [PATCH 1151/1307] (#22773) scnlib: add version 2.0.1 --- recipes/scnlib/all/conandata.yml | 7 +++++++ recipes/scnlib/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 28c026a4701a3..959e4c6aa3f22 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.1": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.1.tar.gz" + sha256: "f399d1b1f36f5d53a2d63fd2974797ab8f3f7e69c424d9661253830cb793b72e" "2.0.0": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.0.tar.gz" sha256: "2a35356a3a7485fdf97f28cfbea52db077cf4e7bab0a5a0fc3b04e89630334cd" @@ -12,6 +15,10 @@ sources: url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz" sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe" patches: + "2.0.1": + - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" + patch_description: "remove re2 version on find_package" + patch_type: "portability" "2.0.0": - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" patch_description: "remove re2 version on find_package" diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 8d8acc5534543..8c5c4f8a7d9ec 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.1": + folder: all "2.0.0": folder: all "1.1.3": From 2f62321e5f969fc78ae8f8849d49e3deb03f8aea Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 01:33:19 +0900 Subject: [PATCH 1152/1307] (#22774) cxxopts: add version 3.2.0 --- recipes/cxxopts/all/conandata.yml | 3 +++ recipes/cxxopts/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/cxxopts/all/conandata.yml b/recipes/cxxopts/all/conandata.yml index ed4fef59dd9bc..607b321614b3b 100644 --- a/recipes/cxxopts/all/conandata.yml +++ b/recipes/cxxopts/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.0": + url: "https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.2.0.tar.gz" + sha256: "9f43fa972532e5df6c5fd5ad0f5bac606cdec541ccaf1732463d8070bbb7f03b" "3.1.1": url: "https://github.com/jarro2783/cxxopts/archive/refs/tags/v3.1.1.tar.gz" sha256: "523175f792eb0ff04f9e653c90746c12655f10cb70f1d5e6d6d9491420298a08" diff --git a/recipes/cxxopts/config.yml b/recipes/cxxopts/config.yml index 60f4de8e82260..eeafb07402ec8 100644 --- a/recipes/cxxopts/config.yml +++ b/recipes/cxxopts/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.0": + folder: all "3.1.1": folder: all "3.0.0": From 70e656dafa69928ec981b26989a596e793193a31 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 03:10:10 +0900 Subject: [PATCH 1153/1307] (#22779) imgui: add version 1.90.3 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 326ffeb754602..467e04fdf9e0f 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.3": + url: "https://github.com/ocornut/imgui/archive/v1.90.3.tar.gz" + sha256: "40b302d01092c9393373b372fe07ea33ac69e9491893ebab3bf952b2c1f5fd23" + "1.90.3-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.3-docking.tar.gz" + sha256: "ebd1da0f76a95a7a690f8a0dfa119e1c6da4eee40383e582fb75374792be0891" "1.90.2": url: "https://github.com/ocornut/imgui/archive/v1.90.2.tar.gz" sha256: "452d1c11e5c4b4dfcca272915644a65f1c076498e8318b141ca75cd30470dd68" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 86b810236bae7..40705063b856e 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.3": + folder: all + "1.90.3-docking": + folder: all "1.90.2": folder: all "1.90.2-docking": From 77e11053c4f860b1c718ddcfaac5d7e35eeb2509 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 17:10:02 +0900 Subject: [PATCH 1154/1307] (#22780) objectbox: add version 0.21.0 --- recipes/objectbox/all/conandata.yml | 17 ++++-- ...make.patch => 0.17.0-0001-fix-cmake.patch} | 0 .../all/patches/0.21.0-0001-fix-cmake.patch | 54 +++++++++++++++++++ recipes/objectbox/config.yml | 2 + 4 files changed, 68 insertions(+), 5 deletions(-) rename recipes/objectbox/all/patches/{0001-fix-cmake.patch => 0.17.0-0001-fix-cmake.patch} (100%) create mode 100644 recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch diff --git a/recipes/objectbox/all/conandata.yml b/recipes/objectbox/all/conandata.yml index b4ebf9918d7ba..ca8ae614b9798 100644 --- a/recipes/objectbox/all/conandata.yml +++ b/recipes/objectbox/all/conandata.yml @@ -1,6 +1,9 @@ sources: # The release tarball is invalid, so we need to get the tarball from the v0.20.0 commit. # https://github.com/objectbox/objectbox-c/issues/38 + "0.21.0": + url: "https://github.com/objectbox/objectbox-c/archive/720559838e78a9fe6252c93ed1a3d46a1025767f.tar.gz" + sha256: "a2e7aa1d455a9703c49661515e820b4b296b6f53da7ab6b467b78776a29b0b93" "0.20.0": url: "https://github.com/objectbox/objectbox-c/archive/7e4a5a3ed94aa486acf0737b354726b493fd204c.tar.gz" sha256: "cb6ec8b7ceaed7963ad582c4519d06ddc887294f0893b3f9bf89e7d0789ce216" @@ -17,23 +20,27 @@ sources: url: "https://github.com/objectbox/objectbox-c/archive/refs/tags/v0.17.0.tar.gz" sha256: "3b936b3352ae0c8ea3706cc0a1790d2714a415cdce16007c2caca367ead5af8d" patches: + "0.21.0": + - patch_file: "patches/0.21.0-0001-fix-cmake.patch" + patch_description: "add sync option, disable tests/examples, support max length of windows path" + patch_type: "conan" "0.20.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.19.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.18.1": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.18.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" "0.17.0": - - patch_file: "patches/0001-fix-cmake.patch" + - patch_file: "patches/0.17.0-0001-fix-cmake.patch" patch_description: "add sync option, disable tests/examples, support max length of windows path" patch_type: "conan" diff --git a/recipes/objectbox/all/patches/0001-fix-cmake.patch b/recipes/objectbox/all/patches/0.17.0-0001-fix-cmake.patch similarity index 100% rename from recipes/objectbox/all/patches/0001-fix-cmake.patch rename to recipes/objectbox/all/patches/0.17.0-0001-fix-cmake.patch diff --git a/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch b/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch new file mode 100644 index 0000000000000..c5c0e8e9c4a85 --- /dev/null +++ b/recipes/objectbox/all/patches/0.21.0-0001-fix-cmake.patch @@ -0,0 +1,54 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8e826e0..d6a2e18 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,8 +20,13 @@ else () + function(defineObjectBoxLibForURL VARIANT DL_URL) + include(FetchContent) + project(objectbox${VARIANT}-download) +- FetchContent_Declare(${PROJECT_NAME} URL ${DL_URL}) +- ++ FetchContent_Declare(${PROJECT_NAME} ++ URL ${DL_URL} ++ # workaround for max path length in Windows (260byte) ++ SUBBUILD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/sub ++ SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tmp ++ ) ++ + FetchContent_Populate(${PROJECT_NAME}) + set(DL_DIR "${${PROJECT_NAME}_SOURCE_DIR}") + message(STATUS "Pre-compiled ObjectBox library is saved in ${DL_DIR}") +@@ -35,6 +40,22 @@ else () + IMPORTED_IMPLIB ${DL_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX} + INTERFACE_INCLUDE_DIRECTORIES "${objectbox_include_dirs}" + ) ++ if(EXISTS "${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX}") ++ install( ++ FILES ${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_SHARED_LIBRARY_SUFFIX} ++ DESTINATION $,${CMAKE_INSTALL_BINDIR},${CMAKE_INSTALL_LIBDIR}> ++ ) ++ endif() ++ if(EXISTS "${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX}") ++ install( ++ FILES ${DL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}objectbox${CMAKE_IMPORT_LIBRARY_SUFFIX} ++ DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++ endif() ++ install( ++ DIRECTORY ${DL_DIR}/include/ ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ++ ) + endfunction() + + function(defineObjectBoxLib VARIANT) +@@ -80,7 +101,9 @@ else () + defineObjectBoxLibForURL("" "${DL_URL}") + else () + defineObjectBoxLib("") +- defineObjectBoxLib("-sync") ++ if(OBJECTBOX_WITH_SYNC) ++ defineObjectBoxLib("-sync") ++ endif() + endif () + endif () + diff --git a/recipes/objectbox/config.yml b/recipes/objectbox/config.yml index 2fdec99a504b8..455f77377fdff 100644 --- a/recipes/objectbox/config.yml +++ b/recipes/objectbox/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.0": + folder: all "0.20.0": folder: all "0.19.0": From 8f62df835a07d1a4309b37922f5134b445f92994 Mon Sep 17 00:00:00 2001 From: Philippe Lieser Date: Fri, 16 Feb 2024 10:23:12 +0100 Subject: [PATCH 1155/1307] (#18079) Adding Botan 3.0.0 recipe and make it compatible with Conan 2.x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * adding Botan 3.0.0 recipe * updated to conan 2 * ci lint fix * ci lint fix * ci lint fix * replacing version check * some more fixes to be ready for 2.0 * fixes * Keep old test package for Conan 1.x * Order imports * Remove unused import * Fix packaging * Fix msvc build and test * Use Version helper in package_info * Small fixes * Don't add -fPIC for msvc * Fix msvc package info for Botan 3.0.0 * Add missing patch_description and patch_type * Revert back to "sources" name for src folder * Try fixing KB-H010 for Conan 1 * Remove base_path for patches and switch again to `src` for src folder * Don't import from conan.tools.microsoft.subsystems * Fix KB-H010 by using double quotes https://github.com/conan-io/hooks/issues/448 * Disable getentropy * Move layout method * Add check for minimal compiler version * Fix getting env variables * Remove some older Botan versions * Fix removal of old versions * Replace apple_deployment_target_flag with apple_min_version_flag * Disable getrandom * Set 11.2 as minimal GCC * Set C++ standard in test package according to Botan version * Add min version for apple-clang * Remove redundant cpp_info.names["pkg_config"] * Use leading _ for member variable extra_cxxflags * Readd comment * Further improvements * Support for the OpenSSL provider was removed in Botan 2.19.2 * Add support for tools.build:sysroot * add a patch to support getrandome() in glibc < 2.25 * add Botan 3.1.0 and 3.1.1 * add Botan 3.2.0 * Botan 2.x is not compatible with OpenSSL 3.x * pin to specific OpenSSL version (1.1.1s) * FIX: warnings KB-H043 and KB-H077 * don't explicitly disable getrandom/getentropy on Linux * Apply suggestions from code review Co-authored-by: Uilian Ries * add patch sources to patches * Apply suggestions from code review Co-authored-by: Uilian Ries * FIX: linter warnings * FIX: default of CXXFLAGS * update recipe's meta data * use self.dependencies['boost'].options * add -o disable_modules * Workaround to support glibc < 2.25 This can (and should) be removed once CCI's CI images are updated with a newer glibc. * Apply suggestions from code review Co-authored-by: Uilian Ries --------- Co-authored-by: Maaown (Leonard Viktor Pooch) Co-authored-by: memsharded Co-authored-by: Rubén Rincón Co-authored-by: Rene Meusel Co-authored-by: René Meusel Co-authored-by: Uilian Ries --- recipes/botan/all/conandata.yml | 69 +++-- recipes/botan/all/conanfile.py | 236 ++++++++++++------ ...kport-getrandom-via-syscall-to-3.0.0.patch | 24 ++ ...kport-getrandom-via-syscall-to-3.1.0.patch | 24 ++ recipes/botan/all/patches/dll-dir.patch | 13 - .../fix-unrecognized-linker-flag.patch | 17 -- .../all/patches/vs2015-install-fix.patch | 56 ----- recipes/botan/all/test_package/CMakeLists.txt | 12 +- recipes/botan/all/test_package/conanfile.py | 25 +- .../botan/all/test_v1_package/CMakeLists.txt | 15 ++ .../botan/all/test_v1_package/conanfile.py | 17 ++ .../all/test_v1_package/test_package.cpp | 7 + recipes/botan/config.yml | 28 +-- 13 files changed, 315 insertions(+), 228 deletions(-) create mode 100644 recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch create mode 100644 recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch delete mode 100644 recipes/botan/all/patches/dll-dir.patch delete mode 100644 recipes/botan/all/patches/fix-unrecognized-linker-flag.patch delete mode 100644 recipes/botan/all/patches/vs2015-install-fix.patch create mode 100644 recipes/botan/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/botan/all/test_v1_package/conanfile.py create mode 100644 recipes/botan/all/test_v1_package/test_package.cpp diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index b4fd5502f1bd3..8bc337e6d41ee 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -1,37 +1,7 @@ sources: - "2.12.1": - url: "https://github.com/randombit/botan/archive/2.12.1.tar.gz" - sha256: "61d27332f053b0b1169659dc0fceb7de7d16cade230df3a14dfaa2c091888b98" - "2.13.0": - url: "https://github.com/randombit/botan/archive/2.13.0.tar.gz" - sha256: "29a57d8efd6ab297eab67cbf489a5a423b06e120e0520aff2583074e8aea151c" - "2.14.0": - url: "https://github.com/randombit/botan/archive/2.14.0.tar.gz" - sha256: "38e34b8ef7652e811382744425b82da1b1a7fb5f14cc281a7d3a18543eaf72f7" - "2.15.0": - url: "https://github.com/randombit/botan/archive/2.15.0.tar.gz" - sha256: "9a86b1a8adbac37fdff9cf5745b3a313020c33579d8fc51cb996c47d3adf5585" - "2.16.0": - url: "https://github.com/randombit/botan/archive/2.16.0.tar.gz" - sha256: "8f448b97120e884d755b946045753876d688b01f48f5e6a1cf37aebd5afecbe5" - "2.17.0": - url: "https://github.com/randombit/botan/archive/2.17.0.tar.gz" - sha256: "32874e4e14bf11428e1bc4919e5ee174a68e2f480d37bc79ed015b2b5ef87fef" - "2.17.1": - url: "https://github.com/randombit/botan/archive/2.17.1.tar.gz" - sha256: "ca562c00e61663c418bd9fdc6c70bdeaedafba8bef328cb6046a1d6390d39a71" - "2.17.2": - url: "https://github.com/randombit/botan/archive/2.17.2.tar.gz" - sha256: "3d99da64573abab6d6e8036a45f8c567a57721c8f23850e05aadd84fc2e0075c" "2.17.3": url: "https://github.com/randombit/botan/archive/2.17.3.tar.gz" sha256: "544c62e43be0c60fff7ac8707ee99fe134c75bef06bded217d04f0a4b333519a" - "2.18.0": - url: "https://github.com/randombit/botan/archive/2.18.0.tar.gz" - sha256: "8556991402f9ecf5f84f1f2c4de20ca3fd14a5ebd775f065ea6676b36646a77d" - "2.18.1": - url: "https://github.com/randombit/botan/archive/2.18.1.tar.gz" - sha256: "4afebf2dbfa2f047d161437dcc544003d5822f47ceac97ada6a24948297bd3ed" "2.18.2": url: "https://github.com/randombit/botan/archive/2.18.2.tar.gz" sha256: "10ded69c4fd4ade9d87527b394787beefa190b4ecb65ed04535bdd00e088cd96" @@ -44,15 +14,36 @@ sources: "2.19.3": url: "https://github.com/randombit/botan/archive/2.19.3.tar.gz" sha256: "8f568bf74c2e476d92ac8a1cfc2ba8407ec038fe9458bd0a11e7da827a9b8199" + "3.0.0": + url: "https://github.com/randombit/botan/archive/3.0.0.tar.gz" + sha256: "8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" + "3.1.0": + url: "https://github.com/randombit/botan/archive/3.1.0.tar.gz" + sha256: "f3680ab11122e581ac08993f149bf519030c7be13b32f5ac1e6bef0a2e6bb88e" + "3.1.1": + url: "https://github.com/randombit/botan/archive/3.1.1.tar.gz" + sha256: "2d0af0c3a7140572f3f7f1a22865f9c5eadc102a7fa58f03314709b0bee26c11" + "3.2.0": + url: "https://github.com/randombit/botan/archive/3.2.0.tar.gz" + sha256: "95af4935d56973000bb6ff20bb54ae56083f8764d5a2c89826cac26ac6127330" patches: - "2.12.1": - - patch_file: "patches/dll-dir.patch" - base_path: "sources" - - patch_file: "patches/fix-unrecognized-linker-flag.patch" - base_path: "sources" - "2.17.2": - - patch_file: "patches/vs2015-install-fix.patch" - base_path: "sources" "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" - base_path: "sources" + patch_description: "Backport a fix for amalgamation build" + patch_type: "bugfix" + patch_source: "https://github.com/randombit/botan/pull/2835" + "3.0.0": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.0.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" + "3.1.0": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.1.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" + "3.1.1": + - patch_file: "patches/backport-getrandom-via-syscall-to-3.1.0.patch" + patch_description: "Backport a fix to support getrandom() with glibc < 2.25" + patch_type: "portability" + patch_source: "https://github.com/randombit/botan/pull/3688" diff --git a/recipes/botan/all/conanfile.py b/recipes/botan/all/conanfile.py index e8599f32dde75..ce2b978ddda1d 100644 --- a/recipes/botan/all/conanfile.py +++ b/recipes/botan/all/conanfile.py @@ -1,9 +1,21 @@ -from conan.tools.microsoft import is_msvc, msvc_runtime_flag -from conans import ConanFile, tools -from conans.errors import ConanInvalidConfiguration import os +import shutil +import platform -required_conan_version = ">=1.45.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name, XCRun +from conan.tools.build import build_jobs, check_min_cppstd +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import apply_conandata_patches, chdir, copy, export_conandata_patches, get +from conan.tools.gnu import AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, VCVars, check_min_vs +from conan.tools.microsoft import unix_path +from conan.tools.scm import Version + + +required_conan_version = ">=1.55" class BotanConan(ConanFile): @@ -11,9 +23,10 @@ class BotanConan(ConanFile): url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/randombit/botan" license = "BSD-2-Clause" - description = "Botan is a cryptography library written in C++11." - topics = ("cryptography", "crypto", "C++11", "tls") + description = "Botan is a cryptography library written in modern C++." + topics = ("cryptography", "crypto", "c++11", "c++20", "tls") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -39,8 +52,9 @@ class BotanConan(ConanFile): "with_neon": [True, False], "with_armv8crypto": [True, False], "with_powercrypto": [True, False], - "enable_modules": "ANY", - "system_cert_bundle": "ANY", + "enable_modules": [None, "ANY"], + "disable_modules": [None, "ANY"], + "system_cert_bundle": [None, "ANY"], "module_policy": [None, "bsi", "modern", "nist"], } default_options = { @@ -68,10 +82,13 @@ class BotanConan(ConanFile): "with_armv8crypto": True, "with_powercrypto": True, "enable_modules": None, + "disable_modules": None, "system_cert_bundle": None, "module_policy": None, } + _extra_cxxflags = None + @property def _is_x86(self): return str(self.settings.arch) in ['x86', 'x86_64'] @@ -84,14 +101,8 @@ def _is_ppc(self): def _is_arm(self): return 'arm' in str(self.settings.arch) - @property - def _source_subfolder(self): - # Required to build at least 2.12.1 - return "sources" - def export_sources(self): - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == 'Windows': @@ -117,84 +128,149 @@ def config_options(self): # --single-amalgamation option is no longer available # See also https://github.com/randombit/botan/pull/2246 - if tools.Version(self.version) >= '2.14.0': + if Version(self.version) >= '2.14.0': del self.options.single_amalgamation + # Support for the OpenSSL provider was removed in 2.19.2 + if Version(self.version) >= '2.19.2': + del self.options.with_openssl + def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): if self.options.with_bzip2: self.requires("bzip2/1.0.8") - if self.options.with_openssl: - self.requires("openssl/1.1.1o") + if self.options.get_safe('with_openssl', False): + self.requires("openssl/[>=1.1 <3]") if self.options.with_zlib: - self.requires("zlib/1.2.12") + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: self.requires("sqlite3/3.38.5") if self.options.with_boost: - self.requires("boost/1.79.0") + self.requires("boost/1.83.0") @property def _required_boost_components(self): return ['coroutine', 'system'] + @property + def _min_cppstd(self): + # From the same links as below + return 11 if Version(self.version) < "3.0.0" else 20 + + @property + def _compilers_minimum_version(self): + if Version(self.version).major < 3: + # From https://github.com/randombit/botan/blob/2.19.3/doc/support.rst + return { + "gcc": "4.8", + "clang": "3.5", + "Visual Studio": "14", + "msvc": "190", + } + else: + # From https://github.com/randombit/botan/blob/master/doc/support.rst + return { + "gcc": "11.2", + "clang": "14", + "apple-clang": "14", + "Visual Studio": "17", + "msvc": "193", + } + def validate(self): if self.options.with_boost: - miss_boost_required_comp = any(getattr(self.options['boost'], 'without_{}'.format(boost_comp), True) for boost_comp in self._required_boost_components) - if self.options['boost'].header_only or self.options['boost'].shared or self.options['boost'].magic_autolink or miss_boost_required_comp: - raise ConanInvalidConfiguration('{0} requires non-header-only static boost, without magic_autolink, and with these components: {1}'.format(self.name, ', '.join(self._required_boost_components))) + boost_opts = self.dependencies['boost'].options + miss_boost_required_comp = any(getattr(boost_opts, 'without_{}'.format(boost_comp), True) for boost_comp in self._required_boost_components) + if boost_opts.header_only or boost_opts.shared or boost_opts.magic_autolink or miss_boost_required_comp: + raise ConanInvalidConfiguration( + f"{self.name} requires non-header-only static boost, " + f"without magic_autolink, and with these components: {', '.join(self._required_boost_components)}") + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) compiler = self.settings.compiler - version = tools.Version(self.settings.compiler.version) + compiler_name = str(compiler) + compiler_version = Version(compiler.version) - if compiler == 'Visual Studio' and version < '14': - raise ConanInvalidConfiguration("Botan doesn't support MSVC < 14") + check_min_vs(self, self._compilers_minimum_version["msvc"]) + if not is_msvc(self): + minimum_version = self._compilers_minimum_version.get(compiler_name, False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + if not minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") - elif compiler == 'gcc' and version >= '5' and compiler.libcxx != 'libstdc++11': + if self.settings.compiler == 'gcc' and compiler_version >= "5" and self.settings.compiler.libcxx != 'libstdc++11': raise ConanInvalidConfiguration( 'Using Botan with GCC >= 5 on Linux requires "compiler.libcxx=libstdc++11"') - elif compiler == 'clang' and compiler.libcxx not in ['libstdc++11', 'libc++']: + if self.settings.compiler == 'clang' and self.settings.compiler.libcxx not in ['libstdc++11', 'libc++']: raise ConanInvalidConfiguration( 'Using Botan with Clang on Linux requires either "compiler.libcxx=libstdc++11" ' \ 'or "compiler.libcxx=libc++"') # Some older compilers cannot handle the amalgamated build anymore # See also https://github.com/randombit/botan/issues/2328 - if tools.Version(self.version) >= '2.14.0' and self.options.amalgamation: - if (compiler == 'apple-clang' and version < '10') or \ - (compiler == 'gcc' and version < '8') or \ - (compiler == 'clang' and version < '7'): + if Version(self.version) >= '2.14.0' and self.options.amalgamation: + if (self.settings.compiler == 'apple-clang' and compiler_version < '10') or \ + (self.settings.compiler == 'gcc' and compiler_version < '8') or \ + (self.settings.compiler == 'clang' and compiler_version < '7'): raise ConanInvalidConfiguration( - 'botan amalgamation is not supported for {}/{}'.format(compiler, version)) + f"botan amalgamation is not supported for {compiler}/{compiler_version}") if self.options.get_safe("single_amalgamation", False) and not self.options.amalgamation: raise ConanInvalidConfiguration("botan:single_amalgamation=True requires botan:amalgamation=True") + def layout(self): + basic_layout(self, src_folder="src") + def source(self): - tools.get(**self.conan_data['sources'][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + @property + def _cxxflags(self): + global_cxxflags = " ".join(self.conf.get("tools.build:cxxflags", default=[], check_type=list)) + env_cxxflags = VirtualBuildEnv(self).vars().get("CXXFLAGS", default="") + cxxflags = f"{env_cxxflags} {global_cxxflags}".strip() + return cxxflags if len(cxxflags) > 1 else None + + def generate(self): + if is_msvc(self): + ms = VCVars(self) + ms.generate() + + # This is to work around botan's configure script that *replaces* its + # standard (platform dependent) flags in presence of an environment + # variable ${CXXFLAGS}. Most notably, this would build botan with + # disabled compiler optimizations. + self._extra_cxxflags = self._cxxflags + self.buildenv.unset('CXXFLAGS') + VirtualBuildEnv(self).generate() def build(self): - for patch in self.conan_data.get('patches', {}).get(self.version, []): - tools.patch(**patch) - with tools.chdir(self._source_subfolder): + apply_conandata_patches(self) + with chdir(self, self.source_folder): self.run(self._configure_cmd) self.run(self._make_cmd) def package(self): - self.copy(pattern='license.txt', dst='licenses', src=self._source_subfolder) - with tools.chdir(self._source_subfolder): + copy(self, "license.txt", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + with chdir(self, self.source_folder): + # Note: this will fail to properly consider the package_folder if a "conan build" followed by a "conan export-pkg" is executed self.run(self._make_install_cmd) + fix_apple_shared_install_name(self) def package_info(self): - major_version = tools.Version(self.version).major + major_version = Version(self.version).major self.cpp_info.set_property("pkg_config_name", f"botan-{major_version}") - self.cpp_info.names["pkg_config"] = f"botan-{major_version}" - self.cpp_info.libs = ["botan" if is_msvc(self) else f"botan-{major_version}"] + self.cpp_info.libs = ["botan" if is_msvc(self) and major_version < 3 else f"botan-{major_version}"] if self.settings.os == 'Linux': - self.cpp_info.system_libs.extend(['dl', 'rt', 'pthread']) + self.cpp_info.system_libs.extend(['dl', 'rt', 'pthread', 'm']) if self.settings.os == 'Macos': self.cpp_info.frameworks = ['Security', 'CoreFoundation'] if self.settings.os == 'Windows': @@ -220,10 +296,10 @@ def _botan_os(self): def _dependency_build_flags(self, dependency): # Since botan has a custom build system, we need to specifically inject # these build parameters so that it picks up the correct dependencies. - dep_cpp_info = self.deps_cpp_info[dependency] + dep_cpp_info = self.dependencies[dependency].cpp_info return \ - ['--with-external-includedir={}'.format(include_path) for include_path in dep_cpp_info.include_paths] + \ - ['--with-external-libdir={}'.format(lib_path) for lib_path in dep_cpp_info.lib_paths] + \ + ['--with-external-includedir={}'.format(include_path) for include_path in dep_cpp_info.includedirs] + \ + ['--with-external-libdir={}'.format(lib_path) for lib_path in dep_cpp_info.libdirs] + \ ['--define-build-macro={}'.format(define) for define in dep_cpp_info.defines] @property @@ -256,34 +332,27 @@ def _configure_cmd(self): elif self.settings.arch in ['x86_64']: botan_abi_flags.append('-arch x86_64') - if self.options.get_safe('fPIC', True): + if self.options.get_safe('fPIC', True) and not is_msvc(self): botan_extra_cxx_flags.append('-fPIC') - if tools.is_apple_os(self.settings.os): + if is_apple_os(self): if self.settings.get_safe('os.version'): # Required, see https://github.com/conan-io/conan-center-index/pull/3456 - macos_min_version = tools.apple_deployment_target_flag(self.settings.os, - self.settings.get_safe('os.version'), - self.settings.get_safe('os.sdk'), - self.settings.get_safe('os.subsystem'), - self.settings.get_safe('arch')) + macos_min_version = macos_min_version = AutotoolsToolchain(self).apple_min_version_flag botan_extra_cxx_flags.append(macos_min_version) - macos_sdk_path = '-isysroot {}'.format(tools.XCRun(self.settings).sdk_path) + macos_sdk_path = '-isysroot {}'.format(XCRun(self).sdk_path) botan_extra_cxx_flags.append(macos_sdk_path) - # This is to work around botan's configure script that *replaces* its - # standard (platform dependent) flags in presence of an environment - # variable ${CXXFLAGS}. Most notably, this would build botan with - # disabled compiler optimizations. - environment_cxxflags = tools.get_env('CXXFLAGS') - if environment_cxxflags: - del os.environ['CXXFLAGS'] - botan_extra_cxx_flags.append(environment_cxxflags) + if self._extra_cxxflags: + botan_extra_cxx_flags.append(self._extra_cxxflags) if self.options.enable_modules: build_flags.append('--minimized-build') build_flags.append('--enable-modules={}'.format(self.options.enable_modules)) + if self.options.disable_modules: + build_flags.append('--disable-modules={}'.format(self.options.disable_modules)) + if self.options.amalgamation: build_flags.append('--amalgamation') @@ -293,11 +362,14 @@ def _configure_cmd(self): if self.options.system_cert_bundle: build_flags.append('--system-cert-bundle={}'.format(self.options.system_cert_bundle)) + if self.conf.get("tools.build:sysroot"): + build_flags.append(f'--with-sysroot-dir={self.conf.get("tools.build:sysroot")}') + if self.options.with_bzip2: build_flags.append('--with-bzip2') build_flags.extend(self._dependency_build_flags('bzip2')) - if self.options.with_openssl: + if self.options.get_safe('with_openssl', False): build_flags.append('--with-openssl') build_flags.extend(self._dependency_build_flags('openssl')) @@ -375,11 +447,17 @@ def _configure_cmd(self): if is_msvc(self): build_flags.append(f"--msvc-runtime={msvc_runtime_flag(self)}") + if self._is_glibc_older_than_2_25_on_linux and Version(self.version) >= '3.0': + # INFO: Botan 3.0+ requires glibc >= 2.25. Disable features to make it backward compatible + # FIXME: CCI Docker images are running Ubuntu 16.04. Remove it after supporting later version. + self.output.warning("Disabling usage of getentropy(), getrandom(), and explicit_bzero() due to old glibc version") + build_flags.append('--without-os-features=getentropy,getrandom,explicit_bzero') + build_flags.append('--without-pkg-config') call_python = 'python' if self.settings.os == 'Windows' else '' - prefix = tools.unix_path(self.package_folder) if self._is_mingw_windows else self.package_folder + prefix = unix_path(self, self.package_folder) if self._is_mingw_windows else self.package_folder botan_abi = ' '.join(botan_abi_flags) if botan_abi_flags else ' ' botan_cxx_extras = ' '.join(botan_extra_cxx_flags) if botan_extra_cxx_flags else ' ' @@ -413,27 +491,23 @@ def _make_cmd(self): @property def _make_program(self): - return tools.get_env('CONAN_MAKE_PROGRAM', tools.which('make') or tools.which('mingw32-make')) + return self.conf.get("tools.gnu:make_program", os.getenv('CONAN_MAKE_PROGRAM', shutil.which('make') or shutil.which('mingw32-make'))) @property def _gnumake_cmd(self): make_ldflags = 'LDFLAGS=-lc++abi' if self._is_linux_clang_libcxx else '' - make_cmd = ('{ldflags}' ' {make}' ' -j{cpucount}').format( - ldflags=make_ldflags, make=self._make_program, cpucount=tools.cpu_count()) + make_cmd = f"{make_ldflags} {self._make_program} -j{build_jobs(self)}" return make_cmd @property def _nmake_cmd(self): - vcvars = tools.vcvars_command(self.settings) - make_cmd = vcvars + ' && nmake' - return make_cmd + return 'nmake' @property def _make_install_cmd(self): if is_msvc(self): - vcvars = tools.vcvars_command(self.settings) - make_install_cmd = vcvars + ' && nmake install' + make_install_cmd = '{make} install'.format(make=self._nmake_cmd) else: make_install_cmd = '{make} install'.format(make=self._make_program) return make_install_cmd @@ -445,3 +519,19 @@ def _is_linux_clang_libcxx(self): self.settings.compiler == 'clang' and self.settings.compiler.libcxx == 'libc++' ) + + @property + def _is_glibc_older_than_2_25_on_linux(self): + # FIXME: glibc below 2.25 lacks support for certain syscalls that botan assumes + # to be present. Once CCI updated their CI images and provides a newer + # glibc, we can (and should) remove this workaround. + # + # https://github.com/conan-io/conan-center-index/pull/18079#issuecomment-1919206949 + # https://github.com/conan-io/conan-center-index/pull/18079#issuecomment-1919486839 + + libver = platform.libc_ver() + return ( + self.settings.os == 'Linux' and + libver[0] == 'glibc' and + Version(libver[1]) < '2.25' + ) diff --git a/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch new file mode 100644 index 0000000000000..54f8088a3d1e3 --- /dev/null +++ b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.0.0.patch @@ -0,0 +1,24 @@ +diff --git a/src/lib/rng/system_rng/system_rng.cpp b/src/lib/rng/system_rng/system_rng.cpp +index 8a24ed9f6..45af0c507 100644 +--- a/src/lib/rng/system_rng/system_rng.cpp ++++ b/src/lib/rng/system_rng/system_rng.cpp +@@ -25,6 +25,7 @@ + #include + #elif defined(BOTAN_TARGET_OS_HAS_GETRANDOM) + #include ++ #include + #include + #elif defined(BOTAN_TARGET_OS_HAS_DEV_RANDOM) + #include +@@ -216,7 +217,11 @@ class System_RNG_Impl final : public RandomNumberGenerator + size_t len = output.size(); + while(len > 0) + { ++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 25 ++ const ssize_t got = ::syscall(SYS_getrandom, buf, len, flags); ++#else + const ssize_t got = ::getrandom(buf, len, flags); ++#endif + + if(got < 0) + { diff --git a/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch new file mode 100644 index 0000000000000..dd376536584eb --- /dev/null +++ b/recipes/botan/all/patches/backport-getrandom-via-syscall-to-3.1.0.patch @@ -0,0 +1,24 @@ +diff --git a/src/lib/rng/system_rng/system_rng.cpp b/src/lib/rng/system_rng/system_rng.cpp +index b42ea5543..dcff78931 100644 +--- a/src/lib/rng/system_rng/system_rng.cpp ++++ b/src/lib/rng/system_rng/system_rng.cpp +@@ -26,6 +26,7 @@ + #elif defined(BOTAN_TARGET_OS_HAS_GETRANDOM) + #include + #include ++ #include + #elif defined(BOTAN_TARGET_OS_HAS_DEV_RANDOM) + #include + #include +@@ -211,7 +212,11 @@ class System_RNG_Impl final : public RandomNumberGenerator { + uint8_t* buf = output.data(); + size_t len = output.size(); + while(len > 0) { ++ #if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 25 ++ const ssize_t got = ::syscall(SYS_getrandom, buf, len, flags); ++ #else + const ssize_t got = ::getrandom(buf, len, flags); ++ #endif + + if(got < 0) { + if(errno == EINTR) { diff --git a/recipes/botan/all/patches/dll-dir.patch b/recipes/botan/all/patches/dll-dir.patch deleted file mode 100644 index d0cda481f6695..0000000000000 --- a/recipes/botan/all/patches/dll-dir.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/scripts/install.py b/src/scripts/install.py -index 4cbce5a8e..ed6fe897f 100755 ---- a/src/scripts/install.py -+++ b/src/scripts/install.py -@@ -191,7 +191,7 @@ def main(args): - libname = cfg['libname'] - soname_base = libname + '.dll' - copy_executable(os.path.join(out_dir, soname_base), -- prepend_destdir(os.path.join(lib_dir, soname_base))) -+ prepend_destdir(os.path.join(bin_dir, soname_base))) - else: - soname_patch = cfg['soname_patch'] - soname_abi = cfg['soname_abi'] diff --git a/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch b/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch deleted file mode 100644 index d70cce86690b9..0000000000000 --- a/recipes/botan/all/patches/fix-unrecognized-linker-flag.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/configure.py b/configure.py -index 8b413db57..46331e78c 100755 ---- a/configure.py -+++ b/configure.py -@@ -2147,6 +2147,12 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, - 'mod_list': sorted([m.basename for m in modules]) - } - -+ if cc.basename == 'msvc' and variables['cxx_abi_flags'] != '': -+ # MSVC linker doesn't support/need the ABI options, -+ # just transfer them over to just the compiler invocations -+ variables['cc_compile_flags'] = '%s %s' % (variables['cxx_abi_flags'], variables['cc_compile_flags']) -+ variables['cxx_abi_flags'] = '' -+ - variables['lib_flags'] = cc.gen_lib_flags(options, variables) - variables['cmake_lib_flags'] = cmake_escape(variables['lib_flags']) - diff --git a/recipes/botan/all/patches/vs2015-install-fix.patch b/recipes/botan/all/patches/vs2015-install-fix.patch deleted file mode 100644 index c53e1a6c17844..0000000000000 --- a/recipes/botan/all/patches/vs2015-install-fix.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 42317bbcc7fe715b0a9f066bb52ed3c59dcc257e Mon Sep 17 00:00:00 2001 -From: Hannes Rantzsch -Date: Tue, 1 Dec 2020 09:40:38 +0100 -Subject: [PATCH] Backport a fix for a build issue in VS 2015 - -See https://github.com/randombit/botan/pull/2526 for details ---- - configure.py | 2 +- - src/build-data/makefile.in | 10 +++++----- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/configure.py b/configure.py -index 88eeaa575..f7affad72 100755 ---- a/configure.py -+++ b/configure.py -@@ -1994,7 +1994,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, - def choose_python_exe(): - exe = sys.executable - -- if exe[1] == ':': # Windows style paths -+ if options.os == 'mingw': # mingw doesn't handle the backslashes in the absolute path well - return exe.replace('\\', '/') - - return exe -diff --git a/src/build-data/makefile.in b/src/build-data/makefile.in -index 4d68ab1ec..b215bebb5 100644 ---- a/src/build-data/makefile.in -+++ b/src/build-data/makefile.in -@@ -48,19 +48,19 @@ docs: %{doc_stamp_file} - %{endif} - - %{doc_stamp_file}: %{doc_dir}/*.rst %{doc_dir}/api_ref/*.rst %{doc_dir}/dev_ref/*.rst -- $(PYTHON_EXE) $(SCRIPTS_DIR)/build_docs.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/build_docs.py" --build-dir="%{build_dir}" - - clean: -- $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/cleanup.py" --build-dir="%{build_dir}" - - distclean: -- $(PYTHON_EXE) $(SCRIPTS_DIR)/cleanup.py --build-dir="%{build_dir}" --distclean -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/cleanup.py" --build-dir="%{build_dir}" --distclean - - install: %{install_targets} -- $(PYTHON_EXE) $(SCRIPTS_DIR)/install.py --prefix="%{prefix}" --build-dir="%{build_dir}" --bindir=%{bindir} --libdir=%{libdir} --docdir=%{docdir} --includedir=%{includedir} -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/install.py" --prefix="%{prefix}" --build-dir="%{build_dir}" --bindir="%{bindir}" --libdir="%{libdir}" --docdir="%{docdir}" --includedir="%{includedir}" - - check: tests -- $(PYTHON_EXE) $(SCRIPTS_DIR)/check.py --build-dir="%{build_dir}" -+ "$(PYTHON_EXE)" "$(SCRIPTS_DIR)/check.py" --build-dir="%{build_dir}" - - # Object Files - LIBOBJS = %{join lib_objs} --- -2.29.2 - diff --git a/recipes/botan/all/test_package/CMakeLists.txt b/recipes/botan/all/test_package/CMakeLists.txt index 5021b4e27691a..65e374a2711cc 100644 --- a/recipes/botan/all/test_package/CMakeLists.txt +++ b/recipes/botan/all/test_package/CMakeLists.txt @@ -1,11 +1,13 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) +cmake_minimum_required(VERSION 3.15) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +project(test_package CXX) find_package(botan REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} botan::botan) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) +if(botan_VERSION_STRING VERSION_LESS "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() diff --git a/recipes/botan/all/test_package/conanfile.py b/recipes/botan/all/test_package/conanfile.py index f4b0754b85efb..82bdc745af784 100644 --- a/recipes/botan/all/test_package/conanfile.py +++ b/recipes/botan/all/test_package/conanfile.py @@ -1,10 +1,25 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.microsoft import is_msvc, VCVars import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def generate(self): + if is_msvc(self): + ms = VCVars(self) + ms.generate() def build(self): cmake = CMake(self) @@ -12,6 +27,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self, skip_x64_x86=True): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.build_folder, self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/botan/all/test_v1_package/CMakeLists.txt b/recipes/botan/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..50dcf4911579b --- /dev/null +++ b/recipes/botan/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(botan REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} botan::botan) +if(botan_VERSION_STRING VERSION_LESS "3.0.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +endif() diff --git a/recipes/botan/all/test_v1_package/conanfile.py b/recipes/botan/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..f4b0754b85efb --- /dev/null +++ b/recipes/botan/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self, skip_x64_x86=True): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/botan/all/test_v1_package/test_package.cpp b/recipes/botan/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..d8ace17201cc0 --- /dev/null +++ b/recipes/botan/all/test_v1_package/test_package.cpp @@ -0,0 +1,7 @@ +#include + +int main() +{ + std::vector key = Botan::hex_decode("000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"); + return 0; +} diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index 7fdc77ee53c3b..aada9ec401094 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -1,26 +1,6 @@ versions: - "2.12.1": - folder: all - "2.13.0": - folder: all - "2.14.0": - folder: all - "2.15.0": - folder: all - "2.16.0": - folder: all - "2.17.0": - folder: all - "2.17.1": - folder: all - "2.17.2": - folder: all "2.17.3": folder: all - "2.18.0": - folder: all - "2.18.1": - folder: all "2.18.2": folder: all "2.19.1": @@ -29,3 +9,11 @@ versions: folder: all "2.19.3": folder: all + "3.0.0": + folder: all + "3.1.0": + folder: all + "3.1.1": + folder: all + "3.2.0": + folder: all From 1c4fc7d6fa6af1e238c9f4a783d5c62fe7601108 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 16 Feb 2024 22:08:16 +0900 Subject: [PATCH 1156/1307] (#22691) libucl: add version 0.9.0 * libucl: add version 0.9.0 * link math lib * remove glib types --- recipes/libucl/all/conandata.yml | 14 +++ recipes/libucl/all/conanfile.py | 4 + ...0-cmake-add-install+use-find_package.patch | 119 ++++++++++++++++++ .../0006-0.9.0-remove-glib-types.patch | 32 +++++ recipes/libucl/config.yml | 2 + 5 files changed, 171 insertions(+) create mode 100644 recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch create mode 100644 recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch diff --git a/recipes/libucl/all/conandata.yml b/recipes/libucl/all/conandata.yml index 11db4b55879f9..656cf543d7403 100644 --- a/recipes/libucl/all/conandata.yml +++ b/recipes/libucl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.9.0": + url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.9.0.tar.gz" + sha256: "87b233048bca7d307b14cffb882d3c198dc3fff96b19e0c3515428f027b3ebfe" "0.8.2": url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.8.2.tar.gz" sha256: "d95a0e2151cc167a0f3e51864fea4e8977a0f4c473faa805269a347f7fb4e165" @@ -6,6 +9,17 @@ sources: url: "https://github.com/vstakhov/libucl/archive/refs/tags/0.8.1.tar.gz" sha256: "a6397e179672f0e8171a0f9a2cfc37e01432b357fd748b13f4394436689d24ef" patches: + "0.9.0": + - patch_file: "patches/0001-0.8.1-shared-win32.patch" + patch_description: "fix UCL_EXTERN definition for shared build on win32" + patch_type: "portability" + - patch_file: "patches/0002-0.9.0-cmake-add-install+use-find_package.patch" + patch_description: "improve installation, use cci package" + patch_type: "conan" + - patch_file: "patches/0006-0.9.0-remove-glib-types.patch" + patch_description: "remove glib types, use char and size_t instead." + patch_type: "portability" + patch_source: "https://github.com/vstakhov/libucl/pull/283" "0.8.2": - patch_file: "patches/0001-0.8.1-shared-win32.patch" patch_description: "fix UCL_EXTERN definition for shared build on win32" diff --git a/recipes/libucl/all/conanfile.py b/recipes/libucl/all/conanfile.py index f81b0da544841..30bc268f05071 100644 --- a/recipes/libucl/all/conanfile.py +++ b/recipes/libucl/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -90,3 +91,6 @@ def package_info(self): # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.names["pkg_config"] = "libucl" + + if Version(self.version) >= "0.9.0" and self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch b/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch new file mode 100644 index 0000000000000..139c3e606a3ba --- /dev/null +++ b/recipes/libucl/all/patches/0002-0.9.0-cmake-add-install+use-find_package.patch @@ -0,0 +1,119 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1e23994..c67a5b8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,12 +5,15 @@ SET(LIBUCL_VERSION_MAJOR 0) + SET(LIBUCL_VERSION_MINOR 9) + SET(LIBUCL_VERSION_PATCH 0) + +-SET(LIBUCL_VERSION +- "${LIBUCL_VERSION_MAJOR}.${LIBUCL_VERSION_MINOR}.${LIBUCL_VERSION_PATCH}") ++SET(LIBUCL_VERSION "${LIBUCL_VERSION_MAJOR}.${LIBUCL_VERSION_MINOR}.${LIBUCL_VERSION_PATCH}") + + INCLUDE(CheckCCompilerFlag) + INCLUDE(CheckCSourceCompiles) +-INCLUDE(FindOpenSSL) ++IF(ENABLE_URL_SIGN) ++ FIND_PACKAGE(OpenSSL REQUIRED) ++ SET(HAVE_OPENSSL 1) ++ ADD_DEFINITIONS(-DHAVE_OPENSSL) ++ENDIF(ENABLE_URL_SIGN) + INCLUDE(GNUInstallDirs) + + OPTION(ENABLE_URL_INCLUDE "Enable urls in ucl includes (requires libcurl or libfetch) [default: OFF]" OFF) +@@ -135,30 +138,10 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + + IF(ENABLE_URL_INCLUDE MATCHES "ON") +- FIND_LIBRARY(LIBFETCH_LIBRARY NAMES fetch PATHS PATH_SUFFIXES lib64 lib +- PATHS +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local +- /usr +- /sw +- /opt/local +- /opt/csw +- /opt +- DOC "Path where the libfetch library can be found") +- IF(LIBFETCH_LIBRARY) +- FIND_FILE(HAVE_FETCH_H NAMES fetch.h PATHS /usr/include +- /opt/include +- /usr/local/include +- DOC "Path to libfetch header") +- ELSE(LIBFETCH_LIBRARY) +- # Try to find libcurl +- FIND_PACKAGE(CURL) +- IF(NOT CURL_FOUND) +- MESSAGE(WARNING "Neither libcurl nor libfetch were found, no support of URL includes in configuration") +- ENDIF(NOT CURL_FOUND) +- ENDIF(LIBFETCH_LIBRARY) +-ENDIF(ENABLE_URL_INCLUDE MATCHES "ON") ++ FIND_PACKAGE(CURL REQUIRED) ++ ADD_DEFINITIONS(-DCURL_FOUND) ++ SET(CURL_LIBRARIES CURL::libcurl) ++ENDIF() + + set(SYNC_BUILTINS_TEST_SOURCE [====[ + int main() +@@ -249,35 +232,24 @@ TARGET_COMPILE_DEFINITIONS(ucl + ${UCL_COMPILE_DEFS} + ) + +-IF(ENABLE_LUA MATCHES "ON") +- IF(ENABLE_LUAJIT MATCHES "ON") +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}") +- IF(NOT LUA_FOUND) +- MESSAGE(FATAL_ERROR "Lua not found, lua support is required") +- ELSE(NOT LUA_FOUND) +- INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}") +- ENDIF(NOT LUA_FOUND) +- ELSE(ENABLE_LUAJIT MATCHES "ON") +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "2" ROOT "${LUA_ROOT}") +- IF(NOT LUA_FOUND) +- FindLua(VERSION_MAJOR "5" VERSION_MINOR "1" ROOT "${LUA_ROOT}") +- ENDIF(NOT LUA_FOUND) +- IF(NOT LUA_FOUND) +- MESSAGE(FATAL_ERROR "Lua not found, lua support is required") +- ELSE(NOT LUA_FOUND) +- INCLUDE_DIRECTORIES("${LUA_INCLUDE_DIR}") +- ENDIF(NOT LUA_FOUND) +- ENDIF(ENABLE_LUAJIT MATCHES "ON") ++IF(ENABLE_LUA OR ENABLE_LUAJIT) + SET(UCL_LUA_SRC lua/lua_ucl.c) + ADD_LIBRARY(lua-ucl ${LIB_TYPE} ${UCL_LUA_SRC}) + ADD_LIBRARY(ucl::lua ALIAS lua-ucl) ++ TARGET_LINK_LIBRARIES(lua-ucl ucl) + IF(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl "${LUAJIT_LIBRARY}") ++ TARGET_LINK_LIBRARIES(lua-ucl luajit::luajit) + ELSE(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl "${LUA_LIBRARY}") ++ TARGET_LINK_LIBRARIES(lua-ucl lua::lua) + ENDIF(ENABLE_LUAJIT MATCHES "ON") +- TARGET_LINK_LIBRARIES(lua-ucl ucl) + TARGET_INCLUDE_DIRECTORIES(lua-ucl PUBLIC include PRIVATE src uthash) ++ IF(ENABLE_LUA) ++ FIND_PACKAGE(lua REQUIRED CONFIG) ++ TARGET_LINK_LIBRARIES(lua-ucl lua::lua) ++ ELSEIF(ENABLE_LUAJIT) ++ FIND_PACKAGE(luajit REQUIRED CONFIG) ++ TARGET_LINK_LIBRARIES(lua-ucl luajit::luajit) ++ ENDIF() + SET_TARGET_PROPERTIES(lua-ucl PROPERTIES + VERSION ${LIBUCL_VERSION} + SOVERSION ${LIBUCL_VERSION_MAJOR} +@@ -306,8 +278,11 @@ ENDIF(UNIX) + SET_TARGET_PROPERTIES(ucl PROPERTIES + PUBLIC_HEADER "${UCLHDR}") + +-INSTALL(TARGETS ucl EXPORT uclConfig DESTINATION ${CMAKE_INSTALL_LIBDIR} +- PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++INSTALL(TARGETS ucl EXPORT uclConfig ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + IF(ENABLE_UTILS MATCHES "ON") + ADD_SUBDIRECTORY(utils) diff --git a/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch b/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch new file mode 100644 index 0000000000000..f63df8c3abd20 --- /dev/null +++ b/recipes/libucl/all/patches/0006-0.9.0-remove-glib-types.patch @@ -0,0 +1,32 @@ +diff --git a/lua/lua_ucl.c b/lua/lua_ucl.c +index c2e39c4..d6be69e 100644 +--- a/lua/lua_ucl.c ++++ b/lua/lua_ucl.c +@@ -406,7 +406,6 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags) + + /* Table iterate */ + if (is_array) { +- int i; + + if (!is_implicit) { + top = ucl_object_typed_new (UCL_ARRAY); +@@ -416,7 +415,7 @@ ucl_object_lua_fromtable (lua_State *L, int idx, ucl_string_flags_t flags) + top = NULL; + } + +- for (i = 1; i <= max; i ++) { ++ for (size_t i = 1; i <= max; i ++) { + lua_pushinteger (L, i); + lua_gettable (L, idx); + +@@ -886,8 +885,8 @@ lua_ucl_parser_parse_text (lua_State *L) + t = lua_touserdata (L, 2); + } + else if (lua_type (L, 2) == LUA_TSTRING) { +- const gchar *s; +- gsize len; ++ const char *s; ++ size_t len; + static struct _rspamd_lua_text st_t; + + s = lua_tolstring (L, 2, &len); diff --git a/recipes/libucl/config.yml b/recipes/libucl/config.yml index 7a9cbb2ce8ecb..fa8c302279f91 100644 --- a/recipes/libucl/config.yml +++ b/recipes/libucl/config.yml @@ -1,4 +1,6 @@ versions: + "0.9.0": + folder: all "0.8.2": folder: all "0.8.1": From b87c2fc3fcaab40772c2af3e2bb7ba00abd54ef2 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Sat, 17 Feb 2024 22:08:27 +0300 Subject: [PATCH 1157/1307] (#22782) md4qt: bump version to 2.7.3 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 315e8aca50cf0..29dd0361a14fa 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.3": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.3.tar.gz" + sha256: "d464cd137a69218f88af1373b198610f1db6971c7aa56c6869219ffb34e6f0dd" "2.7.2": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.2.tar.gz" sha256: "2d6b65db799fff944f2ecb8bb411f17687e41e0d5a17a37ad1c4bd22fe997d8b" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index e03897a5ac97e..73bd1fd0bdc43 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.3": + folder: all "2.7.2": folder: all "2.7.1": From efe16266d5995ddbc24fd761c1afba58010454c7 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Sat, 17 Feb 2024 20:28:00 +0100 Subject: [PATCH 1158/1307] (#22783) ccache: add version 4.9.1 --- recipes/ccache/all/conandata.yml | 7 +++++++ recipes/ccache/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/ccache/all/conandata.yml b/recipes/ccache/all/conandata.yml index 57fc624c15481..5c1cbd2adcc93 100644 --- a/recipes/ccache/all/conandata.yml +++ b/recipes/ccache/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "4.9.1": + url: "https://github.com/ccache/ccache/releases/download/v4.9.1/ccache-4.9.1.tar.xz" + sha256: "4c03bc840699127d16c3f0e6112e3f40ce6a230d5873daa78c60a59c7ef59d25" "4.9": url: "https://github.com/ccache/ccache/releases/download/v4.9/ccache-4.9.tar.xz" sha256: "1ebc72324e3ab52af0b562bf54189d108e85eef6478d6304a345a3c2dc4018e0" @@ -18,6 +21,10 @@ sources: url: "https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz" sha256: "df0c64d15d3efaf0b4f6837dd6b1467e40eeaaa807db25ce79c3a08a46a84e36" patches: + "4.9.1": + - patch_file: "patches/4.9-cmake-msvc-runtime.patch" + patch_description: "fixup MSVC runtime" + patch_type: "conan" "4.9": - patch_file: "patches/4.9-cmake-msvc-runtime.patch" patch_description: "fixup MSVC runtime" diff --git a/recipes/ccache/config.yml b/recipes/ccache/config.yml index c2b3794787244..c3b3ce18a0b2b 100644 --- a/recipes/ccache/config.yml +++ b/recipes/ccache/config.yml @@ -1,4 +1,6 @@ versions: + "4.9.1": + folder: all "4.9": folder: all "4.8.3": From f0af52dfa9627cb4db2eddb598cfd88db55cbd80 Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 04:49:08 +0900 Subject: [PATCH 1159/1307] (#22798) ssp: add version 1.6.2 --- recipes/ssp/all/conandata.yml | 3 +++ recipes/ssp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml index 72dce2c480ffe..7b9246ca69c3c 100644 --- a/recipes/ssp/all/conandata.yml +++ b/recipes/ssp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.2": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.2.tar.gz" + sha256: "6fa5ae1cd458eae3c1931e8cbcbd8d97956eda37db1388358456ca0743b48b7c" "1.6.1": url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.1.tar.gz" sha256: "4cdf75959b0a5fabd0b3e6ec1bad41d7c3f298d5b7f822d6e12b7e4d7dfcdd34" diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml index bd3f43d241a52..8664a344402ec 100644 --- a/recipes/ssp/config.yml +++ b/recipes/ssp/config.yml @@ -1,3 +1,5 @@ versions: + "1.6.2": + folder: all "1.6.1": folder: all From 80a605249e29ca8357f75dfaf380aaf37abeb44a Mon Sep 17 00:00:00 2001 From: toge Date: Sun, 18 Feb 2024 05:08:24 +0900 Subject: [PATCH 1160/1307] (#22800) rtm: add version 2.3.0 --- recipes/rtm/all/conandata.yml | 3 +++ recipes/rtm/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/rtm/all/conandata.yml b/recipes/rtm/all/conandata.yml index 41cc19013d6fa..e9ca9adc1569f 100644 --- a/recipes/rtm/all/conandata.yml +++ b/recipes/rtm/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.0": + url: "https://github.com/nfrechette/rtm/archive/v2.3.0.tar.gz" + sha256: "2b5f2c3761bb52ae89802a574e9dc9949aec3b183f7e100b9b66a65adcc6f5ab" "2.2.1": url: "https://github.com/nfrechette/rtm/archive/v2.2.1.tar.gz" sha256: "678989368bc9859138db00719ad9e2f82b51acb0d8da6905426e4134223cee2a" diff --git a/recipes/rtm/config.yml b/recipes/rtm/config.yml index 3a396aa92fa44..92f533de05d77 100644 --- a/recipes/rtm/config.yml +++ b/recipes/rtm/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.0": + folder: "all" "2.2.1": folder: "all" "2.2.0": From ce4acb537ef60008ee8007c25a33e83588d03b73 Mon Sep 17 00:00:00 2001 From: Cameron <54868046+crhowell3@users.noreply.github.com> Date: Mon, 19 Feb 2024 02:49:16 -0600 Subject: [PATCH 1161/1307] (#22794) opendis6: Set Minimum C++ Standard to 14 for RHEL 8 Support [CRITICAL] * Decreased min C++ standard to 14 for RHEL 8 support * Adjusted compiler list and test package CXX standard --- recipes/opendis6/all/conanfile.py | 8 ++++---- recipes/opendis6/all/test_package/CMakeLists.txt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/recipes/opendis6/all/conanfile.py b/recipes/opendis6/all/conanfile.py index 7e3a9bc79f7cc..1d7c11b706f15 100644 --- a/recipes/opendis6/all/conanfile.py +++ b/recipes/opendis6/all/conanfile.py @@ -29,16 +29,16 @@ class OpenDis6Conan(ConanFile): @property def _min_cppstd(self): - return "17" + return "14" @property def _compilers_minimum_version(self): return { "Visual Studio": "15", "msvc": "191", - "gcc": "8.5", - "clang": "6", - "apple-clang": "14", + "gcc": "7", + "clang": "7", + "apple-clang": "10", } def config_options(self): diff --git a/recipes/opendis6/all/test_package/CMakeLists.txt b/recipes/opendis6/all/test_package/CMakeLists.txt index c3a404538b736..84b0c539e5ca0 100644 --- a/recipes/opendis6/all/test_package/CMakeLists.txt +++ b/recipes/opendis6/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(OpenDIS CONFIG REQUIRED) add_executable(test_package_dis test_package.cpp) target_link_libraries(test_package_dis PRIVATE OpenDIS::OpenDIS6) -set_target_properties(test_package_dis PROPERTIES CXX_STANDARD 17) +set_target_properties(test_package_dis PROPERTIES CXX_STANDARD 14) From e6d41d3925c6116d1e11366215987ed88c206e2b Mon Sep 17 00:00:00 2001 From: Juan <35701596+juansblanco@users.noreply.github.com> Date: Mon, 19 Feb 2024 10:24:57 +0100 Subject: [PATCH 1162/1307] (#22793) [libgpg-error] Fix crosscompile errors --- recipes/libgpg-error/all/conanfile.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/recipes/libgpg-error/all/conanfile.py b/recipes/libgpg-error/all/conanfile.py index 630c80e0b9233..2ed23af2c2e5b 100644 --- a/recipes/libgpg-error/all/conanfile.py +++ b/recipes/libgpg-error/all/conanfile.py @@ -57,10 +57,6 @@ def generate(self): ]) if self.options.get_safe("fPIC", True): tc.configure_args.append("--with-pic") - host = None - if self.settings.os == "Linux" and self.settings.arch == "x86": - host = "i686-linux-gnu" - tc.update_configure_args({"--host": host}) tc.generate() def build(self): From 04f986643e7cf4a9b3a06e2ee7827f6949258aea Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Mon, 19 Feb 2024 05:48:10 -0600 Subject: [PATCH 1163/1307] (#22629) libdwarf: Add 0.9.0 and 0.9.1 * Add libdwarf 0.9.0 and 0.9.1 * Correction for the test package * Try to fix 0.9.0 * comment out remaining 0.9.1 references temporarily * Patch off_t * Try to get 0.9.1 good to go * Update recipes/libdwarf/all/conanfile.py Co-authored-by: Uilian Ries * Remove libdwarf 20191104 * Handle dwarfdump license * Update patches to use lowercasae zstd --------- Co-authored-by: Uilian Ries --- recipes/libdwarf/all/conandata.yml | 21 ++- recipes/libdwarf/all/conanfile.py | 41 ++-- .../all/patches/0.9.0-0001-fixes.patch | 105 +++++++++++ .../all/patches/0.9.1-0001-fixes.patch | 86 +++++++++ .../all/patches/20191104-0001-patch.patch | 178 ------------------ .../libdwarf/all/test_package/CMakeLists.txt | 4 +- .../libdwarf/all/test_package/test_package.c | 8 +- recipes/libdwarf/config.yml | 6 +- 8 files changed, 236 insertions(+), 213 deletions(-) create mode 100644 recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch create mode 100644 recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch delete mode 100644 recipes/libdwarf/all/patches/20191104-0001-patch.patch diff --git a/recipes/libdwarf/all/conandata.yml b/recipes/libdwarf/all/conandata.yml index 6abc97da6d65a..1a5e4c96d2caf 100644 --- a/recipes/libdwarf/all/conandata.yml +++ b/recipes/libdwarf/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "0.9.1": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.1.tar.gz" + sha256: "6da3f46a9f92b4e284c97c733851879d9b91b16642bede90c7614860a946824e" + "0.9.0": + url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.9.0.tar.gz" + sha256: "6d4c0ee8a869e68dfeb15c99b869cafca7a5f715ecfc699cbf4fd30729b33226" "0.8.0": url: "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.8.0.tar.gz" sha256: "8ef0dbfb0816b02aac97b87426689ebaa4efb8ec2ca2c759ea34c5e4678dff3f" @@ -8,10 +14,15 @@ sources: "0.5.0": url: "https://www.prevanders.net/libdwarf-0.5.0.tar.xz" sha256: "11fa822c60317fa00e1a01a2ac9e8388f6693e8662ab72d352c5f50c7e0112a9" - "20191104": - url: "https://www.prevanders.net/libdwarf-20191104.tar.gz" - sha256: "45f50a966314421b7dab525859853616df6c9680f0ccf2f44b030c505236eaba" patches: + "0.9.1": + - patch_file: "patches/0.9.1-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" + "0.9.0": + - patch_file: "patches/0.9.0-0001-fixes.patch" + patch_description: "fix DW_API definition and cmake" + patch_type: "portability" "0.8.0": - patch_file: "patches/0.8.0-0001-fixes.patch" patch_description: "fix DW_API definition and cmake" @@ -30,7 +41,3 @@ patches: - patch_file: "patches/0.5.0-0001-fix-DW_API.patch" patch_description: "fix DW_API definition" patch_type: "portability" - "20191104": - - patch_file: "patches/20191104-0001-patch.patch" - patch_description: "use cci package, remove lib64/bin64 install folders" - patch_type: "conan" diff --git a/recipes/libdwarf/all/conanfile.py b/recipes/libdwarf/all/conanfile.py index 0149255b7e4f0..8eab28c0da9ce 100644 --- a/recipes/libdwarf/all/conanfile.py +++ b/recipes/libdwarf/all/conanfile.py @@ -2,6 +2,7 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, rename from conan.tools.build import cross_building from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import os required_conan_version = ">=1.53.0" @@ -9,7 +10,7 @@ class LibdwarfConan(ConanFile): name = "libdwarf" description = "A library and a set of command-line tools for reading and writing DWARF2" - license = ("LGPL-2.1-only", "BSD-2-Clause-Views") + license = ("LGPL-2.1-only", "BSD-2-Clause-Views", "GPL-2.0-only") url = "https://github.com/conan-io/conan-center-index" homepage = "https://www.prevanders.net/dwarf.html" topics = ("debug", "dwarf", "dwarf2", "elf") @@ -20,11 +21,13 @@ class LibdwarfConan(ConanFile): "shared": [True, False], "fPIC": [True, False], "with_dwarfgen": [True, False], + "with_dwarfdump": [True, False], } default_options = { "shared": False, "fPIC": True, "with_dwarfgen": False, + "with_dwarfdump": False, } def export_sources(self): @@ -41,15 +44,19 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") if not self.options.with_dwarfgen: - self.license = "LGPL-2.1-only" + self.license = (l for l in self.license if l != "BSD-2-Clause-Views") + if not self.options.with_dwarfdump: + self.license = (l for l in self.license if l != "GPL-2.0-only") def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - if self.options.with_dwarfgen or self.version == "20191104": + if self.options.with_dwarfgen: self.requires("libelf/0.8.13") self.requires("zlib/[>=1.2.11 <2]") + if Version(self.version) >= Version("0.9.0"): + self.requires("zstd/1.5.5") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -60,6 +67,7 @@ def generate(self): tc.variables["BUILD_NON_SHARED"] = not self.options.shared tc.variables["BUILD_SHARED"] = self.options.shared tc.variables["BUILD_DWARFGEN"] = self.options.with_dwarfgen + tc.variables["BUILD_DWARFDUMP"] = self.options.with_dwarfdump tc.variables["BUILD_DWARFEXAMPLE"] = False if cross_building(self): tc.variables["HAVE_UNUSED_ATTRIBUTE_EXITCODE"] = "0" @@ -76,20 +84,15 @@ def build(self): cmake.build() def package(self): - if self.version == "20191104": - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "libdwarf")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) - if self.options.with_dwarfgen: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "dwarfgen")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) - else: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "lib", "libdwarf")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) - if self.options.with_dwarfgen: - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfgen")) - rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) - copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "lib", "libdwarf")) + rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-libdwarf")) + if self.options.with_dwarfgen: + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfgen")) + rename(self, os.path.join(self.package_folder, "licenses", "COPYING"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfgen")) + if self.options.with_dwarfdump: + copy(self, pattern="GPL.txt", dst=os.path.join(self.package_folder, "licenses"), src=os.path.join(self.source_folder, "src", "bin", "dwarfdump")) + rename(self, os.path.join(self.package_folder, "licenses", "GPL.txt"), os.path.join(self.package_folder, "licenses", "COPYING-dwarfdump")) + copy(self, pattern="COPYING", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() @@ -103,6 +106,4 @@ def package_info(self): bindir = os.path.join(self.package_folder, "bin") self.output.info(f'Appending PATH environment variable: {bindir}') self.env_info.PATH.append(bindir) - - if self.version != "20191104": - self.cpp_info.libs.append("dwarfp") + self.cpp_info.libs.append("dwarfp") diff --git a/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch b/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch new file mode 100644 index 0000000000000..5c91298881e9c --- /dev/null +++ b/recipes/libdwarf/all/patches/0.9.0-0001-fixes.patch @@ -0,0 +1,105 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f444af27..5c9390d1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -181,14 +181,20 @@ endif() + + # Zlib and ZSTD need to be found otherwise disable it + find_package(ZLIB) +-find_package(ZSTD) +-if (ZLIB_FOUND AND ZSTD_FOUND ) ++find_package(zstd) ++if (ZLIB_FOUND AND zstd_FOUND ) + set(HAVE_ZLIB TRUE) + set(HAVE_ZLIB_H TRUE) + set(HAVE_ZSTD TRUE) + set(HAVE_ZSTD_H TRUE) + endif() + ++if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++else() ++ set(ZSTD_LIB zstd::libzstd_static) ++endif() ++ + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) + + # DW_FWALLXX are gnu C++ options. +diff --git a/src/bin/dwarfdump/CMakeLists.txt b/src/bin/dwarfdump/CMakeLists.txt +index 6d2c328b..bc105813 100644 +--- a/src/bin/dwarfdump/CMakeLists.txt ++++ b/src/bin/dwarfdump/CMakeLists.txt +@@ -68,7 +68,7 @@ target_compile_options(dwarfdump PRIVATE ${DW_FWALL}) + + target_link_libraries(dwarfdump PRIVATE dwarf) + +-if(${CMAKE_SIZEOF_VOID_P} EQUAL 8) ++if(0) + set(SUFFIX 64) + endif() + set(LIBDIR lib${SUFFIX}) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 4ad5c4fb..052208a1 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -107,11 +107,10 @@ target_include_directories(dwarf PUBLIC + $ + $ + ) +-if(ZLIB_FOUND AND ZSTD_FOUND) +- target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ZSTD::ZSTD ) ++if(ZLIB_FOUND AND zstd_FOUND) ++ target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ${ZSTD_LIB} ) + endif() + +-set(SUFFIX $<$:64>) + set(LIBDIR lib${SUFFIX}) + set(BINDIR bin${SUFFIX}) + +@@ -120,7 +119,7 @@ install(TARGETS dwarf + LIBRARY DESTINATION ${LIBDIR} + ARCHIVE DESTINATION ${LIBDIR}) + +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY ) ++# configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY ) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -145,6 +144,8 @@ install( + install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/dwarf.h + DESTINATION include/libdwarf) ++if(0) + install( FILES ${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc + DESTINATION lib/pkgconfig + ) ++endif() +diff --git a/src/lib/libdwarf/libdwarf.h b/src/lib/libdwarf/libdwarf.h +index ed3d1d0b..91f2fd8b 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch b/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch new file mode 100644 index 0000000000000..c7952f7107937 --- /dev/null +++ b/recipes/libdwarf/all/patches/0.9.1-0001-fixes.patch @@ -0,0 +1,86 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 70839abd..972a2b9e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -188,14 +188,20 @@ if (ENABLE_DECOMPRESSION) + find_package(ZLIB) + endif() + if(NOT TARGET ZSTD::ZSTD) +- find_package(ZSTD) ++ find_package(zstd) + endif() +- if (ZLIB_FOUND AND ZSTD_FOUND ) ++ if (ZLIB_FOUND AND zstd_FOUND ) + set(HAVE_ZLIB TRUE) + set(HAVE_ZLIB_H TRUE) + set(HAVE_ZSTD TRUE) + set(HAVE_ZSTD_H TRUE) + endif() ++ find_package(zstd CONFIG REQUIRED) ++ if(TARGET zstd::libzstd_shared) ++ set(ZSTD_LIB zstd::libzstd_shared) ++ else() ++ set(ZSTD_LIB zstd::libzstd_static) ++ endif() + endif () + + message(STATUS "CMAKE_SIZEOF_VOID_P ... " ${CMAKE_SIZEOF_VOID_P} ) +diff --git a/src/lib/libdwarf/CMakeLists.txt b/src/lib/libdwarf/CMakeLists.txt +index 7500c9f4..ce1461fb 100644 +--- a/src/lib/libdwarf/CMakeLists.txt ++++ b/src/lib/libdwarf/CMakeLists.txt +@@ -104,8 +104,8 @@ target_include_directories(dwarf PUBLIC + $ + $ + ) +-if(ZLIB_FOUND AND ZSTD_FOUND) +- target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ZSTD::ZSTD ) ++if(ZLIB_FOUND AND zstd_FOUND) ++ target_link_libraries(dwarf PRIVATE ZLIB::ZLIB ${ZSTD_LIB} ) + endif() + set_target_properties(dwarf PROPERTIES PUBLIC_HEADER "libdwarf.h;dwarf.h") + +@@ -116,7 +116,7 @@ install(TARGETS dwarf + PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + ) + +-configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) ++# configure_file(libdwarf.pc.cmake libdwarf.pc @ONLY) + + # The install has to be here, not in + # another CMakeLists.txt to make install work properly +@@ -131,4 +131,4 @@ install(EXPORT libdwarfTargets + NAMESPACE libdwarf:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") + install(FILES cmake/libdwarf-config.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libdwarf") +-install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++# install(FILES "${PROJECT_BINARY_DIR}/src/lib/libdwarf/libdwarf.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +diff --git a/src/lib/libdwarf/libdwarf.h b/src/lib/libdwarf/libdwarf.h +index 380d2ef7..8c62ee7e 100644 +--- a/src/lib/libdwarf/libdwarf.h ++++ b/src/lib/libdwarf/libdwarf.h +@@ -51,7 +51,7 @@ + #endif /* DW_API */ + + #ifndef LIBDWARF_STATIC +-# if defined(_WIN32) || defined(__CYGWIN__) ++# if defined(LIBDWARF_SHARED) && (defined(_WIN32) || defined(__CYGWIN__)) + # ifdef LIBDWARF_BUILD + # define DW_API __declspec(dllexport) + # else /* !LIBDWARF_BUILD */ +diff --git a/src/lib/libdwarf/libdwarf_private.h b/src/lib/libdwarf/libdwarf_private.h +index b37ae994..7fa89256 100644 +--- a/src/lib/libdwarf/libdwarf_private.h ++++ b/src/lib/libdwarf/libdwarf_private.h +@@ -26,11 +26,7 @@ + #ifdef _MSC_VER /* Macro to select VS compiler */ + #include + typedef SSIZE_T ssize_t; +-#ifdef _WIN64 +-typedef long long off_t; +-#else + typedef long off_t; +-#endif + #endif /* _MSC_VER */ + + #ifndef TRUE diff --git a/recipes/libdwarf/all/patches/20191104-0001-patch.patch b/recipes/libdwarf/all/patches/20191104-0001-patch.patch deleted file mode 100644 index aadcac9dfe8fd..0000000000000 --- a/recipes/libdwarf/all/patches/20191104-0001-patch.patch +++ /dev/null @@ -1,178 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2607e56..3ca4ac5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -73,9 +73,9 @@ check_include_file( "unistd.h" HAVE_UNISTD_H ) - check_include_file( "sgidefs.h" HAVE_SGIDEFS_H ) - check_include_file( "stdafx.h" HAVE_STDAFX_H ) - check_include_file( "Windows.h" HAVE_WINDOWS_H ) --check_include_file( "elf.h" HAVE_ELF_H ) --check_include_file( "libelf.h" HAVE_LIBELF_H ) --check_include_file( "libelf/libelf.h" HAVE_LIBELF_LIBELF_H) -+set(HAVE_ELF_H FALSE) -+set(HAVE_LIBELF_H FALSE) -+set(HAVE_LIBELF_LIBELF_H TRUE) - check_include_file( "alloca.h" HAVE_ALLOCA_H ) - check_include_file( "elfaccess.h" HAVE_ELFACCESS_H) - check_include_file( "sys/elf_386.h" HAVE_SYS_ELF_386_H ) -@@ -128,6 +128,8 @@ endif() - # It's not really setting the location of libelfheader, - # it is really # either elf.h, or if that is missing - # it is assuming elf.h data is in the supplied libelf. -+find_package(libelf REQUIRED CONFIG) -+find_package(ZLIB REQUIRED CONFIG) - - if(HAVE_ELF_H) - set(HAVE_LOCATION_OF_LIBELFHEADER "") -@@ -146,12 +148,13 @@ elseif(HAVE_LIBELF_LIBELF_H) - endif() - - if (HAVE_LIBELF_H OR HAVE_LIBELF_LIBELF_H) -- set (CMAKE_REQUIRED_LIBRARIES elf) -+ set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) - message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getehdr") - check_symbol_exists( elf64_getehdr ${PLAIN_JUST_LIBELF} HAVE_ELF64_GETEHDR) - message(STATUS "libelf header ${PLAIN_JUST_LIBELF} checking for elf64_getshdr") - check_symbol_exists( elf64_getshdr ${PLAIN_JUST_LIBELF} HAVE_ELF64_GETSHDR) - set (CMAKE_REQUIRED_LIBRARIES) -+ set (CMAKE_REQUIRED_DEFINITIONS) - endif() - - option(DWARF_WITH_LIBELF "Use libelf (default is YES)" TRUE) -@@ -166,6 +169,9 @@ if (DWARF_WITH_LIBELF) - message(STATUS "checking using HAVE_ELF_H ... ${HAVE_ELF_H}") - message(STATUS "checking using elf header ... ${HAVE_LOCATION_OF_LIBELFHEADER}") - message(STATUS "checking using libelf header ... ${JUST_LIBELF}") -+ -+ set (CMAKE_REQUIRED_DEFINITIONS -D__LIBELF64=1) -+ - check_c_source_compiles(" - #include ${HAVE_LOCATION_OF_LIBELFHEADER} - int main() -@@ -202,7 +208,7 @@ if (DWARF_WITH_LIBELF) - # to set HAVE_LIBELF_OFF64_OK at present. - check_c_source_compiles(" - #define _GNU_SOURCE 1 -- #include ${JUST_LIBELF} -+ #include <${JUST_LIBELF}> - int main() - { - off64_t p; p = 0; -@@ -210,7 +216,7 @@ if (DWARF_WITH_LIBELF) - }" HAVE_LIBELF_OFF64_OK) - - check_c_source_compiles(" -- #include ${JUST_LIBELF} -+ #include <${JUST_LIBELF}> - /* This must be at global scope */ - struct _Elf; - typedef struct _Elf Elf; -@@ -220,6 +226,10 @@ if (DWARF_WITH_LIBELF) - int i = 12; - return 0; - }" HAVE_STRUCT_UNDERSCORE_ELF) -+ -+ set (CMAKE_REQUIRED_LIBRARIES) -+ set (CMAKE_REQUIRED_DEFINITIONS) -+ - endif() - message(STATUS "Assuming struct Elf for the default libdwarf.h") - # Because cmake treats ; in an interesting way attempting -@@ -378,10 +388,9 @@ message(STATUS "Checking producer generates only 32bit... ${HAVE_STRICT_DWARF2_3 - - - # This references cmake/FindLibElf.cmake. See cmake documentation. --find_package(LibElf REQUIRED) - list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBELF_INCLUDE_DIRS}) - --configure_file(config.h.in.cmake config.h) -+configure_file(${CMAKE_SOURCE_DIR}/config.h.in.cmake ${CMAKE_BINARY_DIR}/config.h) - - if(BUILD_NON_SHARED) - set(DWARF_TARGETS dwarf-static) -@@ -395,7 +404,6 @@ if(BUILD_SHARED) - endif() - - add_subdirectory(libdwarf) --add_subdirectory(dwarfdump) - if ( BUILD_DWARFGEN ) - if ( DWARF_WITH_LIBELF ) - add_subdirectory(dwarfgen) -diff --git a/dwarfdump/CMakeLists.txt b/dwarfdump/CMakeLists.txt -index b94f6c8..6bdb57f 100644 ---- a/dwarfdump/CMakeLists.txt -+++ b/dwarfdump/CMakeLists.txt -@@ -31,7 +31,7 @@ set_source_group(CONFIGURATION_FILES "Configuration Files" - ${CMAKE_SOURCE_DIR}/config.h.in.cmake - ${CMAKE_BINARY_DIR}/config.h) - --add_executable(dwarfdump ${SOURCES} ${HEADERS} ${CONFIGURATION_FILES}) -+add_executable(dwarfdump ${SOURCES} ${HEADERS} ${CONFIGURATION_FILES} ${libelf_LIBRARIES}) - - set_folder(dwarfdump dwarfdump) - -diff --git a/dwarfgen/CMakeLists.txt b/dwarfgen/CMakeLists.txt -index 488b820..5bde9eb 100644 ---- a/dwarfgen/CMakeLists.txt -+++ b/dwarfgen/CMakeLists.txt -@@ -20,16 +20,16 @@ set_folder(dwarfgen dwarfgen) - - target_compile_options(dwarfgen PRIVATE ${DW_FWALLXX}) - --target_link_libraries(dwarfgen PRIVATE ${dwarf-target} ${DW_FZLIB}) -+target_link_libraries(dwarfgen PRIVATE ${dwarf-target} ${DW_FZLIB} ${libelf_LIBRARIES}) - - set(SUFFIX $<$:64>) - set(LIBDIR lib${SUFFIX}) - set(BINDIR bin${SUFFIX}) - - install(TARGETS dwarfgen DESTINATION -- RUNTIME DESTINATION ${BINDIR} -- LIBRARY DESTINATION ${LIBDIR} -- ARCHIVE DESTINATION ${LIBDIR}) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - - #install(FILES dwarfgen.conf DESTINATION lib) - -diff --git a/libdwarf/CMakeLists.txt b/libdwarf/CMakeLists.txt -index c610522..3a69533 100644 ---- a/libdwarf/CMakeLists.txt -+++ b/libdwarf/CMakeLists.txt -@@ -81,12 +81,9 @@ foreach(i RANGE ${targetCount}) - ${GENNAMES_OUTPUT} ${CONFIGURATION_FILES}) - - set_folder(${target} libdwarf) -- target_include_directories(${target} PUBLIC -- ${LIBELF_INCLUDE_DIRS}) -- target_compile_options(${target} PRIVATE ${DW_FWALL}) - msvc_posix(${target}) - -- target_link_libraries(${target} PUBLIC ${LIBELF_LIBRARIES}) -+ target_link_libraries(${target} PUBLIC ${libelf_LIBRARIES} ${ZLIB_LIBRARIES}) - - set_target_properties(${target} PROPERTIES OUTPUT_NAME dwarf) - -@@ -95,15 +92,14 @@ foreach(i RANGE ${targetCount}) - set(BINDIR bin${SUFFIX}) - - install(TARGETS ${target} -- RUNTIME DESTINATION ${BINDIR} -- LIBRARY DESTINATION ${LIBDIR} -- ARCHIVE DESTINATION ${LIBDIR}) -+ RUNTIME DESTINATION bin -+ LIBRARY DESTINATION lib -+ ARCHIVE DESTINATION lib) - endforeach() - --if(UNIX AND BUILD_SHARED) -- target_link_libraries(dwarf-shared PUBLIC z) --endif() -- -+install(FILES ${CMAKE_BINARY_DIR}/libdwarf/libdwarf.h DESTINATION include) -+install(FILES dwarf.h DESTINATION include) -+ - if (DO_TESTING) - set_source_group(TESTLEB "Source Files" dwarf_leb_test.c - dwarf_leb.c pro_encode_nm.c ) diff --git a/recipes/libdwarf/all/test_package/CMakeLists.txt b/recipes/libdwarf/all/test_package/CMakeLists.txt index a2fbbf0a474e1..8abbd68a6f049 100644 --- a/recipes/libdwarf/all/test_package/CMakeLists.txt +++ b/recipes/libdwarf/all/test_package/CMakeLists.txt @@ -6,6 +6,6 @@ find_package(libdwarf REQUIRED) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} PRIVATE libdwarf::libdwarf) -if(NOT libdwarf_VERSION MATCHES "^[0-9]*$") - target_compile_definitions(${PROJECT_NAME} PRIVATE "LIBDWARF_NEW_STRUCTURE") +if(${libdwarf_VERSION} VERSION_LESS "0.9.1") + target_compile_definitions(${PROJECT_NAME} PRIVATE "LIBDWARF_NESTED_INCLUDE") endif() diff --git a/recipes/libdwarf/all/test_package/test_package.c b/recipes/libdwarf/all/test_package/test_package.c index 27d0d196b5a8d..287828193ab29 100644 --- a/recipes/libdwarf/all/test_package/test_package.c +++ b/recipes/libdwarf/all/test_package/test_package.c @@ -3,12 +3,12 @@ #include #include -#ifndef LIBDWARF_NEW_STRUCTURE - #include "dwarf.h" - #include "libdwarf.h" -#else +#ifdef LIBDWARF_NESTED_INCLUDE #include "libdwarf/dwarf.h" #include "libdwarf/libdwarf.h" +#else + #include "dwarf.h" + #include "libdwarf.h" #endif void example1(Dwarf_Die somedie) { diff --git a/recipes/libdwarf/config.yml b/recipes/libdwarf/config.yml index 2bad80aa2207b..b5a49fc99b335 100644 --- a/recipes/libdwarf/config.yml +++ b/recipes/libdwarf/config.yml @@ -1,9 +1,11 @@ versions: + "0.9.1": + folder: all + "0.9.0": + folder: all "0.8.0": folder: all "0.7.0": folder: all "0.5.0": folder: all - "20191104": - folder: all From f4213db268522332ad65ca7b7b6e550ba9e872a2 Mon Sep 17 00:00:00 2001 From: Rob Baily Date: Mon, 19 Feb 2024 08:47:48 -0500 Subject: [PATCH 1164/1307] (#22673) cli: new recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * cli: new recipe * Ensure files have final endline * cli: new recipe * Ensure files have final endline * Remove share folder for package * Updated checks for minimum cpp and compiler versions * Add import for ConanInvalidConfiguration * Try Apple clang minimum version 12 * Try apple-clang compatibility at version 14 * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * Set CMake generated names to lower case * add option for boost and asio Signed-off-by: Uilian Ries * Add test_package example using the with_asio option * Fix newline at end of file * Fix last line for example_complete.cpp * simplify recipe Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/cli/all/conandata.yml | 4 ++ recipes/cli/all/conanfile.py | 64 +++++++++++++++++++ recipes/cli/all/test_package/CMakeLists.txt | 8 +++ recipes/cli/all/test_package/conanfile.py | 29 +++++++++ recipes/cli/all/test_package/test_package.cpp | 22 +++++++ recipes/cli/config.yml | 3 + 6 files changed, 130 insertions(+) create mode 100644 recipes/cli/all/conandata.yml create mode 100644 recipes/cli/all/conanfile.py create mode 100644 recipes/cli/all/test_package/CMakeLists.txt create mode 100644 recipes/cli/all/test_package/conanfile.py create mode 100644 recipes/cli/all/test_package/test_package.cpp create mode 100644 recipes/cli/config.yml diff --git a/recipes/cli/all/conandata.yml b/recipes/cli/all/conandata.yml new file mode 100644 index 0000000000000..10682c56d384f --- /dev/null +++ b/recipes/cli/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "2.1.0": + url: "https://github.com/daniele77/cli/archive/refs/tags/v2.1.0.tar.gz" + sha256: "dfc9fc7c72a6cdfdf852d89f151699b57460ff49775a8ff27d2a69477649acf9" diff --git a/recipes/cli/all/conanfile.py b/recipes/cli/all/conanfile.py new file mode 100644 index 0000000000000..d36d374460adf --- /dev/null +++ b/recipes/cli/all/conanfile.py @@ -0,0 +1,64 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.build import check_min_cppstd +from conan.tools.scm import Version +import os + +class CLIConan(ConanFile): + name = "cli" + description = "A library for interactive command line interfaces in modern C++" + license = "BSL-1.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/daniele77/cli" + topics = "cli-interface", "cpp14", "no-dependencies", "header-only" + package_type = "header-library" + settings = "os", "compiler", "build_type", "arch" + no_copy_source = True + + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "7", + "clang": "6", + "Visual Studio": "16", + "msvc": "192", + "apple-clang": "14", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def build(self): + pass + + def package(self): + copy(self, "LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy(self, "*.h", dst=os.path.join(self.package_folder, "include"), src=os.path.join(self.source_folder, "include")) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") diff --git a/recipes/cli/all/test_package/CMakeLists.txt b/recipes/cli/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..532e9ff7fa4f7 --- /dev/null +++ b/recipes/cli/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(cli CONFIG REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} cli::cli) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/cli/all/test_package/conanfile.py b/recipes/cli/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d55c28d73bebf --- /dev/null +++ b/recipes/cli/all/test_package/conanfile.py @@ -0,0 +1,29 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout, CMakeToolchain +from conan.tools.build import can_run + +class cliTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "CMakeDeps" + + def requirements(self): + self.requires(self.tested_reference_str) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/cli/all/test_package/test_package.cpp b/recipes/cli/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..238aaf7e42157 --- /dev/null +++ b/recipes/cli/all/test_package/test_package.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace cli; +using namespace std; + + +int main() +{ + auto rootMenu = make_unique< Menu >( "cli" ); + rootMenu -> Insert( + "hello", + [](std::ostream& out){ out << "Hello, world\n"; }, + "Print hello world" ); + + Cli cli( std::move(rootMenu) ); + cli.ExitAction( [](auto& out){ out << "Goodbye and thanks for all the fish.\n"; } ); + + CliFileSession input(cli); + + return 0; +} diff --git a/recipes/cli/config.yml b/recipes/cli/config.yml new file mode 100644 index 0000000000000..dfff490f9a9b6 --- /dev/null +++ b/recipes/cli/config.yml @@ -0,0 +1,3 @@ +versions: + "2.1.0": + folder: all From 64aba482ce1f61b7746b052373907c7d3a15aefd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 19 Feb 2024 23:30:15 +0900 Subject: [PATCH 1165/1307] (#22764) libcoro: add version 0.11.1 * libcoro: add version 0.11 * relax compiler checks * update to version 0.11.1 Signed-off-by: Uilian Ries * require newer compilers Signed-off-by: Uilian Ries * update config Signed-off-by: Uilian Ries * Update recipes/libcoro/all/conanfile.py * fix library name on Windows Signed-off-by: Uilian Ries * some options are not available on Windows Signed-off-by: Uilian Ries * typo Signed-off-by: Uilian Ries * disable shared Signed-off-by: Uilian Ries * set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * revert CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS * manage shared option Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/libcoro/all/conandata.yml | 15 ++----- recipes/libcoro/all/conanfile.py | 42 +++++++++++++------ .../patches/0.10-0001-allow-shared-lib.patch | 13 ------ .../patches/0.7-0001-allow-shared-lib.patch | 9 ---- .../patches/0.8-0001-allow-shared-lib.patch | 13 ------ .../patches/0.9-0001-allow-shared-lib.patch | 13 ------ recipes/libcoro/config.yml | 2 + 7 files changed, 35 insertions(+), 72 deletions(-) delete mode 100644 recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch delete mode 100644 recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch diff --git a/recipes/libcoro/all/conandata.yml b/recipes/libcoro/all/conandata.yml index 2ae02b6941d0a..1587140b431f7 100644 --- a/recipes/libcoro/all/conandata.yml +++ b/recipes/libcoro/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.11.1.tar.gz" + sha256: "c7eb1bf133519ec0e0bc2e3e018ac4d1447a143e5e7385dab19204277d7c7671" "0.10": url: "https://github.com/jbaldwin/libcoro/archive/refs/tags/v0.10.tar.gz" sha256: "0e952e72012925b75910f80772f3642dac631644578dbbc0db4fee047badc745" @@ -13,17 +16,11 @@ sources: sha256: "ce1f3f1c4fa21b53d1cd195a29bd5a2313e53aa35637b402db04207d02316e51" patches: "0.10": - - patch_file: "patches/0.10-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.10-0002-disable-git-config.patch" patch_type: "official" patch_description: "Comment out invocation of git config command" patch_source: "https://github.com/jbaldwin/libcoro/pull/234" "0.9": - - patch_file: "patches/0.9-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.9-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" @@ -32,16 +29,10 @@ patches: patch_source: "https://github.com/jbaldwin/libcoro/pull/169" patch_description: "include std headers" "0.8": - - patch_file: "patches/0.8-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.8-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" "0.7": - - patch_file: "patches/0.7-0001-allow-shared-lib.patch" - patch_type: "conan" - patch_description: "Allow to build the library as a shared library" - patch_file: "patches/0.7-0002-disable-git-config.patch" patch_type: "conan" patch_description: "Comment out invocation of git config command" diff --git a/recipes/libcoro/all/conanfile.py b/recipes/libcoro/all/conanfile.py index 7873b320afe48..60b120e4f9dc5 100644 --- a/recipes/libcoro/all/conanfile.py +++ b/recipes/libcoro/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.scm import Version @@ -40,8 +41,12 @@ def _min_cppstd(self): @property def _minimum_compilers_version(self): return { - "gcc": "10.2.1", - } + "gcc": "10.2.1", + "clang": "16.0.0", + "apple-clang": "16", + "Visual Studio": "16", + "msvc": "192", + } def export_sources(self): export_conandata_patches(self) @@ -54,10 +59,15 @@ def config_options(self): if Version(self.version) < "0.9": del self.options.with_ssl del self.options.with_threading + if is_msvc(self) or self.settings.os == "Emscripten": + self.options.rm_safe("with_networking") + self.options.rm_safe("with_ssl") def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if Version(self.version) < "0.11": + self.package_type = "static-library" def layout(self): cmake_layout(self, src_folder="src") @@ -71,10 +81,11 @@ def requirements(self): def validate(self): if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) - if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: - raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") - if self.settings.compiler != "gcc": - raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") + if Version(self.version) < "0.10": + if self.settings.os not in ["Linux", "FreeBSD", "Macos"]: + raise ConanInvalidConfiguration(f"{self.ref} is not supported on {self.settings.os}.") + if self.settings.compiler != "gcc": + raise ConanInvalidConfiguration(f"The Conan recipe {self.ref} only supports GCC for now. Contributions are welcome!") minimum_version = self._minimum_compilers_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: @@ -82,6 +93,9 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + if Version(self.version) < "0.11" and self.options.shared: + raise ConanInvalidConfiguration(f"{self.ref} Only supports shared linking for versions >=0.11") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -91,10 +105,14 @@ def generate(self): tc.variables["LIBCORO_BUILD_EXAMPLES"] = False if Version(self.version) >= "0.8": tc.variables["LIBCORO_EXTERNAL_DEPENDENCIES"] = True - tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.with_networking + tc.variables["LIBCORO_FEATURE_NETWORKING"] = self.options.get_safe("with_networking") if Version(self.version) >= "0.9": tc.variables["LIBCORO_FEATURE_THREADING"] = self.options.with_threading - tc.variables["LIBCORO_FEATURE_SSL"] = self.options.with_ssl + tc.variables["LIBCORO_FEATURE_SSL"] = self.options.get_safe("with_ssl", False) + if Version(self.version) >= "0.11": + tc.variables["LIBCORO_RUN_GITCONFIG"] = False + tc.variables["LIBCORO_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["LIBCORO_FEATURE_TLS"] = self.options.get_safe("with_ssl", False) tc.generate() deps = CMakeDeps(self) deps.generate() @@ -115,16 +133,16 @@ def package_info(self): self.cpp_info.set_property("cmake_file_name", "libcoro") self.cpp_info.set_property("cmake_target_name", "libcoro::libcoro") if Version(self.version) >= "0.8": - self.cpp_info.libs = ["coro"] + self.cpp_info.libs = ["libcoro"] if is_msvc(self) else ["coro"] else: self.cpp_info.libs = ["libcoro"] if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["pthread", "m"] if Version(self.version) >= "0.9": - if self.options.with_networking: + if self.options.get_safe("with_networking"): self.cpp_info.defines.append("LIBCORO_FEATURE_NETWORKING") - if self.options.with_ssl: - self.cpp_info.defines.append("LIBCORO_FEATURE_SSL") + if self.options.get_safe("with_ssl"): + self.cpp_info.defines.extend(["LIBCORO_FEATURE_SSL", "LIBCORO_FEATURE_TLS"]) if self.options.with_threading: self.cpp_info.defines.append("LIBCORO_FEATURE_THREADING") diff --git a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch deleted file mode 100644 index 8eb0ed04c1cfc..0000000000000 --- a/recipes/libcoro/all/patches/0.10-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b749c11..7398569 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -123,7 +123,7 @@ if(DEFINED EMSCRIPTEN) - add_link_options(-sEXIT_RUNTIME) - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC include) diff --git a/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch deleted file mode 100644 index 9c3ca8de19231..0000000000000 --- a/recipes/libcoro/all/patches/0.7-0001-allow-shared-lib.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -69,4 +69,4 @@ - ) - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX) diff --git a/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch deleted file mode 100644 index 0481b258f7f9a..0000000000000 --- a/recipes/libcoro/all/patches/0.8-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f37206b..8221a5d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -91,7 +91,7 @@ if(LIBCORO_FEATURE_NETWORKING) - ) - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch b/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch deleted file mode 100644 index 4838c6103aa0f..0000000000000 --- a/recipes/libcoro/all/patches/0.9-0001-allow-shared-lib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ef0eea4..4c342e3 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -110,7 +110,7 @@ if(LIBCORO_FEATURE_NETWORKING) - endif() - endif() - --add_library(${PROJECT_NAME} STATIC ${LIBCORO_SOURCE_FILES}) -+add_library(${PROJECT_NAME} ${LIBCORO_SOURCE_FILES}) - set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX PREFIX "") - target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) - target_include_directories(${PROJECT_NAME} PUBLIC inc) diff --git a/recipes/libcoro/config.yml b/recipes/libcoro/config.yml index 5808152f9189f..a682e35c6d452 100644 --- a/recipes/libcoro/config.yml +++ b/recipes/libcoro/config.yml @@ -1,4 +1,6 @@ versions: + "0.11.1": + folder: all "0.10": folder: all "0.9": From 539b155fd18e99d37e49aef333804e99a431d21a Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 19 Feb 2024 15:48:46 +0100 Subject: [PATCH 1166/1307] (#22777) aws-c-mqtt: update dependencies Due to #21033, we'll have to raise the aws-c-io dependency here as well. --- recipes/aws-c-mqtt/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/aws-c-mqtt/all/conanfile.py b/recipes/aws-c-mqtt/all/conanfile.py index d97246f605d3f..4740c4414b3ba 100644 --- a/recipes/aws-c-mqtt/all/conanfile.py +++ b/recipes/aws-c-mqtt/all/conanfile.py @@ -49,7 +49,7 @@ def requirements(self): else: self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) self.requires("aws-c-cal/0.6.9") - self.requires("aws-c-io/0.13.32", transitive_headers=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True) self.requires("aws-c-http/0.7.14") def source(self): From 5ae630347b31512a7863704d4ee6b09ccbff35d8 Mon Sep 17 00:00:00 2001 From: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:08:50 +0200 Subject: [PATCH 1167/1307] (#22810) safe: new recipe --- recipes/safe/all/conandata.yml | 4 ++ recipes/safe/all/conanfile.py | 48 +++++++++++++++++++ recipes/safe/all/test_package/CMakeLists.txt | 8 ++++ recipes/safe/all/test_package/conanfile.py | 26 ++++++++++ .../safe/all/test_package/test_package.cpp | 12 +++++ recipes/safe/config.yml | 3 ++ 6 files changed, 101 insertions(+) create mode 100644 recipes/safe/all/conandata.yml create mode 100644 recipes/safe/all/conanfile.py create mode 100644 recipes/safe/all/test_package/CMakeLists.txt create mode 100644 recipes/safe/all/test_package/conanfile.py create mode 100644 recipes/safe/all/test_package/test_package.cpp create mode 100644 recipes/safe/config.yml diff --git a/recipes/safe/all/conandata.yml b/recipes/safe/all/conandata.yml new file mode 100644 index 0000000000000..31c393ec6520f --- /dev/null +++ b/recipes/safe/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.1": + url: "https://github.com/LouisCharlesC/safe/archive/v1.1.1.tar.gz" + sha256: "A6E161EAFC32AA522CD2CE1A5F95A3DF963C51263053089FC8F7A9765D054F00" diff --git a/recipes/safe/all/conanfile.py b/recipes/safe/all/conanfile.py new file mode 100644 index 0000000000000..c7c9d401cf1af --- /dev/null +++ b/recipes/safe/all/conanfile.py @@ -0,0 +1,48 @@ +from conan import ConanFile +from conan.tools.files import get, copy +from conan.tools.build import check_min_cppstd +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.51.1" + +class SafeConan(ConanFile): + name = "safe" + description = "Header only read and write locks for mutexes" + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/LouisCharlesC/safe" + topics = ("multi-threading ", "lock", "guard", "raii", "thread-safety", "mutexes", "lock-guard", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.get_safe("compiler.cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/safe/all/test_package/CMakeLists.txt b/recipes/safe/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..13fdc6eda90ab --- /dev/null +++ b/recipes/safe/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(safe REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE safe::safe) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/safe/all/test_package/conanfile.py b/recipes/safe/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/safe/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/safe/all/test_package/test_package.cpp b/recipes/safe/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..9286960794fc7 --- /dev/null +++ b/recipes/safe/all/test_package/test_package.cpp @@ -0,0 +1,12 @@ +#include "safe/safe.h" + +int main(void) { + safe::Safe safeValue; + + { + safe::WriteAccess> value(safeValue); + *value = 5; + } + + return 0; +} diff --git a/recipes/safe/config.yml b/recipes/safe/config.yml new file mode 100644 index 0000000000000..60d31991f5141 --- /dev/null +++ b/recipes/safe/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.1": + folder: all From 59508120c81c4d9fed03dbd4a41d871000c1b0bf Mon Sep 17 00:00:00 2001 From: Toni Neubert Date: Mon, 19 Feb 2024 16:28:30 +0100 Subject: [PATCH 1168/1307] (#22813) emio: add version 0.7.0 * add version 0.7.0 * fix license renaming issue --- recipes/emio/all/conandata.yml | 3 +++ recipes/emio/all/conanfile.py | 2 +- recipes/emio/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/emio/all/conandata.yml b/recipes/emio/all/conandata.yml index 9c81336117348..a9c48f24eeb27 100644 --- a/recipes/emio/all/conandata.yml +++ b/recipes/emio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.7.0": + url: "https://github.com/viatorus/emio/archive/0.7.0.tar.gz" + sha256: "1ef5304964eee109c13477f2d84822ee474612475049a377b59e33a5fe05d7eb" "0.6.1": url: "https://github.com/viatorus/emio/archive/0.6.1.tar.gz" sha256: "118bb67581d68b33d9764e016700014ad63b68520b5786c0d12036f33bcef0dc" diff --git a/recipes/emio/all/conanfile.py b/recipes/emio/all/conanfile.py index 8eb00bd9ec66b..7785d5a02da74 100644 --- a/recipes/emio/all/conanfile.py +++ b/recipes/emio/all/conanfile.py @@ -57,6 +57,6 @@ def source(self): destination=self.source_folder, strip_root=True) def package(self): - copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "LICENSE*", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) copy(self, "*.hpp", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include")) diff --git a/recipes/emio/config.yml b/recipes/emio/config.yml index 01ed4761ab018..b957140535721 100644 --- a/recipes/emio/config.yml +++ b/recipes/emio/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.1": folder: all "0.6.0": From 135dc5908869bf3b521bdd86bd1f66062e435e8f Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:41:39 +0000 Subject: [PATCH 1169/1307] (#22819) [bot] Update authorized users list (2024-02-19) * Add/remove users to Access Request * Update .c3i/authorized_users.yml --------- Co-authored-by: conan-center-bot Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 37b43973ce278..995fbb6e339b3 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1288,3 +1288,5 @@ authorized_users: - AlexanderBabansky - matthiasbuhl - cnicolaescu +- mmomtchev +- ChristianHeinigk From 25e0860a35cc17e929936431ba8e256008b9159b Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 19 Feb 2024 18:05:15 +0200 Subject: [PATCH 1170/1307] (#21153) isl: migrate to Conan v2 * isl: migrate to Conan v2 Based on changes by @System-Arch in #14916. * isl: remove unnecessary comments * isl: add v0.26, use .xz * isl: cross-building on macOS is broken * isl: fix_apple_shared_install_name() --- recipes/isl/all/conandata.yml | 21 ++- recipes/isl/all/conanfile.py | 153 +++++++++--------- .../0.24-0001-fix-ac_test_cflags.patch | 11 ++ recipes/isl/all/test_package/CMakeLists.txt | 5 +- recipes/isl/all/test_package/conanfile.py | 19 ++- .../isl/all/test_v1_package/CMakeLists.txt | 8 + recipes/isl/all/test_v1_package/conanfile.py | 17 ++ recipes/isl/config.yml | 6 +- 8 files changed, 142 insertions(+), 98 deletions(-) create mode 100644 recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch create mode 100644 recipes/isl/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/isl/all/test_v1_package/conanfile.py diff --git a/recipes/isl/all/conandata.yml b/recipes/isl/all/conandata.yml index cf2c5f3fb54ee..525debaa9344b 100644 --- a/recipes/isl/all/conandata.yml +++ b/recipes/isl/all/conandata.yml @@ -1,10 +1,15 @@ sources: + "0.26": + url: "https://libisl.sourceforge.io/isl-0.26.tar.xz" + sha256: "a0b5cb06d24f9fa9e77b55fabbe9a3c94a336190345c2555f9915bb38e976504" + "0.25": + url: "https://libisl.sourceforge.io/isl-0.25.tar.xz" + sha256: "be7b210647ccadf90a2f0b000fca11a4d40546374a850db67adb32fad4b230d9" "0.24": - url: "https://libisl.sourceforge.io/isl-0.24.tar.gz" - sha256: "26e6e4d60ad59b3fff9948eb36743f0c874e124e410ef5bab930d0f546bc580d" - "0.23": - url: "https://libisl.sourceforge.io/isl-0.23.tar.gz" - sha256: "19e77cb562ab3da5a37f263208d6f902ae3a9d52c756bf6eb1a6b2f8a74b883c" - "0.22": - url: "https://libisl.sourceforge.io/isl-0.22.tar.gz" - sha256: "d0c6714e4427d3eb964388afe526a8e0f69687da7e944f1ad66ffa639923be46" + url: "https://libisl.sourceforge.io/isl-0.24.tar.xz" + sha256: "043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad" +patches: + "0.24": + - patch_file: "patches/0.24-0001-fix-ac_test_cflags.patch" + patch_description: "Fix ac_test_CFLAGS logic error" + patch_type: "portability" diff --git a/recipes/isl/all/conanfile.py b/recipes/isl/all/conanfile.py index 139d5fc0036f3..bd3795141c531 100644 --- a/recipes/isl/all/conanfile.py +++ b/recipes/isl/all/conanfile.py @@ -1,9 +1,14 @@ -from conans import AutoToolsBuildEnvironment, ConanFile, tools -from conans.errors import ConanInvalidConfiguration -from contextlib import contextmanager +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os, fix_apple_shared_install_name +from conan.tools.build import cross_building +from conan.tools.files import copy, get, rm, rmdir, apply_conandata_patches, export_conandata_patches +from conan.tools.gnu import Autotools, AutotoolsToolchain +from conan.tools.layout import basic_layout +from conan.tools.microsoft import is_msvc, msvc_runtime_flag, check_min_vs, unix_path, is_msvc_static_runtime import os -required_conan_version = ">=1.33.0" +required_conan_version = ">=1.58.0" class IslConan(ConanFile): @@ -13,23 +18,24 @@ class IslConan(ConanFile): license = "MIT" homepage = "https://libisl.sourceforge.io" url = "https://github.com/conan-io/conan-center-index" + + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], "fPIC": [True, False], "with_int": ["gmp", "imath", "imath-32"], + "autogen": [True, False], } default_options = { "shared": False, "fPIC": True, "with_int": "gmp", + "autogen": False, } - _autotools = None - - @property - def _source_subfolder(self): - return "source_subfolder" + def export_sources(self): + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -37,97 +43,86 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") def validate(self): if self.settings.os == "Windows" and self.options.shared: raise ConanInvalidConfiguration("Cannot build shared isl library on Windows (due to libtool refusing to link to static/import libraries)") - if self.settings.os == "Macos" and self.settings.arch == "armv8": - raise ConanInvalidConfiguration("Apple M1 is not yet supported. Contributions are welcome") - if self.options.with_int != "gmp": - # FIXME: missing imath recipe - raise ConanInvalidConfiguration("imath is not (yet) available on cci") - if self.settings.compiler == "Visual Studio" and tools.Version(self.settings.compiler.version) < 16 and self.settings.compiler.runtime == "MDd": + if is_apple_os(self) and cross_building(self): + raise ConanInvalidConfiguration("Cross-building with Apple Clang is not supported yet") + if msvc_runtime_flag(self) == "MDd" and not check_min_vs(self, 192, raise_invalid=False): + # isl fails to link with this version of visual studio and MDd runtime: # gmp.lib(bdiv_dbm1c.obj) : fatal error LNK1318: Unexpected PDB error; OK (0) - raise ConanInvalidConfiguration("isl fails to link with this version of visual studio and MDd runtime") + raise ConanInvalidConfiguration("isl cannot be built with MDd runtime with MSVC < 192") def requirements(self): if self.options.with_int == "gmp": - self.requires("gmp/6.2.1") + self.requires("gmp/6.3.0") + elif self.options.with_int == "imath": + self.requires("imath/3.1.9") @property def _settings_build(self): return getattr(self, "settings_build", self.settings) def build_requirements(self): - if self._settings_build.os == "Windows" and not tools.get_env("CONAN_BASH_PATH"): - self.build_requires("msys2/cci.latest") - if self.settings.compiler == "Visual Studio": - self.build_requires("automake/1.16.4") + if self._settings_build.os == "Windows": + self.win_bash = True + if not self.conf.get("tools.microsoft.bash:path", check_type=str): + self.tool_requires("msys2/cci.latest") + if self.options.autogen: + self.tool_requires("autoconf/2.71") + self.tool_requires("automake/1.16.5") + self.tool_requires("libtool/2.4.7") + + def package_id(self): + del self.info.options.autogen + + def layout(self): + basic_layout(self, src_folder="src") def source(self): - tools.get(**self.conan_data["sources"][self.version], - strip_root=True, destination=self._source_subfolder) - - @contextmanager - def _build_context(self): - if self.settings.compiler == "Visual Studio": - with tools.vcvars(self.settings): - env = { - "AR": "{} lib".format(tools.unix_path(self.deps_user_info["automake"].ar_lib)), - "CC": "{} cl -nologo -{}".format(tools.unix_path(self.deps_user_info["automake"].compile), self.settings.compiler.runtime), - "CXX": "{} cl -nologo -{}".format(tools.unix_path(self.deps_user_info["automake"].compile), self.settings.compiler.runtime), - "NM": "dumpbin -symbols", - "OBJDUMP": ":", - "RANLIB": ":", - "STRIP": ":", - } - with tools.environment_append(env): - yield - else: - yield - - def _configure_autotools(self): - if self._autotools: - return self._autotools - self._autotools = AutoToolsBuildEnvironment(self, win_bash=tools.os_info.is_windows) - self._autotools.libs = [] - yes_no = lambda v: "yes" if v else "no" - conf_args = [ - "--with-int={}".format(self.options.with_int), - "--enable-portable-binary", - "--enable-shared={}".format(yes_no(self.options.shared)), - "--enable-static={}".format(yes_no(not self.options.shared)), - ] + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = AutotoolsToolchain(self) + tc.configure_args.append(f'--with-int={self.options.with_int}') + tc.configure_args.append("--enable-portable-binary") if self.options.with_int == "gmp": - conf_args.extend([ - "--with-gmp=system", - "--with-gmp-prefix={}".format(self.deps_cpp_info["gmp"].rootpath.replace("\\", "/")), - ]) - if self.settings.compiler == "Visual Studio": - if tools.Version(self.settings.compiler.version) >= 15: - self._autotools.flags.append("-Zf") - if tools.Version(self.settings.compiler.version) >= 12: - self._autotools.flags.append("-FS") - self._autotools.configure(args=conf_args, configure_dir=self._source_subfolder) - return self._autotools + tc.configure_args.append("--with-gmp=system") + tc.configure_args.append(f'--with-gmp-prefix={unix_path(self, self.dependencies["gmp"].package_folder)}') + if is_msvc(self): + if check_min_vs(self, 191, raise_invalid=False): + tc.extra_cflags = ["-Zf"] + if check_min_vs(self, 180, raise_invalid=False): + tc.extra_cflags = ["-FS"] + if is_msvc(self) and self.version == "0.24" and not is_msvc_static_runtime(self): + # Pass BUILD flags to avoid confusion with GCC and mixing of runtime variants + tc.configure_args += ['CC_FOR_BUILD=cl -nologo', f'CFLAGS_FOR_BUILD=-{msvc_runtime_flag(self)}'] + env = tc.environment() + if is_msvc(self): + env.define("CC", "cl -nologo") + env.define("CXX", "cl -nologo") + tc.generate(env) def build(self): - with self._build_context(): - autotools = self._configure_autotools() - autotools.make() + if self.options.autogen: + apply_conandata_patches(self) # Currently, the only patch is for the autogen use case + self.run("./autogen.sh", cwd=self.source_folder) + autotools = Autotools(self) + autotools.configure() + autotools.make() def package(self): - self.copy("LICENSE", src=self._source_subfolder, dst="licenses") - with self._build_context(): - autotools = self._configure_autotools() - autotools.install() - - os.unlink(os.path.join(os.path.join(self.package_folder, "lib", "libisl.la"))) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + autotools = Autotools(self) + autotools.install() + rm(self, "*.la", os.path.join(os.path.join(self.package_folder, "lib"))) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + fix_apple_shared_install_name(self) def package_info(self): - self.cpp_info.names["pkg_config"] = "isl" + self.cpp_info.set_property("pkg_config_name", "isl") self.cpp_info.libs = ["isl"] diff --git a/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch b/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch new file mode 100644 index 0000000000000..ac347c50759b3 --- /dev/null +++ b/recipes/isl/all/patches/0.24-0001-fix-ac_test_cflags.patch @@ -0,0 +1,11 @@ +--- m4/ax_cc_maxopt.m4 ++++ m4/ax_cc_maxopt.m4 +@@ -65,7 +65,7 @@ + acx_maxopt_portable=$withval, acx_maxopt_portable=no) + + # Try to determine "good" native compiler flags if none specified via CFLAGS +-if test "$ac_test_CFLAGS" != "set"; then ++if test "x$ac_test_CFLAGS" = "x"; then + CFLAGS="" + case $ax_cv_c_compiler_vendor in + dec) CFLAGS="-newc -w0 -O5 -ansi_alias -ansi_args -fp_reorder -tune host" diff --git a/recipes/isl/all/test_package/CMakeLists.txt b/recipes/isl/all/test_package/CMakeLists.txt index 3a403dc404b41..c40193c08604f 100644 --- a/recipes/isl/all/test_package/CMakeLists.txt +++ b/recipes/isl/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ cmake_minimum_required(VERSION 3.1) project(test_package C) -include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") -conan_basic_setup() +find_package(isl REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE isl::isl) diff --git a/recipes/isl/all/test_package/conanfile.py b/recipes/isl/all/test_package/conanfile.py index bd7165a553cf4..7b760066c7165 100644 --- a/recipes/isl/all/test_package/conanfile.py +++ b/recipes/isl/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import cross_building import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if not cross_building(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/isl/all/test_v1_package/CMakeLists.txt b/recipes/isl/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..33e5f24630032 --- /dev/null +++ b/recipes/isl/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package C) + +include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake") +conan_basic_setup() + +add_executable(${PROJECT_NAME} ../test_package/test_package.c) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/recipes/isl/all/test_v1_package/conanfile.py b/recipes/isl/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..bd7165a553cf4 --- /dev/null +++ b/recipes/isl/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/isl/config.yml b/recipes/isl/config.yml index e0fa5e44a1f96..ae426ef703a32 100644 --- a/recipes/isl/config.yml +++ b/recipes/isl/config.yml @@ -1,7 +1,7 @@ versions: - "0.24": + "0.26": folder: "all" - "0.23": + "0.25": folder: "all" - "0.22": + "0.24": folder: "all" From b7618e9570ef6410d13e3b67843074ac6c727895 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 01:28:54 +0900 Subject: [PATCH 1171/1307] (#22799) sfl: add version 1.2.4 --- recipes/sfl/all/conandata.yml | 3 +++ recipes/sfl/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sfl/all/conandata.yml b/recipes/sfl/all/conandata.yml index 78138456b199b..cc5806fe1937d 100644 --- a/recipes/sfl/all/conandata.yml +++ b/recipes/sfl/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.4": + url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.4.tar.gz" + sha256: "e24d4adb1aff638e17ef49841881992a1020dc951e4e9721b81b76d44ef89f5b" "1.2.3": url: "https://github.com/slavenf/sfl-library/archive/refs/tags/1.2.3.tar.gz" sha256: "6111a81b5dcad091c5c8a420d127c1bbfb06f8fbb7d915e6a30b4b7d2d67db71" diff --git a/recipes/sfl/config.yml b/recipes/sfl/config.yml index 81ff4bc37c872..aec9153a51c8d 100644 --- a/recipes/sfl/config.yml +++ b/recipes/sfl/config.yml @@ -1,3 +1,5 @@ versions: + "1.2.4": + folder: "all" "1.2.3": folder: "all" From c723e367a32bdafd5b2dac5173578c0994365a3f Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:49:29 +0100 Subject: [PATCH 1172/1307] (#22804) tinyply: do not remove fPIC option if static * do not remove fPIC option if static * add libm to system libs --- recipes/tinyply/all/conanfile.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/recipes/tinyply/all/conanfile.py b/recipes/tinyply/all/conanfile.py index cd8d6bcce424f..97b1320f978d5 100644 --- a/recipes/tinyply/all/conanfile.py +++ b/recipes/tinyply/all/conanfile.py @@ -31,7 +31,8 @@ def config_options(self): del self.options.fPIC def configure(self): - self.options.rm_safe("fPIC") + if self.options.shared: + self.options.rm_safe("fPIC") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -73,3 +74,5 @@ def package_info(self): self.cpp_info.set_property("cmake_target_name", "tinyply::tinyply") self.cpp_info.set_property("pkg_config_name", "tinyply") self.cpp_info.libs = collect_libs(self) + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") From 8f3188b13b7c9f110c31975355fe4793cf737cb7 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 17:27:44 +0900 Subject: [PATCH 1173/1307] (#22825) daw_header_libraries: add version 2.101.0 --- recipes/daw_header_libraries/all/conandata.yml | 3 +++ recipes/daw_header_libraries/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/daw_header_libraries/all/conandata.yml b/recipes/daw_header_libraries/all/conandata.yml index e2ae0afea2244..da4d268e47a7d 100644 --- a/recipes/daw_header_libraries/all/conandata.yml +++ b/recipes/daw_header_libraries/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.101.0": + url: "https://github.com/beached/header_libraries/archive/v2.101.0.tar.gz" + sha256: "468b3a40b90295f1da8eb79ae5723909269c020e7e8bf3d93d3f4fac7c35195b" "2.98.5": url: "https://github.com/beached/header_libraries/archive/v2.98.5.tar.gz" sha256: "2d548a6f7a860917e2f743ee75e82733cbf0d3720b7296da023c5a17a9010c9a" diff --git a/recipes/daw_header_libraries/config.yml b/recipes/daw_header_libraries/config.yml index a97facd0bf9ff..209a906c305c7 100644 --- a/recipes/daw_header_libraries/config.yml +++ b/recipes/daw_header_libraries/config.yml @@ -1,4 +1,6 @@ versions: + "2.101.0": + folder: all "2.98.5": folder: all "2.97.0": From 106c11a55444e15822572a0f0c351087ade48b2d Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Tue, 20 Feb 2024 02:47:59 -0600 Subject: [PATCH 1174/1307] (#22655) cpptrace: Add v0.4.0 * Prepare for 0.4.0 * Set CPPTRACE_USE_EXTERNAL_ZSTD * Attempt to fix build issue * Try a printbug... * Ok I think actually fixed this time * Fix endline issue * rc2 * Fix test package * oops * Now ready to go I think * Use libdwarf 0.9.1 * Use exact versions * Patch zstd handling --- recipes/cpptrace/all/conandata.yml | 13 ++++ recipes/cpptrace/all/conanfile.py | 8 ++- .../patches/0.4.0/0001-libdwarf_path.patch | 12 ++++ .../all/patches/0.4.0/0002-zstd.patch | 72 +++++++++++++++++++ .../cpptrace/all/test_package/CMakeLists.txt | 4 ++ .../all/test_package/test_package.cpp | 8 +++ recipes/cpptrace/config.yml | 2 + 7 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch create mode 100644 recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index d032d0a5a873d..b9844d75c4190 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.4.0": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.0.tar.gz" + sha256: "eef368f5bed2d85c976ea90b325e4c9bfc1b9618cbbfa15bf088adc8fa98ff89" "0.3.1": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.3.1.tar.gz" @@ -13,6 +17,15 @@ sources: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.2.1.tar.gz" sha256: "3184f404c61b6b8ba6fe7c64fc40d1c3d6d87df59bcacf1845d846101bc22f9a" patches: + "0.4.0": + - patch_file: "patches/0.4.0/0001-libdwarf_path.patch" + patch_type: "conan" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/a1624238000c794243e20801dc2b35b2f847d492" + patch_description: "Use new libdwarf header placement" + - patch_file: "patches/0.4.0/0002-zstd.patch" + patch_type: "conan" + patch_source: "https://github.com/jeremy-rifkin/cpptrace/commit/b7d14bc952111df973268c76133bb8ad99afdeb0" + patch_description: "Zstd is handled by libdwarf" "0.3.0": - patch_file: "patches/0.3.0/0001-cpptrace_export.patch" patch_type: "bugfix" diff --git a/recipes/cpptrace/all/conanfile.py b/recipes/cpptrace/all/conanfile.py index f96b276006f6d..f0aee2a68a632 100644 --- a/recipes/cpptrace/all/conanfile.py +++ b/recipes/cpptrace/all/conanfile.py @@ -43,7 +43,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("libdwarf/0.8.0") + if Version(self.version) >= Version("0.4.0"): + self.requires("libdwarf/0.9.1") + else: + self.requires("libdwarf/0.8.0") def validate(self): if self.settings.compiler.cppstd: @@ -105,6 +108,9 @@ def package_info(self): if self.settings.os == "Windows": self.cpp_info.system_libs.append("dbghelp") + if not self.options.shared: + self.cpp_info.defines.append("CPPTRACE_STATIC_DEFINE") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed self.cpp_info.filenames["cmake_find_package"] = "CPPTRACE" self.cpp_info.filenames["cmake_find_package_multi"] = "cpptrace" diff --git a/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch b/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch new file mode 100644 index 0000000000000..4561234caabeb --- /dev/null +++ b/recipes/cpptrace/all/patches/0.4.0/0001-libdwarf_path.patch @@ -0,0 +1,12 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e077cf8..2f848dd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -404,7 +404,6 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + endif() + if(CPPTRACE_CONAN) + target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf) +- target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) + elseif(CPPTRACE_VCPKG) + target_link_libraries(${target_name} PRIVATE libdwarf::dwarf) + elseif(CPPTRACE_USE_EXTERNAL_LIBDWARF) diff --git a/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch b/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch new file mode 100644 index 0000000000000..97ccd388d4128 --- /dev/null +++ b/recipes/cpptrace/all/patches/0.4.0/0002-zstd.patch @@ -0,0 +1,72 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2f848dd..8f3ec74 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -338,40 +338,39 @@ endif() + + if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) + target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) +- # First, dependencies: Zstd and zlib (currently relying on system zlib) +- if(CPPTRACE_USE_EXTERNAL_ZSTD) +- find_package(zstd) +- else() +- include(FetchContent) +- cmake_policy(SET CMP0074 NEW) +- FetchContent_Declare( +- zstd +- GIT_REPOSITORY https://github.com/facebook/zstd.git +- GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 +- GIT_SHALLOW 1 +- SOURCE_SUBDIR build/cmake +- ) +- # FetchContent_MakeAvailable(zstd) +- FetchContent_GetProperties(zstd) +- if(NOT zstd_POPULATED) +- FetchContent_Populate(zstd) +- set(ZSTD_BUILD_PROGRAMS OFF) +- set(ZSTD_BUILD_CONTRIB OFF) +- set(ZSTD_BUILD_TESTS OFF) +- set(ZSTD_BUILD_STATIC ON) +- set(ZSTD_BUILD_SHARED OFF) +- set(ZSTD_LEGACY_SUPPORT OFF) +- add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") +- endif() +- endif() +- # Libdwarf itself + if(CPPTRACE_USE_EXTERNAL_LIBDWARF) + find_package(libdwarf REQUIRED) + else() ++ include(FetchContent) ++ # First, dependencies: Zstd and zlib (currently relying on system zlib) ++ if(CPPTRACE_USE_EXTERNAL_ZSTD) ++ find_package(zstd) ++ else() ++ cmake_policy(SET CMP0074 NEW) ++ FetchContent_Declare( ++ zstd ++ GIT_REPOSITORY https://github.com/facebook/zstd.git ++ GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5 ++ GIT_SHALLOW 1 ++ SOURCE_SUBDIR build/cmake ++ ) ++ # FetchContent_MakeAvailable(zstd) ++ FetchContent_GetProperties(zstd) ++ if(NOT zstd_POPULATED) ++ FetchContent_Populate(zstd) ++ set(ZSTD_BUILD_PROGRAMS OFF) ++ set(ZSTD_BUILD_CONTRIB OFF) ++ set(ZSTD_BUILD_TESTS OFF) ++ set(ZSTD_BUILD_STATIC ON) ++ set(ZSTD_BUILD_SHARED OFF) ++ set(ZSTD_LEGACY_SUPPORT OFF) ++ add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}") ++ endif() ++ endif() ++ # Libdwarf itself + set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) + # set(PIC_ALWAYS TRUE) + # set(BUILD_DWARFDUMP FALSE) +- include(FetchContent) + FetchContent_Declare( + libdwarf + # GIT_REPOSITORY https://github.com/davea42/libdwarf-code.git diff --git a/recipes/cpptrace/all/test_package/CMakeLists.txt b/recipes/cpptrace/all/test_package/CMakeLists.txt index 413751877cee8..b0651acbdbd44 100644 --- a/recipes/cpptrace/all/test_package/CMakeLists.txt +++ b/recipes/cpptrace/all/test_package/CMakeLists.txt @@ -8,3 +8,7 @@ add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE cpptrace::cpptrace) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(${cpptrace_VERSION} VERSION_GREATER_EQUAL "0.4.0") + target_compile_definitions(${PROJECT_NAME} PRIVATE CTRACE) +endif() diff --git a/recipes/cpptrace/all/test_package/test_package.cpp b/recipes/cpptrace/all/test_package/test_package.cpp index bc640e59ffc24..e663d6aea698f 100644 --- a/recipes/cpptrace/all/test_package/test_package.cpp +++ b/recipes/cpptrace/all/test_package/test_package.cpp @@ -1,9 +1,17 @@ #include #include +#include #include +#ifdef CTRACE +#include +#endif int main() { cpptrace::generate_trace().print(); + + #ifdef CTRACE + ctrace_stacktrace c_trace = ctrace_generate_trace(0, SIZE_MAX); + #endif return EXIT_SUCCESS; } diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c4a25b816da1e..c04879bd49824 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.4.0": + folder: all "0.3.1": folder: all "0.3.0": From 86e9a819a672f9ed7490c111e9f7b1e83e626c29 Mon Sep 17 00:00:00 2001 From: tt4g <45120617+tt4g@users.noreply.github.com> Date: Tue, 20 Feb 2024 18:07:50 +0900 Subject: [PATCH 1175/1307] (#22814) libpqxx: add version 7.9.0 --- recipes/libpqxx/all/conandata.yml | 7 +++++++ recipes/libpqxx/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/libpqxx/all/conandata.yml b/recipes/libpqxx/all/conandata.yml index dcbdf0b15a551..4d1617ceb885b 100644 --- a/recipes/libpqxx/all/conandata.yml +++ b/recipes/libpqxx/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "7.9.0": + url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.9.0.tar.gz" + sha256: "a1fafd5f6455f6c66241fca1f35f5cb603251580b99f9a0cf1b5d0a586006f16" "7.8.1": url: "https://github.com/jtv/libpqxx/archive/refs/tags/7.8.1.tar.gz" sha256: "0f4c0762de45a415c9fd7357ce508666fa88b9a4a463f5fb76c235bc80dd6a84" @@ -24,6 +27,10 @@ sources: url: "https://github.com/jtv/libpqxx/archive/6.4.8.tar.gz" sha256: "3f7aba951822e01f1b9f9f353702954773323dd9f9dc376ffb57cb6bbd9a7a2f" patches: + "7.9.0": + - patch_file: "patches/0001-cmake-fix-module.patch" + patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." + patch_type: "conan" "7.8.1": - patch_file: "patches/0001-cmake-fix-module.patch" patch_description: "Keep `CMAKE_MODULE_PATH` to be changed by conan." diff --git a/recipes/libpqxx/config.yml b/recipes/libpqxx/config.yml index 9d72f7f742ccb..4c8b35797bd1a 100644 --- a/recipes/libpqxx/config.yml +++ b/recipes/libpqxx/config.yml @@ -1,4 +1,6 @@ versions: + "7.9.0": + folder: all "7.8.1": folder: all "7.8.0": From bcf400f4d7c42b564cec10cbd92aa37741ec154f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 18:27:45 +0900 Subject: [PATCH 1176/1307] (#22815) highway: add version 1.1.0 --- recipes/highway/all/conandata.yml | 3 +++ recipes/highway/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/highway/all/conandata.yml b/recipes/highway/all/conandata.yml index 710781f517c65..959f287f753da 100644 --- a/recipes/highway/all/conandata.yml +++ b/recipes/highway/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.1.0": + url: "https://github.com/google/highway/archive/1.1.0.tar.gz" + sha256: "354a8b4539b588e70b98ec70844273e3f2741302c4c377bcc4e81b3d1866f7c9" "1.0.7": url: "https://github.com/google/highway/archive/1.0.7.tar.gz" sha256: "5434488108186c170a5e2fca5e3c9b6ef59a1caa4d520b008a9b8be6b8abe6c5" diff --git a/recipes/highway/config.yml b/recipes/highway/config.yml index 51114d87501db..1af21a7852ddb 100644 --- a/recipes/highway/config.yml +++ b/recipes/highway/config.yml @@ -1,4 +1,6 @@ versions: + "1.1.0": + folder: all "1.0.7": folder: all "1.0.6": From 516fc44ea0120b66c6ec50ea54888c3af70a6983 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 18:47:53 +0900 Subject: [PATCH 1177/1307] (#22826) scnlib: add version 2.0.2 --- recipes/scnlib/all/conandata.yml | 7 +++++++ recipes/scnlib/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/scnlib/all/conandata.yml b/recipes/scnlib/all/conandata.yml index 959e4c6aa3f22..6655f8d077d01 100644 --- a/recipes/scnlib/all/conandata.yml +++ b/recipes/scnlib/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.2": + url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.2.tar.gz" + sha256: "a485076b8710576cf05fbc086d39499d16804575c0660b0dfaeeaf7823660a17" "2.0.1": url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v2.0.1.tar.gz" sha256: "f399d1b1f36f5d53a2d63fd2974797ab8f3f7e69c424d9661253830cb793b72e" @@ -15,6 +18,10 @@ sources: url: "https://github.com/eliaskosunen/scnlib/archive/refs/tags/v1.0.tar.gz" sha256: "5b8333e522206c2a74e57a9c9544c4fe4e7858cfe93e216905b463eaf91af5fe" patches: + "2.0.2": + - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" + patch_description: "remove re2 version on find_package" + patch_type: "portability" "2.0.1": - patch_file: "patches/2.0.0-0001-remove-re2-version.patch" patch_description: "remove re2 version on find_package" diff --git a/recipes/scnlib/config.yml b/recipes/scnlib/config.yml index 8c5c4f8a7d9ec..9f31088bdf1c3 100644 --- a/recipes/scnlib/config.yml +++ b/recipes/scnlib/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.2": + folder: all "2.0.1": folder: all "2.0.0": From 99ebdafc60a6811e5ed63b7c5b4ac9ece9b37fec Mon Sep 17 00:00:00 2001 From: ViktarHasiul231862 <36881808+ViktarHasiul231862@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:02:56 +0100 Subject: [PATCH 1178/1307] (#18009) Allow to set ENABLE_HARU and WT_RASTERIMAGE_IMPLEMENTATION * Allow to set ENABLE_HARU and WT_RASTERIMAGE_IMPLEMENTATION * add libharu to requirements * set HARU_PREFIX and haru package_info --- recipes/wt/all/conanfile.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/recipes/wt/all/conanfile.py b/recipes/wt/all/conanfile.py index fc0eb757303bd..f52c69a8dfbb5 100644 --- a/recipes/wt/all/conanfile.py +++ b/recipes/wt/all/conanfile.py @@ -32,6 +32,8 @@ class WtConan(ConanFile): "with_dbo": [True, False], "with_opengl": [True, False], "with_unwind": [True, False], + "with_haru": [True, False], + "raster_image": ["none", "Direct2D", "GraphicsMagick"], "no_std_locale": [True, False], "no_std_wstring": [True, False], "multi_threaded": [True, False], @@ -51,6 +53,8 @@ class WtConan(ConanFile): "with_dbo": True, "with_opengl": False, "with_unwind": True, + "with_haru": False, + "raster_image": "none", "no_std_locale": False, "no_std_wstring": False, "multi_threaded": True, @@ -112,7 +116,9 @@ def requirements(self): self.requires("odbc/2.3.11") if self.options.get_safe("with_unwind"): self.requires("libunwind/1.7.2") - + if self.options.with_haru: + self.requires("libharu/2.4.3") + def validate(self): miss_boost_required_comp = any(self.dependencies["boost"].options.get_safe(f"without_{boost_comp}", True) for boost_comp in self._required_boost_components) @@ -121,6 +127,8 @@ def validate(self): f"{self.ref} requires non header-only boost with these components: " f"{', '.join(self._required_boost_components)}" ) + if self.options.get_safe("raster_image", "none") == "Direct2D" and self.settings.os != "Windows": + raise ConanInvalidConfiguration("Direct2D is supported only on Windows.") # FIXME: https://redmine.emweb.be/issues/12073w if conan_version.major == 2 and Version(self.version) == "4.10.1" and is_msvc(self): @@ -178,7 +186,7 @@ def generate(self): tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_TESTS"] = False tc.variables["ENABLE_SSL"] = self.options.with_ssl - tc.variables["ENABLE_HARU"] = False + tc.variables["ENABLE_HARU"] = self.options.with_haru tc.variables["ENABLE_PANGO"] = False tc.variables["ENABLE_SQLITE"] = self.options.get_safe("with_sqlite", False) tc.variables["ENABLE_POSTGRES"] = self.options.get_safe("with_postgres", False) @@ -191,6 +199,7 @@ def generate(self): tc.variables["ENABLE_LIBWTDBO"] = self.options.with_dbo tc.variables["ENABLE_OPENGL"] = self.options.with_opengl tc.variables["ENABLE_UNWIND"] = self.options.get_safe("with_unwind", False) + tc.variables["WT_WRASTERIMAGE_IMPLEMENTATION"] = self.options.get_safe("raster_image", "none") tc.variables["WT_NO_STD_LOCALE"] = self.options.no_std_locale tc.variables["WT_NO_STD_WSTRING"] = self.options.no_std_wstring tc.variables["MULTI_THREADED"] = self.options.multi_threaded @@ -227,6 +236,8 @@ def generate(self): tc.variables["ODBC_LIBRARIES"] = self._cmakify_path_list(self._find_libraries("odbc")) tc.variables["ODBC_INCLUDE"] = self._cmakify_path_list(self.dependencies["odbc"].cpp_info.aggregated_components().includedirs) tc.variables["ODBC_FOUND"] = True + if self.options.with_haru: + tc.variables["HARU_PREFIX"] = self._cmakify_path_list(self.dependencies["libharu"].package_folder) if self.options.get_safe("with_unwind"): tc.variables["UNWIND_PREFIX"] = self._cmakify_path_list([self.dependencies["libunwind"].package_folder]) if self.settings.os == "Windows": @@ -306,6 +317,8 @@ def package_info(self): self.cpp_info.components["wtmain"].requires.append("openssl::openssl") if self.options.get_safe("with_unwind"): self.cpp_info.components["wtmain"].requires.append("libunwind::libunwind") + if self.options.with_haru: + self.cpp_info.components["wtmain"].requires.append("libharu::libharu") # wttest if self.options.with_test: From 3fd13921873e57fb64a6d17c5f607f7e76f444d2 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 20 Feb 2024 20:27:58 +0900 Subject: [PATCH 1179/1307] (#22729) uwebsockets: add version 20.60.0, remove older versions * uwebsockets: add version 20.59.0, remove older versions * add LANGUAGES in CMakeLists.txt * update 20.60.0 --- recipes/uwebsockets/all/conandata.yml | 18 +++--------------- recipes/uwebsockets/all/conanfile.py | 4 +--- .../all/test_package/CMakeLists.txt | 2 +- recipes/uwebsockets/config.yml | 12 ++---------- 4 files changed, 7 insertions(+), 29 deletions(-) diff --git a/recipes/uwebsockets/all/conandata.yml b/recipes/uwebsockets/all/conandata.yml index 45a3d889c4355..cb3f534499ced 100644 --- a/recipes/uwebsockets/all/conandata.yml +++ b/recipes/uwebsockets/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "20.60.0": + url: "https://github.com/uNetworking/uWebSockets/archive/v20.60.0.tar.gz" + sha256: "eb72223768f93d40038181653ee5b59a53736448a6ff4e8924fd56b2fcdc00db" "20.58.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.58.0.tar.gz" sha256: "f71ca310cc5c39b12f56db1cf85727ee4d0f03fdf019a9e14ef4ba08addc6077" @@ -14,21 +17,6 @@ sources: "20.53.0": url: "https://github.com/uNetworking/uWebSockets/archive/v20.53.0.tar.gz" sha256: "324b857e787a472bd258aaa66f5ceeac6b01ebc41bbb423fff71559d72872783" - "20.51.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.51.0.tar.gz" - sha256: "6794e7895eb8cc182024a0ae482a581eaa82f55f7cca53ae88b30738449f3cb9" - "20.49.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.49.0.tar.gz" - sha256: "c596d6f63554a42397a86233aaa47883db1cad2a231ad8608dbaea165c0910b5" - "20.48.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.48.0.tar.gz" - sha256: "d7455bbbf9829b3960d0478dd36ed0eba82847c4fc801416aaf89ccb7f4dfb85" - "20.47.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.47.0.tar.gz" - sha256: "00641b7cd2ffadd2c505e2a83a2e32bf342f01c2538bf7470f655e707adde31a" - "20.45.0": - url: "https://github.com/uNetworking/uWebSockets/archive/v20.45.0.tar.gz" - sha256: "db7599e9eac0c18b76740e7c391663652e0d7188b992a1a5a8dc28f347f483ec" "19.3.0": url: "https://github.com/uNetworking/uWebSockets/archive/v19.3.0.tar.gz" sha256: "6f709b4e5fe053a94a952da93c07c919b36bcb8c838c69067560ae85f97c5621" diff --git a/recipes/uwebsockets/all/conanfile.py b/recipes/uwebsockets/all/conanfile.py index 374ab9a0e5e74..27af62e1db549 100644 --- a/recipes/uwebsockets/all/conanfile.py +++ b/recipes/uwebsockets/all/conanfile.py @@ -56,9 +56,7 @@ def requirements(self): self.requires("libdeflate/1.19") if Version(self.version) > "20.17.0": - self.requires("usockets/0.8.6") - elif Version(self.version) >= "20.15.0": - self.requires("usockets/0.8.2") + self.requires("usockets/0.8.8") elif Version(self.version) >= "19.0.0": self.requires("usockets/0.8.1") else: diff --git a/recipes/uwebsockets/all/test_package/CMakeLists.txt b/recipes/uwebsockets/all/test_package/CMakeLists.txt index 38145240aeafa..4d46e640ceb5a 100644 --- a/recipes/uwebsockets/all/test_package/CMakeLists.txt +++ b/recipes/uwebsockets/all/test_package/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(test_package) +project(test_package LANGUAGES CXX) find_package(uwebsockets REQUIRED CONFIG) diff --git a/recipes/uwebsockets/config.yml b/recipes/uwebsockets/config.yml index a0a20412a5302..fd6362a846ec1 100644 --- a/recipes/uwebsockets/config.yml +++ b/recipes/uwebsockets/config.yml @@ -1,4 +1,6 @@ versions: + "20.60.0": + folder: all "20.58.0": folder: all "20.57.0": @@ -9,16 +11,6 @@ versions: folder: all "20.53.0": folder: all - "20.51.0": - folder: all - "20.49.0": - folder: all - "20.48.0": - folder: all - "20.47.0": - folder: all - "20.45.0": - folder: all "19.3.0": folder: all "18.3.0": From a1c6c89490c59f5d1b7a7dec0ebf8fa125128283 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 20 Feb 2024 15:23:46 +0200 Subject: [PATCH 1180/1307] (#19298) gdal: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdal: migrate to Conan v2 * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: propagate libjpeg dependency option in graph * gdal/post_3.5.0: migrate to Conan v2, WIP * gdal/post_3.5.0: tidy * gdal/post_3.5.0: adapt ConanFindPackage.cmake to make use of deps.set_properties() for renames * gdal/post_3.5.0: drop v3.5.1 * gdal/post_3.5.0: fix external json-c not being used * gdal/post_3.5.0: update v3.7.0, replace gdal_target_link_libraries everywhere * gdal/post_3.5.0: always use zlib * gdal/post_3.5.0: fix OpenEXR, HDF4, Arrow support * gdal/post_3.5.0: more deps fixes * gdal/post_3.5.0: add libarchive support * gdal/post_3.5.0: add libjxl support * gdal/post_3.5.0: add lerc support * gdal/post_3.5.0: add basisu support * gdal/post_3.5.0: add LZMA support * gdal/post_3.5.0: add pdfium support * gdal/post_3.5.0: add rasterlite2 support * gdal/post_3.5.0: add missing GDAL_USE_*_INTERNAL vars * gdal/post_3.5.0: did not mean to enable rasterlite2 by default * gdal/post_3.5.0: fix rasterlite2 issue * gdal/post_3.5.0: add spatialite support * gdal/post_3.5.0: add external shapelib support * gdal/post_3.5.0: fix typo * gdal/post_3.5.0: make libtiff a required dependency GDAL always requires either an external or internal version of it, so might as well always use the non-vendored one. * gdal/post_3.5.0: make internal-only deps configurable, don't use external shapelib * gdal/post_3.5.0: ignore deprecated options in package_id * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: merge and sort external/internal cmake settings * gdal/post_3.5.0: set GDAL_SET_INSTALL_RELATIVE_RPATH=True * gdal/post_3.5.0: add with_publicdecompwt option * gdal/post_3.5.0: set all recommended and required options to True * gdal/post_3.5.0: proj is not really an optional dependency * gdal/post_3.5.0: separate commercial libs in pkg list * gdal/post_3.5.0: add v3.7.1, simplify patches * gdal/post_3.5.0: downgrade libpq * gdal/post_3.5.0: configure all available GDAL_USE_* variables * gdal/post_3.5.0: prevent any accidental use of system libs * gdal/post_3.5.0: add QUIET to find_package2() * gdal/post_3.5.0: fix libjpeg-turbo support * gdal/post_3.5.0: fix jxl_threads support * gdal: bump deps * gdal: fix shared builds Reverted back to using gdal_target_link_libraries() and fixed a number of issues caused by recursive CMakeDeps targets. * gdal: use version ranges for libcurl and zlib * gdal: fix v5.3.2 patch * gdal: fix includes not being propagated correctly * gdal: Conan v1 issue * gdal: fix linter warnings * gdal: fix patch issue * gdal: bump to 3.7.2 * gdal/post_3.5.0: bump deps * gdal/post_3.5.0: add missing system libs * gdal: add v3.8.0, v3.7.3, v3.5.3, drop old versions * gdal: bump deps * gdal: disable pdfium * gdal: update config.yml * gdal: fix failing compilation checks on MSVC * gdal: downgrade sqlite3 for proj * gdal: fix hdf5 check * gdal: add brunsli support * gdal: add opencl support * gdal: add tiledb * gdal: add ecw support * gdal: bump sqlite3 dependency * gdal: fix brunsli option * gdal: fix gdal data not being packaged Fixes #15660. * gdal: bump deps * gdal: bump to v3.8.1 * gdal: improve patching * gdal: disable libiconv on macOS * gdal: drop ineffective libjpeg-turbo propagation * gdal: bump deps * gdal: add parquet support * gdal: avoid the use of cache_variables * gdal: configure ArrowDataset correctly * gdal: fix ArrowDataset support by version * gdal: fix arrow target name on 3.5 * gdal: disable arrow for v3.5 * gdal: bump to v3.8.2 * gdal: bump arrow * gdal: further mark proprietary deps as such * gdal: add libaec support * gdal: bump proj Co-authored-by: Matthieu Darbois * gdal: add a workaround for iconv() incompatibilities * gdal: fix v3.5.3 URL and related patch * gdal: re-enable libiconv for apple-clang * gdal: add short comments for deprecated options * gdal: libiconv patches can be avoided * gdal: revert 3.5.3 to v3.5.2 due to patching issues * gdal: split two unrelated patches * gdal: fix mistake in patch splitting * gdal: prevent the use of system libs better * gdal: simplify 2-allow-cycles-in-cmake-targets.patch * gdal: bump v3.5.2 -> v3.5.3 * gdal: drop unused import * gdal: bump 3.8.2 -> 3.8.3 * gdal: bump deps * gdal: enable Armadillo * gdal: bump deps * gdal: fix a v3.5.3 CMake bug * gdal: add CMAKE_TRY_COMPILE_CONFIGURATION for try_compile() * Add deprecation warning message * Do not set json-c include folder * fix missing if condition --------- Co-authored-by: Matthieu Darbois Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- recipes/gdal/config.yml | 6 +- recipes/gdal/post_3.5.0/CMakeLists.txt | 105 +- .../post_3.5.0/cmake/ConanFindPackage.cmake | 48 + recipes/gdal/post_3.5.0/conandata.yml | 57 +- recipes/gdal/post_3.5.0/conanfile.py | 1207 ++++++++--------- .../3.5.1/0-replace-find-package.patch | 266 ---- .../3.5.2/0-replace-find-package.patch | 266 ---- .../3.5.3/0-replace-find-package.patch | 74 + .../1-do-not-force-private-linking.patch | 20 + .../2-allow-cycles-in-cmake-targets.patch | 22 + .../3.7.0/0-replace-find-package.patch | 282 ---- .../3.7.3/0-replace-find-package.patch | 64 + .../1-do-not-force-private-linking.patch | 20 + .../3.8.1/0-replace-find-package.patch | 52 + .../post_3.5.0/test_package/CMakeLists.txt | 7 +- .../gdal/post_3.5.0/test_package/conanfile.py | 33 +- .../post_3.5.0/test_v1_package/CMakeLists.txt | 8 + .../post_3.5.0/test_v1_package/conanfile.py | 23 + 18 files changed, 960 insertions(+), 1600 deletions(-) create mode 100644 recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake delete mode 100644 recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch delete mode 100644 recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch delete mode 100644 recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch create mode 100644 recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch create mode 100644 recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt create mode 100644 recipes/gdal/post_3.5.0/test_v1_package/conanfile.py diff --git a/recipes/gdal/config.yml b/recipes/gdal/config.yml index a2ce278d92965..a7240af75cc2e 100644 --- a/recipes/gdal/config.yml +++ b/recipes/gdal/config.yml @@ -1,9 +1,9 @@ versions: - "3.7.0": + "3.8.3": folder: "post_3.5.0" - "3.5.2": + "3.7.3": folder: "post_3.5.0" - "3.5.1": + "3.5.3": folder: "post_3.5.0" "3.4.3": folder: "pre_3.5.0" diff --git a/recipes/gdal/post_3.5.0/CMakeLists.txt b/recipes/gdal/post_3.5.0/CMakeLists.txt index 7c7f67a48db89..1a526ad3ffa0e 100644 --- a/recipes/gdal/post_3.5.0/CMakeLists.txt +++ b/recipes/gdal/post_3.5.0/CMakeLists.txt @@ -1,50 +1,7 @@ cmake_minimum_required(VERSION 3.15) project(gdal_cmake_wrapper) -set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}) -include(conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -include(CMakePushCheckState) - - -if (${GDAL_USE_POPPLER}) - find_package(poppler) - set(Poppler_VERSION_STRING ${poppler_VERSION}) - add_library(Poppler::Poppler ALIAS poppler::libpoppler) -endif() - -file(GLOB CONAN_GENERATED_CMAKE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Find*.cmake") -foreach(CMAKE_FILE ${CONAN_GENERATED_CMAKE_FILES}) - include(${CMAKE_FILE}) -endforeach() - -if (${GDAL_USE_ARROW}) - find_package(Arrow REQUIRED) - add_library(arrow_shared ALIAS arrow::arrow) -endif() - -if (${GDAL_USE_CRYPTOPP}) - find_package(cryptopp REQUIRED) - add_library(CRYPTOPP::CRYPTOPP ALIAS ${TARGET_FOR_CRYPTOPP}) -endif() - -if (${GDAL_USE_DEFLATE}) - find_package(libdeflate REQUIRED) - add_library(Deflate::Deflate ALIAS ${TARGET_FOR_DEFLATE}) -endif() - -if (${GDAL_USE_LZ4}) - find_package(lz4 REQUIRED) - add_library(LZ4::LZ4 ALIAS lz4::lz4) -endif() - -if (${GDAL_USE_BLOSC}) - find_package(c-blosc REQUIRED) - add_library(Blosc::Blosc ALIAS c-blosc::c-blosc) -endif() - -if (${GDAL_USE_OPENEXR}) +if (GDAL_USE_OPENEXR) find_package(Imath REQUIRED) find_package(OpenEXR REQUIRED) add_library(OpenEXR::IlmImf ALIAS OpenEXR::IlmThread) @@ -56,62 +13,4 @@ if (${GDAL_USE_OPENEXR}) target_include_directories(OpenEXR::OpenEXR INTERFACE ${OpenEXR_INCLUDE_DIR}) endif() -if (${GDAL_USE_FREEXL}) - find_package(freexl REQUIRED) - add_library(FREEXL::freexl ALIAS freexl::freexl) -endif() - -if (${GDAL_USE_OPENJPEG}) - add_library(OPENJPEG::OpenJPEG ALIAS OpenJPEG::OpenJPEG) -endif() - -if (${GDAL_USE_GIF}) - find_package(GIF REQUIRED) -endif() - -if (${GDAL_USE_CFITSIO}) - find_package(cfitsio) - add_library(CFITSIO::CFITSIO ALIAS cfitsio::cfitsio) -endif() - -if (${GDAL_USE_SQLITE3}) - find_package(SQLite3) -endif() - -if (${GDAL_USE_LIBXML2}) - find_package(LibXml2) -endif() - -if (${GDAL_USE_POSTGRESQL}) - find_package(PostgreSQL) - add_library(PostgreSQL::PostgreSQL ALIAS PostgreSQL::pq) -endif() - -if (${GDAL_USE_HDF5}) - find_package(HDF5) - set(HDF5_C_LIBRARIES HDF5::C) -endif() - -if ("${GDAL_CONAN_PACKAGE_FOR_MYSQL}" STREQUAL "libmysqlclient") - find_package(mysql REQUIRED) -endif() -if ("${GDAL_CONAN_PACKAGE_FOR_MYSQL}" STREQUAL "mariadb-connector-c") - find_package(mariadb-connector-c REQUIRED) -endif() - -if (${GDAL_USE_ZLIB}) - find_package(ZLIB) -endif() - -if ("${GDAL_CONAN_PACKAGE_FOR_JPEG}" STREQUAL "libjpeg-turbo") - find_package(libjpeg-turbo REQUIRED) - add_library(JPEG::JPEG ALIAS ${TARGET_FOR_JPEG}) -endif() - -if (${GDAL_USE_PCRE2}) - find_package(PCRE2 REQUIRED) - add_library(PCRE2::PCRE2-8 ALIAS PCRE2::8BIT) -endif() - - -add_subdirectory("source_subfolder") +add_subdirectory(src) diff --git a/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake new file mode 100644 index 0000000000000..cc5455d748073 --- /dev/null +++ b/recipes/gdal/post_3.5.0/cmake/ConanFindPackage.cmake @@ -0,0 +1,48 @@ +function(define_find_package2 pkgname include_file library_name) +endfunction() +function(find_package2 pkgname) + # Remove args unsupported by find_package() + list(REMOVE_ITEM ARGN OUT_DEPENDENCY _find_dependency) + # Force CONFIG mode + list(REMOVE_ITEM ARGN MODULE NO_CONFIG NO_MODULE) + string(TOUPPER ${pkgname} key) + if(DEFINED GDAL_USE_${key} AND NOT GDAL_USE_${key}) + set(${pkgname}_FOUND) + set(${key}_FOUND) + return() + endif() + find_package(${pkgname} ${ARGN} + QUIET + CONFIG + GLOBAL + # Forbid the use of system libs entirely + NO_DEFAULT_PATH + PATHS ${CMAKE_PREFIX_PATH} + ) + # Add variables with upper-case package name in addition to the default ones + set(targets "") + foreach(lib ${${pkgname}_LIBRARIES}) + if(TARGET ${lib}) + list(APPEND targets ${lib}) + endif() + endforeach() + # Add upper-case variables + set(${key}_DEFINITIONS "${${pkgname}_DEFINITIONS}" CACHE STRING "") + set(${key}_FOUND ${${pkgname}_FOUND} CACHE BOOL "") + set(${key}_INCLUDE_DIR "${${pkgname}_INCLUDE_DIR}" CACHE STRING "") + set(${key}_INCLUDE_DIRS "${${pkgname}_INCLUDE_DIRS}" CACHE STRING "") + set(${key}_LIBRARIES "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${key}_LIBRARY "${${pkgname}_LIBRARIES}" CACHE STRING "") + set(${key}_TARGET "${targets}" CACHE STRING "") + set(${key}_VERSION ${${pkgname}_VERSION} CACHE BOOL "") + + # Add as cache vars for global visibility + 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}") + message(STATUS " ${key}_LIBRARIES: ${${key}_LIBRARIES}") + message(STATUS " ${key}_INCLUDE_DIRS: ${${key}_INCLUDE_DIRS}") +endfunction() diff --git a/recipes/gdal/post_3.5.0/conandata.yml b/recipes/gdal/post_3.5.0/conandata.yml index 6ac086393ccfd..159958b913d13 100644 --- a/recipes/gdal/post_3.5.0/conandata.yml +++ b/recipes/gdal/post_3.5.0/conandata.yml @@ -1,20 +1,41 @@ sources: - "3.7.0": - url: "https://github.com/OSGeo/gdal/releases/download/v3.7.0/gdal-3.7.0.tar.gz" - sha256: "5a806d759f403a15bbbf8a14ecc6947071afc5ab91e5abaef0d11d1d2d16bf94" - "3.5.2": - url: "https://github.com/OSGeo/gdal/releases/download/v3.5.2/gdal-3.5.2.tar.gz" - sha256: "fbd696e1b2a858fbd2eb3718db16b14ed9ba82521d3578770d480c74fe1146d2" - "3.5.1": - url: "https://github.com/OSGeo/gdal/releases/download/v3.5.1/gdal-3.5.1.tar.gz" - sha256: "7c4406ca010dc8632703a0a326f39e9db25d9f1f6ebaaeca64a963e3fac123d1" + "3.8.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.8.3/gdal-3.8.3.tar.gz" + sha256: "f7a30387a8239e9da26200f787a02136df2ee6473e86b36d05ad682761a049ea" + "3.7.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.7.3/gdal-3.7.3.tar.gz" + sha256: "f66161e10b8b89a8a541cd760cd36d490114ed3f020a26db1489a6154db5d2be" + "3.5.3": + url: "https://github.com/OSGeo/gdal/releases/download/v3.5.3/gdal-3.5.3.tar.gz" + sha256: "a9ea0300d17e35bab71df4f16e62bb2fb8081caf994ab3ee0502ce4cf0d4e593" patches: - "3.7.0": - - patch_file: "patches/3.7.0/0-replace-find-package.patch" - base_path: "source_subfolder" - "3.5.2": - - patch_file: "patches/3.5.2/0-replace-find-package.patch" - base_path: "source_subfolder" - "3.5.1": - - patch_file: "patches/3.5.1/0-replace-find-package.patch" - base_path: "source_subfolder" + "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" + 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.7.3": + - patch_file: "patches/3.7.3/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.5.3": + - patch_file: "patches/3.5.3/0-replace-find-package.patch" + patch_description: "Use custom version of find_package() for Conan deps" + patch_type: "conan" + - patch_file: "patches/3.5.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" diff --git a/recipes/gdal/post_3.5.0/conanfile.py b/recipes/gdal/post_3.5.0/conanfile.py index 3e0847981c026..49c2e7d3e5d6e 100644 --- a/recipes/gdal/post_3.5.0/conanfile.py +++ b/recipes/gdal/post_3.5.0/conanfile.py @@ -1,43 +1,42 @@ +import os + from conan import ConanFile -from conan.tools.apple import fix_apple_shared_install_name -from conan.tools.files import apply_conandata_patches, get, files from conan.errors import ConanInvalidConfiguration -from conans import CMake -import functools -import os +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.microsoft import is_msvc +from conan.tools.scm import Version + +required_conan_version = ">=1.52.0" + class GdalConan(ConanFile): name = "gdal" description = "GDAL is an open source X/MIT licensed translator library " \ "for raster and vector geospatial data formats." license = "MIT" - topics = ("osgeo", "geospatial", "raster", "vector") - homepage = "https://github.com/OSGeo/gdal" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/OSGeo/gdal" + topics = ("osgeo", "geospatial", "raster", "vector") + package_type = "library" settings = "os", "arch", "compiler", "build_type" - - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - # A list of gdal dependencies can be taken from cmake/helpers/CheckDependentLibraries.cmake - # within gdal sources with the command: - # grep -E '^[ \t]*gdal_check_package\(' cmake/helpers/CheckDependentLibraries.cmake \ - # | sed 's/[ \t]*gdal_check_package(\([a-zA-Z_0-9]\+\) "\(.*\)"\(.*\)/{ 'dep': \'\1\', 'descr': \'\2\' },/' \ - # | sort | uniq - options = { "shared": [True, False], "fPIC": [True, False], "tools": [True, False], "with_armadillo": [True, False], "with_arrow": [True, False], + "with_basisu": [True, False], "with_blosc": [True, False], + "with_brunsli": [True, False], "with_cfitsio": [True, False], # with_cypto option has been renamed with_openssl in version 3.5.1 - "with_crypto": [True, False, "deprecated"], + "with_crypto": ["deprecated", True, False], "with_cryptopp": [True, False], "with_curl": [True, False], "with_dds": [True, False], + "with_ecw": [True, False], "with_expat": [True, False], "with_exr": [True, False], "with_freexl": [True, False], @@ -47,48 +46,64 @@ class GdalConan(ConanFile): "with_hdf4": [True, False], "with_hdf5": [True, False], "with_heif": [True, False], + "with_jpeg": [False, "libjpeg", "libjpeg-turbo"], + "with_jxl": [True, False], "with_kea": [True, False], + "with_lerc": [True, False], + "with_libaec": [True, False], + "with_libarchive": [True, False], + "with_libcsf": [True, False], "with_libdeflate": [True, False], "with_libiconv": [True, False], - "with_jpeg": [None, "libjpeg", "libjpeg-turbo"], "with_libkml": [True, False], - "with_libtiff": [True, False], + "with_libtiff": ["deprecated", True, False], # always enabled + "with_lzma": [True, False], "with_lz4": [True, False], "with_mongocxx": [True, False], - "with_mysql": [None, "libmysqlclient", "mariadb-connector-c"], + "with_mysql": [False, "libmysqlclient", "mariadb-connector-c"], "with_netcdf": [True, False], "with_odbc": [True, False], + "with_opencad": [True, False], + "with_opencl": [True, False], "with_openjpeg": [True, False], "with_openssl": [True, False], "with_pcre": [True, False], "with_pcre2": [True, False], + # "with_pdfium": [True, False], "with_pg": [True, False], "with_png": [True, False], "with_podofo": [True, False], "with_poppler": [True, False], - "with_proj": [True, False], + "with_proj": ["deprecated", True, False], # always enabled + "with_publicdecompwt": [True, False], "with_qhull": [True, False], + "with_rasterlite2": [True, False], + "with_shapelib": [True, False], + "with_spatialite": [True, False], "with_sqlite3": [True, False], + "with_tiledb": [True, False], "with_webp": [True, False], "with_xerces": [True, False], "with_xml2": [True, False], - "with_zlib": [True, False], + "with_zlib": ["deprecated", True, False], # always enabled "with_zstd": [True, False], } - default_options = { "shared": False, "fPIC": True, "tools": False, "with_armadillo": False, - "with_arrow": False, + "with_arrow": True, + "with_basisu": False, "with_blosc": False, + "with_brunsli": False, "with_cfitsio": False, "with_crypto": "deprecated", "with_cryptopp": False, - "with_curl": False, + "with_curl": True, "with_dds": False, - "with_expat": False, + "with_ecw": False, + "with_expat": True, "with_exr": False, "with_freexl": False, "with_geos": True, @@ -97,215 +112,220 @@ class GdalConan(ConanFile): "with_hdf4": False, "with_hdf5": False, "with_heif": False, + "with_jpeg": "libjpeg", + "with_jxl": False, "with_kea": False, + "with_lerc": True, + "with_libaec": False, + "with_libarchive": False, + "with_libcsf": True, "with_libdeflate": True, "with_libiconv": True, - "with_jpeg": "libjpeg", "with_libkml": False, - "with_libtiff": True, + "with_libtiff": "deprecated", + "with_lzma": False, "with_lz4": False, "with_mongocxx": False, - "with_mysql": None, + "with_mysql": False, "with_netcdf": False, "with_odbc": False, + "with_opencad": False, + "with_opencl": True, "with_openjpeg": False, "with_openssl": False, "with_pcre": False, "with_pcre2": False, + # "with_pdfium": False, "with_pg": False, "with_png": True, "with_podofo": False, "with_poppler": False, - "with_proj": True, + "with_proj": "deprecated", + "with_publicdecompwt": False, "with_qhull": True, + "with_rasterlite2": False, + "with_shapelib": True, + "with_spatialite": False, "with_sqlite3": True, + "with_tiledb": False, "with_webp": False, "with_xerces": False, "with_xml2": False, - "with_zlib": True, + "with_zlib": "deprecated", "with_zstd": False, } - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + export_conandata_patches(self) + copy(self, "*.cmake", + src=os.path.join(self.recipe_folder, "cmake"), + dst=os.path.join(self.export_sources_folder, "src", "cmake", "helpers")) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "3.7": + # Latest versions of Arrow are no longer compatible with GDAL 3.5 + self.options.with_arrow = False + if Version(self.version) < "3.8": + del self.options.with_libaec def configure(self): - if self.options.with_crypto != "deprecated": - self.output.error("with_crypto option is deprecated, use with_openssl instead.") - if self.options.shared: - try: - del self.options.fPIC - except: - pass + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") def requirements(self): - self.requires("json-c/0.16") + self.requires("json-c/0.17") self.requires("libgeotiff/1.7.1") - + self.requires("libtiff/4.6.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) if self.options.with_armadillo: - self.requires("armadillo/10.7.3") - + self.requires("armadillo/12.6.4") if self.options.with_arrow: - self.requires("arrow/8.0.1") - + self.requires("arrow/14.0.2") + if self.options.with_basisu: + self.requires("libbasisu/1.15.0") if self.options.with_blosc: - self.requires("c-blosc/1.21.1") - + self.requires("c-blosc/1.21.5") + if self.options.with_brunsli: + self.requires("brunsli/cci.20231024") if self.options.with_cfitsio: - self.requires("cfitsio/4.1.0") - + self.requires("cfitsio/4.3.1") if self.options.with_cryptopp: - self.requires("cryptopp/8.7.0") - + self.requires("cryptopp/8.9.0") if self.options.with_curl: - self.requires("libcurl/8.2.0") - + self.requires("libcurl/[>=7.78 <9]") if self.options.with_dds: self.requires("crunch/cci.20190615") - + if self.options.with_ecw: + self.requires("libecwj2/3.3") if self.options.with_expat: self.requires("expat/2.5.0") - if self.options.with_exr: - self.requires("openexr/3.1.9") + self.requires("openexr/3.2.1") self.requires("imath/3.1.9") - if self.options.with_freexl: - self.requires("freexl/1.0.6") - + self.requires("freexl/2.0.0") if self.options.with_geos: - self.requires("geos/3.11.1") - + self.requires("geos/3.12.0") if self.options.with_gif: self.requires("giflib/5.2.1") - if self.options.with_gta: self.requires("libgta/1.2.1") - if self.options.with_hdf4: - self.requires("hdf4/4.2.15") - + self.requires("hdf4/4.2.16-2") if self.options.with_hdf5: - self.requires("hdf5/1.13.1") - + self.requires("hdf5/1.14.3") if self.options.with_heif: - self.requires("libheif/1.13.0") - + self.requires("libheif/1.16.2") if self.options.with_jpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_jpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - + self.requires("libjpeg-turbo/3.0.1") + if self.options.with_jxl: + self.requires("libjxl/0.6.1") if self.options.with_kea: self.requires("kealib/1.4.14") - + 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") if self.options.with_libdeflate: - self.requires("libdeflate/1.18") - + self.requires("libdeflate/1.19") if self.options.with_libiconv: self.requires("libiconv/1.17") - if self.options.with_libkml: self.requires("libkml/1.3.0") - - if self.options.with_libtiff: - self.requires("libtiff/4.5.1") - + if self.options.with_lzma: + self.requires("xz_utils/5.4.5") if self.options.with_lz4: self.requires("lz4/1.9.4") - if self.options.with_mongocxx: - self.requires("mongo-cxx-driver/3.6.7") - + self.requires("mongo-cxx-driver/3.8.1") if self.options.with_mysql == "libmysqlclient": - self.requires("libmysqlclient/8.0.30") + self.requires("libmysqlclient/8.1.0") elif self.options.with_mysql == "mariadb-connector-c": - self.requires("mariadb-connector-c/3.1.12") - + self.requires("mariadb-connector-c/3.3.3") if self.options.with_netcdf: self.requires("netcdf/4.8.1") - if self.options.with_odbc: self.requires("odbc/2.3.11") - + if self.options.with_opencl: + self.requires("opencl-icd-loader/2023.12.14") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") - if self.options.with_openssl: - self.requires("openssl/1.1.1u") - + 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") - + # 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: - self.requires("libpq/14.5") - + # libpq 15+ is not supported + self.requires("libpq/14.9") if self.options.with_png: self.requires("libpng/1.6.40") - if self.options.with_podofo: self.requires("podofo/0.9.7") - if self.options.with_poppler: self.requires("poppler/21.07.0") - - if self.options.with_proj: - self.requires("proj/9.1.1") - if self.options.with_qhull: self.requires("qhull/8.0.1") - + if self.options.with_rasterlite2: + self.requires("librasterlite2/1.1.0-beta1") + if self.options.with_spatialite: + self.requires("libspatialite/5.0.1") if self.options.with_sqlite3: - self.requires("sqlite3/3.42.0") - + self.requires("sqlite3/3.44.2") + if self.options.with_tiledb: + self.requires("tiledb/2.17.4") if self.options.with_webp: - self.requires("libwebp/1.3.1") - + self.requires("libwebp/1.3.2") if self.options.with_xerces: - self.requires("xerces-c/3.2.3") - + self.requires("xerces-c/3.2.5") if self.options.with_xml2: - self.requires("libxml2/2.10.3") - - if self.options.with_zlib: - self.requires("zlib/1.2.13") - + 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. + # https://github.com/OSGeo/gdal/issues/5711 + # if self.options.with_shapelib: + # self.requires("shapelib/1.6.0") def build_requirements(self): # https://github.com/conan-io/conan/issues/3482#issuecomment-662284561 self.tool_requires("cmake/[>=3.18 <4]") def package_id(self): + # Ignore deprecated options del self.info.options.with_crypto + del self.info.options.with_libtiff + del self.info.options.with_proj + del self.info.options.with_zlib def validate(self): - if self.options.get_safe("with_pcre") and self.options.get_safe("with_pcre2"): + for option in ["crypto", "zlib", "proj", "libtiff"]: + if self.options.get_safe(f"with_{option}") != "deprecated": + self.output.warning(f"{self.ref}:with_{option} option is deprecated. The {option} dependecy is always enabled now.") + if self.options.with_pcre and self.options.with_pcre2: raise ConanInvalidConfiguration("Enable either pcre or pcre2, not both") - if self.options.get_safe("with_sqlite3") and not self.options["sqlite3"].enable_column_metadata: + if self.options.with_sqlite3 and not self.dependencies["sqlite3"].options.enable_column_metadata: raise ConanInvalidConfiguration("gdql requires sqlite3:enable_column_metadata=True") - if self.options.get_safe("with_libtiff") and self.options["libtiff"].jpeg != self.options.get_safe("with_jpeg"): + if self.dependencies["libtiff"].options.jpeg != self.options.with_jpeg: msg = "libtiff:jpeg and gdal:with_jpeg must be set to the same value, either libjpeg or libjpeg-turbo." # For some reason, the ConanInvalidConfiguration message is not shown, only # ERROR: At least two recipes provides the same functionality: @@ -314,591 +334,488 @@ def validate(self): self.output.error(msg) raise ConanInvalidConfiguration(msg) - if self.options.get_safe("with_poppler") and self.options["poppler"].with_libjpeg != self.options.get_safe("with_jpeg"): + if self.options.with_poppler and self.dependencies["poppler"].options.with_libjpeg != self.options.with_jpeg: msg = "poppler:with_libjpeg and gdal:with_jpeg must be set to the same value, either libjpeg or libjpeg-turbo." self.output.error(msg) raise ConanInvalidConfiguration(msg) def source(self): - get(self, **self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) - - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) - - if self.options.get_safe("fPIC", True): - cmake.definitions[ - "GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE"] = True - - cmake.definitions["BUILD_JAVA_BINDINGS"] = False - cmake.definitions["BUILD_CSHARP_BINDINGS"] = False - cmake.definitions["BUILD_PYTHON_BINDINGS"] = False - - cmake.definitions["BUILD_TESTING"] = False - cmake.definitions["GDAL_USE_ZLIB_INTERNAL"] = False - cmake.definitions["GDAL_USE_JSONC_INTERNAL"] = False - cmake.definitions["GDAL_USE_JPEG_INTERNAL"] = False - cmake.definitions["GDAL_USE_JPEG12_INTERNAL"] = False - cmake.definitions["GDAL_USE_TIFF_INTERNAL"] = False - cmake.definitions["GDAL_USE_GEOTIFF_INTERNAL"] = False - cmake.definitions["GDAL_USE_GIF_INTERNAL"] = False - cmake.definitions["GDAL_USE_PNG_INTERNAL"] = False - - cmake.definitions["GDAL_USE_LERC_INTERNAL"] = True - cmake.definitions["GDAL_USE_SHAPELIB_INTERNAL"] = True - - cmake.definitions["BUILD_APPS"] = self.options.tools - - cmake.definitions["SQLite3_HAS_COLUMN_METADATA"] = \ - self.options["sqlite3"].enable_column_metadata - - cmake.definitions["SQLite3_HAS_RTREE"] = self.options[ - "sqlite3"].enable_rtree - - cmake.definitions["GDAL_USE_JSONC"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_JSONC"] = "json-c" - - cmake.definitions["GDAL_USE_GEOTIFF"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GEOTIFF"] = "libgeotiff" - cmake.definitions["TARGET_FOR_GEOTIFF"] = "GeoTIFF::GeoTIFF" - - cmake.definitions["GDAL_USE_ARMADILLO"] = self.options.with_armadillo - if self.options.with_armadillo: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ARMADILLO"] = "armadillo" - cmake.definitions["TARGET_FOR_ARMADILLO"] = \ - self.dependencies["armadillo"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Armadillo_FOUND"] = False - - cmake.definitions["GDAL_USE_ARROW"] = self.options.with_arrow - if self.options.with_arrow: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ARROW"] = "arrow" - cmake.definitions["TARGET_FOR_ARROW"] = \ - self.dependencies["arrow"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Arrow_FOUND"] = False - - cmake.definitions["GDAL_USE_BLOSC"] = self.options.with_blosc - if self.options.with_blosc: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_BLOSC"] = "c-blosc" - cmake.definitions["TARGET_FOR_BLOSC"] = \ - self.dependencies["c-blosc"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Blosc_FOUND"] = False - - cmake.definitions["GDAL_USE_CFITSIO"] = self.options.with_cfitsio - if self.options.with_cfitsio: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CFITSIO"] = "cfitsio" - cmake.definitions["TARGET_FOR_CFITSIO"] = \ - self.dependencies["cfitsio"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CFITSIO_FOUND"] = False - - cmake.definitions["GDAL_USE_CRYPTOPP"] = self.options.with_cryptopp - if self.options.with_cryptopp: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CRYPTOPP"] = "cryptopp" - cmake.definitions["TARGET_FOR_CRYPTOPP"] = \ - self.dependencies["cryptopp"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CryptoPP_FOUND"] = False - - cmake.definitions["GDAL_USE_CURL"] = self.options.with_curl - if self.options.with_curl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CURL"] = "libcurl" - cmake.definitions["TARGET_FOR_CURL"] = \ - self.dependencies["libcurl"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["CURL_FOUND"] = False - - cmake.definitions["GDAL_USE_CRNLIB"] = self.options.with_dds - if self.options.with_dds: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_CRNLIB"] = "crunch" - cmake.definitions["TARGET_FOR_CRNLIB"] = \ - self.dependencies["crunch"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Crnlib_FOUND"] = False - - cmake.definitions["GDAL_USE_EXPAT"] = self.options.with_expat - if self.options.with_expat: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_EXPAT"] = "expat" - cmake.definitions["TARGET_FOR_EXPAT"] = "EXPAT::EXPAT" - else: - cmake.definitions["EXPAT_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENEXR"] = self.options.with_exr - if self.options.with_exr: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENEXR"] = "openexr" - cmake.definitions["TARGET_FOR_OPENEXR"] = \ - self.dependencies["openexr"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OpenEXR_FOUND"] = False - - cmake.definitions["GDAL_USE_FREEXL"] = self.options.with_freexl - if self.options.with_freexl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_FREEXL"] = "freexl" - cmake.definitions["TARGET_FOR_FREEXL"] = "freexl::freexl" - else: - cmake.definitions["FreeXL_FOUND"] = False - - cmake.definitions["GDAL_USE_GEOS"] = self.options.with_geos - if self.options.with_geos: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GEOS"] = "geos" - cmake.definitions["TARGET_FOR_GEOS"] = \ - self.dependencies["geos"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GEOS_FOUND"] = False - - cmake.definitions["GDAL_USE_GIF"] = self.options.with_gif - if self.options.with_gif: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GIF"] = "giflib" - cmake.definitions["TARGET_FOR_GIF"] = \ - self.dependencies["giflib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GIF_FOUND"] = False - - cmake.definitions["GDAL_USE_GTA"] = self.options.with_gta - if self.options.with_gta: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_GTA"] = "libgta" - cmake.definitions["TARGET_FOR_GTA"] = \ - self.dependencies["libgta"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["GTA_FOUND"] = False - - cmake.definitions["GDAL_USE_HDF4"] = self.options.with_hdf4 - if self.options.with_hdf4: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HDF4"] = "hdf4" - cmake.definitions["TARGET_FOR_HDF4"] = \ - self.dependencies["hdf4"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HDF4_FOUND"] = False - - cmake.definitions["GDAL_USE_HDF5"] = self.options.with_hdf5 - if self.options.with_hdf5: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HDF5"] = "hdf5" - cmake.definitions["TARGET_FOR_HDF5"] = \ - self.dependencies["hdf5"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HDF5_FOUND"] = False - - cmake.definitions["GDAL_USE_HEIF"] = self.options.with_heif - if self.options.with_heif: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_HEIF"] = "libheif" - cmake.definitions["TARGET_FOR_HEIF"] = \ - self.dependencies["libheif"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["HEIF_FOUND"] = False - - cmake.definitions["GDAL_USE_KEA"] = self.options.with_kea - if self.options.with_kea: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_KEA"] = "kealib" - cmake.definitions["TARGET_FOR_KEA"] = \ - self.dependencies["kealib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["KEA_FOUND"] = False - - cmake.definitions["GDAL_USE_DEFLATE"] = self.options.with_libdeflate - if self.options.with_libdeflate: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_DEFLATE"] = "libdeflate" - cmake.definitions["TARGET_FOR_DEFLATE"] = \ - self.dependencies["libdeflate"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Deflate_FOUND"] = False - - cmake.definitions["GDAL_USE_ICONV"] = self.options.with_libiconv - if self.options.with_libiconv: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ICONV"] = "libiconv" - cmake.definitions["TARGET_FOR_ICONV"] = \ - self.dependencies["libiconv"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Iconv_FOUND"] = False - - if self.options.with_jpeg == "libjpeg" or self.options.with_jpeg == "libjpeg-turbo": - print(f'self.options.with_jpeg: {self.options.with_jpeg}') - cmake.definitions["GDAL_USE_JPEG"] = True - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_JPEG"] = self.options.with_jpeg - cmake.definitions["TARGET_FOR_JPEG"] = ( - "JPEG::JPEG" if self.options.with_jpeg == "libjpeg" else - self.dependencies["libjpeg-turbo"].cpp_info.components["turbojpeg"] \ - .get_property("cmake_target_name")) - else: - cmake.definitions["JPEG_FOUND"] = False - - cmake.definitions["GDAL_USE_LIBKML"] = self.options.with_libkml - if self.options.with_libkml: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LIBKML"] = "libkml" - cmake.definitions["TARGET_FOR_LIBKML"] = \ - self.dependencies["libkml"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LibKML_FOUND"] = False - - cmake.definitions["GDAL_USE_TIFF"] = self.options.with_libtiff - if self.options.with_libtiff: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_TIFF"] = "libtiff" - cmake.definitions["TARGET_FOR_TIFF"] = \ - self.dependencies["libtiff"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["TIFF_FOUND"] = False - - cmake.definitions["GDAL_USE_LZ4"] = self.options.with_lz4 - if self.options.with_lz4: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LZ4"] = "lz4" - cmake.definitions["TARGET_FOR_LZ4"] = \ - self.dependencies["lz4"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LZ4_FOUND"] = False - - cmake.definitions["GDAL_USE_MONGOCXX"] = self.options.with_mongocxx - if self.options.with_mongocxx: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_MONGOCXX"] = "mongo-cxx-driver" - cmake.definitions["TARGET_FOR_MONGOCXX"] = \ - self.dependencies["mongo-cxx-driver"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["MONGOCXX_FOUND"] = False - - if self.options.with_mysql == "libmysqlclient" or self.options.with_mysql == "mariadb-connector-c": - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_MYSQL"] = str(self.options.with_mysql) - cmake.definitions["TARGET_FOR_MYSQL"] = \ - "mariadb-connector-c::mariadb-connector-c" \ - if self.options.with_mysql == "mariadb-connector-c" \ - else "libmysqlclient::libmysqlclient" - else: - cmake.definitions["MYSQL_FOUND"] = False - - cmake.definitions["GDAL_USE_NETCDF"] = self.options.with_netcdf - if self.options.with_netcdf: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_NETCDF"] = "netcdf" - cmake.definitions["TARGET_FOR_NETCDF"] = \ - self.dependencies["netcdf"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["NetCDF_FOUND"] = False - - cmake.definitions["GDAL_USE_ODBC"] = self.options.with_odbc - if self.options.with_odbc: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ODBC"] = "odbc" - cmake.definitions["TARGET_FOR_ODBC"] = \ - self.dependencies["odbc"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ODBC_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENJPEG"] = self.options.with_openjpeg - if self.options.with_openjpeg: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENJPEG"] = "openjpeg" - cmake.definitions["TARGET_FOR_OPENJPEG"] = \ - self.dependencies["openjpeg"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OPENJPEG_FOUND"] = False - - cmake.definitions["GDAL_USE_OPENSSL"] = self.options.with_openssl - if self.options.with_openssl: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_OPENSSL"] = "openssl" - cmake.definitions["TARGET_FOR_OPENSSL"] = \ - self.dependencies["openssl"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["OpenSSL_FOUND"] = False - - cmake.definitions["GDAL_USE_PCRE"] = self.options.with_pcre - if self.options.with_pcre: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PCRE"] = "pcre" - cmake.definitions["TARGET_FOR_PCRE"] = \ - self.dependencies["pcre"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PCRE_FOUND"] = False - - cmake.definitions["GDAL_USE_PCRE2"] = self.options.with_pcre2 - if self.options.with_pcre2: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PCRE2"] = "pcre2" - cmake.definitions["TARGET_FOR_PCRE2"] = \ - self.dependencies["pcre2"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PCRE2_FOUND"] = False - - cmake.definitions["GDAL_USE_PDFIUM"] = False - cmake.definitions["PDFIUM_FOUND"] = False - - cmake.definitions["GDAL_USE_POSTGRESQL"] = self.options.with_pg - if self.options.with_pg: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_POSTGRESQL"] = "libpq" - cmake.definitions["TARGET_FOR_POSTGRESQL"] = \ - self.dependencies["libpq"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PostgreSQL_FOUND"] = False - - cmake.definitions["GDAL_USE_PNG"] = self.options.with_png - if self.options.with_png: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PNG"] = "libpng" - cmake.definitions["TARGET_FOR_PNG"] = \ - self.dependencies["libpng"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PNG_FOUND"] = False - - cmake.definitions["GDAL_USE_PODOFO"] = self.options.with_podofo - if self.options.with_podofo: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PODOFO"] = "podofo" - cmake.definitions["TARGET_FOR_PODOFO"] = \ - self.dependencies["podofo"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Podofo_FOUND"] = False - - cmake.definitions["GDAL_USE_POPPLER"] = self.options.with_poppler - if self.options.with_poppler: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_POPPLER"] = "poppler" - cmake.definitions["TARGET_FOR_POPPLER"] = \ - self.dependencies["poppler"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["Poppler_FOUND"] = False - - cmake.definitions["GDAL_USE_PROJ"] = self.options.with_proj - if self.options.with_proj: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_PROJ"] = "proj" - cmake.definitions["TARGET_FOR_PROJ"] = \ - self.dependencies["proj"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["PROJ_FOUND"] = False - - cmake.definitions["GDAL_USE_QHULL"] = self.options.with_qhull - if self.options.with_qhull: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_QHULL"] = "qhull" - cmake.definitions["TARGET_FOR_QHULL"] = \ - self.dependencies["qhull"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["QHULL_FOUND"] = False - - cmake.definitions["GDAL_USE_SQLITE3"] = self.options.with_sqlite3 + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + 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["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 + + # 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 + # https://github.com/OSGeo/gdal/blob/v3.8.1/cmake/modules/packages/FindSQLite3.cmake if self.options.with_sqlite3: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_SQLITE3"] = "sqlite3" - cmake.definitions["TARGET_FOR_SQLITE3"] = \ - self.dependencies["sqlite3"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["SQLite3_FOUND"] = False - - cmake.definitions["GDAL_USE_WEBP"] = self.options.with_webp - if self.options.with_webp: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_WEBP"] = "libwebp" - cmake.definitions["TARGET_FOR_WEBP"] = \ - self.dependencies["libwebp"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["WebP_FOUND"] = False - - cmake.definitions["GDAL_USE_XERCESC"] = self.options.with_xerces - if self.options.with_xerces: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_XERCESC"] = "xerces-c" - cmake.definitions["TARGET_FOR_XERCESC"] = \ - self.dependencies["xerces-c"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["XercesC_FOUND"] = False - - cmake.definitions["GDAL_USE_LIBXML2"] = self.options.with_xml2 - if self.options.with_xml2: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_LIBXML2"] = "libxml2" - cmake.definitions["TARGET_FOR_LIBXML2"] = \ - self.dependencies["libxml2"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["LibXml2_FOUND"] = False - - cmake.definitions["GDAL_USE_ZLIB"] = self.options.with_zlib - if self.options.with_zlib: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ZLIB"] = "zlib" - cmake.definitions["TARGET_FOR_ZLIB"] = \ - self.dependencies["zlib"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ZLIB_FOUND"] = False - - cmake.definitions["GDAL_USE_ZSTD"] = self.options.with_zstd - if self.options.with_zstd: - cmake.definitions["GDAL_CONAN_PACKAGE_FOR_ZSTD"] = "zstd" - cmake.definitions["TARGET_FOR_ZSTD"] = \ - self.dependencies["zstd"].cpp_info.get_property("cmake_target_name") - else: - cmake.definitions["ZSTD_FOUND"] = False - - - for k, v in cmake.definitions.items(): - print(k, " = ", v) - - cmake.configure(build_folder=self._build_subfolder) - return cmake - - def build(self): + 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.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")) + ) + # 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" + ) + # 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")) + ) + # 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" + ) + # 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.generate() + + + deps = CMakeDeps(self) + # https://gdal.org/development/building_from_source.html#cmake-package-dependent-options + # Based on `grep -hPIR '(gdal_check_package|find_package2)\(' ~/.conan2/p/b/gdal*/b/src/cmake | sort -u` + conan_to_cmake_pkg_name = { + "armadillo": "Armadillo", + "arrow": "Arrow", + "brunsli": "BRUNSLI", + "c-blosc": "Blosc", + "cfitsio": "CFITSIO", + "crunch": "Crnlib", + "cryptopp": "CryptoPP", + "expat": "EXPAT", + "freexl": "FreeXL", + # "fyba": "FYBA", + "geos": "GEOS", + "giflib": "GIF", + "hdf4": "HDF4", + "hdf5": "HDF5", + # "hdfs": "HDFS", + "json-c": "JSONC", + "kealib": "KEA", + "lerc": "LERC", + "libaec": "LIBAEC", + "libarchive": "ARCHIVE", + "libbasisu": "basisu", + # "libcsf": "LIBCSF", + "libcurl": "CURL", + "libdeflate": "Deflate", + "libecwj2": "ECW", + "libgeotiff": "GeoTIFF", + "libgta": "GTA", + "libheif": "HEIF", + "libiconv": "Iconv", + "libjpeg": "JPEG", + "libjpeg-turbo": "JPEG", + "libjxl": "JXL", + "libkml": "LibKML", + "libmysqlclient": "MySQL", + "libpng": "PNG", + "libpq": "PostgreSQL", + # "libqb3": "libQB3", + "librasterlite2": "RASTERLITE2", + "libspatialite": "SPATIALITE", + "libtiff": "TIFF", + "libwebp": "WebP", + "libxml2": "LibXml2", + "lz4": "LZ4", + "mariadb-connector-c": "MySQL", + "mongo-cxx-driver": "MONGOCXX", + "netcdf": "NetCDF", + "odbc": "ODBC", + # "odbccpp": "ODBCCPP", + # "ogdi": "OGDI", + # "opencad": "OpenCAD", + "opencl-icd-loader": "OpenCL", + "openexr": "OpenEXR", + "openjpeg": "OpenJPEG", + "openssl": "OpenSSL", + "pcre": "PCRE", + "pcre2": "PCRE2", + "pdfium": "PDFIUM", + "podofo": "Podofo", + "poppler": "Poppler", + "proj": "PROJ", + "qhull": "QHULL", + # "sfcgal": "SFCGAL", + "shapelib": "Shapelib", + "sqlite3": "SQLite3", + "tiledb": "TileDB", + "xerces-c": "XercesC", + "xz_utils": "LibLZMA", + "zlib": "ZLIB", + "zstd": "ZSTD", + # Closed-source/proprietary libraries + # "filegdb": "FileGDB", + # "idb": "IDB", + # "kdu": "KDU", + # "luratech": "LURATECH", + # "mrsid": "MRSID", + # "mssql_ncli": "MSSQL_NCLI", + # "mssql_odbc": "MSSQL_ODBC", + # "oracle": "Oracle", + # "rdb": "rdb", + # "teigha": "TEIGHA", + } + for conan_name, cmake_name in conan_to_cmake_pkg_name.items(): + deps.set_property(conan_name, "cmake_find_mode", "config") + deps.set_property(conan_name, "cmake_file_name", cmake_name) + + renamed_targets = { + "arrow::libarrow": "Arrow::arrow_shared" if Version(self.version) >= "3.7" else "arrow_shared", + "arrow::dataset": "ArrowDataset::arrow_dataset_shared", + "arrow::libparquet": "Parquet::parquet_shared", + "brunsli::brunslidec-c": "BRUNSLI::DECODE", + "brunsli::brunslienc-c": "BRUNSLI::ENCODE", + "c-blosc": "Blosc::Blosc", + "cfitsio": "CFITSIO::CFITSIO", + "crunch": "CRNLIB::Crnlib", + "cryptopp": "CRYPTOPP::CRYPTOPP", + "freexl": "FREEXL::freexl", + "geos": "GEOS::GEOS", + "hdf4": "HDF4::HDF4", + "hdfs": "HDFS::HDFS", + "kealib": "KEA::KEA", + "lerc": "LERC::LERC", + "libaec": "LIBAEC::LIBAEC", + "libarchive": "ARCHIVE::ARCHIVE", + "libbasisu": "basisu::basisu_lib", + "libdeflate": "Deflate::Deflate", + "libecwj2": "ECW::ECW_ALL", + "libgeotiff": "GEOTIFF::GEOTIFF", + "libheif": "HEIF::HEIF", + "libjxl::jxl": "JXL::JXL", + "libjxl::jxl_threads": "JXL_THREADS::JXL_THREADS", + "libjpeg": "JPEG::JPEG", + "libjpeg-turbo::jpeg": "JPEG::JPEG", + "libkml::kmldom": "LIBKML::DOM", + "libkml::kmlengine": "LIBKML::ENGINE", + "libkml": "LIBKML::LibKML", + "librasterlite2": "RASTERLITE2::RASTERLITE2", + "libspatialite": "SPATIALITE::SPATIALITE", + "libwebp": "WEBP::WebP", + "lz4": "LZ4::LZ4", + "mongo-cxx-driver::bsoncxx": "MONGOCXX::BSONCXX", + "mongo-cxx-driver::mongocxx": "MONGOCXX::MONGOCXX", + "netcds": "netCDF::netcdf", + "opencl-icd-loader": "OpenCL::OpenCL", + "openjpeg": "OPENJPEG::OpenJPEG", + "pcre": "PCRE::PCRE", + "pcre2::pcre2-8": "PCRE2::PCRE2-8", + "pdfium": "PDFIUM::PDFIUM", + "podofo": "PODOFO::Podofo", + "poppler": "Poppler::Poppler", + "shapelib": "SHAPELIB::shp", + "tiledb": "TileDB::tiledb_shared", + "xz_utils": "LibLZMA::LibLZMA", + "zstd": "ZSTD::zstd", + } + for component, new_target_name in renamed_targets.items(): + deps.set_property(component, "cmake_target_name", new_target_name) + + deps.generate() + + def _patch_sources(self): apply_conandata_patches(self) - cmake = self._configure_cmake() + # Fix Deflate::Deflate not being correctly propagated internally. + replace_in_file(self, os.path.join(self.source_folder, "port", "CMakeLists.txt"), + "PRIVATE Deflate::Deflate", + "PUBLIC Deflate::Deflate") + # Workaround for JXL_THREADS being provided by the JXL package on CCI. + 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": + replace_in_file(self, os.path.join(self.source_folder, "cmake", "helpers", "CheckDependentLibraries.cmake"), + "gdal_check_package(ArrowDataset", "# gdal_check_package(ArrowDataset") + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure(build_script_folder=self.source_path.parent) cmake.build() def package(self): - self.copy("LICENSE.TXT", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.TXT", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() - files.rmdir(self, os.path.join(self.package_folder, "share")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - fix_apple_shared_install_name(self) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + os.rename(os.path.join(self.package_folder, "share"), + os.path.join(self.package_folder, "res")) + rmdir(self, os.path.join(self.package_folder, "res", "bash-completion")) + rmdir(self, os.path.join(self.package_folder, "res", "man")) def package_info(self): - self.cpp_info.set_property("cmake_file_name", "GDAL") self.cpp_info.set_property("cmake_target_name", "GDAL::GDAL") self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("pkg_config_name", "gdal") - self.cpp_info.names["cmake_find_package"] = "GDAL" - self.cpp_info.names["cmake_find_package_multi"] = "GDAL" - self.cpp_info.filenames["cmake_find_package"] = "GDAL" - self.cpp_info.filenames["cmake_find_package_multi"] = "GDAL" - + # https://github.com/OSGeo/gdal/blob/v3.7.2/gdal.cmake#L384-L392 + # FIXME: set the correct postfix for MinGW shared builds libname = "gdal" - if self.settings.os == "Windows": + if is_msvc(self): if self.settings.build_type == "Debug": libname += "d" - self.cpp_info.libs = [ libname ] - - self.cpp_info.requires.extend(['json-c::json-c']) - self.cpp_info.requires.extend(['libgeotiff::libgeotiff']) - + self.cpp_info.libs = [libname] + self.cpp_info.resdirs = ["res"] + + self.cpp_info.requires.extend(["json-c::json-c"]) + self.cpp_info.requires.extend(["libgeotiff::libgeotiff"]) + self.cpp_info.requires.extend(["libtiff::libtiff"]) + self.cpp_info.requires.extend(["proj::projlib"]) + self.cpp_info.requires.extend(["zlib::zlib"]) if self.options.with_armadillo: - self.cpp_info.requires.extend(['armadillo::armadillo']) - + self.cpp_info.requires.extend(["armadillo::armadillo"]) if self.options.with_arrow: - self.cpp_info.requires.extend(['arrow::libarrow']) - + self.cpp_info.requires.extend(["arrow::libarrow"]) + if self.dependencies["arrow"].options.parquet: + self.cpp_info.requires.extend(["arrow::libparquet"]) + if self.dependencies["arrow"].options.dataset_modules: + self.cpp_info.requires.extend(["arrow::dataset"]) + if self.options.with_basisu: + self.cpp_info.requires.extend(["libbasisu::libbasisu"]) + if self.options.with_brunsli: + self.cpp_info.requires.extend(["brunsli::brunsli"]) if self.options.with_blosc: - self.cpp_info.requires.extend(['c-blosc::c-blosc']) - + self.cpp_info.requires.extend(["c-blosc::c-blosc"]) if self.options.with_cfitsio: - self.cpp_info.requires.extend(['cfitsio::cfitsio']) - + self.cpp_info.requires.extend(["cfitsio::cfitsio"]) if self.options.with_cryptopp: - self.cpp_info.requires.extend(['cryptopp::libcryptopp']) - + self.cpp_info.requires.extend(["cryptopp::libcryptopp"]) if self.options.with_curl: - self.cpp_info.requires.extend(['libcurl::curl']) - + self.cpp_info.requires.extend(["libcurl::curl"]) if self.options.with_dds: - self.cpp_info.requires.extend(['crunch::crunch']) - + self.cpp_info.requires.extend(["crunch::crunch"]) + if self.options.with_ecw: + self.cpp_info.requires.extend(["libecwj2::libecwj2"]) if self.options.with_expat: - self.cpp_info.requires.extend(['expat::expat']) - + self.cpp_info.requires.extend(["expat::expat"]) if self.options.with_exr: - self.cpp_info.requires.extend(['openexr::openexr', 'imath::imath']) - + self.cpp_info.requires.extend(["openexr::openexr", "imath::imath"]) if self.options.with_freexl: - self.cpp_info.requires.extend(['freexl::freexl']) - + self.cpp_info.requires.extend(["freexl::freexl"]) if self.options.with_geos: - self.cpp_info.requires.extend(['geos::geos_c']) - + self.cpp_info.requires.extend(["geos::geos_c"]) if self.options.with_gif: - self.cpp_info.requires.extend(['giflib::giflib']) - + self.cpp_info.requires.extend(["giflib::giflib"]) if self.options.with_gta: - self.cpp_info.requires.extend(['libgta::libgta']) - + self.cpp_info.requires.extend(["libgta::libgta"]) if self.options.with_hdf4: - self.cpp_info.requires.extend(['hdf4::hdf4']) - + self.cpp_info.requires.extend(["hdf4::hdf4"]) if self.options.with_hdf5: - self.cpp_info.requires.extend(['hdf5::hdf5_c']) - + self.cpp_info.requires.extend(["hdf5::hdf5_c"]) if self.options.with_heif: - self.cpp_info.requires.extend(['libheif::libheif']) - + self.cpp_info.requires.extend(["libheif::libheif"]) + if self.options.with_jxl: + self.cpp_info.requires.extend(["libjxl::libjxl"]) if self.options.with_kea: - self.cpp_info.requires.extend(['kealib::kealib']) - + self.cpp_info.requires.extend(["kealib::kealib"]) + if self.options.with_lerc: + self.cpp_info.requires.extend(["lerc::lerc"]) + if self.options.get_safe("with_libaec"): + self.cpp_info.requires.extend(["libaec::libaec"]) + if self.options.with_libarchive: + self.cpp_info.requires.extend(["libarchive::libarchive"]) if self.options.with_libdeflate: - self.cpp_info.requires.extend(['libdeflate::libdeflate']) - + self.cpp_info.requires.extend(["libdeflate::libdeflate"]) if self.options.with_libiconv: - self.cpp_info.requires.extend(['libiconv::libiconv']) - + self.cpp_info.requires.extend(["libiconv::libiconv"]) if self.options.with_jpeg == "libjpeg": - self.cpp_info.requires.extend(['libjpeg::libjpeg']) + self.cpp_info.requires.extend(["libjpeg::libjpeg"]) elif self.options.with_jpeg == "libjpeg-turbo": - self.cpp_info.requires.extend(['libjpeg-turbo::turbojpeg']) - + self.cpp_info.requires.extend(["libjpeg-turbo::turbojpeg"]) if self.options.with_libkml: - self.cpp_info.requires.extend(['libkml::kmldom', 'libkml::kmlengine']) - - if self.options.with_libtiff: - self.cpp_info.requires.extend(['libtiff::libtiff']) - + self.cpp_info.requires.extend(["libkml::kmldom", "libkml::kmlengine"]) + if self.options.with_lzma: + self.cpp_info.requires.extend(["xz_utils::xz_utils"]) if self.options.with_lz4: - self.cpp_info.requires.extend(['lz4::lz4']) - + self.cpp_info.requires.extend(["lz4::lz4"]) if self.options.with_mongocxx: - self.cpp_info.requires.extend(['mongo-cxx-driver::mongo-cxx-driver']) - + self.cpp_info.requires.extend(["mongo-cxx-driver::mongo-cxx-driver"]) if self.options.with_mysql == "libmysqlclient": - self.cpp_info.requires.extend(['libmysqlclient::libmysqlclient']) + self.cpp_info.requires.extend(["libmysqlclient::libmysqlclient"]) elif self.options.with_mysql == "mariadb-connector-c": - self.cpp_info.requires.extend(['mariadb-connector-c::mariadb-connector-c']) - + self.cpp_info.requires.extend(["mariadb-connector-c::mariadb-connector-c"]) if self.options.with_netcdf: - self.cpp_info.requires.extend(['netcdf::netcdf']) - + self.cpp_info.requires.extend(["netcdf::netcdf"]) if self.options.with_odbc: - self.cpp_info.requires.extend(['odbc::odbc']) - + self.cpp_info.requires.extend(["odbc::odbc"]) + if self.options.with_opencl: + self.cpp_info.requires.extend(["opencl-icd-loader::opencl-icd-loader"]) if self.options.with_openjpeg: - self.cpp_info.requires.extend(['openjpeg::openjpeg']) - + self.cpp_info.requires.extend(["openjpeg::openjpeg"]) if self.options.with_openssl: - self.cpp_info.requires.extend(['openssl::ssl']) - + self.cpp_info.requires.extend(["openssl::ssl"]) if self.options.with_pcre: - self.cpp_info.requires.extend(['pcre::pcre']) - + self.cpp_info.requires.extend(["pcre::pcre"]) if self.options.with_pcre2: - self.cpp_info.requires.extend(['pcre2::pcre2-8']) - + self.cpp_info.requires.extend(["pcre2::pcre2-8"]) + # if self.options.with_pdfium: + # self.cpp_info.requires.extend(["pdfium::pdfium"]) if self.options.with_pg: - self.cpp_info.requires.extend(['libpq::pq']) - + self.cpp_info.requires.extend(["libpq::pq"]) if self.options.with_png: - self.cpp_info.requires.extend(['libpng::libpng']) - + self.cpp_info.requires.extend(["libpng::libpng"]) if self.options.with_podofo: - self.cpp_info.requires.extend(['podofo::podofo']) - + self.cpp_info.requires.extend(["podofo::podofo"]) if self.options.with_poppler: - self.cpp_info.requires.extend(['poppler::libpoppler']) - - if self.options.with_proj: - self.cpp_info.requires.extend(['proj::projlib']) - + self.cpp_info.requires.extend(["poppler::libpoppler"]) + 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::libqhull"]) + if self.options.with_spatialite: + self.cpp_info.requires.extend(["libspatialite::libspatialite"]) if self.options.with_sqlite3: - self.cpp_info.requires.extend(['sqlite3::sqlite']) - + self.cpp_info.requires.extend(["sqlite3::sqlite"]) + if self.options.with_tiledb: + self.cpp_info.requires.extend(["tiledb::tiledb"]) if self.options.with_webp: - self.cpp_info.requires.extend(['libwebp::libwebp']) - + self.cpp_info.requires.extend(["libwebp::libwebp"]) if self.options.with_xerces: - self.cpp_info.requires.extend(['xerces-c::xerces-c']) - + self.cpp_info.requires.extend(["xerces-c::xerces-c"]) if self.options.with_xml2: - self.cpp_info.requires.extend(['libxml2::libxml2']) - - if self.options.with_zlib: - self.cpp_info.requires.extend(['zlib::zlib']) - + self.cpp_info.requires.extend(["libxml2::libxml2"]) if self.options.with_zstd: - self.cpp_info.requires.extend(['zstd::zstdlib']) + self.cpp_info.requires.extend(["zstd::zstdlib"]) + + # Based on https://github.com/OSGeo/gdal/blob/v3.7.2/port/CMakeLists.txt + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs += ["pthread"] + elif self.settings.os == "Windows": + if is_msvc(self): + self.cpp_info.system_libs += ["wbemuuid"] + if self.options.with_openssl: + self.cpp_info.system_libs += ["crypt32"] gdal_data_path = os.path.join(self.package_folder, "res", "gdal") - self.output.info( - "Prepending to GDAL_DATA environment variable: {}".format( - gdal_data_path)) - self.runenv_info.prepend_path("GDAL_DATA", gdal_data_path) - # TODO: to remove after conan v2, it allows to not break consumers still relying on virtualenv generator - self.env_info.GDAL_DATA = gdal_data_path + self.runenv_info.define_path("GDAL_DATA", gdal_data_path) if self.options.tools: - self.buildenv_info.prepend_path("GDAL_DATA", gdal_data_path) - bin_path = os.path.join(self.package_folder, "bin") - self.output.info( - "Appending PATH environment variable: {}".format(bin_path)) - self.env_info.PATH.append(bin_path) + self.buildenv_info.define_path("GDAL_DATA", gdal_data_path) + + # TODO: remove in conan v2 + self.cpp_info.names["cmake_find_package"] = "GDAL" + self.cpp_info.names["cmake_find_package_multi"] = "GDAL" + self.cpp_info.filenames["cmake_find_package"] = "GDAL" + self.cpp_info.filenames["cmake_find_package_multi"] = "GDAL" + self.env_info.GDAL_DATA = gdal_data_path diff --git a/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch deleted file mode 100644 index e790a586d8abd..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.5.1/0-replace-find-package.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt -index edf75158c7..4200309ca8 100644 ---- a/alg/CMakeLists.txt -+++ b/alg/CMakeLists.txt -@@ -72,7 +72,7 @@ if (GDAL_USE_OPENCL) - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index a49165d14a..91d6170067 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -25,7 +25,7 @@ target_include_directories( - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake -index 7fa3b565c7..77a610f223 100644 ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake -@@ -11,7 +11,10 @@ Detect GDAL dependencies and set variable HAVE_* - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+ -+# Conan recipes should rely on config files from generators so let's just disble GDAL's -+include(ConanFindPackage) -+ - include(CheckSymbolExists) - - option( -@@ -111,47 +114,7 @@ macro (gdal_check_package name purpose) - set(_find_dependency_args "") - find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (NOT DEFINED ${key}_FOUND) -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -+ message(FATAL_ERROR "Conan recipes should rely on config files from generators so let's just disble GDAL's") - endif () - if (${key}_FOUND OR ${name}_FOUND) - set(HAVE_${key} ON) -@@ -321,14 +284,15 @@ if (GDAL_USE_CRYPTOPP) - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) -+#if (NOT PROJ_FOUND) -+# find_package(proj 8 CONFIG QUIET) -+#endif() - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -379,15 +343,10 @@ gdal_check_package(JSONC "json-c library (external)" CAN_DISABLE - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- 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}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -482,7 +441,7 @@ if (GDAL_USE_RASTERLITE2) - endif () - cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff --git a/cmake/helpers/ConanFindPackage.cmake b/cmake/helpers/ConanFindPackage.cmake -new file mode 100644 -index 0000000000..9dfa8193a3 ---- /dev/null -+++ b/cmake/helpers/ConanFindPackage.cmake -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff --git a/frmts/hfa/CMakeLists.txt b/frmts/hfa/CMakeLists.txt -index e5b7138e91..039cac7361 100644 ---- a/frmts/hfa/CMakeLists.txt -+++ b/frmts/hfa/CMakeLists.txt -@@ -15,7 +15,8 @@ add_gdal_driver( - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff --git a/gdal.cmake b/gdal.cmake -index ff1ca7e6f6..e98875f1b9 100644 ---- a/gdal.cmake -+++ b/gdal.cmake -@@ -795,25 +795,6 @@ if (NOT GDAL_ENABLE_MACOSX_FRAMEWORK) - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff --git a/ogr/CMakeLists.txt b/ogr/CMakeLists.txt -index 19ba4e12fe..87cd123c54 100644 ---- a/ogr/CMakeLists.txt -+++ b/ogr/CMakeLists.txt -@@ -88,12 +88,12 @@ endif () - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff --git a/ogr/ogr_proj_p.h b/ogr/ogr_proj_p.h -index 88928ad1ad..7cdd587db7 100644 ---- a/ogr/ogr_proj_p.h -+++ b/ogr/ogr_proj_p.h -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch deleted file mode 100644 index b01b5b271034c..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.5.2/0-replace-find-package.patch +++ /dev/null @@ -1,266 +0,0 @@ -diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt -index edf75158c7..4200309ca8 100644 ---- a/alg/CMakeLists.txt -+++ b/alg/CMakeLists.txt -@@ -72,7 +72,7 @@ if (GDAL_USE_OPENCL) - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt -index 8b02cea456..ad4adbfc9e 100644 ---- a/apps/CMakeLists.txt -+++ b/apps/CMakeLists.txt -@@ -25,7 +25,7 @@ target_include_directories( - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake -index 0a66b44fec..152ff42ff7 100644 ---- a/cmake/helpers/CheckDependentLibraries.cmake -+++ b/cmake/helpers/CheckDependentLibraries.cmake -@@ -11,7 +11,10 @@ Detect GDAL dependencies and set variable HAVE_* - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+ -+# Conan recipes should rely on config files from generators so let's just disble GDAL's -+include(ConanFindPackage) -+ - include(CheckSymbolExists) - - option( -@@ -111,47 +114,7 @@ macro (gdal_check_package name purpose) - set(_find_dependency_args "") - find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (NOT DEFINED ${key}_FOUND) -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -+ message(FATAL_ERROR "Conan recipes should rely on config files from generators so let's just disble GDAL's") - endif () - if (${key}_FOUND OR ${name}_FOUND) - set(HAVE_${key} ON) -@@ -345,14 +308,15 @@ if (GDAL_USE_CRYPTOPP) - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) -+#if (NOT PROJ_FOUND) -+# find_package(proj 8 CONFIG QUIET) -+#endif() - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -412,15 +376,10 @@ gdal_check_package(JSONC "json-c library (external)" CAN_DISABLE - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- 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}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -517,7 +476,7 @@ if (GDAL_USE_RASTERLITE2) - endif () - cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff --git a/cmake/helpers/ConanFindPackage.cmake b/cmake/helpers/ConanFindPackage.cmake -new file mode 100644 -index 0000000000..9dfa8193a3 ---- /dev/null -+++ b/cmake/helpers/ConanFindPackage.cmake -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff --git a/frmts/hfa/CMakeLists.txt b/frmts/hfa/CMakeLists.txt -index e5b7138e91..039cac7361 100644 ---- a/frmts/hfa/CMakeLists.txt -+++ b/frmts/hfa/CMakeLists.txt -@@ -15,7 +15,8 @@ add_gdal_driver( - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff --git a/gdal.cmake b/gdal.cmake -index 4bae2e2760..7695df40c8 100644 ---- a/gdal.cmake -+++ b/gdal.cmake -@@ -787,25 +787,6 @@ if (NOT GDAL_ENABLE_MACOSX_FRAMEWORK) - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff --git a/ogr/CMakeLists.txt b/ogr/CMakeLists.txt -index 19ba4e12fe..87cd123c54 100644 ---- a/ogr/CMakeLists.txt -+++ b/ogr/CMakeLists.txt -@@ -88,12 +88,12 @@ endif () - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff --git a/ogr/ogr_proj_p.h b/ogr/ogr_proj_p.h -index 88928ad1ad..7cdd587db7 100644 ---- a/ogr/ogr_proj_p.h -+++ b/ogr/ogr_proj_p.h -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch new file mode 100644 index 0000000000000..a13e4429270d1 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/0-replace-find-package.patch @@ -0,0 +1,74 @@ +diff --git a/cmake/helpers/CheckDependentLibraries.cmake b/cmake/helpers/CheckDependentLibraries.cmake +--- a/cmake/helpers/CheckDependentLibraries.cmake ++++ b/cmake/helpers/CheckDependentLibraries.cmake +@@ -11,7 +11,7 @@ + include(CheckFunctionExists) + include(CMakeDependentOption) + include(FeatureSummary) +-include(DefineFindPackage2) ++include(ConanFindPackage) + include(CheckSymbolExists) + + option( +@@ -109,8 +109,8 @@ + string(TOUPPER ${name} key) + set(_find_dependency "") + set(_find_dependency_args "") +- find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) +- if (NOT DEFINED ${key}_FOUND) ++ find_package2(${name} QUIET) ++ if (FALSE) + set(_find_package_args) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -345,7 +345,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -411,8 +411,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}") +@@ -517,9 +517,9 @@ + endif () + cmake_dependent_option(GDAL_USE_RASTERLITE2 "Set ON to use Rasterlite2" ON HAVE_RASTERLITE2 OFF) + +-find_package(LibKML COMPONENTS DOM ENGINE) ++find_package2(LibKML COMPONENTS DOM ENGINE) + if (GDAL_USE_LIBKML) + if (NOT LibKML_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") + endif () + endif () +@@ -540,8 +540,8 @@ + gdal_check_package(MRSID "MrSID raster SDK" CAN_DISABLE) + gdal_check_package(Armadillo "C++ library for linear algebra (used for TPS transformation)" CAN_DISABLE) + if (ARMADILLO_FOUND) +- # On Conda, the armadillo package has no dependency on lapack, but the later is required for successful linking. So +- # try to build & link a test program using Armadillo. ++ # On Conda, the armadillo package has no dependency on lapack, but the later is required for successful linking. So try to build & link a test program using Armadillo. ++ include(CMakePushCheckState) + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_INCLUDES "${ARMADILLO_INCLUDE_DIRS}") + set(CMAKE_REQUIRED_LIBRARIES "${ARMADILLO_LIBRARIES}") +@@ -646,7 +646,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch new file mode 100644 index 0000000000000..e45427d007600 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/1-do-not-force-private-linking.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -280,7 +280,7 @@ + set(_oneValueArgs) + set(_multiValueArgs PRIVATE) + cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) +- if (NOT _DRIVER_PRIVATE) ++ if (FALSE AND NOT _DRIVER_PRIVATE) + message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") + endif () + is_plugin(RES ${target}) +@@ -289,6 +289,7 @@ + else () + gdal_target_interfaces(${target} ${_DRIVER_PRIVATE}) + gdal_add_private_link_libraries(${_DRIVER_PRIVATE}) ++ target_link_libraries(${ARGV}) + endif () + endfunction() + diff --git a/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch b/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch new file mode 100644 index 0000000000000..31bc2e5a8587d --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.5.3/2-allow-cycles-in-cmake-targets.patch @@ -0,0 +1,22 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -249,6 +249,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 () +diff --git a/cmake/helpers/GdalGenerateConfig.cmake b/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) + 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() diff --git a/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch deleted file mode 100644 index 34401a53eae6d..0000000000000 --- a/recipes/gdal/post_3.5.0/patches/3.7.0/0-replace-find-package.patch +++ /dev/null @@ -1,282 +0,0 @@ -diff -urN ./a/alg/CMakeLists.txt ./b/alg/CMakeLists.txt ---- ./a/alg/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/alg/CMakeLists.txt 2023-06-06 16:47:02.784509800 -0500 -@@ -73,7 +73,7 @@ - target_sources(alg PRIVATE gdalwarpkernel_opencl.h gdalwarpkernel_opencl.cpp) - endif () - --gdal_target_link_libraries(alg PRIVATE PROJ::proj) -+target_link_libraries(alg PUBLIC PROJ::proj) - - if (GDAL_USE_QHULL_INTERNAL) - target_compile_definitions(alg PRIVATE -DINTERNAL_QHULL) -diff -urN ./a/apps/CMakeLists.txt ./b/apps/CMakeLists.txt ---- ./a/apps/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/apps/CMakeLists.txt 2023-06-06 16:46:55.380690700 -0500 -@@ -26,7 +26,7 @@ - appslib PRIVATE $ $ - $ $) - --gdal_target_link_libraries(appslib PRIVATE PROJ::proj) -+target_link_libraries(appslib PUBLIC PROJ::proj) - - set_property(TARGET appslib PROPERTY POSITION_INDEPENDENT_CODE ${GDAL_OBJECT_LIBRARIES_POSITION_INDEPENDENT_CODE}) - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.16) -diff -urN ./a/cmake/helpers/CheckDependentLibraries.cmake ./b/cmake/helpers/CheckDependentLibraries.cmake ---- ./a/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 09:33:06.599777700 -0500 -+++ ./b/cmake/helpers/CheckDependentLibraries.cmake 2023-06-07 13:38:51.722872200 -0500 -@@ -11,7 +11,8 @@ - include(CheckFunctionExists) - include(CMakeDependentOption) - include(FeatureSummary) --include(DefineFindPackage2) -+#include(DefineFindPackage2) -+include(ConanFindPackage) - include(CheckSymbolExists) - - option( -@@ -109,51 +110,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() -- set(_find_package_args) -- if (_GCP_VERSION) -- list(APPEND _find_package_args ${_GCP_VERSION}) -- endif () -- if (_GCP_CONFIG) -- list(APPEND _find_package_args CONFIG) -- endif () -- if (_GCP_COMPONENTS) -- list(APPEND _find_package_args COMPONENTS ${_GCP_COMPONENTS}) -- endif () -- if (_GCP_PATHS) -- list(APPEND _find_package_args PATHS ${_GCP_PATHS}) -- endif () -- if (_GCP_NAMES) -- set(GDAL_CHECK_PACKAGE_${name}_NAMES "${_GCP_NAMES}" CACHE STRING "Config file name for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_NAMES) -- endif () -- if (_GCP_TARGETS) -- set(GDAL_CHECK_PACKAGE_${name}_TARGETS "${_GCP_TARGETS}" CACHE STRING "Target name candidates for ${name}") -- mark_as_advanced(GDAL_CHECK_PACKAGE_${name}_TARGETS) -- endif () -- if (GDAL_CHECK_PACKAGE_${name}_NAMES) -- find_package(${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} ${_find_package_args}) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS} REQUIRED) -- if (${name}_FOUND) -- get_filename_component(_find_dependency_args "${${name}_CONFIG}" NAME) -- string(REPLACE ";" " " _find_dependency_args "${name} NAMES ${GDAL_CHECK_PACKAGE_${name}_NAMES} CONFIGS ${_find_dependency_args} ${_find_package_args}") -- endif () -- endif () -- if (NOT ${name}_FOUND) -- find_package(${name} ${_find_package_args}) -- if (${name}_FOUND) -- gdal_check_package_target(${name} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- elseif (${key}_FOUND) # Some find modules do not set _FOUND -- gdal_check_package_target(${key} ${GDAL_CHECK_PACKAGE_${name}_TARGETS}) -- set(${name}_FOUND "${key}_FOUND") -- endif () -- if (${name}_FOUND) -- string(REPLACE ";" " " _find_dependency_args "${name} ${_find_package_args}") -- endif() -- endif () -- endif () -+ -+ find_package2(${name} QUIET OUT_DEPENDENCY _find_dependency) - if (${key}_FOUND OR ${name}_FOUND) - if(_GCP_MINIMUM_VERSION) - -@@ -368,14 +326,12 @@ - endif () - - # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. --find_package(PROJ 9 CONFIG QUIET) --if (NOT PROJ_FOUND) -- find_package(PROJ 8 CONFIG QUIET) --endif() -+find_package2(PROJ) -+target_include_directories(PROJ::proj INTERFACE ${PROJ_INCLUDE_DIRS}) - if (PROJ_FOUND) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ ${PROJ_VERSION_MAJOR} CONFIG)\n") - else() -- find_package(PROJ 6.0 REQUIRED) -+ find_package(proj 6.0 REQUIRED) - string(APPEND GDAL_IMPORT_DEPENDENCIES "find_dependency(PROJ 6.0)\n") - endif () - -@@ -458,15 +414,10 @@ - TARGETS json-c::json-c JSONC::JSONC - ) - gdal_internal_library(JSONC REQUIRED) --if(TARGET json-c::json-c) -- 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}") -- list(REMOVE_DUPLICATES include_dirs) -- set_target_properties(json-c::json-c PROPERTIES -- INTERFACE_INCLUDE_DIRECTORIES "${GDAL_JSON_INCLUDE_DIR}" -- ) --endif() -+get_target_property(include_dirs json-c::json-c INTERFACE_INCLUDE_DIRECTORIES) -+list(APPEND include_dirs "${JSONC_INCLUDE_DIRS}/json-c") -+set_target_properties(json-c::json-c PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${include_dirs}") -+message("Setting include for json-c: ${include_dirs}") - - gdal_check_package(OpenCAD "libopencad (external, used by OpenCAD driver)" CAN_DISABLE) - gdal_internal_library(OPENCAD) -@@ -527,6 +478,24 @@ - gdal_check_package(SQLite3 "Enable SQLite3 support (used by SQLite/Spatialite, GPKG, Rasterlite, MBTiles, etc.)" - CAN_DISABLE RECOMMENDED) - if (SQLite3_FOUND) -+ set(CMAKE_REQUIRED_INCLUDES ${SQLite3_INCLUDE_DIRS}) -+ check_symbol_exists(sqlite3_mutex_alloc sqlite3ext.h SQLite3_HAS_MUTEX_ALLOC) -+ check_symbol_exists(sqlite3_column_table_name sqlite3ext.h SQLite3_HAS_COLUMN_METADATA) -+ check_symbol_exists(sqlite3_rtree_query_callback sqlite3.h SQLite3_HAS_RTREE) -+ check_symbol_exists(sqlite3_load_extension sqlite3ext.h SQLite3_HAS_LOAD_EXTENSION) -+ # https://www.sqlite.org/compile.html recommends to build with -DSQLITE_OMIT_PROGRESS_CALLBACK -+ # "for applications that are able to use them"... This is sometimes wrongly -+ # understood as recommended in all situations. -+ check_symbol_exists(sqlite3_progress_handler sqlite3.h SQLite3_HAS_PROGRESS_HANDLER) -+ -+ #if(NOT TARGET SQLite::SQLite3) -+ # add_library(SQLite::SQLite3 UNKNOWN IMPORTED) -+ # set_target_properties(SQLite::SQLite3 PROPERTIES -+ # INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}" -+ # IMPORTED_LINK_INTERFACE_LANGUAGES "C" -+ # IMPORTED_LOCATION "${SQLite3_LIBRARY}") -+ #endif() -+ - if (NOT DEFINED SQLite3_HAS_COLUMN_METADATA) - message(FATAL_ERROR "missing SQLite3_HAS_COLUMN_METADATA") - endif () -@@ -566,7 +535,7 @@ - gdal_check_package(SPATIALITE "Enable spatialite support for sqlite3" VERSION 4.1.2 CAN_DISABLE) - gdal_check_package(RASTERLITE2 "Enable RasterLite2 support for sqlite3" VERSION 1.1.0 CAN_DISABLE) - --find_package(LibKML COMPONENTS DOM ENGINE) -+find_package(LibKML COMPONENTS kmlengine kmldom kmlbase) - if (GDAL_USE_LIBKML) - if (NOT LibKML_FOUND) - message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") -diff -urN ./a/cmake/helpers/ConanFindPackage.cmake ./b/cmake/helpers/ConanFindPackage.cmake ---- ./a/cmake/helpers/ConanFindPackage.cmake 1969-12-31 18:00:00.000000000 -0600 -+++ ./b/cmake/helpers/ConanFindPackage.cmake 2023-06-06 16:26:55.800008000 -0500 -@@ -0,0 +1,43 @@ -+ -+function(define_find_package2 pkgname include_file library_name) -+endfunction() -+ -+function(find_package2 pkgname) -+ set(_options QUIET REQUIRED) -+ set(_oneValueArgs OUT_DEPENDENCY) -+ set(_multiValueArgs) -+ cmake_parse_arguments(arg "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) -+ if(arg_QUIET) -+ set(${pkgname}_FIND_QUIETLY TRUE) -+ endif() -+ if(arg_REQUIRED) -+ set(${pkgname}_FIND_REQUIRED TRUE) -+ endif() -+ -+ string(TOUPPER ${pkgname} key) -+ -+ set(docstring "Configured for conan package ${GDAL_CONAN_PACKAGE_FOR_${key}}") -+ if (DEFINED GDAL_CONAN_PACKAGE_FOR_${key}) -+ message("Using conan package ${GDAL_CONAN_PACKAGE_FOR_${key}} for dependency ${pkgname}") -+ set(conan_package ${GDAL_CONAN_PACKAGE_FOR_${key}}) -+ string(TOUPPER ${conan_package} conan_package_upper) -+ -+ set(${key}_INCLUDE_DIRS "${CONAN_INCLUDE_DIRS_${conan_package_upper}}" CACHE STRING ${docstring}) -+ if (NOT TARGET_FOR_${key}) -+ set(TARGET_FOR_${key} "${conan_package}::${conan_package}") -+ endif() -+ set(${key}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_INCLUDE_DIRS "CONAN_INCLUDE_DIRS_${conan_package_upper}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARIES "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_LIBRARY "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${pkgname}_TARGET "${TARGET_FOR_${key}}" CACHE STRING ${docstring}) -+ set(${key}_FOUND TRUE CACHE BOOL ${docstring}) -+ -+ else () -+ message("dependency ${pkgname} has no conan package") -+ set(${key}_FOUND FALSE CACHE BOOL ${docstring}) -+ endif() -+ -+endfunction() -diff -urN ./a/frmts/hfa/CMakeLists.txt ./b/frmts/hfa/CMakeLists.txt ---- ./a/frmts/hfa/CMakeLists.txt 2023-05-02 08:47:11.000000000 -0500 -+++ ./b/frmts/hfa/CMakeLists.txt 2023-06-06 16:54:31.162043900 -0500 -@@ -15,7 +15,8 @@ - hfa_overviews.cpp - BUILTIN) - gdal_standard_includes(gdal_HFA) --target_include_directories(gdal_HFA PRIVATE $) -+target_link_libraries(gdal_HFA INTERFACE PROJ::proj) -+target_include_directories(gdal_HFA PRIVATE ${PROJ_INCLUDE_DIRS}) - target_compile_definitions(gdal_HFA PRIVATE $) - - if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12) -diff -urN ./a/gdal.cmake ./b/gdal.cmake ---- ./a/gdal.cmake 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/gdal.cmake 2023-06-06 16:55:34.252830900 -0500 -@@ -859,25 +859,6 @@ - ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GDALConfig.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/gdal/) - -- # Generate gdal-config utility command and pkg-config module gdal.pc -- include(GdalGenerateConfig) -- gdal_generate_config( -- TARGET -- "${GDAL_LIB_TARGET_NAME}" -- GLOBAL_PROPERTY -- "gdal_private_link_libraries" -- GDAL_CONFIG -- "${PROJECT_BINARY_DIR}/apps/gdal-config" -- PKG_CONFIG -- "${CMAKE_CURRENT_BINARY_DIR}/gdal.pc") -- install( -- PROGRAMS ${PROJECT_BINARY_DIR}/apps/gdal-config -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- COMPONENT applications) -- install( -- FILES ${CMAKE_CURRENT_BINARY_DIR}/gdal.pc -- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig -- COMPONENT libraries) - endif () - - configure_file(${GDAL_CMAKE_TEMPLATE_PATH}/uninstall.cmake.in ${PROJECT_BINARY_DIR}/cmake_uninstall.cmake @ONLY) -diff -urN ./a/ogr/CMakeLists.txt ./b/ogr/CMakeLists.txt ---- ./a/ogr/CMakeLists.txt 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/ogr/CMakeLists.txt 2023-06-06 16:56:18.682151700 -0500 -@@ -89,12 +89,12 @@ - - target_compile_definitions(ogr PRIVATE HAVE_MITAB) - --gdal_target_link_libraries(ogr PRIVATE PROJ::proj) -+target_link_libraries(ogr PUBLIC PROJ::proj) - - # External libs then - if (GDAL_USE_GEOS) - target_compile_definitions(ogr PRIVATE -DHAVE_GEOS=1) -- gdal_target_link_libraries(ogr PRIVATE ${GEOS_TARGET}) -+ target_link_libraries(ogr PUBLIC ${GEOS_TARGET}) - endif () - - if (GDAL_USE_SFCGAL) -diff -urN ./a/ogr/ogr_proj_p.h ./b/ogr/ogr_proj_p.h ---- ./a/ogr/ogr_proj_p.h 2023-05-02 08:47:12.000000000 -0500 -+++ ./b/ogr/ogr_proj_p.h 2023-06-06 16:56:30.772908800 -0500 -@@ -29,7 +29,7 @@ - #ifndef OGR_PROJ_P_H_INCLUDED - #define OGR_PROJ_P_H_INCLUDED - --#include "proj.h" -+#include - - #include "cpl_mem_cache.h" - diff --git a/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch new file mode 100644 index 0000000000000..e25f0d63223d9 --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.7.3/0-replace-find-package.patch @@ -0,0 +1,64 @@ +diff -urN ./a/cmake/helpers/CheckDependentLibraries.cmake ./b/cmake/helpers/CheckDependentLibraries.cmake +--- ./a/cmake/helpers/CheckDependentLibraries.cmake ++++ ./b/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) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -368,7 +367,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -457,8 +456,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}") +@@ -566,9 +565,9 @@ + gdal_check_package(SPATIALITE "Enable spatialite support for sqlite3" VERSION 4.1.2 CAN_DISABLE) + gdal_check_package(RASTERLITE2 "Enable RasterLite2 support for sqlite3" VERSION 1.1.0 CAN_DISABLE) + +-find_package(LibKML COMPONENTS DOM ENGINE) ++find_package2(LibKML COMPONENTS DOM ENGINE) + if (GDAL_USE_LIBKML) + if (NOT LibKML_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_LIBKML, but not found") + endif () + endif () +@@ -733,7 +732,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch b/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch new file mode 100644 index 0000000000000..d5b761df32ded --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.7.3/1-do-not-force-private-linking.patch @@ -0,0 +1,20 @@ +diff --git a/cmake/helpers/GdalDriverHelper.cmake b/cmake/helpers/GdalDriverHelper.cmake +--- a/cmake/helpers/GdalDriverHelper.cmake ++++ b/cmake/helpers/GdalDriverHelper.cmake +@@ -280,7 +280,7 @@ + set(_oneValueArgs) + set(_multiValueArgs PRIVATE) + cmake_parse_arguments(_DRIVER "" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN}) +- if (NOT _DRIVER_PRIVATE) ++ if (FALSE AND NOT _DRIVER_PRIVATE) + message(FATAL_ERROR "gdal_target_link_libraries(): PRIVATE is a mandatory argument.") + endif () + is_plugin(RES ${target}) +@@ -297,6 +297,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.8.1/0-replace-find-package.patch b/recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch new file mode 100644 index 0000000000000..c82d659742baf --- /dev/null +++ b/recipes/gdal/post_3.5.0/patches/3.8.1/0-replace-find-package.patch @@ -0,0 +1,52 @@ +--- 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) + if (_GCP_VERSION) + list(APPEND _find_package_args ${_GCP_VERSION}) +@@ -368,7 +367,7 @@ + endif () + + # First check with CMake config files (starting at version 8, due to issues with earlier ones), and then fallback to the FindPROJ module. +-find_package(PROJ 9 CONFIG QUIET) ++find_package2(PROJ 9 CONFIG REQUIRED) + if (NOT PROJ_FOUND) + find_package(PROJ 8 CONFIG QUIET) + endif() +@@ -457,8 +456,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}") +@@ -727,7 +726,7 @@ + gdal_check_package(HEIF "HEIF >= 1.1" CAN_DISABLE) + + # OpenJPEG's cmake-CONFIG is broken, so call module explicitly +-find_package(OpenJPEG MODULE) ++find_package2(OpenJPEG MODULE) + if (GDAL_USE_OPENJPEG) + if (NOT OPENJPEG_FOUND) + message(FATAL_ERROR "Configured to use GDAL_USE_OPENJPEG, but not found") diff --git a/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt b/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt index 861d8d69409b0..356b571fb9c63 100644 --- a/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt +++ b/recipes/gdal/post_3.5.0/test_package/CMakeLists.txt @@ -1,10 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -find_package(GDAL REQUIRED) +find_package(GDAL REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} GDAL::GDAL) diff --git a/recipes/gdal/post_3.5.0/test_package/conanfile.py b/recipes/gdal/post_3.5.0/test_package/conanfile.py index 9dced2ad9cf71..9ae9dd1c61f74 100644 --- a/recipes/gdal/post_3.5.0/test_package/conanfile.py +++ b/recipes/gdal/post_3.5.0/test_package/conanfile.py @@ -1,12 +1,20 @@ -from conan import ConanFile -from conan.tools.build import cross_building -from conans import CMake import os +from conan import ConanFile, conan_version +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + class TestPackageConan(ConanFile): - settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package" + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -14,10 +22,11 @@ def build(self): cmake.build() def test(self): - if not cross_building(self): - if self.options["gdal"].tools: - self.run("gdal_translate --formats", run_environment=True) - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - bin_path_c = os.path.join("bin", "test_package_c") - self.run(bin_path_c, run_environment=True) + if can_run(self): + gdal_options = self.options["gdal"] if conan_version < "2" else self.dependencies["gdal"].options + if gdal_options.tools: + self.run("gdal_translate --formats", env="conanrun") + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") + bin_path_c = os.path.join(self.cpp.build.bindir, "test_package_c") + self.run(bin_path_c, env="conanrun") diff --git a/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt b/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..b21cc49efde95 --- /dev/null +++ b/recipes/gdal/post_3.5.0/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py b/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..e5d5a707ca0b3 --- /dev/null +++ b/recipes/gdal/post_3.5.0/test_v1_package/conanfile.py @@ -0,0 +1,23 @@ +from conan import ConanFile +from conan.tools.build import cross_building +from conans import CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not cross_building(self): + if self.options["gdal"].tools: + self.run("gdal_translate --formats", run_environment=True) + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) + bin_path_c = os.path.join("bin", "test_package_c") + self.run(bin_path_c, run_environment=True) From 540fe700422c9d5effb6a3e6b6f84e71fcac59b9 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Tue, 20 Feb 2024 17:10:16 +0000 Subject: [PATCH 1181/1307] (#22812) [nmos-cpp] Bump dependencies to match upstream --- recipes/nmos-cpp/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index 67cbae93e0a0b..d2bed5c1666e3 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -54,8 +54,8 @@ def requirements(self): self.requires("cpprestsdk/2.10.18", transitive_headers=True) self.requires("websocketpp/0.8.2") self.requires("openssl/[>=1.1 <4]") - self.requires("json-schema-validator/2.2.0") - self.requires("nlohmann_json/3.11.2") + self.requires("json-schema-validator/2.3.0") + self.requires("nlohmann_json/3.11.3") self.requires("zlib/[>=1.2.11 <2]") if self.options.get_safe("with_dnssd") == "mdnsresponder": From c2f3d1f999853d18cb9c4a1d134dc085f8377bb2 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 20 Feb 2024 19:41:47 +0100 Subject: [PATCH 1182/1307] (#22829) [config] Add Valgur as community reviewer Signed-off-by: Uilian Ries --- .c3i/reviewers.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.c3i/reviewers.yml b/.c3i/reviewers.yml index 3578b7dccdc68..a5e7a155eee13 100644 --- a/.c3i/reviewers.yml +++ b/.c3i/reviewers.yml @@ -87,3 +87,6 @@ reviewers: - user: "juansblanco" type: "team" request_reviews: false + - user: "valgur" + type: "community" + request_reviews: false From 579766920b3e3c8f9949895c8be18c8926c6774a Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 21 Feb 2024 06:29:22 +0900 Subject: [PATCH 1183/1307] (#22792) cctz: add version 2.4 * cctz: add version 2.4 * disable benchmark --- recipes/cctz/all/conandata.yml | 16 ++++++++++++++-- recipes/cctz/all/conanfile.py | 6 +++--- ...ion.patch => 2.3-0001-fix-installation.patch} | 0 ...patch => 2.3-0002-fix-frameworks-apple.patch} | 0 .../all/patches/2.4-0001-fix-installation.patch | 13 +++++++++++++ recipes/cctz/config.yml | 2 ++ 6 files changed, 32 insertions(+), 5 deletions(-) rename recipes/cctz/all/patches/{0001-fix-installation.patch => 2.3-0001-fix-installation.patch} (100%) rename recipes/cctz/all/patches/{0002-fix-frameworks-apple.patch => 2.3-0002-fix-frameworks-apple.patch} (100%) create mode 100644 recipes/cctz/all/patches/2.4-0001-fix-installation.patch diff --git a/recipes/cctz/all/conandata.yml b/recipes/cctz/all/conandata.yml index 112fd00e61958..79ee8c2ac2c09 100644 --- a/recipes/cctz/all/conandata.yml +++ b/recipes/cctz/all/conandata.yml @@ -1,8 +1,20 @@ sources: + "2.4": + url: "https://github.com/google/cctz/archive/v2.4.tar.gz" + sha256: "e1a00957d472044808a24a26f1ba020f36dc26949a69c214562d96b74093adb3" "2.3": url: "https://github.com/google/cctz/archive/v2.3.tar.gz" sha256: "8615b20d4e33e02a271c3b93a3b208e3d7d5d66880f5f6208b03426e448f32db" patches: + "2.4": + - patch_file: "patches/2.4-0001-fix-installation.patch" + patch_description: "fix install destination" + patch_type: "portability" "2.3": - - patch_file: "patches/0001-fix-installation.patch" - - patch_file: "patches/0002-fix-frameworks-apple.patch" + - patch_file: "patches/2.3-0001-fix-installation.patch" + patch_description: "fix install destination" + patch_type: "portability" + - patch_file: "patches/2.3-0002-fix-frameworks-apple.patch" + patch_description: "link CoreFoundation on macOS" + patch_type: "portability" + patch_source: "https://github.com/google/cctz/pull/97" diff --git a/recipes/cctz/all/conanfile.py b/recipes/cctz/all/conanfile.py index f4eb7ecd52b25..ebb60c3eb62b6 100644 --- a/recipes/cctz/all/conanfile.py +++ b/recipes/cctz/all/conanfile.py @@ -10,12 +10,11 @@ class CCTZConan(ConanFile): name = "cctz" + description = "C++ library for translating between absolute and civil times" + license = "Apache-2.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/cctz" - description = "C++ library for translating between absolute and civil times" topics = ("time", "timezones") - license = "Apache-2.0" - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -54,6 +53,7 @@ def generate(self): tc.variables["BUILD_TOOLS"] = self.options.build_tools tc.variables["BUILD_EXAMPLES"] = False tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_BENCHMARK"] = False # For shared msvc tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True # Relocatable shared lib on Macos diff --git a/recipes/cctz/all/patches/0001-fix-installation.patch b/recipes/cctz/all/patches/2.3-0001-fix-installation.patch similarity index 100% rename from recipes/cctz/all/patches/0001-fix-installation.patch rename to recipes/cctz/all/patches/2.3-0001-fix-installation.patch diff --git a/recipes/cctz/all/patches/0002-fix-frameworks-apple.patch b/recipes/cctz/all/patches/2.3-0002-fix-frameworks-apple.patch similarity index 100% rename from recipes/cctz/all/patches/0002-fix-frameworks-apple.patch rename to recipes/cctz/all/patches/2.3-0002-fix-frameworks-apple.patch diff --git a/recipes/cctz/all/patches/2.4-0001-fix-installation.patch b/recipes/cctz/all/patches/2.4-0001-fix-installation.patch new file mode 100644 index 0000000000000..14cc64c0dac26 --- /dev/null +++ b/recipes/cctz/all/patches/2.4-0001-fix-installation.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 472f26f..553876c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,7 +170,7 @@ include(GNUInstallDirs) + install(TARGETS cctz + EXPORT ${PROJECT_NAME}-targets + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cctz +- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) diff --git a/recipes/cctz/config.yml b/recipes/cctz/config.yml index 3b05bfcc11215..fc444f7e23a6d 100644 --- a/recipes/cctz/config.yml +++ b/recipes/cctz/config.yml @@ -1,3 +1,5 @@ versions: + "2.4": + folder: all "2.3": folder: all From 7c7cb1c44423b3d4a723a14911aac1641f415658 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Wed, 21 Feb 2024 00:43:33 +0100 Subject: [PATCH 1184/1307] (#22817) [boost] Hotfix: Detect cxxstd flag correctly * Detect cxxstd flag Signed-off-by: Uilian Ries * fix has cppstd 11 method Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries --- recipes/boost/all/conanfile.py | 66 ++++++++++++++++++++++++++++++++-- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py index 3b5363de53882..a8416e04190c4 100644 --- a/recipes/boost/all/conanfile.py +++ b/recipes/boost/all/conanfile.py @@ -161,6 +161,66 @@ def export(self): def export_sources(self): export_conandata_patches(self) + def _cppstd_flag(self, compiler_cppstd=None): + """Return the flag for the given C++ standard and compiler""" + # TODO: Replace it by Conan tool when available: https://github.com/conan-io/conan/issues/12603 + compiler = self.settings.get_safe("compiler") + compiler_version = self.settings.get_safe("compiler.version") + cppstd = self.settings.get_safe("compiler.cppstd") or compiler_cppstd + if not compiler or not compiler_version or not cppstd: + return "" + + def _cppstd_gcc(gcc_version, cppstd): + """Return the flag for the given C++ standard and GCC version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if gcc_version >= "3.4" else None) + cppstd_flags.setdefault("11", "11" if gcc_version >= "4.7" else "0x" if gcc_version >= "4.3" else None) + cppstd_flags.setdefault("14", "14" if gcc_version >= "4.9" else "1y" if gcc_version >= "4.8" else None) + cppstd_flags.setdefault("17", "17" if gcc_version >= "5.2" else "1z" if gcc_version >= "5" else None) + cppstd_flags.setdefault("20", "2a" if gcc_version >= "8" else "20" if gcc_version >= "12" else None) + cppstd_flags.setdefault("23", "2b" if gcc_version >= "11" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + def _cppstd_clang(clang_version, cppstd): + """Return the flag for the given C++ standard and Clang version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if clang_version >= "2.1" else None) + cppstd_flags.setdefault("11", "11" if clang_version >= "3.1" else "0x" if clang_version >= "2.1" else None) + cppstd_flags.setdefault("14", "14" if clang_version >= "3.5" else "1y" if clang_version >= "3.4" else None) + cppstd_flags.setdefault("17", "17" if clang_version >= "5" else "1z" if clang_version >= "3.5" else None) + cppstd_flags.setdefault("20", "2a" if clang_version >= "6" else "20" if clang_version >= "12" else None) + cppstd_flags.setdefault("23", "2b" if clang_version >= "13" else "23" if clang_version >= "17" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + + def _cppstd_apple_clang(clang_version, cppstd): + """Return the flag for the given C++ standard and Apple Clang version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98" if clang_version >= "4.0" else None) + cppstd_flags.setdefault("11", "11" if clang_version >= "4.0" else None) + cppstd_flags.setdefault("14", "14" if clang_version >= "6.1" else "1y" if clang_version >= "5.1" else None) + cppstd_flags.setdefault("17", "17" if clang_version >= "9.1" else "1z" if clang_version >= "6.1" else None) + cppstd_flags.setdefault("20", "20" if clang_version >= "13.0" else "2a" if clang_version >= "10.0" else None) + cppstd_flags.setdefault("23", "2b" if clang_version >= "13.0" else None) + return cppstd_flags.get(cppstd.lstrip("gnu")) + + def _cppstd_msvc(visual_version, cppstd): + """Return the flag for the given C++ standard and MSVC version""" + cppstd_flags = {} + cppstd_flags.setdefault("98", "98") + cppstd_flags.setdefault("11", "11") + cppstd_flags.setdefault("14", "14" if visual_version >= "190" else None) + cppstd_flags.setdefault("17", "17" if visual_version >= "191" else "latest" if visual_version >= "190" else None) + cppstd_flags.setdefault("20", "20" if visual_version >= "192" else "latest" if visual_version >= "191" else None) + cppstd_flags.setdefault("23", "latest" if visual_version >= "193" else None) + return cppstd_flags.get(cppstd) + + func = {"gcc": _cppstd_gcc, "clang": _cppstd_clang, "apple-clang": _cppstd_apple_clang, "msvc": _cppstd_msvc}.get(compiler) + flag = cppstd + if func: + flag = func(Version(compiler_version), str(cppstd)) + return flag + @property def _min_compiler_version_default_cxx11(self): """ Minimum compiler version having c++ standard >= 11 @@ -183,6 +243,7 @@ def _min_compiler_version_default_cxx20(self): "msvc": 999, }.get(str(self.settings.compiler)) + @property def _has_cppstd_11_supported(self): cppstd = self.settings.compiler.get_safe("cppstd") if cppstd: @@ -1104,12 +1165,13 @@ def add_defines(library): safe_cppstd = self.settings.get_safe("compiler.cppstd") if safe_cppstd: - cppstd_version = safe_cppstd.replace("gnu", "") + cppstd_version = self._cppstd_flag(safe_cppstd) flags.append(f"cxxstd={cppstd_version}") if "gnu" in safe_cppstd: flags.append("cxxstd-dialect=gnu") elif self._has_cppstd_11_supported: - flags.append("cxxstd=11") + cppstd_version = self._cppstd_flag("11") + flags.append(f"cxxstd={cppstd_version}") # LDFLAGS link_flags = [] From bf4b77daebe9064a4bdb9781bf6d234979fd54ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Meusel?= Date: Wed, 21 Feb 2024 09:50:15 +0100 Subject: [PATCH 1185/1307] (#22836) botan: add version 2.19.4 --- recipes/botan/all/conandata.yml | 3 +++ recipes/botan/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index 8bc337e6d41ee..ee8935ff07aeb 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -14,6 +14,9 @@ sources: "2.19.3": url: "https://github.com/randombit/botan/archive/2.19.3.tar.gz" sha256: "8f568bf74c2e476d92ac8a1cfc2ba8407ec038fe9458bd0a11e7da827a9b8199" + "2.19.4": + url: "https://github.com/randombit/botan/archive/2.19.4.tar.gz" + sha256: "5754a6b5ddc3c74b0cb8671531feea69d03a4f3b5bdafa5f75e4c73a1242e5b1" "3.0.0": url: "https://github.com/randombit/botan/archive/3.0.0.tar.gz" sha256: "8bafe2e965fa9ccf92ef5741165d735c9fbbe6376c373bbf5702495ad2dfb814" diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index aada9ec401094..d8302fc602e57 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -9,6 +9,8 @@ versions: folder: all "2.19.3": folder: all + "2.19.4": + folder: all "3.0.0": folder: all "3.1.0": From 2a0bbad518104bbae4b4df65d1cf48c767c5286f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Rinc=C3=B3n=20Blanco?= Date: Thu, 22 Feb 2024 10:24:10 +0100 Subject: [PATCH 1186/1307] (#22830) openexr: Backport libdeflate handling, remove unused options & remove website compilation * Backport openexr libdeflate * Check for version when disabling website subdirectory --- recipes/openexr/2.x/conandata.yml | 32 -------- .../patches/2.5.4-0001-cstdint-include.patch | 37 --------- recipes/openexr/3.x/conandata.yml | 12 +-- recipes/openexr/3.x/conanfile.py | 22 ++++- .../3.x/patches/3.2.1-find-libdeflate.patch | 82 +++++++++++++++++++ recipes/openexr/config.yml | 10 --- 6 files changed, 106 insertions(+), 89 deletions(-) delete mode 100644 recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch create mode 100644 recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch diff --git a/recipes/openexr/2.x/conandata.yml b/recipes/openexr/2.x/conandata.yml index 6cbbea809703f..6ab19656a3a57 100644 --- a/recipes/openexr/2.x/conandata.yml +++ b/recipes/openexr/2.x/conandata.yml @@ -5,18 +5,6 @@ sources: "2.5.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.7.tar.gz" sha256: "36ecb2290cba6fc92b2ec9357f8dc0e364b4f9a90d727bf9a57c84760695272d" - "2.5.5": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.tar.gz" - sha256: "59e98361cb31456a9634378d0f653a2b9554b8900f233450f2396ff495ea76b3" - "2.5.4": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.4.tar.gz" - sha256: "dba19e9c6720c6f64fbc8b9d1867eaa75da6438109b941eefdc75ed141b6576d" - "2.5.3": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.3.tar.gz" - sha256: "6a6525e6e3907715c6a55887716d7e42d09b54d2457323fcee35a0376960bebf" - "2.5.2": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.2.tar.gz" - sha256: "5da8dff448d0c4a529e52c97daf238a461d01cd233944f75095668d6d7528761" "2.4.0": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.4.0.tar.gz" sha256: "4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1" @@ -26,26 +14,6 @@ patches: patch_description: "Add #include as required by newer gcc versions" patch_type: "portability" patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.5": - - patch_file: "patches/2.5.7-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.4": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.3": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" - "2.5.2": - - patch_file: "patches/2.5.4-0001-cstdint-include.patch" - patch_description: "Add #include as required by newer gcc versions" - patch_type: "portability" - patch_source: "https://github.com/AcademySoftwareFoundation/openexr/commit/310ae8600" "2.4.0": - patch_file: "patches/2.4.0-0001-cstdint-include.patch" patch_description: "Add #include as required by newer gcc versions" diff --git a/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch b/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch deleted file mode 100644 index a30277a2740a5..0000000000000 --- a/recipes/openexr/2.x/patches/2.5.4-0001-cstdint-include.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --git OpenEXR/IlmImf/ImfDwaCompressor.cpp OpenEXR/IlmImf/ImfDwaCompressor.cpp -index 59d1d5d..585a3e6 100644 ---- OpenEXR/IlmImf/ImfDwaCompressor.cpp -+++ OpenEXR/IlmImf/ImfDwaCompressor.cpp -@@ -158,6 +158,7 @@ - #include - - #include -+#include - - - // Windows specific addition to prevent the indirect import of the redefined min/max macros -diff --git OpenEXR/IlmImf/ImfHuf.cpp OpenEXR/IlmImf/ImfHuf.cpp -index 271849b..165fac5 100644 ---- OpenEXR/IlmImf/ImfHuf.cpp -+++ OpenEXR/IlmImf/ImfHuf.cpp -@@ -53,6 +53,7 @@ - #include - #include - #include -+#include - - - using namespace std; -diff --git OpenEXR/IlmImf/ImfMisc.cpp OpenEXR/IlmImf/ImfMisc.cpp -index d2c8478..0451a33 100644 ---- OpenEXR/IlmImf/ImfMisc.cpp -+++ OpenEXR/IlmImf/ImfMisc.cpp -@@ -54,6 +54,8 @@ - #include - #include "ImfNamespace.h" - -+#include -+ - OPENEXR_IMF_INTERNAL_NAMESPACE_SOURCE_ENTER - - using IMATH_NAMESPACE::Box2i; diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 2a41f1e247f6e..778602cf612b4 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -8,15 +8,16 @@ sources: "3.1.7": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" - "3.1.5": - url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz" - sha256: "93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec" patches: "3.2.1": - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" patch_type: "portability" patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" + - patch_file: "patches/3.2.1-find-libdeflate.patch" + patch_description: "Use find_package for libdeflate" + patch_type: "backport" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/pull/1613" "3.1.9": - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" @@ -27,8 +28,3 @@ patches: patch_description: "Workaround for GCC 5 bug" patch_type: "portability" patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" - "3.1.5": - - patch_file: "patches/3.1.4-gcc5-bug-workaround.patch" - patch_description: "Workaround for GCC 5 bug" - patch_type: "portability" - patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" diff --git a/recipes/openexr/3.x/conanfile.py b/recipes/openexr/3.x/conanfile.py index 71838c85f0a04..0948ac5e19152 100644 --- a/recipes/openexr/3.x/conanfile.py +++ b/recipes/openexr/3.x/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir, replace_in_file from conan.tools.scm import Version import os @@ -31,6 +31,10 @@ class OpenEXRConan(ConanFile): def _min_cppstd(self): return 11 + @property + def _with_libdeflate(self): + return Version(self.version) >= "3.2" + def export_sources(self): export_conandata_patches(self) @@ -49,6 +53,8 @@ def requirements(self): self.requires("zlib/[>=1.2.11 <2]") # Note: OpenEXR and Imath are versioned independently. self.requires("imath/3.1.9", transitive_headers=True) + if self._with_libdeflate: + self.requires("libdeflate/1.19") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -61,13 +67,23 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["OPENEXR_INSTALL_EXAMPLES"] = False tc.variables["BUILD_TESTING"] = False + tc.variables["BUILD_WEBSITE"] = False tc.variables["DOCS"] = False tc.generate() cd = CMakeDeps(self) cd.generate() - def build(self): + def _patch_sources(self): apply_conandata_patches(self) + + if Version(self.version) >= "3.2": + # Even with BUILD_WEBSITE, Website target is compiled in 3.2 + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "add_subdirectory(website/src)", + "# add_subdirectory(website/src)") + + def build(self): + self._patch_sources() cmake = CMake(self) cmake.configure() cmake.build() @@ -138,6 +154,8 @@ def package_info(self): OpenEXRCore = self._add_component("OpenEXRCore") OpenEXRCore.libs = [f"OpenEXRCore{lib_suffix}"] OpenEXRCore.requires = [self._conan_comp("OpenEXRConfig"), "zlib::zlib"] + if self._with_libdeflate: + OpenEXRCore.requires.append("libdeflate::libdeflate") if self.settings.os in ["Linux", "FreeBSD"]: OpenEXRCore.system_libs = ["m"] diff --git a/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch b/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch new file mode 100644 index 0000000000000..713d06bd8b4c9 --- /dev/null +++ b/recipes/openexr/3.x/patches/3.2.1-find-libdeflate.patch @@ -0,0 +1,82 @@ +diff --git a/cmake/OpenEXR.pc.in b/cmake/OpenEXR.pc.in +index bce35c2..88ddc9a 100644 +--- a/cmake/OpenEXR.pc.in ++++ b/cmake/OpenEXR.pc.in +@@ -14,7 +14,7 @@ Name: OpenEXR + Description: OpenEXR image library + Version: @OPENEXR_VERSION@ + +-Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR${libsuffix} -lOpenEXRUtil${libsuffix} -lOpenEXRCore${libsuffix} -lIex${libsuffix} -lIlmThread${libsuffix} @EXR_DEFLATE_LDFLAGS@ ++Libs: @exr_pthread_libs@ -L${libdir} -lOpenEXR${libsuffix} -lOpenEXRUtil${libsuffix} -lOpenEXRCore${libsuffix} -lIex${libsuffix} -lIlmThread${libsuffix} + Cflags: -I${includedir} -I${OpenEXR_includedir} @exr_pthread_cflags@ + Requires: Imath +- ++Requires.private: @EXR_DEFLATE_PKGCONFIG_REQUIRES@ +diff --git a/cmake/OpenEXRSetup.cmake b/cmake/OpenEXRSetup.cmake +index ef5c6c0..0a7dabc 100644 +--- a/cmake/OpenEXRSetup.cmake ++++ b/cmake/OpenEXRSetup.cmake +@@ -160,15 +160,40 @@ set(OPENEXR_DEFLATE_TAG "v1.18" CACHE STRING "Tag to use for libdeflate source r + if(NOT OPENEXR_FORCE_INTERNAL_DEFLATE) + #TODO: ^^ Release should not clone from main, this is a place holder + set(CMAKE_IGNORE_PATH "${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-src/config;${CMAKE_CURRENT_BINARY_DIR}/_deps/deflate-build/config") +- include(FindPkgConfig) +- pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) +- set(CMAKE_IGNORE_PATH) +- if (deflate_FOUND) +- message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") ++ # First try cmake config ++ find_package(libdeflate CONFIG QUIET) ++ if(libdeflate_FOUND) ++ if(TARGET libdeflate::libdeflate_shared) ++ set(EXR_DEFLATE_LIB libdeflate::libdeflate_shared) ++ else() ++ set(EXR_DEFLATE_LIB libdeflate::libdeflate_static) ++ endif() ++ set(EXR_DEFLATE_VERSION ${libdeflate_VERSION}) ++ message(STATUS "Using libdeflate from ${libdeflate_DIR}") ++ else() ++ # If not found, try pkgconfig ++ find_package(PkgConfig) ++ if(PKG_CONFIG_FOUND) ++ include(FindPkgConfig) ++ pkg_check_modules(deflate IMPORTED_TARGET GLOBAL libdeflate) ++ if(deflate_FOUND) ++ set(EXR_DEFLATE_LIB PkgConfig::deflate) ++ set(EXR_DEFLATE_VERSION ${deflate_VERSION}) ++ message(STATUS "Using libdeflate from ${deflate_LINK_LIBRARIES}") ++ endif() ++ endif() + endif() ++ set(CMAKE_IGNORE_PATH) + endif() + +-if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) ++if(EXR_DEFLATE_LIB) ++ # Using external library ++ set(EXR_DEFLATE_SOURCES) ++ set(EXR_DEFLATE_INCLUDE_DIR) ++ # For OpenEXR.pc.in for static build ++ set(EXR_DEFLATE_PKGCONFIG_REQUIRES "libdeflate >= ${EXR_DEFLATE_VERSION}") ++else() ++ # Using internal deflate + if(OPENEXR_FORCE_INTERNAL_DEFLATE) + message(STATUS "libdeflate forced internal, installing from ${OPENEXR_DEFLATE_REPO} (${OPENEXR_DEFLATE_TAG})") + else() +@@ -213,16 +238,6 @@ if(NOT TARGET PkgConfig::deflate AND NOT deflate_FOUND) + list(TRANSFORM EXR_DEFLATE_SOURCES PREPEND ${deflate_SOURCE_DIR}/) + set(EXR_DEFLATE_INCLUDE_DIR ${deflate_SOURCE_DIR}) + set(EXR_DEFLATE_LIB) +-else() +- set(EXR_DEFLATE_INCLUDE_DIR) +- set(EXR_DEFLATE_LIB ${deflate_LIBRARIES}) +- # set EXR_DEFATE_LDFLAGS for OpenEXR.pc.in for static build +- if (BUILD_SHARED_LIBS) +- set(EXR_DEFLATE_LDFLAGS "") +- else() +- set(EXR_DEFLATE_LDFLAGS "-l${deflate_LIBRARIES}") +- endif() +- set(EXR_DEFLATE_SOURCES) + endif() + + ####################################### diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index c5e2b53e89f02..79091d0404e1f 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -5,19 +5,9 @@ versions: folder: "3.x" "3.1.7": folder: "3.x" - "3.1.5": - folder: "3.x" "2.5.9": folder: "2.x" "2.5.7": folder: "2.x" - "2.5.5": - folder: "2.x" - "2.5.4": - folder: "2.x" - "2.5.3": - folder: "2.x" - "2.5.2": - folder: "2.x" "2.4.0": folder: "2.x" From a63015048da9c53f6bc45867f156f4e5a5e6a1b3 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 18:49:28 +0900 Subject: [PATCH 1187/1307] (#22585) lua: add options with_tools, with_readline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/lua/all/CMakeLists.txt | 54 ++++++++++++++-------------------- recipes/lua/all/conanfile.py | 20 +++++++++++-- 2 files changed, 40 insertions(+), 34 deletions(-) diff --git a/recipes/lua/all/CMakeLists.txt b/recipes/lua/all/CMakeLists.txt index ed493a41f2982..e3f4b3962a3a1 100644 --- a/recipes/lua/all/CMakeLists.txt +++ b/recipes/lua/all/CMakeLists.txt @@ -63,46 +63,36 @@ IF (UNIX) ENDIF () ENDIF () +include(GNUInstallDirs) + INSTALL ( TARGETS lua - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) -IF (NOT DEFINED SKIP_INSTALL_TOOLS) +IF (NOT SKIP_INSTALL_TOOLS) ADD_EXECUTABLE ( luac ${SRC_LUAC} ${SRC_LIBLUA} ) # compiler uses non-exported APIs, so must include sources directly. ADD_EXECUTABLE ( luai ${SRC_LUAI} ) # interpreter TARGET_LINK_LIBRARIES ( luai lua ) SET_TARGET_PROPERTIES ( luai PROPERTIES OUTPUT_NAME lua PDB_NAME luai ) - IF (UNIX) - IF (CMAKE_SYSTEM_NAME STREQUAL FreeBSD) - SET (_LIB_READLINE_NAME edit) - ELSE () - SET (_LIB_READLINE_NAME readline) - ENDIF () - FIND_LIBRARY (LIB_READLINE NAMES ${_LIB_READLINE_NAME}) - IF (LIB_READLINE) - TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE) - TARGET_LINK_LIBRARIES(luai ${LIB_READLINE}) - IF (_LIB_READLINE_NAME STREQUAL edit) - TARGET_INCLUDE_DIRECTORIES (luai PUBLIC /usr/include/edit) - ENDIF () - ENDIF () + IF (WITH_READLINE) + find_package(readline REQUIRED CONFIG) + TARGET_COMPILE_DEFINITIONS (luai PUBLIC -DLUA_USE_READLINE) + TARGET_LINK_LIBRARIES(luai readline::readline) ENDIF () - INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/tools/lua ) + INSTALL ( TARGETS luai luac RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) ENDIF () -IF (NOT DEFINED SKIP_INSTALL_HEADERS) - INSTALL( - FILES - ${SOURCE_DIR}/src/lualib.h - ${SOURCE_DIR}/src/lua.h - ${SOURCE_DIR}/src/luaconf.h - ${SOURCE_DIR}/src/lauxlib.h - DESTINATION include - ) - # If using C++, don't install extern "C" wrapper. - IF (NOT COMPILE_AS_CPP) - INSTALL(FILES ${SOURCE_DIR}/src/lua.hpp DESTINATION include) - ENDIF () +INSTALL( + FILES + ${SOURCE_DIR}/src/lualib.h + ${SOURCE_DIR}/src/lua.h + ${SOURCE_DIR}/src/luaconf.h + ${SOURCE_DIR}/src/lauxlib.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) +# If using C++, don't install extern "C" wrapper. +IF (NOT COMPILE_AS_CPP) + INSTALL(FILES ${SOURCE_DIR}/src/lua.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ENDIF () diff --git a/recipes/lua/all/conanfile.py b/recipes/lua/all/conanfile.py index 72ee3c59253a9..0214442bfcf23 100644 --- a/recipes/lua/all/conanfile.py +++ b/recipes/lua/all/conanfile.py @@ -1,7 +1,8 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import get, copy, load, save, export_conandata_patches, apply_conandata_patches, collect_libs from conan.tools.apple import fix_apple_shared_install_name @@ -22,11 +23,15 @@ class LuaConan(ConanFile): "shared": [False, True], "fPIC": [True, False], "compile_as_cpp": [True, False], + "with_tools": [True, False], + "with_readline": [True, False], } default_options = { "shared": False, "fPIC": True, "compile_as_cpp": False, + "with_tools": False, + "with_readline": False, } def export_sources(self): @@ -47,15 +52,26 @@ def configure(self): def layout(self): cmake_layout(self, src_folder="src") + def requirements(self): + if self.options.with_tools and self.options.with_readline: + self.requires("readline/8.2") + + def validate(self): + if not self.options.with_tools and self.options.with_readline: + raise ConanInvalidConfiguration(f"{self.ref} requires readline only with with_tools=True") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): tc = CMakeToolchain(self) tc.variables["LUA_SRC_DIR"] = self.source_folder.replace("\\", "/") - tc.variables["SKIP_INSTALL_TOOLS"] = True tc.variables["COMPILE_AS_CPP"] = self.options.compile_as_cpp + tc.variables["SKIP_INSTALL_TOOLS"] = not self.options.with_tools + tc.variables["WITH_READLINE"] = self.options.with_readline tc.generate() + deps = CMakeDeps(self) + deps.generate() def build(self): apply_conandata_patches(self) From 8caefc1795971b08f2b8067f306a6fb86ac315e1 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 19:29:36 +0900 Subject: [PATCH 1188/1307] (#22785) glaze: add version 2.1.4 * glaze: add version 2.1.3 * update 2.1.4 * revert 2.1.3 for gcc 11 * drop 2.1.3, relax gcc version for 2.1.4 --- recipes/glaze/all/conandata.yml | 21 +++------------------ recipes/glaze/all/conanfile.py | 15 ++++++++++++--- recipes/glaze/config.yml | 14 ++------------ 3 files changed, 17 insertions(+), 33 deletions(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 4e699ca475415..eac1dcf403a4d 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.4": + url: "https://github.com/stephenberry/glaze/archive/v2.1.4.tar.gz" + sha256: "cbaba4dfbaaf342c8be8e6834cb79933b080ac89f3aa1470bc7a83197d9ebc1a" "2.1.0": url: "https://github.com/stephenberry/glaze/archive/v2.1.0.tar.gz" sha256: "b3bb4d886f17d266f37a6eec2c42b2e57e287918b20511297c4eb6b9960f0f8f" @@ -11,27 +14,9 @@ sources: "2.0.6": url: "https://github.com/stephenberry/glaze/archive/v2.0.6.tar.gz" sha256: "aa5d4921382e9781998ebbf6d36964556daa3367a2aef5ca814122502b450abc" - "2.0.5": - url: "https://github.com/stephenberry/glaze/archive/v2.0.5.tar.gz" - sha256: "a826c823dd125e25ecd29881775df5db07ccacd5358a04efba2b290eb6c945eb" - "2.0.3": - url: "https://github.com/stephenberry/glaze/archive/v2.0.3.tar.gz" - sha256: "7e155d2970329ff4a13fe1d4c4e4b63509405a984b4f37ef9f92b8756bb3c8ce" - "2.0.2": - url: "https://github.com/stephenberry/glaze/archive/v2.0.2.tar.gz" - sha256: "af65752fb523c82313bfbe9c04ab47e332d881154f06c63967b973ee51e5923d" - "2.0.1": - url: "https://github.com/stephenberry/glaze/archive/v2.0.1.tar.gz" - sha256: "0f515588189796696a802c88b0308b5386376d202c7ff1875683f38316f09c90" - "2.0.0": - url: "https://github.com/stephenberry/glaze/archive/v2.0.0.tar.gz" - sha256: "8553ade81a20b1a7c8398f95490ab540f34a78f226f7fe5555dfcbbaf216e108" "1.9.9": url: "https://github.com/stephenberry/glaze/archive/v1.9.9.tar.gz" sha256: "7e2605046742a89ec455887a5a0d6b3188ed5c14ea309c5eb9814848c26bedca" - "1.9.5": - url: "https://github.com/stephenberry/glaze/archive/v1.9.5.tar.gz" - sha256: "3800fa7283a1d4e5bd2c746fe9e268d2f8af76d3a75be7318b2084f38f529c7f" "1.8.5": url: "https://github.com/stephenberry/glaze/archive/v1.8.5.tar.gz" sha256: "5d876eed5689f1947ea4eafd9f13a4e0b527611a6b1857c79a5d598a856287b4" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index f991920259f6a..4237860bf397f 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -25,13 +25,16 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): - return { + versions = { "Visual Studio": "17", "msvc": "193", - "gcc": "10" if Version(self.version) < "1.9.0" else "11", + "gcc": "10", "clang": "12", "apple-clang": "13.1", } + if Version(self.version) >= "1.9.0": + versions["gcc"] = "11" + return versions def layout(self): basic_layout(self, src_folder="src") @@ -40,7 +43,13 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.get_safe("compiler.cppstd"): + if Version(self.version) >= "2.1.4" and \ + self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "11.3": + raise ConanInvalidConfiguration( + f"{self.ref} doesn't support 11.0<=gcc<11.3 due to gcc bug. Please use gcc>=11.3 and set compiler.version.(ex. compiler.version=11.3)", + ) + + if self.settings.compiler.get_safe("cppstd"): check_min_cppstd(self, self._min_cppstd) minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) if minimum_version and Version(self.settings.compiler.version) < minimum_version: diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index 45dcbfc2283ba..b7b45251fb8a4 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.4": + folder: all "2.1.0": folder: all "2.0.9": @@ -7,19 +9,7 @@ versions: folder: all "2.0.6": folder: all - "2.0.5": - folder: all - "2.0.3": - folder: all - "2.0.2": - folder: all - "2.0.1": - folder: all - "2.0.0": - folder: all "1.9.9": folder: all - "1.9.5": - folder: all "1.8.5": folder: all From b03197b110c6f59260089eec788b50bfd8cd10cd Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 19:48:21 +0900 Subject: [PATCH 1189/1307] (#22797) pcre2: add version 10.43 * pcre2: add version 10.43 * pcre2: define PCRE2POSIX_SHARED --- recipes/pcre2/all/conandata.yml | 3 +++ recipes/pcre2/all/conanfile.py | 3 +++ recipes/pcre2/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/pcre2/all/conandata.yml b/recipes/pcre2/all/conandata.yml index 344830544b429..6dadb108df617 100644 --- a/recipes/pcre2/all/conandata.yml +++ b/recipes/pcre2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "10.43": + url: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.43/pcre2-10.43.tar.bz2" + sha256: "e2a53984ff0b07dfdb5ae4486bbb9b21cca8e7df2434096cc9bf1b728c350bcb" "10.42": url: "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2" sha256: "8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840" diff --git a/recipes/pcre2/all/conanfile.py b/recipes/pcre2/all/conanfile.py index 14600c9abe85c..5c51abac704ec 100644 --- a/recipes/pcre2/all/conanfile.py +++ b/recipes/pcre2/all/conanfile.py @@ -149,6 +149,9 @@ def package_info(self): self.cpp_info.components["pcre2-posix"].set_property("pkg_config_name", "libpcre2-posix") self.cpp_info.components["pcre2-posix"].libs = [self._lib_name("pcre2-posix")] self.cpp_info.components["pcre2-posix"].requires = ["pcre2-8"] + if Version(self.version) >= "10.43" and is_msvc(self) and self.options.shared: + self.cpp_info.components["pcre2-posix"].defines.append("PCRE2POSIX_SHARED=1") + # pcre2-16 if self.options.build_pcre2_16: self.cpp_info.components["pcre2-16"].set_property("cmake_target_name", "PCRE2::16BIT") diff --git a/recipes/pcre2/config.yml b/recipes/pcre2/config.yml index f488a0ecff8cb..946dbc4632734 100644 --- a/recipes/pcre2/config.yml +++ b/recipes/pcre2/config.yml @@ -1,4 +1,6 @@ versions: + "10.43": + folder: all "10.42": folder: all "10.40": From f3042a11387d34897a671c179ea333aa984551e5 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 20:28:04 +0900 Subject: [PATCH 1190/1307] (#22809) glog: add version 0.7.0 * glog: add version 0.7.0 * enable C++14 in test_package * update cmake build --- recipes/glog/all/conandata.yml | 15 +++++--- recipes/glog/all/conanfile.py | 40 +++++++++++++++++--- recipes/glog/all/test_package/CMakeLists.txt | 3 ++ recipes/glog/config.yml | 2 + 4 files changed, 49 insertions(+), 11 deletions(-) diff --git a/recipes/glog/all/conandata.yml b/recipes/glog/all/conandata.yml index 280f568cd746b..caa4c720569cf 100644 --- a/recipes/glog/all/conandata.yml +++ b/recipes/glog/all/conandata.yml @@ -1,13 +1,16 @@ sources: + "0.7.0": + url: "https://github.com/google/glog/archive/refs/tags/v0.7.0.tar.gz" + sha256: "375106b5976231b92e66879c1a92ce062923b9ae573c42b56ba28b112ee4cc11" "0.6.0": - sha256: 8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6 - url: https://github.com/google/glog/archive/refs/tags/v0.6.0.tar.gz + url: "https://github.com/google/glog/archive/refs/tags/v0.6.0.tar.gz" + sha256: "8a83bf982f37bb70825df71a9709fa90ea9f4447fb3c099e1d720a439d88bad6" "0.5.0": - sha256: eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5 - url: https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz + url: "https://github.com/google/glog/archive/refs/tags/v0.5.0.tar.gz" + sha256: "eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5" "0.4.0": - sha256: f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c - url: https://github.com/google/glog/archive/v0.4.0.tar.gz + url: "https://github.com/google/glog/archive/v0.4.0.tar.gz" + sha256: "f28359aeba12f30d73d9e4711ef356dc842886968112162bc73002645139c39c" patches: "0.5.0": - patch_file: "patches/0001-fix-msvc-snprintf.patch" diff --git a/recipes/glog/all/conanfile.py b/recipes/glog/all/conanfile.py index 7e06e74b5074e..3b6d58c7ef863 100644 --- a/recipes/glog/all/conanfile.py +++ b/recipes/glog/all/conanfile.py @@ -1,8 +1,10 @@ from conan import ConanFile +from conan.errors import ConanInvalidConfiguration from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps from conan.tools.env import VirtualBuildEnv from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir from conan.tools.scm import Version +from conan.tools.build import check_min_cppstd import os required_conan_version = ">=1.54.0" @@ -10,12 +12,11 @@ class GlogConan(ConanFile): name = "glog" + description = "Google logging library" + license = "BSD-3-Clause" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/google/glog/" - description = "Google logging library" topics = ("logging",) - license = "BSD-3-Clause" - package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -33,6 +34,20 @@ class GlogConan(ConanFile): "with_unwind": True, } + @property + def _min_cppstd(self): + return 14 + + @property + def _compilers_minimum_version(self): + return { + "apple-clang": "10", + "clang": "7", + "gcc": "7", + "msvc": "191", + "Visual Studio": "15", + } + def export_sources(self): export_conandata_patches(self) @@ -56,10 +71,23 @@ def requirements(self): self.requires("gflags/2.2.2", transitive_headers=True, transitive_libs=True) # 0.4.0 requires libunwind unconditionally if self.options.get_safe("with_unwind") or (Version(self.version) < "0.5.0" and self.settings.os in ["Linux", "FreeBSD"]): - self.requires("libunwind/1.7.2") + self.requires("libunwind/1.8.0", transitive_headers=True, transitive_libs=True) + + def validate(self): + if Version(self.version) < "0.7.0": + return + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) def build_requirements(self): - if Version(self.version) >= "0.6.0": + if Version(self.version) >= "0.7.0": + self.tool_requires("cmake/[>=3.22 <4]") + elif Version(self.version) >= "0.6.0": self.tool_requires("cmake/[>=3.16 <4]") def source(self): @@ -129,3 +157,5 @@ def package_info(self): self.cpp_info.defines.append(f"GOOGLE_GLOG_DLL_DECL={decl}") if self.options.with_gflags and not self.options.shared: self.cpp_info.defines.extend(["GFLAGS_DLL_DECLARE_FLAG=", "GFLAGS_DLL_DEFINE_FLAG="]) + if Version(self.version) >= "0.7.0": + self.cpp_info.defines.extend(["GLOG_USE_GLOG_EXPORT="]) diff --git a/recipes/glog/all/test_package/CMakeLists.txt b/recipes/glog/all/test_package/CMakeLists.txt index 28603535e29e9..846b06b94b1ef 100644 --- a/recipes/glog/all/test_package/CMakeLists.txt +++ b/recipes/glog/all/test_package/CMakeLists.txt @@ -5,3 +5,6 @@ find_package(glog REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE glog::glog) +if (glog_VERSION VERSION_GREATER_EQUAL "0.7.0") + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +endif() diff --git a/recipes/glog/config.yml b/recipes/glog/config.yml index babcbfb79d964..a0804c43130f1 100644 --- a/recipes/glog/config.yml +++ b/recipes/glog/config.yml @@ -1,4 +1,6 @@ versions: + "0.7.0": + folder: all "0.6.0": folder: all "0.5.0": From 07cd4a0157a18c382a968585d7d13521239b7ada Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 22 Feb 2024 20:53:57 +0900 Subject: [PATCH 1191/1307] (#22845) perfetto: add version 42.0 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 7fcc5a39bf3d7..711d2732829d9 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "42.0": + url: "https://github.com/google/perfetto/archive/refs/tags/v42.0.tar.gz" + sha256: "1c474a0f16cc2f9da826fd3f9e44ffd77785c433e997cdaf0ee390ae3d64b53e" "41.0": url: "https://github.com/google/perfetto/archive/refs/tags/v41.0.tar.gz" sha256: "4c8fe8a609fcc77ca653ec85f387ab6c3a048fcd8df9275a1aa8087984b89db8" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index 441b287e9826f..f2898b0745aac 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "42.0": + folder: all "41.0": folder: all "40.0": From d82765c89d5903d2d50f40a5702183708e654c20 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:04:02 +0000 Subject: [PATCH 1192/1307] (#22848) [bot] Update authorized users list (2024-02-22) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 995fbb6e339b3..e66b2974bcee6 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1290,3 +1290,5 @@ authorized_users: - cnicolaescu - mmomtchev - ChristianHeinigk +- metalMajor +- joergbrech From aa62958b41621487de635c57dccdb4978a4c63d4 Mon Sep 17 00:00:00 2001 From: Klaus Holst Jacobsen <48069914+klausholstjacobsen@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:49:53 +0100 Subject: [PATCH 1193/1307] (#22847) zlib: Bad alternative url for zlib 1.3.1 --- recipes/zlib/all/conandata.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/zlib/all/conandata.yml b/recipes/zlib/all/conandata.yml index 6af954549998d..e069fd42a135c 100644 --- a/recipes/zlib/all/conandata.yml +++ b/recipes/zlib/all/conandata.yml @@ -2,7 +2,7 @@ sources: "1.3.1": url: - "https://zlib.net/fossils/zlib-1.3.1.tar.gz" - - "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.1.tar.gz" + - "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" "1.3": url: From 50f06ffad2f50fa78fb70d07602724be95bc8647 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 20:09:37 +0900 Subject: [PATCH 1194/1307] (#22867) imgui: add version 1.90.4 --- recipes/imgui/all/conandata.yml | 6 ++++++ recipes/imgui/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/imgui/all/conandata.yml b/recipes/imgui/all/conandata.yml index 467e04fdf9e0f..e9eda4969aa9b 100644 --- a/recipes/imgui/all/conandata.yml +++ b/recipes/imgui/all/conandata.yml @@ -1,4 +1,10 @@ sources: + "1.90.4": + url: "https://github.com/ocornut/imgui/archive/v1.90.4.tar.gz" + sha256: "5d9dc738af74efa357f2a9fc39fe4a28d29ef1dfc725dd2977ccf3f3194e996e" + "1.90.4-docking": + url: "https://github.com/ocornut/imgui/archive/v1.90.4-docking.tar.gz" + sha256: "91ac3c6fd83cc3bea38745af57665b13464ba235dc11373d0898ae6fe35a8a65" "1.90.3": url: "https://github.com/ocornut/imgui/archive/v1.90.3.tar.gz" sha256: "40b302d01092c9393373b372fe07ea33ac69e9491893ebab3bf952b2c1f5fd23" diff --git a/recipes/imgui/config.yml b/recipes/imgui/config.yml index 40705063b856e..9443d0df2e210 100644 --- a/recipes/imgui/config.yml +++ b/recipes/imgui/config.yml @@ -1,4 +1,8 @@ versions: + "1.90.4": + folder: all + "1.90.4-docking": + folder: all "1.90.3": folder: all "1.90.3-docking": From 3edb6d723ed5a8d1d7fe75a2eee251462845b569 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Fri, 23 Feb 2024 12:01:47 +0000 Subject: [PATCH 1195/1307] (#22871) [doc] Update supported platforms and configurations (2024-02-23) Co-authored-by: conan-center-bot --- docs/supported_platforms_and_configurations.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/supported_platforms_and_configurations.md b/docs/supported_platforms_and_configurations.md index f39ae2fe9c847..156a1c5f868d7 100644 --- a/docs/supported_platforms_and_configurations.md +++ b/docs/supported_platforms_and_configurations.md @@ -61,8 +61,8 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.13 - CMake: 3.15.7, 3.18.2 (same version expected after all use [new docker images](https://github.com/conan-io/conan-docker-tools/tree/master/modern)) - Compilers: - - GCC versions: 5, 7, 9, 10, 11 - - Clang versions: 12, 13 + - GCC versions: 5, 7, 9, 11 + - Clang versions: 13 - C++ Standard Library (`libcxx`): - GCC compiler: `libstdc++`, `libstdc++11` - Clang compiler: `libstdc++`, `libc++` @@ -76,11 +76,11 @@ For more information see [conan-io/conan-docker-tools](https://github.com/conan- - Python: 3.7.12 - CMake: 3.20.1 -- Compilers: Apple-clang versions 11.0.3, 12.0.5, 13.0.0 -- Macos SDK versions (for each apple-clang version respectively): 10.15, 11.3 -- Macos deployment target (`minos`): 10.15, 11.0, 11.3 +- Compilers: Apple-clang versions 13.0.0 +- Macos SDK versions (for each apple-clang version respectively): 11.3 +- Macos deployment target (`minos`): 11.0 - C++ Standard Library (`libcxx`): `libc++` -- Architectures: x86_64, armv8 +- Architectures: armv8 - Build types: Release, Debug - Options: - Shared, Static (option ``"shared": [True, False]`` in the recipe when available) From 687a20f705c9ad33b1409f7d81d35410155ee479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Meusel?= Date: Fri, 23 Feb 2024 14:48:10 +0100 Subject: [PATCH 1196/1307] (#22837) botan: add version 3.3.0 --- recipes/botan/all/conandata.yml | 3 +++ recipes/botan/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/botan/all/conandata.yml b/recipes/botan/all/conandata.yml index ee8935ff07aeb..67a7d6257434c 100644 --- a/recipes/botan/all/conandata.yml +++ b/recipes/botan/all/conandata.yml @@ -29,6 +29,9 @@ sources: "3.2.0": url: "https://github.com/randombit/botan/archive/3.2.0.tar.gz" sha256: "95af4935d56973000bb6ff20bb54ae56083f8764d5a2c89826cac26ac6127330" + "3.3.0": + url: "https://github.com/randombit/botan/archive/3.3.0.tar.gz" + sha256: "57fefda7b9ab6f8409329620cdaf26d2d7e962b6a10eb321d331e9ecb796f804" patches: "2.18.2": - patch_file: "patches/fix-amalgamation-build.patch" diff --git a/recipes/botan/config.yml b/recipes/botan/config.yml index d8302fc602e57..9230bceaba6c6 100644 --- a/recipes/botan/config.yml +++ b/recipes/botan/config.yml @@ -19,3 +19,5 @@ versions: folder: all "3.2.0": folder: all + "3.3.0": + folder: all From 23e4d972bbbc82c6c8508607f6231e6cacab5565 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Fri, 23 Feb 2024 15:10:26 +0100 Subject: [PATCH 1197/1307] (#22846) functionalplus: add version 0.2.23 --- recipes/functionalplus/all/conandata.yml | 3 +++ recipes/functionalplus/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/functionalplus/all/conandata.yml b/recipes/functionalplus/all/conandata.yml index 3d3543e65247e..a99f4612ba4db 100644 --- a/recipes/functionalplus/all/conandata.yml +++ b/recipes/functionalplus/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.2.23": + url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.23.tar.gz" + sha256: "5c2d28d2ba7d0cdeab9e31bbf2e7f8a9d6f2ff6111a54bfc11d1b05422096f19" "0.2.22": url: "https://github.com/Dobiasd/FunctionalPlus/archive/v0.2.22.tar.gz" sha256: "79378668dff6ffa8abc1abde2c2fe37dc6fe1ac040c55d5ee7886924fa6a1376" diff --git a/recipes/functionalplus/config.yml b/recipes/functionalplus/config.yml index a822e05fbaecb..ebd7ef7a33637 100644 --- a/recipes/functionalplus/config.yml +++ b/recipes/functionalplus/config.yml @@ -1,4 +1,6 @@ versions: + "0.2.23": + folder: all "0.2.22": folder: all "0.2.20-p0": From bf6feedd74034675837b71722dd3c0a04ab31f28 Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 23 Feb 2024 23:29:00 +0900 Subject: [PATCH 1198/1307] (#22858) meson: add version 1.3.2 --- recipes/meson/all/conandata.yml | 3 +++ recipes/meson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/meson/all/conandata.yml b/recipes/meson/all/conandata.yml index 28c305f4e6b32..775660b3d07c2 100644 --- a/recipes/meson/all/conandata.yml +++ b/recipes/meson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.2": + url: "https://github.com/mesonbuild/meson/archive/1.3.2.tar.gz" + sha256: "683082fb3c5cddf203b21d29bdf4c227e2f7964da5324a15e1a5f7db94322b4b" "1.3.1": url: "https://github.com/mesonbuild/meson/archive/1.3.1.tar.gz" sha256: "274c121edb859602eb4589d31d8791e980748bb19950fc6f611a21d76dc22cc6" diff --git a/recipes/meson/config.yml b/recipes/meson/config.yml index 391274cd2a1ed..0e150ef5dedd6 100644 --- a/recipes/meson/config.yml +++ b/recipes/meson/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.2": + folder: all "1.3.1": folder: all "1.3.0": From 3b5bcb8da34722aaccab993471f1201fffa6ddeb Mon Sep 17 00:00:00 2001 From: SpaceIm <30052553+SpaceIm@users.noreply.github.com> Date: Fri, 23 Feb 2024 15:46:57 +0100 Subject: [PATCH 1199/1307] (#20449) dcmtk: fix compilation error `ambiguous overload for operator==` with some compilers * fix compilation error with some compilers * add patch_source * prefer to define missiong operator== --- recipes/dcmtk/all/conandata.yml | 8 ++++-- ...03-ambiguous-overload-operator-equal.patch | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index 7ae433b2e0c08..fc800b08330e7 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -6,7 +6,11 @@ patches: "3.6.7": - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" patch_description: "CMake: robust discovery with find_package() and use imported targets" - patch_type: conan + patch_type: "conan" - patch_file: "patches/3.6.7-0002-cmake-check-openssl-symbol.patch" patch_description: "CMake: fix OpenSSL compatibility checks" - patch_type: conan + patch_type: "conan" + - patch_file: "patches/3.6.7-0003-ambiguous-overload-operator-equal.patch" + patch_description: "C++20: Fix ambiguous overload for operator== between DB_SerializedTagKey and DcmTagKey" + patch_type: "portability" + patch_source: "https://github.com/DCMTK/dcmtk/pull/88" diff --git a/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch b/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch new file mode 100644 index 0000000000000..d4b6242e861a2 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.7-0003-ambiguous-overload-operator-equal.patch @@ -0,0 +1,26 @@ +--- a/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h ++++ b/dcmqrdb/include/dcmtk/dcmqrdb/dcmqridx.h +@@ -122,10 +122,22 @@ struct DCMTK_DCMQRDB_EXPORT DB_SerializedTagKey + inline DB_SerializedTagKey(const DcmTagKey& rhs) { *this = rhs; } + inline DB_SerializedTagKey& operator=(const DcmTagKey& tk) { key[0] = tk.getGroup(); key[1] = tk.getElement(); return *this; } + inline operator DcmTagKey() const { return DcmTagKey( key[0], key[1] ); } +- inline bool operator==(const DB_SerializedTagKey& rhs) const { return key[0] == rhs.key[0] && key[1] == rhs.key[1]; } + Uint16 key[2]; + }; + ++inline bool operator==(const DB_SerializedTagKey& lhs, const DB_SerializedTagKey& rhs) ++{ ++ return lhs.key[0] == rhs.key[0] && lhs.key[1] == rhs.key[1]; ++} ++inline bool operator==(const DB_SerializedTagKey& lhs, const DcmTagKey& rhs) ++{ ++ return lhs == DB_SerializedTagKey(rhs); ++} ++inline bool operator==(const DcmTagKey& lhs, const DB_SerializedTagKey& rhs) ++{ ++ return rhs == lhs; ++} ++ + /* ENSURE THAT DBVERSION IS INCREMENTED WHENEVER ONE OF THESE STRUCTS IS MODIFIED */ + + struct DCMTK_DCMQRDB_EXPORT DB_SerializedCharPtr From b715728a06dacea71ef37863aac4c6ed30966253 Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Fri, 23 Feb 2024 16:26:57 +0100 Subject: [PATCH 1200/1307] (#21492) aws-c-s3: add version 0.3.24 --- recipes/aws-c-s3/all/conandata.yml | 3 +++ recipes/aws-c-s3/all/conanfile.py | 18 ++++++++++++++---- recipes/aws-c-s3/config.yml | 2 ++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index 776d2c58fad6a..c1055bfac4946 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.3.24": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.3.24.tar.gz" + sha256: "09803db4af98bba0af263434e2de432cdccdb3ab709411abba8e05d34840f815" "0.1.49": url: "https://github.com/awslabs/aws-c-s3/archive/v0.1.49.tar.gz" sha256: "71acbba41a02477a6c352172da561bc2138bf239b936490c773d7aaa83afc9ab" diff --git a/recipes/aws-c-s3/all/conanfile.py b/recipes/aws-c-s3/all/conanfile.py index 4854a0ec7c6d5..1813ec30adc8a 100644 --- a/recipes/aws-c-s3/all/conanfile.py +++ b/recipes/aws-c-s3/all/conanfile.py @@ -40,17 +40,27 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) - self.requires("aws-c-cal/0.5.13") + if Version(self.version) < "0.3.24": + self.requires("aws-c-common/0.8.2", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.5.13") + else: + self.requires("aws-c-common/0.9.6", transitive_headers=True, transitive_libs=True) + self.requires("aws-c-cal/0.6.9") if Version(self.version) < "0.1.49": self.requires("aws-c-auth/0.6.11", transitive_headers=True) self.requires("aws-c-http/0.6.13") self.requires("aws-c-io/0.10.20", transitive_headers=True) - else: + elif Version(self.version) < "0.3.24": self.requires("aws-c-auth/0.6.17", transitive_headers=True) self.requires("aws-c-http/0.6.22") self.requires("aws-c-io/0.13.4", transitive_headers=True) - if Version(self.version) >= "0.1.36": + else: + self.requires("aws-c-auth/0.7.8", transitive_headers=True) + self.requires("aws-c-http/0.7.14") + self.requires("aws-c-io/0.13.35", transitive_headers=True) + if Version(self.version) >= "0.3.24": + self.requires("aws-checksums/0.1.17") + elif Version(self.version) >= "0.1.36": self.requires("aws-checksums/0.1.13") def source(self): diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index 9a2f6a3845f5c..a038f7fe28821 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -1,4 +1,6 @@ versions: + "0.3.24": + folder: all "0.1.49": folder: all "0.1.37": From 27715fb0b6f4f103e0d1207599423fb2bc37b411 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Fri, 23 Feb 2024 18:49:02 +0300 Subject: [PATCH 1201/1307] (#22859) md4qt: bump version to 2.7.4 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 29dd0361a14fa..9b4b6bdb2cefd 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.7.4": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.4.tar.gz" + sha256: "adef8e96e71f13cb9f4450eee7bb02a43694682dc67519323f8e23f7bf10d0d1" "2.7.3": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.3.tar.gz" sha256: "d464cd137a69218f88af1373b198610f1db6971c7aa56c6869219ffb34e6f0dd" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 73bd1fd0bdc43..51c0af2212d4c 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.7.4": + folder: all "2.7.3": folder: all "2.7.2": From a16e564c2fc09da3bed8a99fa8e656b8b787386e Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 01:30:29 +0900 Subject: [PATCH 1202/1307] (#22868) libhal: add version 2.2.0 --- recipes/libhal/all/conandata.yml | 3 +++ recipes/libhal/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libhal/all/conandata.yml b/recipes/libhal/all/conandata.yml index 5f30969947a89..c0ad6ccc7db62 100644 --- a/recipes/libhal/all/conandata.yml +++ b/recipes/libhal/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.2.0": + url: "https://github.com/libhal/libhal/archive/refs/tags/2.2.0.tar.gz" + sha256: "4a005cb45bd75662ca7d966a1a55f3570d2a0db01432e17eb1e9889ae7c90ee4" "2.0.2": url: "https://github.com/libhal/libhal/archive/refs/tags/2.0.2.tar.gz" sha256: "bb69fffbff58ac9a91f71636422d81a4426fe70c3b47ca9b07c87fb074c989dc" diff --git a/recipes/libhal/config.yml b/recipes/libhal/config.yml index 855e335e2fd53..a5b4b5f8dd9a9 100644 --- a/recipes/libhal/config.yml +++ b/recipes/libhal/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.0": + folder: "all" "2.0.2": folder: "all" "2.0.1": From 665339d9271ac2f42763ac92f55fb23015dbbbc2 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 01:52:32 +0900 Subject: [PATCH 1203/1307] (#22834) daw_utf_range: add version 2.2.4 --- recipes/daw_utf_range/all/conandata.yml | 7 +++++-- recipes/daw_utf_range/all/conanfile.py | 7 +++++-- recipes/daw_utf_range/config.yml | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/recipes/daw_utf_range/all/conandata.yml b/recipes/daw_utf_range/all/conandata.yml index 179be6adbbd6e..274810345e204 100644 --- a/recipes/daw_utf_range/all/conandata.yml +++ b/recipes/daw_utf_range/all/conandata.yml @@ -1,10 +1,13 @@ sources: + "2.2.4": + url: "https://github.com/beached/utf_range/archive/v2.2.4.tar.gz" + sha256: "e6df85d6da445c16507e738d70c6313df2a70e64b739a05d6437b06a5f83b8b1" "2.2.3": url: "https://github.com/beached/utf_range/archive/v2.2.3.tar.gz" sha256: "cfa36285ffbdf8d4d08fbbe95d054e67ad845c064a92419ea68a770415ad7a98" "2.2.2": - url: "https://github.com/beached/utf_range/archive/refs/tags/v2.2.2.tar.gz" + url: "https://github.com/beached/utf_range/archive/v2.2.2.tar.gz" sha256: "5380ade7c7eb5c82a748211896fc7385eaec00d3215af1374aec8f0e326f91fd" "2.2.0": - url: "https://github.com/beached/utf_range/archive/refs/tags/v2.2.0.tar.gz" + url: "https://github.com/beached/utf_range/archive/v2.2.0.tar.gz" sha256: "00f60360736062403c8a7a94dd07c750366958f20d1864578faecf2e09d84265" diff --git a/recipes/daw_utf_range/all/conanfile.py b/recipes/daw_utf_range/all/conanfile.py index 0db5a7b2716bd..ad4fd8d98f0b6 100644 --- a/recipes/daw_utf_range/all/conanfile.py +++ b/recipes/daw_utf_range/all/conanfile.py @@ -15,7 +15,7 @@ class DawUtfRangeConan(ConanFile): license = "BSL-1.0" url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/beached/utf_range/" - topics = ("utf", "validator", "iterator") + topics = ("utf", "validator", "iterator", "header-only") package_type = "header-library" settings = "os", "arch", "compiler", "build_type" no_copy_source = True @@ -38,7 +38,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.97.0") + if Version(self.version) >= "2.2.4": + self.requires("daw_header_libraries/2.101.0") + else: + self.requires("daw_header_libraries/2.97.0") def package_id(self): self.info.clear() diff --git a/recipes/daw_utf_range/config.yml b/recipes/daw_utf_range/config.yml index 20edb7543cf05..0856bcef8b94d 100644 --- a/recipes/daw_utf_range/config.yml +++ b/recipes/daw_utf_range/config.yml @@ -1,4 +1,6 @@ versions: + "2.2.4": + folder: "all" "2.2.3": folder: "all" "2.2.2": From 228613980fd6451a399611bd3a524cd43c6cc47f Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Fri, 23 Feb 2024 18:29:51 +0100 Subject: [PATCH 1204/1307] (#22841) botan: remove no-op option * botan: remove no-op option * bump deps these options are disabled by default, so no risk of conflict on C3I --- recipes/botan/all/conanfile.py | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/recipes/botan/all/conanfile.py b/recipes/botan/all/conanfile.py index ce2b978ddda1d..d211b39ca041f 100644 --- a/recipes/botan/all/conanfile.py +++ b/recipes/botan/all/conanfile.py @@ -34,7 +34,6 @@ class BotanConan(ConanFile): "amalgamation": [True, False], "with_bzip2": [True, False], "with_openssl": [True, False], - "single_amalgamation": [True, False], "with_sqlite3": [True, False], "with_zlib": [True, False], "with_boost": [True, False], @@ -63,7 +62,6 @@ class BotanConan(ConanFile): "amalgamation": True, "with_bzip2": False, "with_openssl": False, - "single_amalgamation": False, "with_sqlite3": False, "with_zlib": False, "with_boost": False, @@ -126,11 +124,6 @@ def config_options(self): del self.options.with_altivec del self.options.with_powercrypto - # --single-amalgamation option is no longer available - # See also https://github.com/randombit/botan/pull/2246 - if Version(self.version) >= '2.14.0': - del self.options.single_amalgamation - # Support for the OpenSSL provider was removed in 2.19.2 if Version(self.version) >= '2.19.2': del self.options.with_openssl @@ -147,9 +140,9 @@ def requirements(self): if self.options.with_zlib: self.requires("zlib/[>=1.2.11 <2]") if self.options.with_sqlite3: - self.requires("sqlite3/3.38.5") + self.requires("sqlite3/3.45.1") if self.options.with_boost: - self.requires("boost/1.83.0") + self.requires("boost/1.84.0") @property def _required_boost_components(self): @@ -216,16 +209,13 @@ def validate(self): # Some older compilers cannot handle the amalgamated build anymore # See also https://github.com/randombit/botan/issues/2328 - if Version(self.version) >= '2.14.0' and self.options.amalgamation: + if self.options.amalgamation: if (self.settings.compiler == 'apple-clang' and compiler_version < '10') or \ (self.settings.compiler == 'gcc' and compiler_version < '8') or \ (self.settings.compiler == 'clang' and compiler_version < '7'): raise ConanInvalidConfiguration( f"botan amalgamation is not supported for {compiler}/{compiler_version}") - if self.options.get_safe("single_amalgamation", False) and not self.options.amalgamation: - raise ConanInvalidConfiguration("botan:single_amalgamation=True requires botan:amalgamation=True") - def layout(self): basic_layout(self, src_folder="src") @@ -356,9 +346,6 @@ def _configure_cmd(self): if self.options.amalgamation: build_flags.append('--amalgamation') - if self.options.get_safe('single_amalgamation'): - build_flags.append('--single-amalgamation-file') - if self.options.system_cert_bundle: build_flags.append('--system-cert-bundle={}'.format(self.options.system_cert_bundle)) From 642fa5c9cb797323fa1438aee2278fedbe73d4de Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 04:29:47 +0900 Subject: [PATCH 1205/1307] (#22824) celero: add version 2.9.0, add patch descriptions * celero: add version 2.9.0, add patch descriptions * fix typo * require cmake >= 3.22 * remove cmake files * fix windows shared build * fix target position --- recipes/celero/all/conandata.yml | 25 ++++++++++++++ recipes/celero/all/conanfile.py | 12 ++++--- .../all/patches/0005-2.9.0-drop-runtime.patch | 33 +++++++++++++++++++ .../0006-2.9.0-fix-install-target.patch | 16 +++++++++ recipes/celero/config.yml | 2 ++ 5 files changed, 84 insertions(+), 4 deletions(-) create mode 100644 recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch create mode 100644 recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch diff --git a/recipes/celero/all/conandata.yml b/recipes/celero/all/conandata.yml index 5c189657151ee..854be338c3c4d 100644 --- a/recipes/celero/all/conandata.yml +++ b/recipes/celero/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.9.0": + url: "https://github.com/DigitalInBlue/Celero/archive/v2.9.0.tar.gz" + sha256: "d59df84696e0dd58022d2c42837362c06eba6d1e29bac61f7b3143bc73d779e5" "2.8.2": url: "https://github.com/DigitalInBlue/Celero/archive/v2.8.2.tar.gz" sha256: "7d2131ba27ca5343b31f1e04777ed3e666e2ad7f785e79c960c872fc48cd5f88" @@ -6,11 +9,33 @@ sources: url: "https://github.com/DigitalInBlue/Celero/archive/v2.6.0.tar.gz" sha256: "a5b72da254f81d42369382ba3157229b6b32ebbb670a22b185f80db95535e66e" patches: + "2.9.0": + - patch_file: "patches/0005-2.9.0-drop-runtime.patch" + patch_description: "remove /MT /MD flags" + patch_type: "conan" + - patch_file: "patches/0006-2.9.0-fix-install-target.patch" + patch_description: "fix install target for Windows" + patch_type: "portability" "2.8.2": - patch_file: "patches/0004-2.8.2-missing-include.patch" + patch_description: "include memory header" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/160" - patch_file: "patches/0005-drop-runtime.patch" + patch_description: "remove /MT /MD flags" + patch_type: "conan" "2.6.0": - patch_file: "patches/0001-cmake-install-pic-cxx-standard-sytem-libs.patch" + patch_description: "disable PIC, remove /std:c++14 flag, fix install path" + patch_type: "conan" - patch_file: "patches/0002-lowercase-include-system-libs-windows.patch" + patch_description: "lowercase include file names" + patch_type: "portability" - patch_file: "patches/0003-typo-declspec.patch" + patch_description: "fix typo declspec" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/147" - patch_file: "patches/0004-2.6.0-missing-include.patch" + patch_description: "include memory header" + patch_type: "portability" + patch_source: "https://github.com/DigitalInBlue/Celero/pull/160" diff --git a/recipes/celero/all/conanfile.py b/recipes/celero/all/conanfile.py index d919314d7d0cb..b3f3afce2b69a 100644 --- a/recipes/celero/all/conanfile.py +++ b/recipes/celero/all/conanfile.py @@ -14,10 +14,9 @@ class CeleroConan(ConanFile): name = "celero" description = "C++ Benchmarking Library" license = "Apache-2.0" - topics = ("benchmark", "benchmark-tests", "measurements", "microbenchmarks") - homepage = "https://github.com/DigitalInBlue/Celero" url = "https://github.com/conan-io/conan-center-index" - + homepage = "https://github.com/DigitalInBlue/Celero" + topics = ("benchmark", "benchmark-tests", "measurements", "microbenchmarks") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -66,6 +65,10 @@ def validate(self): f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." ) + def build_requirements(self): + if Version(self.version) >= "2.9.0": + self.tool_requires("cmake/[>=3.22 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -90,6 +93,7 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "celero")) # TODO: to remove in conan v2 once cmake_find_package_* generators removed self._create_cmake_module_alias_targets( @@ -119,7 +123,7 @@ def package_info(self): if not self.options.shared: self.cpp_info.defines = ["CELERO_STATIC"] if self.settings.os in ("FreeBSD", "Linux"): - self.cpp_info.system_libs = ["pthread"] + self.cpp_info.system_libs = ["pthread", "m"] elif self.settings.os == "Windows": self.cpp_info.system_libs = ["powrprof", "psapi"] diff --git a/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch b/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch new file mode 100644 index 0000000000000..8810f2aa3b2d3 --- /dev/null +++ b/recipes/celero/all/patches/0005-2.9.0-drop-runtime.patch @@ -0,0 +1,33 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f12ab9..73474a1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -66,17 +66,17 @@ macro(CeleroSetDefaultCompilerOptions) + target_compile_options(${PROJECT_NAME} PRIVATE /permissive-) + target_compile_options(${PROJECT_NAME} PRIVATE /MP) + +- if (NOT CELERO_COMPILE_DYNAMIC_LIBRARIES) +- if(VCPKG_CRT_LINKAGE) +- if(VCPKG_CRT_LINKAGE STREQUAL "static") +- target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) +- else() +- target_compile_options(${PROJECT_NAME} PRIVATE /MD$<$:d>) +- endif() +- else() +- target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) +- endif() +- endif() ++ # if (NOT CELERO_COMPILE_DYNAMIC_LIBRARIES) ++ # if(VCPKG_CRT_LINKAGE) ++ # if(VCPKG_CRT_LINKAGE STREQUAL "static") ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) ++ # else() ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MD$<$:d>) ++ # endif() ++ # else() ++ # target_compile_options(${PROJECT_NAME} PRIVATE /MT$<$:d>) ++ # endif() ++ # endif() + + if(CELERO_ENABLE_WARNINGS_AS_ERRORS) + target_compile_options(${PROJECT_NAME} PRIVATE /WX) diff --git a/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch b/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch new file mode 100644 index 0000000000000..b8f71eb1f7916 --- /dev/null +++ b/recipes/celero/all/patches/0006-2.9.0-fix-install-target.patch @@ -0,0 +1,16 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3f12ab9..8c0c2e2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -274,8 +274,10 @@ install( + ) + install( + TARGETS celero +- DESTINATION ${CMAKE_INSTALL_LIBDIR} + EXPORT celero-targets ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + install( + EXPORT celero-targets diff --git a/recipes/celero/config.yml b/recipes/celero/config.yml index 3f32427faf7d1..0aacb0a653fc9 100644 --- a/recipes/celero/config.yml +++ b/recipes/celero/config.yml @@ -1,4 +1,6 @@ versions: + "2.9.0": + folder: all "2.8.2": folder: all "2.6.0": From cea2b0ce0ef73b9916d185333e306e67f81e4a68 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 04:50:44 +0900 Subject: [PATCH 1206/1307] (#22856) dice-template-library: add version 1.3.0, support apple-clang --- recipes/dice-template-library/all/conandata.yml | 3 +++ recipes/dice-template-library/all/conanfile.py | 3 +-- recipes/dice-template-library/config.yml | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/recipes/dice-template-library/all/conandata.yml b/recipes/dice-template-library/all/conandata.yml index 59191b2c39484..8045d981c24de 100644 --- a/recipes/dice-template-library/all/conandata.yml +++ b/recipes/dice-template-library/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.0": + url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.3.0.tar.gz" + sha256: "2e61e95eeedf31f7041a6694c0789c5d1a5e3f9e4db87546cb83c9189808d4f5" "1.2.0": url: "https://github.com/dice-group/dice-template-library/archive/refs/tags/v1.2.0.tar.gz" sha256: "9b21793e158af3ee81ceec827a1a43a87e309e2f7bf0be8ace0f538a95f4865a" diff --git a/recipes/dice-template-library/all/conanfile.py b/recipes/dice-template-library/all/conanfile.py index 9b90b9971293f..c799a85eb10c5 100644 --- a/recipes/dice-template-library/all/conanfile.py +++ b/recipes/dice-template-library/all/conanfile.py @@ -33,6 +33,7 @@ def _compilers_minimum_version(self): return { "gcc": "10.2", "clang": "12", + "apple-clang": "14", } def layout(self): @@ -42,8 +43,6 @@ def package_id(self): self.info.clear() def validate(self): - if self.settings.compiler == "apple-clang": - raise ConanInvalidConfiguration("apple-clang is not supported because a full concept implementation is needed") if is_msvc(self): raise ConanInvalidConfiguration("MSVC is not supported because a full concept implementation is needed") diff --git a/recipes/dice-template-library/config.yml b/recipes/dice-template-library/config.yml index 569143d81f56c..13451667044d0 100644 --- a/recipes/dice-template-library/config.yml +++ b/recipes/dice-template-library/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.0": + folder: all "1.2.0": folder: all "1.1.0": From 9fce4eb98c4578ea0379886bfa6545a70e4455f6 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 10:52:58 +0900 Subject: [PATCH 1207/1307] (#22869) tree-sitter: add version 0.21.0 * tree-sitter: add version 0.21.0 * use C11 on 0.21.0 --- recipes/tree-sitter/all/CMakeLists.txt | 19 ++++++++++++------- recipes/tree-sitter/all/conandata.yml | 3 +++ recipes/tree-sitter/all/conanfile.py | 10 +++++++--- .../all/test_package/CMakeLists.txt | 7 ++++++- recipes/tree-sitter/config.yml | 2 ++ 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/recipes/tree-sitter/all/CMakeLists.txt b/recipes/tree-sitter/all/CMakeLists.txt index 5f48ce80be466..25a592da8c101 100644 --- a/recipes/tree-sitter/all/CMakeLists.txt +++ b/recipes/tree-sitter/all/CMakeLists.txt @@ -1,26 +1,31 @@ cmake_minimum_required(VERSION 3.4) -project(tree-sitter C) +project(tree-sitter LANGUAGES C) # Use cmake script instead of Makefile to support MSVC + follow fPIC option -file(GLOB SOURCES RELATIVE "${PROJECT_SOURCE_DIR}" src/lib/src/*.c) -list(REMOVE_ITEM SOURCES src/lib/src/lib.c) +file(GLOB SOURCES ${TREE_SITTER_SRC_DIR}/lib/src/*.c) +list(REMOVE_ITEM SOURCES ${TREE_SITTER_SRC_DIR}/lib/src/lib.c) -file(GLOB HEADERS src/lib/include/tree_sitter/*.h) +file(GLOB HEADERS ${TREE_SITTER_SRC_DIR}/lib/include/tree_sitter/*.h) add_library(${PROJECT_NAME} ${SOURCES}) target_include_directories(${PROJECT_NAME} PRIVATE - $ - $ + $ + $ ) set_target_properties(${PROJECT_NAME} PROPERTIES - C_STANDARD 99 PUBLIC_HEADER "${HEADERS}" WINDOWS_EXPORT_ALL_SYMBOLS ON ) +if(TREE_SITTER_VERSION VERSION_LESS "0.21.0") + target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) +else() + target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) +endif() + include(GNUInstallDirs) install(TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" diff --git a/recipes/tree-sitter/all/conandata.yml b/recipes/tree-sitter/all/conandata.yml index 43b71bcba5f69..e9e15c0a595de 100644 --- a/recipes/tree-sitter/all/conandata.yml +++ b/recipes/tree-sitter/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.21.0": + url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.21.0.tar.gz" + sha256: "6bb60e5b63c1dc18aba57a9e7b3ea775b4f9ceec44cc35dac4634d26db4eb69c" "0.20.8": url: "https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.20.8.tar.gz" sha256: "6181ede0b7470bfca37e293e7d5dc1d16469b9485d13f13a605baec4a8b1f791" diff --git a/recipes/tree-sitter/all/conanfile.py b/recipes/tree-sitter/all/conanfile.py index db16033332a0c..a0c425765146a 100644 --- a/recipes/tree-sitter/all/conanfile.py +++ b/recipes/tree-sitter/all/conanfile.py @@ -1,7 +1,7 @@ import os from conan import ConanFile -from conan.tools.cmake import CMake, cmake_layout +from conan.tools.cmake import CMakeToolchain, CMake, cmake_layout from conan.tools.files import get, copy required_conan_version = ">=1.53.0" @@ -24,8 +24,6 @@ class TreeSitterConan(ConanFile): "fPIC": True, "shared": False, } - - generators = "CMakeToolchain" exports_sources = "CMakeLists.txt" def config_options(self): @@ -44,6 +42,12 @@ def layout(self): def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) + def generate(self): + tc = CMakeToolchain(self) + tc.variables["TREE_SITTER_SRC_DIR"] = self.source_folder.replace("\\", "/") + tc.variables["TREE_SITTER_VERSION"] = str(self.version) + tc.generate() + def build(self): cmake = CMake(self) cmake.configure(build_script_folder=os.path.join(self.source_folder, os.pardir)) diff --git a/recipes/tree-sitter/all/test_package/CMakeLists.txt b/recipes/tree-sitter/all/test_package/CMakeLists.txt index c0b053bd23a36..5946342aa2496 100644 --- a/recipes/tree-sitter/all/test_package/CMakeLists.txt +++ b/recipes/tree-sitter/all/test_package/CMakeLists.txt @@ -1,7 +1,12 @@ cmake_minimum_required(VERSION 3.1) -project(test_package C) +project(test_package LANGUAGES C) find_package(tree-sitter REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) target_link_libraries(${PROJECT_NAME} tree-sitter::tree-sitter) +if(tree-sitter_VERSION VERSION_LESS "0.21.0") + target_compile_features(${PROJECT_NAME} PRIVATE c_std_99) +else() + target_compile_features(${PROJECT_NAME} PRIVATE c_std_11) +endif() diff --git a/recipes/tree-sitter/config.yml b/recipes/tree-sitter/config.yml index 30720fc6f1016..62dc82320f3ad 100644 --- a/recipes/tree-sitter/config.yml +++ b/recipes/tree-sitter/config.yml @@ -1,4 +1,6 @@ versions: + "0.21.0": + folder: all "0.20.8": folder: all "0.20.6": From 1e82faa96f40bd93868142ac5b10ee29971ad6b0 Mon Sep 17 00:00:00 2001 From: toge Date: Sat, 24 Feb 2024 20:29:06 +0900 Subject: [PATCH 1208/1307] (#22857) glaze: add version 2.1.6, 2.1.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * glaze: add version 2.1.6 * update 2.1.7 * revert 2.1.6, drop support clang < 14 on 2.1.7 * Update recipes/glaze/all/conandata.yml --------- Co-authored-by: Rubén Rincón Blanco --- recipes/glaze/all/conandata.yml | 7 +++++++ recipes/glaze/all/conanfile.py | 3 ++- recipes/glaze/config.yml | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index eac1dcf403a4d..6736bccf09f67 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "2.1.7": + url: "https://github.com/stephenberry/glaze/archive/v2.1.7.tar.gz" + sha256: "e110bfc6494ca3a0616beaec214e61a53d4e0bd1489d8f1a45ca6f87594a3502" + # Keep 2.1.6 for now as 2.1.7 had some breaking changes + "2.1.6": + url: "https://github.com/stephenberry/glaze/archive/v2.1.6.tar.gz" + sha256: "5ae31b1a48a5b54b84e115a12195341bfbe39f03f92bb3bcad074f984380f72d" "2.1.4": url: "https://github.com/stephenberry/glaze/archive/v2.1.4.tar.gz" sha256: "cbaba4dfbaaf342c8be8e6834cb79933b080ac89f3aa1470bc7a83197d9ebc1a" diff --git a/recipes/glaze/all/conanfile.py b/recipes/glaze/all/conanfile.py index 4237860bf397f..b7b6a8eb1447b 100644 --- a/recipes/glaze/all/conanfile.py +++ b/recipes/glaze/all/conanfile.py @@ -29,7 +29,8 @@ def _compilers_minimum_version(self): "Visual Studio": "17", "msvc": "193", "gcc": "10", - "clang": "12", + # glaze >= 2.1.6 uses std::bit_cast which is supported by clang >= 14 + "clang": "12" if Version(self.version) < "2.1.6" else "14", "apple-clang": "13.1", } if Version(self.version) >= "1.9.0": diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index b7b45251fb8a4..e31effcfe238e 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,8 @@ versions: + "2.1.7": + folder: all + "2.1.6": + folder: all "2.1.4": folder: all "2.1.0": From c238545a5b6dc605bf321a8738bf68b927357569 Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Mon, 26 Feb 2024 07:58:48 +0100 Subject: [PATCH 1209/1307] fix config validate infra entry (#22870) Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 2 +- .c3i/config_v2.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index 6bb2f823e1899..ae8f0a7b717cf 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -74,7 +74,7 @@ tasks: validate_infrastructure: macos_executors: 2 windows_executors: 4 - open_docs_pull-request: true + create_docs_pull-request: true # Profile configurations to build packages configurations: diff --git a/.c3i/config_v2.yml b/.c3i/config_v2.yml index 765cbc758a9e0..ce873ee6cf673 100644 --- a/.c3i/config_v2.yml +++ b/.c3i/config_v2.yml @@ -66,7 +66,7 @@ tasks: validate_infrastructure: macos_executors: 2 windows_executors: 4 - open_docs_pull-request: false + create_docs_pull-request: false configurations: - id: linux-gcc From 762c212e2e72629c3572e80c7b6fd981647c0b71 Mon Sep 17 00:00:00 2001 From: James Date: Mon, 26 Feb 2024 09:04:33 +0100 Subject: [PATCH 1210/1307] (#21764) avoid meson creating pycache files, corrupt the package MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rubén Rincón Blanco --- recipes/meson/all/conanfile.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/meson/all/conanfile.py b/recipes/meson/all/conanfile.py index e2d65a1b60825..f11560d3a45d0 100644 --- a/recipes/meson/all/conanfile.py +++ b/recipes/meson/all/conanfile.py @@ -44,11 +44,13 @@ def package(self): # create wrapper scripts save(self, os.path.join(self.package_folder, "bin", "meson.cmd"), textwrap.dedent("""\ @echo off + set PYTHONDONTWRITEBYTECODE=1 CALL python %~dp0/meson.py %* """)) save(self, os.path.join(self.package_folder, "bin", "meson"), textwrap.dedent("""\ #!/usr/bin/env bash meson_dir=$(dirname "$0") + export PYTHONDONTWRITEBYTECODE=1 exec "$meson_dir/meson.py" "$@" """)) From 148835788c1fc8814de32c270acbd554a5a8c534 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Mon, 26 Feb 2024 10:08:25 +0100 Subject: [PATCH 1211/1307] (#22893) hictk: add v0.0.9 --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index c0ae183d99318..ef016828b80db 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.9": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.9.tar.gz" + sha256: "c64cb07a057863baa199b9d344b27b8f15a1db458390ccf7b5cac0627308d8c8" "0.0.8": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.8.tar.gz" sha256: "4bdadf49cb053731ea31f50312c9e4fcbcdcbaf94c39715f7b325641629bed4b" diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 460eb40585b0b..0677603a25aa5 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.9": + folder: all "0.0.8": folder: all "0.0.3": From 5ce904c44cbc906a1d13a06e4d49c55d1a361cfe Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 26 Feb 2024 11:04:45 +0100 Subject: [PATCH 1212/1307] (#19950) OpenImageIO: conan 2 support, old version cleanup & version 2.4.17.0 & 2.5.6.0 added MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Convert OpenImageIO to build with conan 2.0 Initial conversion to Conan 2.0 based on existing Conan 1.0 receip. Updating to OIIO 2.4.15.0 additionally to include patches integrated since last version. * Fix ptex dependency linking/include directory * Update license info to Apache 2 * Convert OpenImageIO to build with conan 2.0 Initial conversion to Conan 2.0 based on existing Conan 1.0 receip. Updating to OIIO 2.4.15.0 additionally to include patches integrated since last version. * Fix ptex dependency linking/include directory * Update license info to Apache 2 * Small cleanup * Fix linter warning for new conanfile * Rename legacy back to all to keep existing files untouched * Update dependencies * Roll back opencolorio change * Bump WebP to 1.3.2 which includes an important security fix * Bump zlib requirement to range style * Cleanup * OpenColorIO version prepared in separate branch * Prepare for ffmpeg/6.0.1 * Try to add Conan v2 and adding latest 2.4.17.0 version * Fix config.yml * Fixed cmake targets patch * Cleanup old versions to reduce the number of needed changes to make everything work again * Apply changes to old and current patches to ensure correct Cmake target use * Fix build for 2.4.7.1 (locally now building with conan 1 and 2) * Fix linking to ensure that the conan fmt is used, build before due to system fmt * Add OpenImageIO 2.5.6.0 * Fix ffmpeg requirement for old OIIO version + bump openexr * Add version to config * Remove accidential blank line * Fix patches for correct libheif linking * Improve some includes and if-conditions * Small fixes in test package & patches * Add fmt required * Set fmt transitive * Set transitive * Transitive imath * OpenColorIO 2.3.1 & attempted fix for test package * Attempted fix for requires * Trying lower case imath requirement * Update recipes/openimageio/all/conanfile.py Impelment suggested change Co-authored-by: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> * Update recipes/openimageio/all/conanfile.py Try to fix windows build errors (aka unintentionally included VC library redistribution) Co-authored-by: Julien Marrec * Import rm * Fix license info * Fix test package path * Try to bypass windows path problem * Fix test path * Adapt test package to package template * Match freetype version of ffmpeg * Adapt to style comments for variable names * Remove old version that requires a missing ffmpeg build of version 4.4.4 * Try bumping all dependencies * Version range for libpng * Apply suggestions from code review Co-authored-by: Rubén Rincón Blanco * Remove testing option * Update recipes/openimageio/all/test_v1_package/CMakeLists.txt * Update recipes/openimageio/all/test_package/CMakeLists.txt --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries Co-authored-by: Esteban Dugueperoux <43169544+EstebanDugueperoux2@users.noreply.github.com> Co-authored-by: Julien Marrec Co-authored-by: Rubén Rincón Blanco --- recipes/openimageio/all/CMakeLists.txt | 19 - recipes/openimageio/all/conandata.yml | 38 +- recipes/openimageio/all/conanfile.py | 284 ++++--- .../all/patches/2.2.18.0-cmake-targets.patch | 711 ------------------ .../all/patches/2.2.7.0-cmake-targets.patch | 673 ----------------- .../all/patches/2.3.7.2-cmake-targets.patch | 710 ----------------- .../all/patches/2.4.17.0-cmake-targets.patch | 456 +++++++++++ .../all/patches/2.4.7.1-cmake-targets.patch | 40 +- .../all/patches/2.5.6.0-cmake-targets.patch | 515 +++++++++++++ .../all/test_package/CMakeLists.txt | 11 +- .../openimageio/all/test_package/conanfile.py | 21 +- .../all/test_v1_package/CMakeLists.txt | 11 + .../all/test_v1_package/conanfile.py | 16 + .../all/test_v1_package/test_package.cpp | 9 + recipes/openimageio/config.yml | 8 +- 15 files changed, 1214 insertions(+), 2308 deletions(-) delete mode 100644 recipes/openimageio/all/CMakeLists.txt delete mode 100644 recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch delete mode 100644 recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch delete mode 100644 recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch create mode 100644 recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch create mode 100644 recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch create mode 100644 recipes/openimageio/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/openimageio/all/test_v1_package/conanfile.py create mode 100644 recipes/openimageio/all/test_v1_package/test_package.cpp diff --git a/recipes/openimageio/all/CMakeLists.txt b/recipes/openimageio/all/CMakeLists.txt deleted file mode 100644 index 62d9f71f06583..0000000000000 --- a/recipes/openimageio/all/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include("conanbuildinfo.cmake") -conan_basic_setup(KEEP_RPATHS) - -include_directories( - BEFORE - # OIIO uses CMAKE_BINARY_DIR, we need to set include dirs - # in order to be able to use add_subdirectory - "${CMAKE_BINARY_DIR}/source_subfolder/src/include" - "${CMAKE_BINARY_DIR}/source_subfolder/include" - # Same as above but for CMAKE_SOURCE_DIR - "${CMAKE_SOURCE_DIR}/source_subfolder/src/include" -) - -set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP YES) - -add_subdirectory(source_subfolder) diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index f652a05c49a38..9ae019a09b59e 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -1,32 +1,26 @@ sources: - "2.2.7.0": - url: "https://github.com/OpenImageIO/oiio/archive/Release-2.2.7.0.tar.gz" - sha256: "857ac83798d6d2bda5d4d11a90618ff19486da2e5a4c4ff022c5976b5746fe8c" - "2.2.18.0": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.2.18.0.tar.gz" - sha256: "72597619f09b60cc2afc18f378b40fbec62701112957f43cff162dd9a52a26ce" - "2.3.7.2": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.3.7.2.tar.gz" - sha256: "829c05d17610f1156c2a777310f4709b81f3a302fd11e3999ea4a865a5b4a5d3" "2.4.7.1": - url: "https://github.com/OpenImageIO/oiio/archive/refs/tags/v2.4.7.1.tar.gz" - sha256: "fd298f71e44c6776863db4b37c4a1388dba0d2eb37378afea95ab07a7cd6ecd4" + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.4.7.1.tar.gz" + sha256: "a3dc6fdb3693eb5f1e22191e41c05800a4944f3c76daffe90bd203f956180126" + "2.4.17.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.4.17.0.tar.gz" + sha256: "7fe81d8e5bce30cc4a212f020ac3cc4344e6b7c1c0842475e3a048515099c65c" + "2.5.6.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.6.0.tar.gz" + sha256: "bcfced40a25ef8576383b44d8bbe3732aa2b8efc7b8614482783d6f90378d307" patches: - "2.2.7.0": - - patch_file: "patches/2.2.7.0-cmake-targets.patch" - base_path: "source_subfolder" - "2.2.18.0": - - patch_file: "patches/2.2.18.0-cmake-targets.patch" - base_path: "source_subfolder" - "2.3.7.2": - - patch_file: "patches/2.3.7.2-cmake-targets.patch" - base_path: "source_subfolder" "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" - base_path: "source_subfolder" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" - patch_file: "patches/2.4.7.1-fix-msvc2017.patch" - base_path: "source_subfolder" patch_description: "Fix compile error with MSVC 2017" patch_type: "official" + "2.4.17.0": + - patch_file: "patches/2.4.17.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" + "2.5.6.0": + - patch_file: "patches/2.5.6.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" diff --git a/recipes/openimageio/all/conanfile.py b/recipes/openimageio/all/conanfile.py index f741a725420ff..16fa1a05a98b9 100644 --- a/recipes/openimageio/all/conanfile.py +++ b/recipes/openimageio/all/conanfile.py @@ -1,10 +1,10 @@ +from conan import ConanFile from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rm, rmdir from conan.tools.microsoft import is_msvc, is_msvc_static_runtime -from conan import ConanFile, Version -from conan.tools import files +from conan.tools.scm import Version from conan.errors import ConanInvalidConfiguration -from conans import CMake -import functools import os required_conan_version = ">=1.53.0" @@ -19,7 +19,7 @@ class OpenImageIOConan(ConanFile): "professional, large-scale animation and visual effects work for film." ) topics = ("vfx", "image", "picture") - license = "BSD-3-Clause" + license = "Apache-2.0", "BSD-3-Clause" homepage = "http://www.openimageio.org/" url = "https://github.com/conan-io/conan-center-index" @@ -65,21 +65,8 @@ class OpenImageIOConan(ConanFile): "with_libwebp": True, } - short_paths = True - generators = "cmake", "cmake_find_package" - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": @@ -87,236 +74,235 @@ def config_options(self): def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") def requirements(self): # Required libraries - self.requires("zlib/1.2.13") - self.requires("boost/1.78.0") - self.requires("libtiff/4.5.1") - self.requires("openexr/2.5.7") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("boost/1.84.0") + self.requires("libtiff/4.6.0") + self.requires("imath/3.1.9", transitive_headers=True) + self.requires("openexr/3.2.1") if self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") - self.requires("pugixml/1.12.1") + self.requires("libjpeg-turbo/3.0.2") + self.requires("pugixml/1.14") self.requires("libsquish/1.15") - self.requires("tsl-robin-map/1.0.1") - self.requires("fmt/8.1.1") + self.requires("tsl-robin-map/1.2.1") + if Version(self.version) >= "2.4.17.0": + self.requires("fmt/10.2.1", transitive_headers=True) + else: + self.requires("fmt/9.1.0", transitive_headers=True) # Optional libraries if self.options.with_libpng: - self.requires("libpng/1.6.40") + self.requires("libpng/1.6.42") if self.options.with_freetype: - self.requires("freetype/2.13.0") + self.requires("freetype/2.13.2") if self.options.with_hdf5: - self.requires("hdf5/1.12.1") + self.requires("hdf5/1.14.3") if self.options.with_opencolorio: - if Version(self.version) < "2.3.7.2": - self.requires("opencolorio/1.1.1") - else: - self.requires("opencolorio/2.1.0") + self.requires("opencolorio/2.3.1") if self.options.with_opencv: - self.requires("opencv/4.5.5") + self.requires("opencv/4.8.1") if self.options.with_tbb: - self.requires("onetbb/2020.3") + self.requires("onetbb/2021.10.0") if self.options.with_dicom: - self.requires("dcmtk/3.6.6") + self.requires("dcmtk/3.6.7") if self.options.with_ffmpeg: - self.requires("ffmpeg/4.4") + self.requires("ffmpeg/6.1") # TODO: Field3D dependency if self.options.with_giflib: self.requires("giflib/5.2.1") if self.options.with_libheif: - self.requires("libheif/1.12.0") + self.requires("libheif/1.16.2") if self.options.with_raw: - self.requires("libraw/0.20.2") + self.requires("libraw/0.21.2") if self.options.with_openjpeg: self.requires("openjpeg/2.5.0") if self.options.with_openvdb: self.requires("openvdb/8.0.1") if self.options.with_ptex: - self.requires("ptex/2.4.0") + self.requires("ptex/2.4.2") if self.options.with_libwebp: - self.requires("libwebp/1.3.1") + self.requires("libwebp/1.3.2") # TODO: R3DSDK dependency # TODO: Nuke dependency def validate(self): - if self.settings.compiler.get_safe("cppstd"): - if Version(self.version) >= "2.3.0.0" or self.options.with_openvdb: - check_min_cppstd(self, 14) - else: - check_min_cppstd(self, 11) + if self.settings.compiler.cppstd: + check_min_cppstd(self, 14) if is_msvc(self) and is_msvc_static_runtime(self) and self.options.shared: raise ConanInvalidConfiguration( "Building shared library with static runtime is not supported!" ) - def source(self): - files.get( - self, - **self.conan_data["sources"][self.version], - strip_root=True, - destination=self._source_subfolder - ) + def layout(self): + cmake_layout(self, src_folder="src") - def _patch_sources(self): - files.apply_conandata_patches(self) + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) - @functools.lru_cache(1) - def _configure_cmake(self): - cmake = CMake(self) + def generate(self): + tc = CMakeToolchain(self) # CMake options - cmake.definitions["CMAKE_DEBUG_POSTFIX"] = "" # Needed for 2.3.x.x+ versions - cmake.definitions["OIIO_BUILD_TOOLS"] = True - cmake.definitions["OIIO_BUILD_TESTS"] = False - cmake.definitions["BUILD_DOCS"] = False - cmake.definitions["INSTALL_DOCS"] = False - cmake.definitions["INSTALL_FONTS"] = False - cmake.definitions["INSTALL_CMAKE_HELPER"] = False - cmake.definitions["EMBEDPLUGINS"] = True - cmake.definitions["USE_PYTHON"] = False - cmake.definitions["USE_EXTERNAL_PUGIXML"] = True + tc.variables["CMAKE_DEBUG_POSTFIX"] = "" # Needed for 2.3.x.x+ versions + tc.variables["OIIO_BUILD_TOOLS"] = True + tc.variables["OIIO_BUILD_TESTS"] = False + tc.variables["BUILD_DOCS"] = False + tc.variables["INSTALL_DOCS"] = False + tc.variables["INSTALL_FONTS"] = False + tc.variables["INSTALL_CMAKE_HELPER"] = False + tc.variables["EMBEDPLUGINS"] = True + tc.variables["USE_PYTHON"] = False + tc.variables["USE_EXTERNAL_PUGIXML"] = True + tc.variables["BUILD_MISSING_FMT"] = False + + # Conan is normally not used for testing, so fixing this option to not build the tests + tc.variables["BUILD_TESTING"] = False # OIIO CMake files are patched to check USE_* flags to require or not use dependencies - cmake.definitions["USE_JPEGTURBO"] = ( + tc.variables["USE_JPEGTURBO"] = ( self.options.with_libjpeg == "libjpeg-turbo" ) - cmake.definitions[ + tc.variables[ "USE_JPEG" ] = True # Needed for jpeg.imageio plugin, libjpeg/libjpeg-turbo selection still works - cmake.definitions["USE_HDF5"] = self.options.with_hdf5 - cmake.definitions["USE_OPENCOLORIO"] = self.options.with_opencolorio - cmake.definitions["USE_OPENCV"] = self.options.with_opencv - cmake.definitions["USE_TBB"] = self.options.with_tbb - cmake.definitions["USE_DCMTK"] = self.options.with_dicom - cmake.definitions["USE_FFMPEG"] = self.options.with_ffmpeg - cmake.definitions["USE_FIELD3D"] = False - cmake.definitions["USE_GIF"] = self.options.with_giflib - cmake.definitions["USE_LIBHEIF"] = self.options.with_libheif - cmake.definitions["USE_LIBRAW"] = self.options.with_raw - cmake.definitions["USE_OPENVDB"] = self.options.with_openvdb - cmake.definitions["USE_PTEX"] = self.options.with_ptex - cmake.definitions["USE_R3DSDK"] = False - cmake.definitions["USE_NUKE"] = False - cmake.definitions["USE_OPENGL"] = False - cmake.definitions["USE_QT"] = False - cmake.definitions["USE_LIBPNG"] = self.options.with_libpng - cmake.definitions["USE_FREETYPE"] = self.options.with_freetype - cmake.definitions["USE_LIBWEBP"] = self.options.with_libwebp - cmake.definitions["USE_OPENJPEG"] = self.options.with_openjpeg - - if self.options.with_openvdb: - cmake.definitions["CMAKE_CXX_STANDARD"] = 14 + tc.variables["USE_HDF5"] = self.options.with_hdf5 + tc.variables["USE_OPENCOLORIO"] = self.options.with_opencolorio + tc.variables["USE_OPENCV"] = self.options.with_opencv + tc.variables["USE_TBB"] = self.options.with_tbb + tc.variables["USE_DCMTK"] = self.options.with_dicom + tc.variables["USE_FFMPEG"] = self.options.with_ffmpeg + tc.variables["USE_FIELD3D"] = False + tc.variables["USE_GIF"] = self.options.with_giflib + tc.variables["USE_LIBHEIF"] = self.options.with_libheif + tc.variables["USE_LIBRAW"] = self.options.with_raw + tc.variables["USE_OPENVDB"] = self.options.with_openvdb + tc.variables["USE_PTEX"] = self.options.with_ptex + tc.variables["USE_R3DSDK"] = False + tc.variables["USE_NUKE"] = False + tc.variables["USE_OPENGL"] = False + tc.variables["USE_QT"] = False + tc.variables["USE_LIBPNG"] = self.options.with_libpng + tc.variables["USE_FREETYPE"] = self.options.with_freetype + tc.variables["USE_LIBWEBP"] = self.options.with_libwebp + tc.variables["USE_OPENJPEG"] = self.options.with_openjpeg - cmake.configure(build_folder=self._build_subfolder) - return cmake + tc.generate() + cd = CMakeDeps(self) + cd.generate() def build(self): - self._patch_sources() - - cmake = self._configure_cmake() + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + copy(self, "LICENSE*.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows": + for vc_file in ("concrt", "msvcp", "vcruntime"): + rm(self, f"{vc_file}*.dll", os.path.join(self.package_folder, "bin")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) - files.rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) - files.rmdir(self, os.path.join(self.package_folder, "share")) + @staticmethod + def _conan_comp(name): + return f"openimageio_{name.lower()}" - self.copy("LICENSE.md", src=self._source_subfolder, dst="licenses") + def _add_component(self, name): + component = self.cpp_info.components[self._conan_comp(name)] + component.set_property("cmake_target_name", f"OpenImageIO::{name}") + component.names["cmake_find_package"] = name + component.names["cmake_find_package_multi"] = name + return component def package_info(self): self.cpp_info.set_property("cmake_file_name", "OpenImageIO") - self.cpp_info.set_property("cmake_target_name", "OpenImageIO::OpenImageIO") self.cpp_info.set_property("pkg_config_name", "OpenImageIO") - self.cpp_info.components["openimageio_util"].set_property( - "cmake_target_name", "OpenImageIO::OpenImageIO_Util" - ) - self.cpp_info.components["openimageio_util"].libs = ["OpenImageIO_Util"] - self.cpp_info.components["openimageio_util"].requires = [ + self.cpp_info.names["cmake_find_package"] = "OpenImageIO" + self.cpp_info.names["cmake_find_package_multi"] = "OpenImageIO" + + # OpenImageIO::OpenImageIO_Util + open_image_io_util = self._add_component("OpenImageIO_Util") + open_image_io_util.libs = ["OpenImageIO_Util"] + open_image_io_util.requires = [ "boost::filesystem", "boost::thread", "boost::system", "boost::regex", + "imath::imath", "openexr::openexr", ] if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["openimageio_util"].system_libs.extend( + open_image_io_util.system_libs.extend( ["dl", "m", "pthread"] ) + if self.options.with_tbb: + open_image_io_util.requires.append("onetbb::onetbb") - self.cpp_info.components["main"].set_property( - "cmake_target_name", "OpenImageIO::OpenImageIO" - ) - self.cpp_info.components["main"].set_property("pkg_config_name", "OpenImageIO") - self.cpp_info.components["main"].libs = ["OpenImageIO"] - self.cpp_info.components["main"].requires = [ - "openimageio_util", + # OpenImageIO::OpenImageIO + open_image_io = self._add_component("OpenImageIO") + open_image_io.libs = ["OpenImageIO"] + open_image_io.requires = [ + "openimageio_openimageio_util", "zlib::zlib", "boost::thread", "boost::system", "boost::container", "boost::regex", "libtiff::libtiff", - "openexr::openexr", "pugixml::pugixml", "tsl-robin-map::tsl-robin-map", "libsquish::libsquish", "fmt::fmt", + "imath::imath", + "openexr::openexr", ] + if self.options.with_libjpeg == "libjpeg": - self.cpp_info.components["main"].requires.append("libjpeg::libjpeg") + open_image_io.requires.append("libjpeg::libjpeg") elif self.options.with_libjpeg == "libjpeg-turbo": - self.cpp_info.components["main"].requires.append( + open_image_io.requires.append( "libjpeg-turbo::libjpeg-turbo" ) if self.options.with_libpng: - self.cpp_info.components["main"].requires.append("libpng::libpng") + open_image_io.requires.append("libpng::libpng") if self.options.with_freetype: - self.cpp_info.components["main"].requires.append("freetype::freetype") + open_image_io.requires.append("freetype::freetype") if self.options.with_hdf5: - self.cpp_info.components["main"].requires.append("hdf5::hdf5") + open_image_io.requires.append("hdf5::hdf5") if self.options.with_opencolorio: - self.cpp_info.components["main"].requires.append("opencolorio::opencolorio") + open_image_io.requires.append("opencolorio::opencolorio") if self.options.with_opencv: - self.cpp_info.components["main"].requires.append("opencv::opencv") - if self.options.with_tbb: - self.cpp_info.components["openimageio_util"].requires.append("onetbb::onetbb") + open_image_io.requires.append("opencv::opencv") if self.options.with_dicom: - self.cpp_info.components["main"].requires.append("dcmtk::dcmtk") + open_image_io.requires.append("dcmtk::dcmtk") if self.options.with_ffmpeg: - self.cpp_info.components["main"].requires.append("ffmpeg::ffmpeg") + open_image_io.requires.append("ffmpeg::ffmpeg") if self.options.with_giflib: - self.cpp_info.components["main"].requires.append("giflib::giflib") + open_image_io.requires.append("giflib::giflib") if self.options.with_libheif: - self.cpp_info.components["main"].requires.append("libheif::libheif") + open_image_io.requires.append("libheif::libheif") if self.options.with_raw: - self.cpp_info.components["main"].requires.append("libraw::libraw") + open_image_io.requires.append("libraw::libraw") if self.options.with_openjpeg: - self.cpp_info.components["main"].requires.append("openjpeg::openjpeg") + open_image_io.requires.append("openjpeg::openjpeg") if self.options.with_openvdb: - self.cpp_info.components["main"].requires.append("openvdb::openvdb") + open_image_io.requires.append("openvdb::openvdb") if self.options.with_ptex: - self.cpp_info.components["main"].requires.append("ptex::ptex") + open_image_io.requires.append("ptex::ptex") if self.options.with_libwebp: - self.cpp_info.components["main"].requires.append("libwebp::libwebp") + open_image_io.requires.append("libwebp::libwebp") if self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["main"].system_libs.extend(["dl", "m", "pthread"]) + open_image_io.system_libs.extend(["dl", "m", "pthread"]) if not self.options.shared: - self.cpp_info.components["main"].defines.append("OIIO_STATIC_DEFINE") - - # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed - self.cpp_info.names["cmake_find_package"] = "OpenImageIO" - self.cpp_info.names["cmake_find_package_multi"] = "OpenImageIO" - self.cpp_info.names["pkg_config"] = "OpenImageIO" - self.cpp_info.components["openimageio_util"].names[ - "cmake_find_package" - ] = "OpenImageIO_Util" - self.cpp_info.components["main"].names["cmake_find_package"] = "OpenImageIO" + open_image_io.defines.append("OIIO_STATIC_DEFINE") diff --git a/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch deleted file mode 100644 index 395bff8a6bd10..0000000000000 --- a/recipes/openimageio/all/patches/2.2.18.0-cmake-targets.patch +++ /dev/null @@ -1,711 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ccda926b..24b26b8f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -99,7 +99,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -179,7 +179,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ # add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 8747f506..503e2a55 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -92,7 +92,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ # add_compile_options ("-Werror") - # N.B. Force CI builds to use -Werror, even if STOP_ON_WARNING has - # been switched off by default, which we may do in release - # branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 21e18b53..605d247a 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -46,7 +46,7 @@ endif () - if (MSVC) - # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: - if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - -@@ -55,7 +55,7 @@ if (BOOST_CUSTOM) - # N.B. For a custom version, the caller had better set up the variables - # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES. - else () -- set (Boost_COMPONENTS filesystem system thread) -+ set (Boost_COMPONENTS filesystem system thread container) - if (NOT USE_STD_REGEX) - list (APPEND Boost_COMPONENTS regex) - endif () -@@ -106,16 +106,16 @@ checked_find_package (OpenEXR REQUIRED - # library. This shoudn't be necessary, except for the common case of people - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. --include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - --if (OPENEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) -+if (OpenEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) - set (OIIO_USING_IMATH 3) - else () - set (OIIO_USING_IMATH 2) -@@ -123,12 +123,15 @@ endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS -- JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -144,60 +147,83 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+# find_python() - - - ########################################################################### - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) --checked_find_package (OpenCV -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - PREFER_CONFIG) -+endif () - --checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images --checked_find_package (FFmpeg VERSION_MIN 2.6) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 2.6) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF -+endif () -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED - VERSION_MIN 4 - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") -+endif () - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 - RECOMMEND_MIN 1.7 - RECOMMEND_MIN_REASON "for AVIF support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -+endif () -+if (0) - message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") - set (Libheif_FOUND 0) - endif () - --checked_find_package (LibRaw -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 -- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata") -+endif () -+if (0) - message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") - # Currently, we issue the above warning and let them take their chances. - # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -@@ -206,12 +232,15 @@ if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VER - # set (LIBRAW_FOUND 0) - endif () - --checked_find_package (OpenJPEG VERSION_MIN 2.0) -- --checked_find_package (OpenVDB -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED VERSION_MIN 2.0) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED - VERSION_MIN 5.0 - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) -+endif () - if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 8.0 - AND CMAKE_CXX_STANDARD VERSION_LESS 14) - set (OpenVDB_FOUND OFF) -@@ -225,23 +254,32 @@ if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 8.0 - message (STATUS "${ColorRed}Not using OpenVDB -- OpenVDB ${OpenVDB_VERSION} requires C++14 or later. ${ColorReset}") - endif () - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif () -+if (0) - # Fallback for inadequate Ptex exported configs. This will eventually - # disappear when we can 100% trust Ptex's exports. - unset (Ptex_FOUND) - checked_find_package (Ptex) - endif () -- --checked_find_package (WebP) -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -249,7 +287,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -270,13 +310,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -294,7 +334,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -304,7 +344,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish) - endif () - - -@@ -325,7 +365,7 @@ macro (find_or_download_fmt) - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 614b8843..0df87825 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -2,13 +2,13 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index 1ea81b64..248e8a25 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -56,17 +56,20 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index ed68af14..34b83220 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -41,9 +41,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 15d50cad..83830cd2 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index 29923b60..77035aa7 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -136,37 +136,42 @@ endif () - target_link_libraries (OpenImageIO - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - # For OpenEXR/Imath 3.x: -- $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::OpenEXR> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:OpenEXR::IlmImf> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:OpenEXR::IlmImf> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ # ${OPENEXR_LIBRARIES} -+ # ${OpenCV_LIBRARIES} - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -+ tsl::robin_map - $<$:OpenColorIO::OpenColorIO> -- $<$:OpenColorIO::OpenColorIOHeaders> -+ # $<$:OpenColorIO::OpenColorIOHeaders> - $<$:pugixml::pugixml> -- ${BZIP2_LIBRARIES} -+ # ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 25d76e5c..c1950e81 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -14,19 +14,19 @@ target_include_directories (OpenImageIO_Util - target_link_libraries (OpenImageIO_Util - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::regex - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index e281d3f8..0fb1b425 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -4,8 +4,8 @@ - - fancy_add_executable (LINK_LIBRARIES - OpenImageIO -- ${Boost_LIBRARIES} # because regex -- $<$:OpenEXR::OpenEXR> -- $<$:OpenEXR::IlmImf> -- ${OPENEXR_LIBRARIES} -+ Boost::regex # because regex -+ # $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::IlmImf> -+ OpenEXR::OpenEXR - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index 30758836..1a4d2077 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (exrinput.cpp exroutput.cpp -- INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ # INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -+ LINK_LIBRARIES OpenEXR::OpenEXR) - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..34866390 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp -- INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ # INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB) - endif() -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..7e1d9257 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 2f47527a..1c3c9800 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Ptex_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index d235fd9d..ae229e31 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -2,11 +2,11 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (LIBRAW_FOUND) -+if (libraw_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -- DEFINITIONS "-DUSE_LIBRAW=1" ${LibRaw_r_DEFINITIONS}) -+ # INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw -+ DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") - endif () -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index ab94d56d..05820e8f 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -+ # INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG - ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 44462c49..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -4,7 +4,7 @@ - - if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES WebP::WebP WebP::WebPDemux -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") diff --git a/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch deleted file mode 100644 index 7e2a6e4da94b3..0000000000000 --- a/recipes/openimageio/all/patches/2.2.7.0-cmake-targets.patch +++ /dev/null @@ -1,673 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 447c6170..702fb50b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -99,7 +99,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -172,7 +172,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 12a8e819..46c1d0f8 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -88,7 +88,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ # add_compile_options ("-Werror") - # N.B. Force CI builds (Travis defines $CI) to use -Werror, even if - # STOP_ON_WARNING has been switched off by default, which we may do - # in release branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 03d521dc..9fe73388 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -39,7 +39,7 @@ if (LINKSTATIC) - endif () - else () - if (MSVC) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - if (BOOST_CUSTOM) -@@ -89,23 +89,27 @@ checked_find_package (OpenEXR 2.0 REQUIRED - RECOMMEND_MIN 2.2 - RECOMMEND_MIN_REASON "for DWA compression") - # We use Imath so commonly, may as well include it everywhere. --include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" -- "${ILMBASE_INCLUDES}/OpenEXR") --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" -+# "${ILMBASE_INCLUDES}/OpenEXR") -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -123,56 +127,93 @@ endif() - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) --checked_find_package (OpenCV -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - ISDEPOF OpenVDB) -+endif () - --checked_find_package (DCMTK 3.6.1) # For DICOM images --checked_find_package (FFmpeg 2.6) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK 3.6.1 REQUIRED) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg 2.6 REQUIRED) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF 4 -+endif () -+if (USE_GIF) -+ checked_find_package (GIF 4 REQUIRED - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") --checked_find_package (Libheif 1.3) # For HEIF/HEIC format --checked_find_package (LibRaw -- PRINT LibRaw_r_LIBRARIES -+endif () -+if (USE_LIBHEIF) -+ checked_find_package (libheif 1.3 REQUIRED) # For HEIF/HEIC format -+endif () -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 - RECOMMEND_MIN_REASON "for ACES support") --checked_find_package (OpenJpeg 2.0) --checked_find_package (OpenVDB 5.0 -+endif () -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG 2.0 REQUIRED) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB 5.0 REQUIRED - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) --checked_find_package (PTex) --checked_find_package (Webp) -+endif () -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED) -+endif () -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -180,7 +221,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -201,13 +244,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -225,7 +268,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -235,7 +278,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish REQUIRED) - endif () - - -@@ -251,12 +294,12 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/dpx.imageio/CMakeLists.txt b/src/dpx.imageio/CMakeLists.txt -index 858beb9d..dd169af4 100644 ---- a/src/dpx.imageio/CMakeLists.txt -+++ b/src/dpx.imageio/CMakeLists.txt -@@ -6,4 +6,4 @@ add_oiio_plugin (dpxinput.cpp dpxoutput.cpp - libdpx/DPX.cpp libdpx/OutStream.cpp libdpx/RunLengthEncoding.cpp - libdpx/Codec.cpp libdpx/Reader.cpp libdpx/Writer.cpp libdpx/DPXHeader.cpp - libdpx/ElementReadStream.cpp libdpx/InStream.cpp libdpx/DPXColorConverter.cpp -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ LINK_LIBRARIES OpenEXR::OpenEXR) -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 6cf07636..d3bb5f61 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -11,11 +11,11 @@ if (NOT MSVC) - PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations") - endif() - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/ico.imageio/CMakeLists.txt b/src/ico.imageio/CMakeLists.txt -index 5a46174d..a8919f63 100644 ---- a/src/ico.imageio/CMakeLists.txt -+++ b/src/ico.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (PNG_FOUND) - add_oiio_plugin (icoinput.cpp icooutput.cpp -- INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES PNG::PNG ZLIB::ZLIB) - else () - message (WARNING "libpng not found, so ICO support will not work") - set (format_plugin_definitions ${format_plugin_definitions} DISABLE_ICO=1 PARENT_SCOPE) -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index a60b3b21..050911c8 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -44,17 +44,20 @@ install (FILES ${public_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME} - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index db356f03..003df7f8 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -39,9 +39,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 548faeb7..95e4feb5 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index fe39cdd4..b877cc4d 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -135,31 +135,33 @@ endif () - - target_link_libraries (OpenImageIO - PUBLIC -- ${ILMBASE_LIBRARIES} -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ OpenEXR::OpenEXR -+ $<$:OpenColorIO::OpenColorIO> - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -- $<$:OpenColorIO::OpenColorIO> -- ${BZIP2_LIBRARIES} -- ${ZLIB_LIBRARIES} -- ${Boost_LIBRARIES} -+ tsl::robin_map -+ ZLIB::ZLIB -+ Boost::Boost - ${CMAKE_DL_LIBS} - ) - -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ - if (USE_EXTERNAL_PUGIXML) -- if(TARGET pugixml) -- target_link_libraries (OpenImageIO PRIVATE pugixml) -+ if(pugixml_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE pugixml::pugixml) - else() - target_include_directories (OpenImageIO PRIVATE ${PUGIXML_INCLUDES}) - target_link_libraries (OpenImageIO PRIVATE ${PUGIXML_LIBRARIES}) - endif() - endif() - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 083b077c..4cdd4e6b 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -13,11 +13,11 @@ target_include_directories (OpenImageIO_Util - ) - target_link_libraries (OpenImageIO_Util - PUBLIC -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::Boost - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index 3fde566a..adaac8bd 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ Boost::regex # because regex - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index 3226eb13..bf8e0358 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (exrinput.cpp exroutput.cpp -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ LINK_LIBRARIES OpenEXR::OpenEXR) - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..61dc2459 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp -- INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ # INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB Boost::Boost) - endif() -diff --git a/src/png.imageio/CMakeLists.txt b/src/png.imageio/CMakeLists.txt -index be2724f2..ac16da21 100644 ---- a/src/png.imageio/CMakeLists.txt -+++ b/src/png.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (PNG_FOUND) - add_oiio_plugin (pnginput.cpp pngoutput.cpp -- INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES PNG::PNG ZLIB::ZLIB) - else () - message (WARNING "libpng not found, so PNG support will not work") - set (format_plugin_definitions ${format_plugin_definitions} DISABLE_PNG=1 PARENT_SCOPE) -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..7e1d9257 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 912081b1..6039fc58 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (PTEX_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${PTEX_INCLUDE_DIR} -- LINK_LIBRARIES ${PTEX_LIBRARIES} ${ZLIB_LIBRARIES} -+ # INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${PTEX_INCLUDE_DIR} -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index 81a0ff54..ae229e31 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (LIBRAW_FOUND) -+if (libraw_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -+ # INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw - DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index f6d648c8..385607c9 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -- ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${TIFF_INCLUDE_DIR} ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG -+ ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 9e01bd7f..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Webp_FOUND) -+if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES Webp::Webp -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") -diff --git a/src/zfile.imageio/CMakeLists.txt b/src/zfile.imageio/CMakeLists.txt -index 36a7ad99..c8fd99d3 100644 ---- a/src/zfile.imageio/CMakeLists.txt -+++ b/src/zfile.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (zfile.cpp -- INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} -- LINK_LIBRARIES ${ZLIB_LIBRARIES}) -+ # INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} -+ LINK_LIBRARIES ZLIB::ZLIB) diff --git a/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch b/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch deleted file mode 100644 index ba213765c8530..0000000000000 --- a/recipes/openimageio/all/patches/2.3.7.2-cmake-targets.patch +++ /dev/null @@ -1,710 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 54fe7d9c..97a1b8e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,7 +111,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") - - - list (APPEND CMAKE_MODULE_PATH -- "${PROJECT_SOURCE_DIR}/src/cmake/modules" -+ # "${PROJECT_SOURCE_DIR}/src/cmake/modules" - "${PROJECT_SOURCE_DIR}/src/cmake") - - include (GNUInstallDirs) -@@ -191,7 +191,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) - add_subdirectory (src/iinfo) - add_subdirectory (src/maketx) - add_subdirectory (src/oiiotool) -- add_subdirectory (src/testtex) -+ #add_subdirectory (src/testtex) - add_subdirectory (src/iv) - endif () - -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 2a513f58..13568140 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -92,7 +92,7 @@ if (NOT MSVC) - add_compile_options ("-Wextra") - endif () - if (STOP_ON_WARNING OR DEFINED ENV{CI}) -- add_compile_options ("-Werror") -+ #add_compile_options ("-Werror") - # N.B. Force CI builds to use -Werror, even if STOP_ON_WARNING has - # been switched off by default, which we may do in release - # branches. -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 957abe34..885becbf 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -46,7 +46,7 @@ endif () - if (MSVC) - # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: - if (NOT Boost_USE_STATIC_LIBS) -- add_definitions (-DBOOST_ALL_DYN_LINK=1) -+ # add_definitions (-DBOOST_ALL_DYN_LINK=1) - endif () - endif () - -@@ -55,7 +55,7 @@ if (BOOST_CUSTOM) - # N.B. For a custom version, the caller had better set up the variables - # Boost_VERSION, Boost_INCLUDE_DIRS, Boost_LIBRARY_DIRS, Boost_LIBRARIES. - else () -- set (Boost_COMPONENTS filesystem system thread) -+ set (Boost_COMPONENTS filesystem system thread container) - # The FindBoost.cmake interface is broken if it uses boost's installed - # cmake output (e.g. boost 1.70.0, cmake <= 3.14). Specifically it fails - # to set the expected variables printed below. So until that's fixed -@@ -103,16 +103,16 @@ checked_find_package (OpenEXR REQUIRED - # library. This shoudn't be necessary, except for the common case of people - # building against Imath/OpenEXR 3.x when there is still a system-level - # install version of 2.x. --include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) --if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) -+# include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) -+if (CMAKE_COMPILER_IS_CLANG AND OpenEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) - endif () - if (MSVC AND NOT LINKSTATIC) -- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? -+ # add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? - endif () - --if (OPENEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) -+if (OpenEXR_VERSION VERSION_GREATER_EQUAL 2.5.99) - set (OIIO_USING_IMATH 3) - else () - set (OIIO_USING_IMATH 2) -@@ -120,12 +120,15 @@ endif () - - - # JPEG -- prefer Turbo-JPEG to regular libjpeg --checked_find_package (JPEGTurbo -+if (USE_JPEGTURBO) -+ checked_find_package (libjpeg-turbo REQUIRED - DEFINITIONS -DUSE_JPEG_TURBO=1 -- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS -- JPEG_LIBRARIES) --if (NOT JPEG_FOUND) # Try to find the non-turbo version -+ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) -+ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) -+elseif (USE_JPEG) # Try to find the non-turbo version - checked_find_package (JPEG REQUIRED) -+else () -+ message(FATAL_ERROR "JPEG library was not found!") - endif () - - # Pugixml setup. Normally we just use the version bundled with oiio, but -@@ -141,62 +144,85 @@ else () - endif() - - # From pythonutils.cmake --find_python() -+# find_python() - - - ########################################################################### - # Dependencies for optional formats and features. If these are not found, - # we will continue building, but the related functionality will be disabled. - --checked_find_package (PNG) -- --checked_find_package (BZip2) # Used by ffmpeg and freetype --if (NOT BZIP2_FOUND) -- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+if (USE_LIBPNG) -+ checked_find_package (PNG REQUIRED) - endif () - --checked_find_package (Freetype -+# checked_find_package (BZip2) # Used by ffmpeg and freetype -+# if (NOT BZIP2_FOUND) -+# set (BZIP2_LIBRARIES "") # TODO: why does it break without this? -+# endif () -+ -+if (USE_FREETYPE) -+ checked_find_package (Freetype REQUIRED - DEFINITIONS -DUSE_FREETYPE=1 ) -+endif () - --checked_find_package (HDF5 -+if (USE_HDF5) -+ checked_find_package (HDF5 REQUIRED - ISDEPOF Field3D) --checked_find_package (OpenColorIO -+endif () -+if (USE_OPENCOLORIO) -+ checked_find_package (OpenColorIO REQUIRED - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 - # PREFER_CONFIG - ) --checked_find_package (OpenCV 3.0 -+endif () -+if (USE_OPENCV) -+ checked_find_package (OpenCV 3.0 REQUIRED - DEFINITIONS -DUSE_OPENCV=1) -+endif () - - # Intel TBB - set (TBB_USE_DEBUG_BUILD OFF) --checked_find_package (TBB 2017 -+if (USE_TBB) -+ checked_find_package (TBB 2017 REQUIRED - DEFINITIONS -DUSE_TBB=1 - PREFER_CONFIG) -+endif () - --checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images --checked_find_package (FFmpeg VERSION_MIN 3.0) --checked_find_package (Field3D -+if (USE_DCMTK) -+ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images -+endif () -+if (USE_FFMPEG) -+ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) -+endif () -+if (USE_FIELD3D) -+ checked_find_package (Field3D REQUIRED - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) --checked_find_package (GIF -+endif () -+if (USE_GIF) -+ checked_find_package (GIF REQUIRED - VERSION_MIN 4 - RECOMMEND_MIN 5.0 - RECOMMEND_MIN_REASON "for stability and thread safety") -+endif () - - # For HEIF/HEIC/AVIF formats --checked_find_package (Libheif VERSION_MIN 1.3 -+if (USE_LIBHEIF) -+ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 - RECOMMEND_MIN 1.7 - RECOMMEND_MIN_REASON "for AVIF support") --if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) -+endif () -+if (0) - message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") - set (Libheif_FOUND 0) - endif () - --checked_find_package (LibRaw -+if (USE_LIBRAW) -+ checked_find_package (libraw REQUIRED - RECOMMEND_MIN 0.18 -- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" -- PRINT LibRaw_r_LIBRARIES) --if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) -+ RECOMMEND_MIN_REASON "for ACES support and better camera metadata") -+endif () -+if (0) - message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") - # Currently, we issue the above warning and let them take their chances. - # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, -@@ -205,30 +231,43 @@ if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VER - # set (LIBRAW_FOUND 0) - endif () - --checked_find_package (OpenJPEG VERSION_MIN 2.0) -- --checked_find_package (OpenVDB -+if (USE_OPENJPEG) -+ checked_find_package (OpenJPEG REQUIRED VERSION_MIN 2.0) -+endif () -+if (USE_OPENVDB) -+ checked_find_package (OpenVDB REQUIRED - VERSION_MIN 5.0 - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) -+endif () - --checked_find_package (Ptex PREFER_CONFIG) --if (NOT Ptex_FOUND OR NOT Ptex_VERSION) -+if (USE_PTEX) -+ checked_find_package (ptex REQUIRED PREFER_CONFIG) -+endif () -+if (0) - # Fallback for inadequate Ptex exported configs. This will eventually - # disappear when we can 100% trust Ptex's exports. - unset (Ptex_FOUND) - checked_find_package (Ptex) - endif () - --checked_find_package (WebP) -+if (USE_LIBWEBP) -+ checked_find_package (WebP REQUIRED) -+endif () - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) --checked_find_package (R3DSDK) # RED camera -+if (USE_R3DSDK) -+ checked_find_package (R3DSDK REQUIRED) # RED camera -+endif () - - set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") --checked_find_package (Nuke) -+if (USE_NUKE) -+ checked_find_package (Nuke REQUIRED) -+endif () - --checked_find_package (OpenGL) # used for iv -+if (USE_OPENGL) -+ checked_find_package (OpenGL REQUIRED) # used for iv -+endif () - - # Qt -- used for iv - set (qt5_modules Core Gui Widgets) -@@ -236,7 +275,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) --checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+if (USE_QT) -+ checked_find_package (Qt5 REQUIRED COMPONENTS ${qt5_modules}) -+endif () - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -@@ -257,13 +298,13 @@ macro (find_or_download_robin_map) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_ROBINMAP_FORCE) -- find_package (Robinmap QUIET) -+ find_package (tsl-robin-map REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. - # Download the headers from github -- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) -+ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) - message (STATUS "Downloading local Tessil/robin-map") - set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") - set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") -@@ -281,7 +322,7 @@ macro (find_or_download_robin_map) - endif () - set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") - endif () -- checked_find_package (Robinmap REQUIRED) -+ checked_find_package (tsl-robin-map REQUIRED) - endmacro() - - -@@ -291,7 +332,7 @@ endmacro() - option (USE_EMBEDDED_LIBSQUISH - "Force use of embedded Libsquish, even if external is found" OFF) - if (NOT USE_EMBEDDED_LIBSQUISH) -- checked_find_package (Libsquish) -+ checked_find_package (libsquish REQUIRED) - endif () - - -@@ -307,12 +348,12 @@ macro (find_or_download_fmt) - # for an installed version. Still prefer a copy that seems to be - # locally installed in this tree. - if (NOT BUILD_FMT_FORCE) -- find_package (fmt QUIET) -+ find_package (fmt REQUIRED) - endif () - # If an external copy wasn't found and we requested that missing - # packages be built, or we we are forcing a local copy to be built, then - # download and build it. -- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) -+ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) - message (STATUS "Downloading local fmtlib/fmt") - set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") - set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") -diff --git a/src/dds.imageio/CMakeLists.txt b/src/dds.imageio/CMakeLists.txt -index d693453a..7ff6e9ce 100644 ---- a/src/dds.imageio/CMakeLists.txt -+++ b/src/dds.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libsquish_FOUND) -+if (libsquish_FOUND) - # External libsquish was found -- use it - add_oiio_plugin (ddsinput.cpp -- LINK_LIBRARIES Libsquish::Libsquish -+ LINK_LIBRARIES libsquish::libsquish - ) - else () - # No external libsquish was found -- use the embedded version. -diff --git a/src/dicom.imageio/CMakeLists.txt b/src/dicom.imageio/CMakeLists.txt -index ddd72044..3603eaa3 100644 ---- a/src/dicom.imageio/CMakeLists.txt -+++ b/src/dicom.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (DCMTK_FOUND) - add_oiio_plugin (dicominput.cpp -- INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -- LINK_LIBRARIES ${DCMTK_LIBRARIES} -+ # INCLUDE_DIRS ${DCMTK_INCLUDE_DIR} -+ LINK_LIBRARIES DCMTK::DCMTK - DEFINITIONS "-DUSE_DCMTK=1") - else () - message (WARNING "DICOM plugin will not be built, no DCMTK") -diff --git a/src/ffmpeg.imageio/CMakeLists.txt b/src/ffmpeg.imageio/CMakeLists.txt -index 614b8843..0df87825 100644 ---- a/src/ffmpeg.imageio/CMakeLists.txt -+++ b/src/ffmpeg.imageio/CMakeLists.txt -@@ -2,13 +2,13 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (FFmpeg_FOUND) -+if (ffmpeg_FOUND) - add_oiio_plugin (ffmpeginput.cpp -- INCLUDE_DIRS ${FFMPEG_INCLUDES} -- LINK_LIBRARIES ${FFMPEG_LIBRARIES} -- ${BZIP2_LIBRARIES} -+ # INCLUDE_DIRS ${FFMPEG_INCLUDES} -+ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale -+ # ${BZIP2_LIBRARIES} - DEFINITIONS "-DUSE_FFMPEG" -- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") -+ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") - else() - message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") - endif() -diff --git a/src/gif.imageio/CMakeLists.txt b/src/gif.imageio/CMakeLists.txt -index c9e7392c..eda8b482 100644 ---- a/src/gif.imageio/CMakeLists.txt -+++ b/src/gif.imageio/CMakeLists.txt -@@ -4,8 +4,8 @@ - - if (GIF_FOUND) - add_oiio_plugin (gifinput.cpp gifoutput.cpp -- INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -- LINK_LIBRARIES ${GIF_LIBRARIES} -+ # INCLUDE_DIRS ${GIF_INCLUDE_DIRS} -+ LINK_LIBRARIES GIF::GIF - DEFINITIONS "-DUSE_GIF") - else() - message (WARNING "GIF plugin will not be built") -diff --git a/src/heif.imageio/CMakeLists.txt b/src/heif.imageio/CMakeLists.txt -index fed80015..2593f585 100644 ---- a/src/heif.imageio/CMakeLists.txt -+++ b/src/heif.imageio/CMakeLists.txt -@@ -2,9 +2,9 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Libheif_FOUND) -+if (libheif_FOUND) - add_oiio_plugin (heifinput.cpp heifoutput.cpp -- LINK_LIBRARIES Libheif::Libheif -+ LINK_LIBRARIES libheif::libheif - DEFINITIONS "-DUSE_HEIF=1") - else () - message (WARNING "heif plugin will not be built") -diff --git a/src/igrep/CMakeLists.txt b/src/igrep/CMakeLists.txt -index 3fde566a..49f063a8 100644 ---- a/src/igrep/CMakeLists.txt -+++ b/src/igrep/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ #${Boost_LIBRARIES} # because regex - ) -diff --git a/src/iinfo/CMakeLists.txt b/src/iinfo/CMakeLists.txt -index 3fde566a..49f063a8 100644 ---- a/src/iinfo/CMakeLists.txt -+++ b/src/iinfo/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - fancy_add_executable (LINK_LIBRARIES OpenImageIO -- ${Boost_LIBRARIES} # because regex -+ #${Boost_LIBRARIES} # because regex - ) -diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt -index 1ea81b64..248e8a25 100644 ---- a/src/include/CMakeLists.txt -+++ b/src/include/CMakeLists.txt -@@ -56,17 +56,20 @@ install (FILES ${detail_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail - COMPONENT developer) - -+set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") - set (fmt_headers - ${FMT_INCLUDES}/fmt/core.h - ${FMT_INCLUDES}/fmt/format-inl.h - ${FMT_INCLUDES}/fmt/format.h - ${FMT_INCLUDES}/fmt/ostream.h - ${FMT_INCLUDES}/fmt/printf.h ) -+if (0) - file (COPY ${fmt_headers} - DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) - install (FILES ${fmt_headers} - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail/fmt - COMPONENT developer) -+endif () - - if (NOT USE_EXTERNAL_PUGIXML) - set (pugixml_headers -diff --git a/src/include/OpenImageIO/strutil.h b/src/include/OpenImageIO/strutil.h -index 030d80a9..d6e768a3 100644 ---- a/src/include/OpenImageIO/strutil.h -+++ b/src/include/OpenImageIO/strutil.h -@@ -41,9 +41,9 @@ - #ifndef FMT_USE_GRISU - # define FMT_USE_GRISU 1 - #endif --#include "detail/fmt/ostream.h" --#include "detail/fmt/format.h" --#include "detail/fmt/printf.h" -+#include -+#include -+#include - #if OIIO_GNUC_VERSION >= 70000 - # pragma GCC diagnostic pop - #endif -diff --git a/src/jpeg.imageio/CMakeLists.txt b/src/jpeg.imageio/CMakeLists.txt -index 15d50cad..83830cd2 100644 ---- a/src/jpeg.imageio/CMakeLists.txt -+++ b/src/jpeg.imageio/CMakeLists.txt -@@ -3,5 +3,5 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (jpeginput.cpp jpegoutput.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ # INCLUDE_DIRS ${JPEG_INCLUDE_DIRS} -+ LINK_LIBRARIES JPEG::JPEG) -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 575ed0b7..5644bcf3 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -2,10 +2,10 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OPENJPEG_FOUND) -+if (OpenJPEG_FOUND) - add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp -- INCLUDE_DIRS ${OPENJPEG_INCLUDES} -- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ # INCLUDE_DIRS ${OPENJPEG_INCLUDES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG - DEFINITIONS "-DUSE_OPENJPEG") - else() - message (WARNING "Jpeg-2000 plugin will not be built") -diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.txt -index 1e34593d..103c89de 100644 ---- a/src/libOpenImageIO/CMakeLists.txt -+++ b/src/libOpenImageIO/CMakeLists.txt -@@ -123,37 +123,42 @@ target_link_libraries (OpenImageIO - PUBLIC - OpenImageIO_Util - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - # For OpenEXR/Imath 3.x: -- $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::OpenEXR> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:OpenEXR::IlmImf> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:OpenEXR::IlmImf> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${OPENEXR_LIBRARIES} -- ${OpenCV_LIBRARIES} -+ # ${OPENEXR_LIBRARIES} -+ # ${OpenCV_LIBRARIES} - ${SANITIZE_LIBRARIES} - ${format_plugin_libs} # Add all the target link libraries from the plugins -+ tsl::robin_map - $<$:OpenColorIO::OpenColorIO> -- $<$:OpenColorIO::OpenColorIOHeaders> -+ # $<$:OpenColorIO::OpenColorIOHeaders> - $<$:pugixml::pugixml> -- ${BZIP2_LIBRARIES} -+ # ${BZIP2_LIBRARIES} - ZLIB::ZLIB -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system Boost::container - ${CMAKE_DL_LIBS} - ) - --if (FREETYPE_FOUND) -- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) -+if (OpenCV_FOUND) -+ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) -+endif () -+ -+if (Freetype_FOUND) -+ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) - endif() - - if (WIN32) -diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt -index 7de38836..3e1609ad 100644 ---- a/src/libutil/CMakeLists.txt -+++ b/src/libutil/CMakeLists.txt -@@ -14,19 +14,19 @@ target_include_directories (OpenImageIO_Util - target_link_libraries (OpenImageIO_Util - PUBLIC - # For OpenEXR/Imath 3.x: -- $<$:Imath::Imath> -- $<$:Imath::Half> -+ # $<$:Imath::Imath> -+ # $<$:Imath::Half> - # For OpenEXR >= 2.4/2.5 with reliable exported targets -- $<$:IlmBase::Imath> -- $<$:IlmBase::Half> -- $<$:IlmBase::IlmThread> -- $<$:IlmBase::Iex> -+ # $<$:IlmBase::Imath> -+ # $<$:IlmBase::Half> -+ # $<$:IlmBase::IlmThread> -+ # $<$:IlmBase::Iex> - # For OpenEXR <= 2.3: -- ${ILMBASE_LIBRARIES} -+ OpenEXR::OpenEXR - ${GCC_ATOMIC_LIBRARIES} - PRIVATE - ${SANITIZE_LIBRARIES} -- ${Boost_LIBRARIES} -+ Boost::filesystem Boost::thread Boost::system - ${CMAKE_DL_LIBS} - ) - -diff --git a/src/oiiotool/CMakeLists.txt b/src/oiiotool/CMakeLists.txt -index e281d3f8..4ee92aad 100644 ---- a/src/oiiotool/CMakeLists.txt -+++ b/src/oiiotool/CMakeLists.txt -@@ -4,8 +4,8 @@ - - fancy_add_executable (LINK_LIBRARIES - OpenImageIO -- ${Boost_LIBRARIES} # because regex -- $<$:OpenEXR::OpenEXR> -- $<$:OpenEXR::IlmImf> -- ${OPENEXR_LIBRARIES} -+ Boost::container -+ # $<$:OpenEXR::OpenEXR> -+ # $<$:OpenEXR::IlmImf> -+ OpenEXR::OpenEXR - ) -diff --git a/src/openexr.imageio/CMakeLists.txt b/src/openexr.imageio/CMakeLists.txt -index d4772880..9f5f8998 100644 ---- a/src/openexr.imageio/CMakeLists.txt -+++ b/src/openexr.imageio/CMakeLists.txt -@@ -12,7 +12,7 @@ if (OIIO_USE_EXR_C_API) - LINK_LIBRARIES OpenEXR::OpenEXRCore) - else() - add_oiio_plugin (exrinput.cpp exroutput.cpp -- INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -- LINK_LIBRARIES ${OPENEXR_LIBRARIES}) -+ #INCLUDE_DIRS ${OPENEXR_INCLUDES} ${IMATH_INCLUDE_DIR}/OpenEXR -+ LINK_LIBRARIES OpenEXR::OpenEXR) - endif() - -diff --git a/src/openvdb.imageio/CMakeLists.txt b/src/openvdb.imageio/CMakeLists.txt -index 57a0f625..986f9c21 100644 ---- a/src/openvdb.imageio/CMakeLists.txt -+++ b/src/openvdb.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (OpenVDB_FOUND) -+if (OpenVDB_FOUND AND TBB_FOUND) - add_oiio_plugin (openvdbinput.cpp - INCLUDE_DIRS ${TBB_INCLUDE_DIRS} -- LINK_LIBRARIES OpenVDB::OpenVDB ${TBB_tbb_LIBRARY} ${BOOST_LIBRARIES}) -+ LINK_LIBRARIES OpenVDB::OpenVDB TBB::TBB) - endif() -diff --git a/src/psd.imageio/CMakeLists.txt b/src/psd.imageio/CMakeLists.txt -index 48bf24fb..a5acecfd 100644 ---- a/src/psd.imageio/CMakeLists.txt -+++ b/src/psd.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (psdinput.cpp jpeg_memory_src.cpp -- INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -- LINK_LIBRARIES ${JPEG_LIBRARIES}) -+ #INCLUDE_DIRS ${JPEG_INCLUDE_DIR} -+ LINK_LIBRARIES JPEG::JPEG) - -diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt -index 2f47527a..1c3c9800 100644 ---- a/src/ptex.imageio/CMakeLists.txt -+++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ - # SPDX-License-Identifier: BSD-3-Clause - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - --if (Ptex_FOUND) -+if (PTex_FOUND) - add_oiio_plugin (ptexinput.cpp -- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES PTex::PTex ZLIB::ZLIB - DEFINITIONS "-DUSE_PTEX") - endif () -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index d235fd9d..6661a2a8 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -4,9 +4,9 @@ - - if (LIBRAW_FOUND) - add_oiio_plugin (rawinput.cpp -- INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -- DEFINITIONS "-DUSE_LIBRAW=1" ${LibRaw_r_DEFINITIONS}) -+ #INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -+ LINK_LIBRARIES libraw::libraw -+ DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") - endif () -diff --git a/src/tiff.imageio/CMakeLists.txt b/src/tiff.imageio/CMakeLists.txt -index ab94d56d..99ee19ae 100644 ---- a/src/tiff.imageio/CMakeLists.txt -+++ b/src/tiff.imageio/CMakeLists.txt -@@ -3,6 +3,6 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - add_oiio_plugin (tiffinput.cpp tiffoutput.cpp -- INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -- LINK_LIBRARIES ${TIFF_LIBRARIES} ${JPEG_LIBRARIES} -+ #INCLUDE_DIRS ${TIFF_INCLUDE_DIR} -+ LINK_LIBRARIES TIFF::TIFF JPEG::JPEG - ZLIB::ZLIB) -diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt -index 44462c49..78fe1a58 100644 ---- a/src/webp.imageio/CMakeLists.txt -+++ b/src/webp.imageio/CMakeLists.txt -@@ -4,7 +4,7 @@ - - if (WebP_FOUND) - add_oiio_plugin (webpinput.cpp webpoutput.cpp -- LINK_LIBRARIES WebP::WebP WebP::WebPDemux -+ LINK_LIBRARIES WebP::WebP - DEFINITIONS "-DUSE_WEBP=1") - else () - message (STATUS "WebP plugin will not be built") diff --git a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch new file mode 100644 index 0000000000000..dc76e283d97aa --- /dev/null +++ b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch @@ -0,0 +1,456 @@ +diff --git CMakeLists.txt CMakeLists.txt +index a5a6de1c5..f1801af5a 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -144,7 +144,7 @@ message(STATUS "Setting Namespace to: ${PROJ_NAMESPACE_V}") + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -224,7 +224,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index a4f895c07..f55da37cb 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++# if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++# endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++# if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++# endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -141,12 +141,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer Turbo-JPEG to regular libjpeg +-checked_find_package (JPEGTurbo +- DEFINITIONS -DUSE_JPEG_TURBO=1 +- PRINT JPEG_INCLUDES JPEG_INCLUDE_DIRS +- JPEG_LIBRARIES JPEG_VERSION) +-if (NOT JPEG_FOUND) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (JPEGTurbo ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -162,106 +165,110 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + + + ########################################################################### + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) +- +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_LIBPNG) ++ checked_find_package (PNG) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) ++if (USE_FREETYPE) ++ checked_find_package (Freetype ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (NOT OpenColorIO_FOUND) +- set (OpenColorIO_FOUND 0) +-endif () +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) ++ if (NOT OpenColorIO_FOUND) ++ set (OpenColorIO_FOUND 0) ++ endif () ++endif() ++if (USE_OPENCV) ++ checked_find_package (OpenCV 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) +- +-checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") +- ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() ++if (USE_DCMTK) ++ checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images ++endif() ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() ++ + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () +- +-checked_find_package (LibRaw +- RECOMMEND_MIN 0.18 +- RECOMMEND_MIN_REASON "for ACES support and better camera metadata" +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) ++if (USE_PTEX) ++ checked_find_package (ptex PREFER_CONFIG) ++endif() + ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() ++ + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK) # RED camera +- ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () ++ + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -285,13 +291,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -309,7 +315,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + +@@ -331,7 +337,7 @@ macro (find_or_download_fmt) + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. +- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) ++ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) + message (STATUS "Downloading local fmtlib/fmt") + set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") + set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 100d4d773..ec7e01884 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,13 +2,11 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index eed740900..72aaaff86 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) ++if (USE_LIBHEIF) + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 006cb65a7..2e2c2c2ea 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -65,6 +65,7 @@ install (FILES ${detail_headers} + COMPONENT developer) + + if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers + ${FMT_INCLUDES}/fmt/core.h + ${FMT_INCLUDES}/fmt/format-inl.h +@@ -74,8 +75,8 @@ if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) + if (fmt_VERSION VERSION_GREATER_EQUAL 90000) + list (APPEND fmt_headers ${FMT_INCLUDES}/fmt/std.h) + endif () +- file (COPY ${fmt_headers} +- DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) ++ # file (COPY ${fmt_headers} ++ # DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) + else () + set (fmt_headers + ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt/format.h +diff --git src/include/OpenImageIO/detail/fmt.h src/include/OpenImageIO/detail/fmt.h +index 31a986d31..9a7e5ce54 100644 +--- src/include/OpenImageIO/detail/fmt.h ++++ src/include/OpenImageIO/detail/fmt.h +@@ -55,9 +55,9 @@ OIIO_PRAGMA_WARNING_PUSH + # pragma GCC diagnostic ignored "-Wtautological-constant-compare" + #endif + +-#include +-#include +-#include ++#include ++#include ++#include + + OIIO_PRAGMA_WARNING_POP + +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..94b5cd2dc 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -4,8 +4,7 @@ + + if (OPENJPEG_FOUND) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index 772b39ff2..898fb2be6 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -141,12 +141,17 @@ target_link_libraries (OpenImageIO + $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PUBLIC opencv::opencv_core opencv::opencv_imgproc opencv::opencv_videoio) ++endif () ++ +-if (FREETYPE_FOUND) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) + endif() + + if (WIN32) +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index 8933bfe5b..3970eb0c3 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,8 +20,8 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index ed42f1c94..82d2b9770 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,8 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch index c909b13a27c9e..c560e5020256a 100644 --- a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch @@ -155,7 +155,7 @@ index 48e871418..21f709b1d 100644 # For HEIF/HEIC/AVIF formats -checked_find_package (Libheif VERSION_MIN 1.3 +if (USE_LIBHEIF) -+checked_find_package (libheif VERSION_MIN 1.3 ++checked_find_package (libheif REQUIRED VERSION_MIN 1.3 RECOMMEND_MIN 1.7 RECOMMEND_MIN_REASON "for AVIF support") -if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) @@ -299,6 +299,24 @@ index 58402060e..5dea82369 100644 else() message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index ece763a27..83abdea66 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,10 +2,10 @@ + # SPDX-License-Identifier: BSD-3-Clause + # https://github.com/OpenImageIO/oiio + +-if (Libheif_FOUND) ++if (USE_LIBHEIF) + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") diff --git a/src/include/CMakeLists.txt b/src/include/CMakeLists.txt index 52b0936a6..611eadb4e 100644 --- a/src/include/CMakeLists.txt @@ -348,7 +366,7 @@ index 1f47269bf..85b90d66a 100644 add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp - INCLUDE_DIRS ${OPENJPEG_INCLUDES} - LINK_LIBRARIES ${OPENJPEG_LIBRARIES} -+ LINK_LIBRARIES OpenJPEG::OpenJPEG ++ LINK_LIBRARIES openjp2 DEFINITIONS "-DUSE_OPENJPEG") else() message (WARNING "Jpeg-2000 plugin will not be built") @@ -356,11 +374,12 @@ diff --git a/src/libOpenImageIO/CMakeLists.txt b/src/libOpenImageIO/CMakeLists.t index 456aab81a..eb5bb00fc 100644 --- a/src/libOpenImageIO/CMakeLists.txt +++ b/src/libOpenImageIO/CMakeLists.txt -@@ -141,10 +141,14 @@ target_link_libraries (OpenImageIO +@@ -141,12 +141,17 @@ target_link_libraries (OpenImageIO $ ${BZIP2_LIBRARIES} ZLIB::ZLIB - $ ++ tsl::robin_map + Boost::filesystem Boost::thread Boost::system Boost::container ${CMAKE_DL_LIBS} ) @@ -370,15 +389,21 @@ index 456aab81a..eb5bb00fc 100644 +endif () + if (FREETYPE_FOUND) - target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) endif() + + if (WIN32) diff --git a/src/libutil/CMakeLists.txt b/src/libutil/CMakeLists.txt index 09b9139d0..a2d39982e 100644 --- a/src/libutil/CMakeLists.txt +++ b/src/libutil/CMakeLists.txt -@@ -17,8 +17,7 @@ target_link_libraries (OpenImageIO_Util +@@ -15,8 +15,8 @@ target_link_libraries (OpenImageIO_Util + $ + ${GCC_ATOMIC_LIBRARIES} ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt PRIVATE - $ - $ @@ -390,7 +415,7 @@ diff --git a/src/ptex.imageio/CMakeLists.txt b/src/ptex.imageio/CMakeLists.txt index d7f0a9582..7cfce4a35 100644 --- a/src/ptex.imageio/CMakeLists.txt +++ b/src/ptex.imageio/CMakeLists.txt -@@ -2,8 +2,8 @@ +@@ -2,8 +2,9 @@ # SPDX-License-Identifier: BSD-3-Clause # https://github.com/OpenImageIO/oiio @@ -398,6 +423,7 @@ index d7f0a9582..7cfce4a35 100644 +if (ptex_FOUND) add_oiio_plugin (ptexinput.cpp - LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB -+ LINK_LIBRARIES Ptex::Ptex ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} DEFINITIONS "-DUSE_PTEX") endif () diff --git a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch new file mode 100644 index 0000000000000..8563d86fcb7db --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch @@ -0,0 +1,515 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 1ae61f6ae..5c4202395 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -154,7 +154,7 @@ endif () + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -234,7 +234,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index 3cfaedd57..f75fee7a3 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++#if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++#endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++#if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++#endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer JPEG-Turbo to regular libjpeg +-checked_find_package (libjpeg-turbo +- VERSION_MIN 2.1 +- DEFINITIONS -DUSE_JPEG_TURBO=1) +-if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (JPEGTurbo REQUIRED ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -157,112 +161,110 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + + + ########################################################################### + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) ++if (USE_LIBPNG) ++ checked_find_package (PNG REQUIRED) ++endif() + +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_FREETYPE) ++ checked_find_package (Freetype ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) +- +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (OpenColorIO_FOUND) +- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS +- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") +- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) ++ if (NOT OpenColorIO_FOUND) ++ set (OpenColorIO_FOUND 0) + endif () +-else () +- set (OpenColorIO_FOUND 0) +-endif () +- +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++endif() ++if (USE_OPENCV) ++ checked_find_package (OpenCV 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) +- +-checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() ++if (USE_DCMTK) ++ checked_find_package (DCMTK VERSION_MIN 3.6.1) # For DICOM images ++endif() ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() + + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () +- +-checked_find_package (LibRaw +- VERSION_MIN 0.18 +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) ++if (USE_PTEX) ++ checked_find_package (ptex PREFER_CONFIG) ++endif() ++ ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK) # RED camera ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () + + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -286,13 +288,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -310,7 +312,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + +@@ -332,7 +334,7 @@ macro (find_or_download_fmt) + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. +- if ((BUILD_MISSING_FMT AND NOT FMT_FOUND) OR BUILD_FMT_FORCE) ++ if ((BUILD_MISSING_FMT AND NOT fmt_FOUND) OR BUILD_FMT_FORCE) + message (STATUS "Downloading local fmtlib/fmt") + set (FMT_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/fmt") + set (FMT_GIT_REPOSITORY "https://github.com/fmtlib/fmt") +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 8e47a8443..e1a1987fe 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + if (LINKSTATIC) + set (_static_suffixes .lib .a) + set (_static_libraries_found 0) +@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) + endif() + + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index 5b6c30a85..17b0243a1 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,32 +2,32 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) +- if (LINKSTATIC) +- set (_static_suffixes .lib .a) +- set (_static_libraries_found 0) ++if (USE_LIBHEIF) ++ # if (LINKSTATIC) ++ # set (_static_suffixes .lib .a) ++ # set (_static_libraries_found 0) + +- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) +- get_filename_component (_ext ${_libeheif_library} LAST_EXT) +- list (FIND _static_suffixes ${_ext} _index) +- if (${_index} GREATER -1) +- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") +- endif() +- endforeach() ++ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) ++ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) ++ # list (FIND _static_suffixes ${_ext} _index) ++ # if (${_index} GREATER -1) ++ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") ++ # endif() ++ # endforeach() + +- if (${_static_libraries_found} GREATER 0) +- message (STATUS "${ColorYellow}") +- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") +- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") +- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") +- message (STATUS "dynamically-linked libheif.") +- message ("${ColorReset}") +- endif() +- endif() ++ # if (${_static_libraries_found} GREATER 0) ++ # message (STATUS "${ColorYellow}") ++ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") ++ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") ++ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") ++ # message (STATUS "dynamically-linked libheif.") ++ # message ("${ColorReset}") ++ # endif() ++ # endif() + + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ #INCLUDE_DIRS ${LIBHEIF_INCLUDES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 006cb65a7..a4ecf23c7 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -65,6 +65,7 @@ install (FILES ${detail_headers} + COMPONENT developer) + + if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers + ${FMT_INCLUDES}/fmt/core.h + ${FMT_INCLUDES}/fmt/format-inl.h +@@ -74,8 +75,8 @@ if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) + if (fmt_VERSION VERSION_GREATER_EQUAL 90000) + list (APPEND fmt_headers ${FMT_INCLUDES}/fmt/std.h) + endif () +- file (COPY ${fmt_headers} +- DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) ++ #file (COPY ${fmt_headers} ++ # DESTINATION ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt) + else () + set (fmt_headers + ${CMAKE_BINARY_DIR}/include/OpenImageIO/detail/fmt/format.h +diff --git src/include/OpenImageIO/detail/fmt.h src/include/OpenImageIO/detail/fmt.h +index b4f5e7da4..a990f83d4 100644 +--- src/include/OpenImageIO/detail/fmt.h ++++ src/include/OpenImageIO/detail/fmt.h +@@ -58,9 +58,9 @@ OIIO_PRAGMA_WARNING_PUSH + # pragma GCC diagnostic ignored "-Wtautological-constant-compare" + #endif + +-#include +-#include +-#include ++#include ++#include ++#include + + OIIO_PRAGMA_WARNING_POP + +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..402d4adad 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -4,8 +4,7 @@ + + if (OPENJPEG_FOUND) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index 9972a7150..683a66238 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -145,7 +145,6 @@ target_link_libraries (OpenImageIO + ${OPENIMAGEIO_IMATH_TARGETS} + PRIVATE + ${OPENIMAGEIO_OPENEXR_TARGETS} +- ${OpenCV_LIBRARIES} + ${format_plugin_libs} # Add all the target link libraries from the plugins + $ + $ +@@ -153,12 +152,19 @@ target_link_libraries (OpenImageIO + $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + +-if (FREETYPE_FOUND) +- target_link_libraries (OpenImageIO PRIVATE ${FREETYPE_LIBRARIES}) ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core ++ opencv::opencv_imgproc ++ opencv::opencv_videoio) ++endif () ++ ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) + endif() + + if (WIN32) +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index 10cc4b0c4..bb632d99a 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,9 +20,9 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index ed42f1c94..82d2b9770 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,8 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES Ptex::Ptex_dynamic ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/all/test_package/CMakeLists.txt b/recipes/openimageio/all/test_package/CMakeLists.txt index 1644784331f87..2b80f5af75658 100644 --- a/recipes/openimageio/all/test_package/CMakeLists.txt +++ b/recipes/openimageio/all/test_package/CMakeLists.txt @@ -1,10 +1,11 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - find_package(OpenImageIO REQUIRED CONFIG) +find_package(fmt REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} OpenImageIO::OpenImageIO) +target_link_libraries(${PROJECT_NAME} PRIVATE OpenImageIO::OpenImageIO + OpenImageIO::OpenImageIO_Util + fmt::fmt) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/openimageio/all/test_package/conanfile.py b/recipes/openimageio/all/test_package/conanfile.py index d51573f42b4f7..f4262a197701c 100644 --- a/recipes/openimageio/all/test_package/conanfile.py +++ b/recipes/openimageio/all/test_package/conanfile.py @@ -1,18 +1,25 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.cmake import cmake_layout, CMake +from conan.tools.build import can_run import os class TestPackageConan(ConanFile): settings = "os", "compiler", "build_type", "arch" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): - version = tools.Version(self.deps_cpp_info["openimageio"].version) cmake = CMake(self) - cmake.definitions["CMAKE_CXX_STANDARD"] = 14 if version >= "2.3.0.0" else 11 cmake.configure() cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if not can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/openimageio/all/test_v1_package/CMakeLists.txt b/recipes/openimageio/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..4f7b705df9ba0 --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +find_package(OpenImageIO REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} OpenImageIO::OpenImageIO) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) diff --git a/recipes/openimageio/all/test_v1_package/conanfile.py b/recipes/openimageio/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..1bf1c7e26255d --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/conanfile.py @@ -0,0 +1,16 @@ +from conans import ConanFile, CMake, tools +import os + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/openimageio/all/test_v1_package/test_package.cpp b/recipes/openimageio/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..e1594d38c661d --- /dev/null +++ b/recipes/openimageio/all/test_v1_package/test_package.cpp @@ -0,0 +1,9 @@ +#include + +int main() +{ + std::cout << "OpenImageIO " << OIIO_VERSION_STRING << "\n"; + + std::string formats = OIIO::get_string_attribute("format_list"); + std::cout << "Supported formats:\n" << formats << "\n"; +} diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index 3937cac349aec..cd903dbdc9549 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -1,9 +1,7 @@ versions: - "2.2.7.0": - folder: all - "2.2.18.0": + "2.4.7.1": folder: all - "2.3.7.2": + "2.4.17.0": folder: all - "2.4.7.1": + "2.5.6.0": folder: all From 75c9983a947edbbdfc3c4994c5c28f7b9ba488f6 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 26 Feb 2024 11:28:15 +0100 Subject: [PATCH 1213/1307] (#22788) [wayland] Bump required dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [wayland] Bump required dependencies * stay on libxml/2.13.2 --------- Co-authored-by: Rubén Rincón Blanco Co-authored-by: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Co-authored-by: Francisco Ramírez --- recipes/wayland/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/wayland/all/conanfile.py b/recipes/wayland/all/conanfile.py index 7694702f24251..865c98752b9de 100644 --- a/recipes/wayland/all/conanfile.py +++ b/recipes/wayland/all/conanfile.py @@ -51,14 +51,14 @@ def requirements(self): self.requires("libffi/3.4.4") if self.options.enable_dtd_validation: self.requires("libxml2/2.12.3") - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") def validate(self): if self.settings.os != "Linux": raise ConanInvalidConfiguration(f"{self.ref} only supports Linux") def build_requirements(self): - self.tool_requires("meson/1.3.0") + self.tool_requires("meson/1.3.1") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): self.tool_requires("pkgconf/2.1.0") if not can_run(self): From 2b2e98ec882b67429b84b90cf25b6f9d6a5a1812 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 19:48:05 +0900 Subject: [PATCH 1214/1307] (#22880) glfw: add version 3.4 * glfw: add version 3.4 * fix version number --- recipes/glfw/all/conandata.yml | 3 +++ recipes/glfw/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glfw/all/conandata.yml b/recipes/glfw/all/conandata.yml index bb5660da3ad7d..91c03ba3c213e 100644 --- a/recipes/glfw/all/conandata.yml +++ b/recipes/glfw/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.4": + url: "https://github.com/glfw/glfw/releases/download/3.4/glfw-3.4.zip" + sha256: "b5ec004b2712fd08e8861dc271428f048775200a2df719ccf575143ba749a3e9" "3.3.8": url: "https://github.com/glfw/glfw/releases/download/3.3.8/glfw-3.3.8.zip" sha256: "4d025083cc4a3dd1f91ab9b9ba4f5807193823e565a5bcf4be202669d9911ea6" diff --git a/recipes/glfw/config.yml b/recipes/glfw/config.yml index a0746c2e38c76..71269a07d6ef0 100644 --- a/recipes/glfw/config.yml +++ b/recipes/glfw/config.yml @@ -1,4 +1,6 @@ versions: + "3.4": + folder: all "3.3.8": folder: all "3.3.7": From c2f63df08695108aa2e1de5f84cb8cc39cb668bd Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 20:09:38 +0900 Subject: [PATCH 1215/1307] (#22882) c-ares: add version 1.27.0 --- recipes/c-ares/all/conandata.yml | 3 +++ recipes/c-ares/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/c-ares/all/conandata.yml b/recipes/c-ares/all/conandata.yml index aa06bcbb6109d..3833dbb894ff0 100644 --- a/recipes/c-ares/all/conandata.yml +++ b/recipes/c-ares/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.27.0": + url: "https://github.com/c-ares/c-ares/releases/download/cares-1_27_0/c-ares-1.27.0.tar.gz" + sha256: "0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b" "1.26.0": url: "https://github.com/c-ares/c-ares/releases/download/cares-1_26_0/c-ares-1.26.0.tar.gz" sha256: "bed58c4f02b009080ebda6c2467ba469722ac6aebbf4497dc44a83d8c6194e50" diff --git a/recipes/c-ares/config.yml b/recipes/c-ares/config.yml index 48280108ceb5c..75dbe67cad1ac 100644 --- a/recipes/c-ares/config.yml +++ b/recipes/c-ares/config.yml @@ -1,4 +1,6 @@ versions: + "1.27.0": + folder: all "1.26.0": folder: all "1.25.0": From 1d2526fbff2a71142a73e1c42e6580c28a6e3107 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 20:30:00 +0900 Subject: [PATCH 1216/1307] (#22884) libpng: add version 1.6.43 --- recipes/libpng/all/conandata.yml | 3 +++ recipes/libpng/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/libpng/all/conandata.yml b/recipes/libpng/all/conandata.yml index 5e7c1a3b6a12f..9d660e1b52521 100644 --- a/recipes/libpng/all/conandata.yml +++ b/recipes/libpng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.6.43": + url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.43/libpng-1.6.43.tar.xz" + sha256: "6a5ca0652392a2d7c9db2ae5b40210843c0bbc081cbd410825ab00cc59f14a6c" "1.6.42": url: "https://sourceforge.net/projects/libpng/files/libpng16/1.6.42/libpng-1.6.42.tar.xz" sha256: "c919dbc11f4c03b05aba3f8884d8eb7adfe3572ad228af972bb60057bdb48450" diff --git a/recipes/libpng/config.yml b/recipes/libpng/config.yml index 52cce5acae391..05a40beb2a7b3 100644 --- a/recipes/libpng/config.yml +++ b/recipes/libpng/config.yml @@ -1,4 +1,6 @@ versions: + "1.6.43": + folder: all "1.6.42": folder: all "1.6.41": From 2b729a1033e6615c538ca8a2b4eb4cc51ae53ca2 Mon Sep 17 00:00:00 2001 From: Guillaume MICHEL Date: Mon, 26 Feb 2024 13:10:29 +0100 Subject: [PATCH 1217/1307] (#22704) liburing: Fix cross-compilation and added version 2.5 --- recipes/liburing/all/conandata.yml | 30 +++++++++++++++++++ recipes/liburing/all/conanfile.py | 11 ++++++- ...buring-0.7-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.0-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.2-disable_samples_and_tests.patch | 13 ++++++++ ...buring-2.4-disable_samples_and_tests.patch | 13 ++++++++ recipes/liburing/config.yml | 2 ++ 7 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch create mode 100644 recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch diff --git a/recipes/liburing/all/conandata.yml b/recipes/liburing/all/conandata.yml index c886933bedcfe..48e308169639a 100644 --- a/recipes/liburing/all/conandata.yml +++ b/recipes/liburing/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5": + url: "https://github.com/axboe/liburing/archive/liburing-2.5.tar.gz" + sha256: "456f5f882165630f0dc7b75e8fd53bd01a955d5d4720729b4323097e6e9f2a98" "2.4": url: "https://github.com/axboe/liburing/archive/liburing-2.4.tar.gz" sha256: "2398ec82d967a6f903f3ae1fd4541c754472d3a85a584dc78c5da2fabc90706b" @@ -19,5 +22,32 @@ sources: sha256: "8e2842cfe947f3a443af301bdd6d034455536c38a455c7a700d0c1ad165a7543" patches: + "0.7": + - patch_file: "patches/liburing-0.7-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.0": + - patch_file: "patches/liburing-2.0-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" "2.1": - patch_file: "patches/0001-liburing-2.1-memfd-create.patch" + - patch_file: "patches/liburing-2.0-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.2": + - patch_file: "patches/liburing-2.2-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.3": + - patch_file: "patches/liburing-2.2-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.4": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" + "2.5": + - patch_file: "patches/liburing-2.4-disable_samples_and_tests.patch" + patch_description: "Disable tests and samples as it might not work while cross-compiling" + patch_type: "conan" diff --git a/recipes/liburing/all/conanfile.py b/recipes/liburing/all/conanfile.py index b1e4b79034482..c90a304cde4c7 100644 --- a/recipes/liburing/all/conanfile.py +++ b/recipes/liburing/all/conanfile.py @@ -64,8 +64,17 @@ def source(self): def generate(self): tc = AutotoolsToolchain(self) + + if Version(self.version) >= "2.5": + if self.options.with_libc: + tc.configure_args.append("--use-libc") + elif Version(self.version) >= "2.2": + if not self.options.with_libc: + tc.configure_args.append("--nolibc") + tc.update_configure_args({ - "--nolibc": None if self.options.get_safe("with_libc", default=True) else "", + "--host": None, + "--build": None, "--enable-shared": None, "--disable-shared": None, "--enable-static": None, diff --git a/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..dc56cd825cb84 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-0.7-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 948e004..d4cff97 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,8 +10,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + partcheck: all + @echo "make partcheck => TODO add tests with out kernel support" diff --git a/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..4f4983d0c9070 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.0-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 5d9c4dc..66ee81e 100644 +--- a/Makefile ++++ b/Makefile +@@ -10,8 +10,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..7faef951af755 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.2-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 686be4f..28d0a7f 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,8 +8,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch new file mode 100644 index 0000000000000..f3b6165682fd2 --- /dev/null +++ b/recipes/liburing/all/patches/liburing-2.4-disable_samples_and_tests.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 73d021c..74aa8d7 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,8 +8,6 @@ default: all + + all: + @$(MAKE) -C src +- @$(MAKE) -C test +- @$(MAKE) -C examples + + .PHONY: all install default clean test + .PHONY: FORCE cscope diff --git a/recipes/liburing/config.yml b/recipes/liburing/config.yml index 264b68e5678d7..d47042c99f1bb 100644 --- a/recipes/liburing/config.yml +++ b/recipes/liburing/config.yml @@ -1,4 +1,6 @@ versions: + "2.5": + folder: all "2.4": folder: all "2.3": From de3f951acc4aad1b4bf0b62fe6ca977ee472efce Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 14:43:23 +0200 Subject: [PATCH 1218/1307] (#18265) libunifex: migrate to Conan v2 * libunifex: migrate to Conan v2, add v0.3.0 * libunifex: ensure liburing from the system is not used * libunifex: bump to v0.4.0 * libunifex: drop the incompatible custom version * libunifex: downgrade liburing * libunifex: disable liburing by default * libunifex: fix a MSVC build issue * libunifex: ensure cppstd is set * libunifex: allow cppstd to be overriden * libunifex: correct min VS version --- recipes/libunifex/all/CMakeLists.txt | 7 - recipes/libunifex/all/conandata.yml | 6 +- recipes/libunifex/all/conanfile.py | 153 +++++++++++------- .../libunifex/all/test_package/CMakeLists.txt | 13 +- .../libunifex/all/test_package/conanfile.py | 19 ++- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 ++ recipes/libunifex/config.yml | 4 +- 8 files changed, 144 insertions(+), 83 deletions(-) delete mode 100644 recipes/libunifex/all/CMakeLists.txt create mode 100644 recipes/libunifex/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/libunifex/all/test_v1_package/conanfile.py diff --git a/recipes/libunifex/all/CMakeLists.txt b/recipes/libunifex/all/CMakeLists.txt deleted file mode 100644 index 4beb13671fe5e..0000000000000 --- a/recipes/libunifex/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -project(cmake_wrapper) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory("source_subfolder") diff --git a/recipes/libunifex/all/conandata.yml b/recipes/libunifex/all/conandata.yml index 2eaea0e7a17a7..f0f7328af9c2a 100644 --- a/recipes/libunifex/all/conandata.yml +++ b/recipes/libunifex/all/conandata.yml @@ -1,4 +1,4 @@ sources: - "cci.20220430": - url: "https://github.com/facebookexperimental/libunifex/archive/c359fd8e7d97d91359cf4a6c1dbef99b0b1767b6.tar.gz" - sha256: "c306891967fa4cc1a22f3401581d35ceea41eb1dbdac3e6157ecf3defaa4b15d" + "0.4.0": + url: "https://github.com/facebookexperimental/libunifex/archive/refs/tags/v0.4.0.tar.gz" + sha256: "d5ce3b616e166da31e6b4284764a1feeba52aade868bcbffa94cfd86b402716e" diff --git a/recipes/libunifex/all/conanfile.py b/recipes/libunifex/all/conanfile.py index 49d7f959dc539..4bcd35d16f99c 100644 --- a/recipes/libunifex/all/conanfile.py +++ b/recipes/libunifex/all/conanfile.py @@ -1,110 +1,143 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration -import functools import os -required_conan_version = ">=1.43.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd, valid_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rmdir, replace_in_file, export_conandata_patches, apply_conandata_patches +from conan.tools.microsoft import is_msvc + +required_conan_version = ">=1.52.0" class LibunifexConan(ConanFile): name = "libunifex" + description = "A prototype implementation of the C++ sender/receiver async programming model" license = ("Apache-2.0", "LLVM-exception") url = "https://github.com/conan-io/conan-center-index" homepage = "https://github.com/facebookexperimental/libunifex" - description = "A prototype implementation of the C++ sender/receiver async programming model" topics = ("async", "cpp") + package_type = "static-library" settings = "os", "arch", "compiler", "build_type" - - generators = "cmake", "cmake_find_package_multi" - no_copy_source = True - exports_sources = ["CMakeLists.txt"] + options = { + "fPIC": [True, False], + "with_liburing": [True, False], + } + default_options = { + "fPIC": True, + "with_liburing": False, # Enabled by default in the project, but incompatible with the Linux version used in C3I + } @property - def _source_subfolder(self): - return "source_subfolder" + def _minimum_standard(self): + if is_msvc(self): + # Otherwise a forward declaration `extern const _schedule::_fn schedule;` + # conflicts with the implementation `inline constexpr _schedule::_fn schedule {};` + # https://github.com/facebookexperimental/libunifex/issues/591 + return 20 + return 17 @property def _compilers_minimum_version(self): return { "gcc": "9", - "Visual Studio": "16", "clang": "10", "apple-clang": "11", + "Visual Studio": "17", + "msvc": "193", } - @property - def _minimum_standard(self): - return "17" + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if not self.settings.os == "Linux": + del self.options.with_liburing + + def layout(self): + cmake_layout(self, src_folder="src") - # FIXME: Add support for liburing - # def requirements(self): - # TODO: Make an option to opt-out of liburing for old kernel versions - # if self.settings.os == "Linux": - # self.requires("liburing/2.1") + def requirements(self): + if self.options.get_safe("with_liburing"): + self.requires("liburing/2.4", transitive_headers=True, transitive_libs=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): - tools.check_min_cppstd( - self, self._minimum_standard) + check_min_cppstd(self, self._minimum_standard) def lazy_lt_semver(v1, v2): - lv1 = [int(v) for v in v1.split(".")] - lv2 = [int(v) for v in v2.split(".")] - min_length = min(len(lv1), len(lv2)) - return lv1[:min_length] < lv2[:min_length] - - minimum_version = self._compilers_minimum_version.get( - str(self.settings.compiler), False) - if not minimum_version: - self.output.warn( - "{0} {1} requires C++{2}. Your compiler is unknown. Assuming it supports C++{2}." - .format(self.name, self.version, self._minimum_standard)) - elif lazy_lt_semver(str(self.settings.compiler.version), minimum_version): + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and lazy_lt_semver(self.settings.compiler.version, minimum_version): raise ConanInvalidConfiguration( - "{} {} requires C++{}, which your compiler does not support." - .format(self.name, self.version, self._minimum_standard)) + f"{self.ref} requires C++{self._minimum_standard}, which your compiler does not support." + ) def source(self): - tools.get(**self.conan_data["sources"][self.version], - destination=self._source_subfolder, strip_root=True) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["UNIFEX_BUILD_EXAMPLES"] = False + tc.variables["UNIFEX_NO_LIBURING"] = not self.options.get_safe("with_liburing", False) + if not valid_min_cppstd(self, self._minimum_standard): + tc.variables["CMAKE_CXX_STANDARD"] = self._minimum_standard + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.set_property("liburing", "cmake_file_name", "LIBURING") + deps.generate() - @functools.lru_cache(1) - def _configure_cmake(self): + def build(self): + self._patch_sources() cmake = CMake(self) - cmake.definitions["BUILD_TESTING"] = "OFF" cmake.configure() - return cmake - - def build(self): - cmake = self._configure_cmake() cmake.build() + def _patch_sources(self): + apply_conandata_patches(self) + # Ensure liburing from the system is not used and that uuper-case variables are generated + required = "REQUIRED" if self.settings.os == "Linux" else "" + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_flags.cmake"), + "find_package(LibUring COMPONENTS)", + f"find_package(LIBURING {required} CONFIG NO_DEFAULT_PATH PATHS ${{CMAKE_PREFIX_PATH}})") + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_env.cmake"), "-Werror", "") + replace_in_file(self, os.path.join(self.source_folder, "cmake", "unifex_env.cmake"), "/WX", "") + # Allow cppstd to be overridden + replace_in_file(self, os.path.join(self.source_folder, "source", "CMakeLists.txt"), + "target_compile_features(unifex PUBLIC cxx_std_17)", "") + def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "cmake")) - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] + self.cpp_info.set_property("cmake_file_name", "unifex") self.cpp_info.set_property("cmake_target_name", "unifex::unifex") self.cpp_info.set_property("pkg_config_name", "unifex") + self.cpp_info.components["unifex"].libs = ["unifex"] + self.cpp_info.components["unifex"].set_property("cmake_target_name", "unifex::unifex") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.components["unifex"].system_libs = ["pthread"] + if self.options.get_safe("with_liburing"): + self.cpp_info.components["unifex"].requires.append("liburing::liburing") + # TODO: to remove in conan v2 once cmake_find_package_* generators removed - self.cpp_info.filenames["cmake_find_package"] = "unifex" - self.cpp_info.filenames["cmake_find_package_multi"] = "unifex" self.cpp_info.names["cmake_find_package"] = "unifex" self.cpp_info.names["cmake_find_package_multi"] = "unifex" - self.cpp_info.names["pkg_config"] = "unifex" self.cpp_info.components["unifex"].names["cmake_find_package"] = "unifex" self.cpp_info.components["unifex"].names["cmake_find_package_multi"] = "unifex" - self.cpp_info.components["unifex"].set_property( - "cmake_target_name", "unifex::unifex") - self.cpp_info.components["unifex"].libs = ["unifex"] - - if self.settings.os == "Linux": - self.cpp_info.components["unifex"].system_libs = ["pthread"] - # self.cpp_info.components["unifex"].requires.append( - # "liburing::liburing") diff --git a/recipes/libunifex/all/test_package/CMakeLists.txt b/recipes/libunifex/all/test_package/CMakeLists.txt index a487dfdf2b7ad..7c04e7b0b4280 100644 --- a/recipes/libunifex/all/test_package/CMakeLists.txt +++ b/recipes/libunifex/all/test_package/CMakeLists.txt @@ -1,11 +1,12 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) find_package(unifex REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE unifex::unifex) -set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +if(MSVC) + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 20) +else() + set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 17) +endif() diff --git a/recipes/libunifex/all/test_package/conanfile.py b/recipes/libunifex/all/test_package/conanfile.py index 38f4483872d47..ef5d7042163ec 100644 --- a/recipes/libunifex/all/test_package/conanfile.py +++ b/recipes/libunifex/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/libunifex/all/test_v1_package/CMakeLists.txt b/recipes/libunifex/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/libunifex/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/libunifex/all/test_v1_package/conanfile.py b/recipes/libunifex/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..38f4483872d47 --- /dev/null +++ b/recipes/libunifex/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/libunifex/config.yml b/recipes/libunifex/config.yml index 1bf3ed95d8368..af29e78bd9b25 100644 --- a/recipes/libunifex/config.yml +++ b/recipes/libunifex/config.yml @@ -1,3 +1,3 @@ versions: - "cci.20220430": - folder: "all" + "0.4.0": + folder: all From e7d129825e6e0044874eaceb725cc234790761db Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 15:02:56 +0200 Subject: [PATCH 1219/1307] (#18721) sleef: migrate to Conan v2 * sleef: migrate to Conan v2 * sleef: add version cci.20210405 * sleef: fix shared option * sleef: rmdir dummy * sleef: armv8 cross-building is not supported * sleef: cross-compilation to x86_64 is not supported either * sleef: armv8 is not supported either * sleef: add v3.6, drop custom version * sleef: update options * sleef: use newer CMake * sleef: restore apple-clang checks for v3.5 * sleef: cross-building is still broken * Update recipes/sleef/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/sleef/all/CMakeLists.txt | 7 - recipes/sleef/all/conandata.yml | 3 + recipes/sleef/all/conanfile.py | 135 ++++++++++-------- recipes/sleef/all/test_package/CMakeLists.txt | 7 +- recipes/sleef/all/test_package/conanfile.py | 19 ++- .../sleef/all/test_v1_package/CMakeLists.txt | 8 ++ .../sleef/all/test_v1_package/conanfile.py | 17 +++ recipes/sleef/config.yml | 2 + 8 files changed, 126 insertions(+), 72 deletions(-) delete mode 100644 recipes/sleef/all/CMakeLists.txt create mode 100644 recipes/sleef/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/sleef/all/test_v1_package/conanfile.py diff --git a/recipes/sleef/all/CMakeLists.txt b/recipes/sleef/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/sleef/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/sleef/all/conandata.yml b/recipes/sleef/all/conandata.yml index d1737a7a842cf..2cb4098c3fd69 100644 --- a/recipes/sleef/all/conandata.yml +++ b/recipes/sleef/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.6": + url: "https://github.com/shibatch/sleef/archive/3.6.tar.gz" + sha256: "de4f3d992cf2183a872cd397f517c1defcd3ee6cafa2ce5fa36963bd7e562446" "3.5.1": url: "https://github.com/shibatch/sleef/archive/3.5.1.tar.gz" sha256: "415ee9b1bcc5816989d3d4d92afd0cd3f9ee89cbd5a33eb008e69751e40438ab" diff --git a/recipes/sleef/all/conanfile.py b/recipes/sleef/all/conanfile.py index 0496b1b63c7cd..7cba3764e2337 100644 --- a/recipes/sleef/all/conanfile.py +++ b/recipes/sleef/all/conanfile.py @@ -1,19 +1,25 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration import os -required_conan_version = ">=1.32.0" +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import cross_building +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get, rmdir +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" class SleefConan(ConanFile): name = "sleef" - description = "SLEEF is a library that implements vectorized versions " \ - "of C standard math functions." + description = "SLEEF is a library that implements vectorized versions of C standard math functions." license = "BSL-1.0" - topics = ("conan", "sleef", "vectorization", "simd") - homepage = "https://sleef.org" url = "https://github.com/conan-io/conan-center-index" + homepage = "https://sleef.org" + topics = ("vectorization", "simd") + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], @@ -24,75 +30,92 @@ class SleefConan(ConanFile): "fPIC": True, } - short_paths = True - - exports_sources = "CMakeLists.txt" - generators = "cmake" - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" - - @property - def _build_subfolder(self): - return "build_subfolder" - def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC - del self.settings.compiler.libcxx - del self.settings.compiler.cppstd + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") def validate(self): if self.settings.os == "Windows" and self.options.shared: - raise ConanInvalidConfiguration("shared sleef not supported on Windows, it produces runtime errors") + raise ConanInvalidConfiguration( + "shared sleef not supported on Windows, it produces runtime errors" + ) + if self.settings.compiler == "apple-clang": + if cross_building(self): + # Fails with "No rule to make target `/bin/mkrename'" + # https://github.com/shibatch/sleef/issues/308 + raise ConanInvalidConfiguration(f"{self.ref} does not support cross-building with apple-clang") + if Version(self.version) < "3.6" and self.settings.arch == "armv8": + # clang: error: the clang compiler does not support '-march=armv7-a' + # clang: warning: argument unused during compilation: '-mfpu=vfpv4' [-Wunused-command-line-argument] + # clang: warning: argument unused during compilation: '-arch arm64' [-Wunused-command-line-argument] + # clang: warning: argument unused during compilation: '-mmacosx-version-min=11.0' [-Wunused-command-line-argument] + raise ConanInvalidConfiguration(f"{self.ref} does not support Mac M1. Please, use {self.name} version >=3.6.") + + def build_requirements(self): + if Version(self.version) >= "3.6": + self.tool_requires("cmake/[>=3.18 <4]") def source(self): - tools.get(**self.conan_data["sources"][self.version]) - os.rename(self.name + "-" + self.version, self._source_subfolder) - - def _configure_cmake(self): - if self._cmake: - return self._cmake - self._cmake = CMake(self) - self._cmake.definitions["BUILD_STATIC_TEST_BINS"] = False - self._cmake.definitions["ENABLE_LTO"] = False - self._cmake.definitions["BUILD_LIBM"] = True - self._cmake.definitions["BUILD_DFT"] = False - self._cmake.definitions["BUILD_QUAD"] = False - self._cmake.definitions["BUILD_GNUABI_LIBS"] = False - self._cmake.definitions["BUILD_TESTS"] = False - self._cmake.definitions["BUILD_INLINE_HEADERS"] = False - self._cmake.definitions["SLEEF_TEST_ALL_IUT"] = False - self._cmake.definitions["SLEEF_SHOW_CONFIG"] = True - self._cmake.definitions["SLEEF_SHOW_ERROR_LOG"] = False - self._cmake.definitions["ENFORCE_TESTER"] = False - self._cmake.definitions["ENFORCE_TESTER3"] = False - self._cmake.definitions["ENABLE_ALTDIV"] = False - self._cmake.definitions["ENABLE_ALTSQRT"] = False - self._cmake.definitions["DISABLE_FFTW"] = True - self._cmake.configure(build_folder=self._build_subfolder) - return self._cmake + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + + tc = CMakeToolchain(self) + tc.cache_variables["BUILD_SHARED_LIBS"] = self.options.shared + if Version(self.version) >= "3.6": + tc.cache_variables["SLEEF_BUILD_STATIC_TEST_BINS"] = False + tc.cache_variables["SLEEF_BUILD_LIBM"] = True + tc.cache_variables["SLEEF_BUILD_DFT"] = False + tc.cache_variables["SLEEF_BUILD_QUAD"] = False + tc.cache_variables["SLEEF_BUILD_GNUABI_LIBS"] = False + tc.cache_variables["SLEEF_BUILD_SCALAR_LIB"] = False + tc.cache_variables["SLEEF_BUILD_TESTS"] = False + tc.cache_variables["SLEEF_BUILD_INLINE_HEADERS"] = False + tc.cache_variables["SLEEF_SHOW_CONFIG"] = True + tc.cache_variables["SLEEF_SHOW_ERROR_LOG"] = False + tc.cache_variables["SLEEF_ENABLE_ALTDIV"] = False + tc.cache_variables["SLEEF_ENABLE_ALTSQRT"] = False + tc.cache_variables["SLEEF_DISABLE_FFTW"] = True + tc.cache_variables["SLEEF_DISABLE_MPFR"] = True + tc.cache_variables["SLEEF_DISABLE_SSL"] = True + tc.cache_variables["SLEEF_ENABLE_CUDA"] = False + tc.cache_variables["SLEEF_ENABLE_CXX"] = False + else: + tc.cache_variables["BUILD_DFT"] = False + tc.cache_variables["BUILD_GNUABI_LIBS"] = False + tc.cache_variables["BUILD_TESTS"] = False + tc.cache_variables["DISABLE_FFTW"] = True + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - self.copy("LICENSE.txt", dst="licenses", src=self._source_subfolder) - cmake = self._configure_cmake() + copy(self, "LICENSE.txt", + dst=os.path.join(self.package_folder, "licenses"), + src=self.source_folder) + cmake = CMake(self) cmake.install() - tools.rmdir(os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "dummy")) def package_info(self): - self.cpp_info.names["pkg_config"] = "sleef" + self.cpp_info.set_property("pkg_config_name", "sleef") self.cpp_info.libs = ["sleef"] if self.settings.os == "Windows" and not self.options.shared: self.cpp_info.defines = ["SLEEF_STATIC_LIBS"] - if self.settings.os == "Linux": + if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.system_libs = ["m"] diff --git a/recipes/sleef/all/test_package/CMakeLists.txt b/recipes/sleef/all/test_package/CMakeLists.txt index 7b9b613cbb24a..a5f1ed24ef5f7 100644 --- a/recipes/sleef/all/test_package/CMakeLists.txt +++ b/recipes/sleef/all/test_package/CMakeLists.txt @@ -1,8 +1,7 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package C) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +find_package(sleef REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.c) -target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) +target_link_libraries(${PROJECT_NAME} PRIVATE sleef::sleef) diff --git a/recipes/sleef/all/test_package/conanfile.py b/recipes/sleef/all/test_package/conanfile.py index 5216332f39f5c..ef5d7042163ec 100644 --- a/recipes/sleef/all/test_package/conanfile.py +++ b/recipes/sleef/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self.settings): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/sleef/all/test_v1_package/CMakeLists.txt b/recipes/sleef/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/sleef/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/sleef/all/test_v1_package/conanfile.py b/recipes/sleef/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9f777f7680ff --- /dev/null +++ b/recipes/sleef/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package_multi" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/sleef/config.yml b/recipes/sleef/config.yml index 2276d8a2cd6a8..3c718426b97bd 100644 --- a/recipes/sleef/config.yml +++ b/recipes/sleef/config.yml @@ -1,3 +1,5 @@ versions: + "3.6": + folder: all "3.5.1": folder: all From c2a91a2cb6c93c4ec6026cc5e65102ed681b3caa Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 22:30:04 +0900 Subject: [PATCH 1220/1307] (#20388) fast_io: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fast_io: add recipe * Apple-Clang 13 has partial support for Concepts * drop support clang<11 * downgrade to cci.20230418 * Update to latest version * Fix config.yml * update version, fix test_package.cpp --------- Co-authored-by: Rubén Rincón Co-authored-by: Rubén Rincón Blanco --- recipes/fast_io/all/conandata.yml | 4 ++ recipes/fast_io/all/conanfile.py | 68 +++++++++++++++++++ .../fast_io/all/test_package/CMakeLists.txt | 8 +++ recipes/fast_io/all/test_package/conanfile.py | 25 +++++++ .../fast_io/all/test_package/test_package.cpp | 8 +++ recipes/fast_io/config.yml | 3 + 6 files changed, 116 insertions(+) create mode 100644 recipes/fast_io/all/conandata.yml create mode 100644 recipes/fast_io/all/conanfile.py create mode 100644 recipes/fast_io/all/test_package/CMakeLists.txt create mode 100644 recipes/fast_io/all/test_package/conanfile.py create mode 100644 recipes/fast_io/all/test_package/test_package.cpp create mode 100644 recipes/fast_io/config.yml diff --git a/recipes/fast_io/all/conandata.yml b/recipes/fast_io/all/conandata.yml new file mode 100644 index 0000000000000..a32bf70cd25f3 --- /dev/null +++ b/recipes/fast_io/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "cci.20240219": + url: "https://github.com/cppfastio/fast_io/archive/316afccde333721b059a761b25217084e84a9ca0.tar.gz" + sha256: "9feab7802957c8069b2a112f97bfb885d503ff5d7f433197f47636f40a20188a" diff --git a/recipes/fast_io/all/conanfile.py b/recipes/fast_io/all/conanfile.py new file mode 100644 index 0000000000000..32f435f8730b5 --- /dev/null +++ b/recipes/fast_io/all/conanfile.py @@ -0,0 +1,68 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.files import get, copy +from conan.tools.layout import basic_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.52.0" + + +class FastIoConan(ConanFile): + name = "fast_io" + description = "fast_io is a C++ io exception-safe RAII library based on C++ 20 Concepts. It is at least 10 times faster than cstdio than iostream." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/cppfastio/fast_io" + topics = ("cstdio", "iostream", "io", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 20 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "13", + "clang": "15", + # Apple-Clang 13 is not enough in this case, + # partial support for concepts + "apple-clang": "14", + "Visual Studio": "17", + "msvc": "193", + } + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, pattern="license.txt", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + copy( + self, + pattern="*.h", + dst=os.path.join(self.package_folder, "include"), + src=os.path.join(self.source_folder, "include"), + ) + + def package_info(self): + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/fast_io/all/test_package/CMakeLists.txt b/recipes/fast_io/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..091f3e6ef74db --- /dev/null +++ b/recipes/fast_io/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.12) +project(test_package LANGUAGES CXX) + +find_package(fast_io REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE fast_io::fast_io) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) diff --git a/recipes/fast_io/all/test_package/conanfile.py b/recipes/fast_io/all/test_package/conanfile.py new file mode 100644 index 0000000000000..b9d7f11e89dcd --- /dev/null +++ b/recipes/fast_io/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/fast_io/all/test_package/test_package.cpp b/recipes/fast_io/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..0e163592d3756 --- /dev/null +++ b/recipes/fast_io/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include "fast_io.h" + +int main() { + fast_io::io::print(4, " " ,4, "\n"); + + return 0; +} diff --git a/recipes/fast_io/config.yml b/recipes/fast_io/config.yml new file mode 100644 index 0000000000000..957c6f90fa002 --- /dev/null +++ b/recipes/fast_io/config.yml @@ -0,0 +1,3 @@ +versions: + "cci.20240219": + folder: all From 584c8d8815c8170b2f9f184edeb5e5c2c4374a0b Mon Sep 17 00:00:00 2001 From: "Lucas K. Dal Castel" Date: Mon, 26 Feb 2024 11:08:35 -0300 Subject: [PATCH 1221/1307] (#20851) freealut: add recipe * freealut: add recipe * freealut: [CR] - split patches * Simplify recipe without patches Signed-off-by: Uilian Ries * freealut: portability - make it build for Windows * freealut: Disable static lib build for macOS * remove openal-soft shared option enforcement Co-authored-by: Uilian Ries * remove openal-soft shared option default value Co-authored-by: Uilian Ries * fix comment * Add validation related to openal-soft in Windows freealut's cmake currently is using find_library instead of the package finders so it wouldn't get its public compile definitions. This causes al.h be preprocessed as a dynamic library. Since Windows symbols are different for dynamic and static methods they aren't found. * Add hint to build using openlal-soft as a shared lib in Windows. --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/freealut/all/conandata.yml | 4 + recipes/freealut/all/conanfile.py | 96 +++++++++++++++++++ .../freealut/all/test_package/CMakeLists.txt | 7 ++ .../freealut/all/test_package/conanfile.py | 26 +++++ .../freealut/all/test_package/test_package.c | 40 ++++++++ recipes/freealut/config.yml | 3 + 6 files changed, 176 insertions(+) create mode 100644 recipes/freealut/all/conandata.yml create mode 100644 recipes/freealut/all/conanfile.py create mode 100644 recipes/freealut/all/test_package/CMakeLists.txt create mode 100644 recipes/freealut/all/test_package/conanfile.py create mode 100644 recipes/freealut/all/test_package/test_package.c create mode 100644 recipes/freealut/config.yml diff --git a/recipes/freealut/all/conandata.yml b/recipes/freealut/all/conandata.yml new file mode 100644 index 0000000000000..4ac03e7d67b4e --- /dev/null +++ b/recipes/freealut/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.0": + url: "http://ftp.debian.org/debian/pool/main/f/freealut/freealut_1.1.0.orig.tar.gz" + sha256: "60d1ea8779471bb851b89b49ce44eecb78e46265be1a6e9320a28b100c8df44f" diff --git a/recipes/freealut/all/conanfile.py b/recipes/freealut/all/conanfile.py new file mode 100644 index 0000000000000..42eae88dfb458 --- /dev/null +++ b/recipes/freealut/all/conanfile.py @@ -0,0 +1,96 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir +from conan.errors import ConanInvalidConfiguration +import os + +required_conan_version = ">=1.54" + +class FreeAlutConan(ConanFile): + name = "freealut" + description = "freealut is a free implementation of OpenAL's ALUT standard." + topics = ("openal", "audio", "api") + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://openal.org" + license = "LGPL-2.0-or-later" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + def config_options(self): + if self.settings.os == "Windows": + self.options.rm_safe("fPIC") + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + # FIXME: freealut supports Windows and Macos, but the recipe needs some help to work. + if self.settings.os in ["Windows", "Macos"] and \ + not self.options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} recipe is currently not prepared for Windows or Macos. Contributions are welcome." + ) + + # freealut's cmake currently is using find_library instead of the package finders so it wouldn't get its public compile definitions. + # This causes al.h to be preprocessed as a dynamic library. Since Windows symbols are different for dynamic and static methods they aren't found. + if self.settings.os == "Windows" and \ + not self.dependencies["openal-soft"].options.shared: + raise ConanInvalidConfiguration( + f"{self.ref} cmake is currently not prepared to use openal-soft as a static library on Windows. Add option openal-soft/*:shared=True." + ) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("openal-soft/1.22.2", transitive_headers=True, transitive_libs=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeDeps(self) + tc.generate() + tc = CMakeToolchain(self) + # Honor BUILD_SHARED_LIBS from conan_toolchain (see https://github.com/conan-io/conan/issues/11840) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0003"] = "NEW" + tc.variables["BUILD_STATIC"] = not self.options.shared + # INFO: CMakeDeps generates CamelCase variables + tc.variables["OPENAL_LIB_DIR"] = os.path.join(self.dependencies["openal-soft"].package_folder, "lib") + tc.variables["OPENAL_INCLUDE_DIR"] = os.path.join(self.dependencies["openal-soft"].package_folder, "include") + if self.settings.os == "Windows": + tc.variables["OPENAL_INCLUDE_DIR"] += ";" + os.path.join(self.dependencies["openal-soft"].package_folder, "include", "AL") + tc.variables["OPENAL_LIB_DIR"] = tc.variables["OPENAL_LIB_DIR"].replace("\\","/") + tc.variables["OPENAL_INCLUDE_DIR"] = tc.variables["OPENAL_INCLUDE_DIR"].replace("\\","/") + tc.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + if not self.options.shared: + rm(self, "*.so*", os.path.join(self.package_folder, "lib")) + + def package_info(self): + self.cpp_info.libs = ['alut'] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["m", "pthread"] + if self.options.shared: + self.cpp_info.defines.append("ALUT_BUILD_LIBRARY") diff --git a/recipes/freealut/all/test_package/CMakeLists.txt b/recipes/freealut/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..4ba52d1b57dea --- /dev/null +++ b/recipes/freealut/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(freealut REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE freealut::freealut) diff --git a/recipes/freealut/all/test_package/conanfile.py b/recipes/freealut/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/freealut/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/freealut/all/test_package/test_package.c b/recipes/freealut/all/test_package/test_package.c new file mode 100644 index 0000000000000..eebaa554d158e --- /dev/null +++ b/recipes/freealut/all/test_package/test_package.c @@ -0,0 +1,40 @@ +#include +#include +#include + +/* + This program checks that the version of OpenAL in the + library agrees with the header file we're compiled against. +*/ + +int +main (int argc, char **argv) +{ + ALboolean ok = AL_FALSE; + + alutInit (&argc, argv); + +#ifdef ALUT_API_MAJOR_VERSION + if (alutGetMajorVersion () != ALUT_API_MAJOR_VERSION || + alutGetMinorVersion () != ALUT_API_MINOR_VERSION) + { + fprintf (stderr, + "WARNING: The ALUT library is version %d.%d.x but says it's %d.%d.x!\n", + alutGetMajorVersion (), alutGetMinorVersion (), + ALUT_API_MAJOR_VERSION, ALUT_API_MINOR_VERSION); + } + else + { + fprintf (stderr, "The ALUT library is at version %d.%d.x.\n", + alutGetMajorVersion (), alutGetMinorVersion ()); + ok = AL_TRUE; + } +#else + fprintf (stderr, "WARNING: Your copy of is pre-1.0.0,\n"); + fprintf (stderr, "but you are running the ALUT test suite from ALUT\n"); + fprintf (stderr, "version 1.0.0 or later.\n"); +#endif + + alutExit (); + return ok ? EXIT_SUCCESS : EXIT_FAILURE; +} diff --git a/recipes/freealut/config.yml b/recipes/freealut/config.yml new file mode 100644 index 0000000000000..b5c0d3cb2d409 --- /dev/null +++ b/recipes/freealut/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.0": + folder: all From c87d051c801658a61874d2de6b34975c248cc9d9 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 26 Feb 2024 08:25:06 -0600 Subject: [PATCH 1222/1307] (#20905) freeglut: Add support for Wayland * freeglut: Add support for Wayland * Add patch for 3.2.2 * Use VirtualBuildEnv * Ensure that the GLES libraries are linked in from the libglvnd Conan package * Revert "Use VirtualBuildEnv" This reverts commit b32ddc8c4abd14d89cfa8b9f19967ea01cb5b8bf. * Drop v1 test packages * Bump CMake minimum required to 3.11 to enable policy CMP0072 * Bump the minimum required CMake version * Add a patch to include a missing function definition * Update patches to match the fixes merged upstream * Add patch to pick up the correct GLES libraries * Only allow the gles option on Linux and FreeBSD * Set default for get_safe * Default GLES as the upstream project does --- recipes/freeglut/all/conandata.yml | 36 +++++++ recipes/freeglut/all/conanfile.py | 101 ++++++++++++++++-- ...e-and-pkg_check_modules-to-find-more.patch | 94 ++++++++++++++++ ...defined-reference-to-glutCreateMenuU.patch | 25 +++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ ...e-and-pkg_check_modules-to-find-more.patch | 94 ++++++++++++++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ ...e-and-pkg_check_modules-to-find-more.patch | 100 +++++++++++++++++ ...-to-locate-GL-libraries-not-provided.patch | 65 +++++++++++ .../freeglut/all/test_package/CMakeLists.txt | 2 +- .../all/test_package_module/CMakeLists.txt | 2 +- .../all/test_v1_package/CMakeLists.txt | 8 -- .../freeglut/all/test_v1_package/conanfile.py | 22 ---- .../all/test_v1_package_module/CMakeLists.txt | 8 -- .../all/test_v1_package_module/conanfile.py | 22 ---- 15 files changed, 636 insertions(+), 73 deletions(-) create mode 100644 recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch create mode 100644 recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch delete mode 100644 recipes/freeglut/all/test_v1_package/CMakeLists.txt delete mode 100644 recipes/freeglut/all/test_v1_package/conanfile.py delete mode 100644 recipes/freeglut/all/test_v1_package_module/CMakeLists.txt delete mode 100644 recipes/freeglut/all/test_v1_package_module/conanfile.py diff --git a/recipes/freeglut/all/conandata.yml b/recipes/freeglut/all/conandata.yml index e132a04abbb80..7ae0b0d3b9c12 100644 --- a/recipes/freeglut/all/conandata.yml +++ b/recipes/freeglut/all/conandata.yml @@ -8,3 +8,39 @@ sources: "3.2.1": sha256: "d4000e02102acaf259998c870e25214739d1f16f67f99cb35e4f46841399da68" url: "https://github.com/FreeGLUTProject/freeglut/releases/download/v3.2.1/freeglut-3.2.1.tar.gz" +patches: + "3.4.0": + - patch_file: "patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" + "3.2.2": + - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" + patch_description: "Add a missing function definition" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/122" + patch_type: "portability" + - patch_file: "patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" + "3.2.1": + - patch_file: "patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" + patch_description: "Use find_package and pkg_check_modules to find dependencies" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/147" + patch_type: "conan" + - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" + patch_description: "Add a missing function definition" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/122" + patch_type: "portability" + - patch_file: "patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch" + patch_description: "Use find_library to locate GL libraries" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" + patch_type: "portability" diff --git a/recipes/freeglut/all/conanfile.py b/recipes/freeglut/all/conanfile.py index d8b38c56cfa8c..941d6703c1432 100644 --- a/recipes/freeglut/all/conanfile.py +++ b/recipes/freeglut/all/conanfile.py @@ -1,7 +1,8 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir +from conan.tools.gnu import PkgConfigDeps from conan.tools.scm import Version import os @@ -11,7 +12,7 @@ class freeglutConan(ConanFile): name = "freeglut" description = "Open-source alternative to the OpenGL Utility Toolkit (GLUT) library" - topics = ("opengl", "gl", "glut", "utility", "toolkit", "graphics") + topics = ("gl", "glut", "graphics," "opengl", "toolkit", "utility") url = "https://github.com/conan-io/conan-center-index" homepage = "http://freeglut.sourceforge.net" license = "X11" @@ -24,6 +25,8 @@ class freeglutConan(ConanFile): "print_errors_at_runtime": [True, False], "print_warnings_at_runtime": [True, False], "replace_glut": [True, False], + "with_wayland": [True, False], + } default_options = { "shared": False, @@ -32,11 +35,41 @@ class freeglutConan(ConanFile): "print_errors_at_runtime": True, "print_warnings_at_runtime": True, "replace_glut": True, + "with_wayland": True, } + @property + def _requires_libglvnd_egl(self): + return self._requires_libglvnd_gles or self.options.get_safe("with_wayland") + + @property + def _requires_libglvnd_gles(self): + return self._with_libglvnd and self.options.get_safe("gles") + + @property + def _requires_libglvnd_glx(self): + return self._with_libglvnd and not self.options.get_safe("gles") + + @property + def _with_libglvnd(self): + return self.settings.os in ["FreeBSD", "Linux"] + + @property + def _with_x11(self): + return self.settings.os in ["FreeBSD", "Linux"] and not self.options.get_safe("with_wayland") + + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": - del self.options.fPIC + self.options.rm_safe("fPIC") + if self.settings.os not in ["Android", "FreeBSD", "Linux"]: + self.options.rm_safe("gles") + else: + self.options.gles = self.settings.os == "Android" + if self.settings.os != "Linux": + self.options.rm_safe("with_wayland") def configure(self): if self.options.shared: @@ -44,13 +77,29 @@ def configure(self): self.settings.rm_safe("compiler.cppstd") self.settings.rm_safe("compiler.libcxx") + if self._requires_libglvnd_egl: + self.options["libglvnd"].egl = True + if self._requires_libglvnd_gles: + self.options["libglvnd"].gles1 = True + self.options["libglvnd"].gles2 = True + if self._requires_libglvnd_glx: + self.options["libglvnd"].glx = True + if self.options.get_safe("with_wayland"): + self.options["xkbcommon"].with_wayland = True + def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("opengl/system") self.requires("glu/system") - if self.settings.os == "Linux": + if self._with_libglvnd: + self.requires("libglvnd/1.7.0") + else: + self.requires("opengl/system") + if self.options.get_safe("with_wayland"): + self.requires("wayland/1.22.0") + self.requires("xkbcommon/1.6.0") + if self._with_x11: self.requires("xorg/system") def validate(self): @@ -64,6 +113,17 @@ def validate(self): (self.settings.compiler == "clang" and Version(self.settings.compiler.version) >= "11.0"): # see https://github.com/dcnieho/FreeGLUT/issues/86 raise ConanInvalidConfiguration(f"{self.ref} does not support gcc >= 10 and clang >= 11") + if self._requires_libglvnd_egl and not self.dependencies["libglvnd"].options.egl: + raise ConanInvalidConfiguration(f"{self.ref} requires the egl option of libglvnd to be enabled when either the gles option or with_wayland option is enabled") + if self._requires_libglvnd_gles and not self.dependencies["libglvnd"].options.gles1: + raise ConanInvalidConfiguration(f"{self.ref} requires the gles1 option of libglvnd to be enabled when the gles option is enabled") + if self._requires_libglvnd_gles and not self.dependencies["libglvnd"].options.gles2: + raise ConanInvalidConfiguration(f"{self.ref} requires the gles2 option of libglvnd to be enabled when the gles option is enabled") + if self._requires_libglvnd_glx and not self.dependencies["libglvnd"].options.glx: + raise ConanInvalidConfiguration(f"{self.ref} requires the glx option of libglvnd to be enabled when the gles option is disabled") + if self.options.get_safe("with_wayland") and not self.dependencies["xkbcommon"].options.with_wayland: + raise ConanInvalidConfiguration(f"{self.ref} requires the with_wayland option of xkbcommon to be enabled when the with_wayland option is enabled") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -73,22 +133,28 @@ def generate(self): tc.variables["FREEGLUT_BUILD_DEMOS"] = False tc.variables["FREEGLUT_BUILD_STATIC_LIBS"] = not self.options.shared tc.variables["FREEGLUT_BUILD_SHARED_LIBS"] = self.options.shared - tc.variables["FREEGLUT_GLES"] = self.options.gles + tc.variables["FREEGLUT_GLES"] = self.options.get_safe("gles", False) tc.variables["FREEGLUT_PRINT_ERRORS"] = self.options.print_errors_at_runtime tc.variables["FREEGLUT_PRINT_WARNINGS"] = self.options.print_warnings_at_runtime + tc.variables["FREEGLUT_WAYLAND"] = self.options.get_safe("with_wayland", False) tc.variables["FREEGLUT_INSTALL_PDB"] = False tc.variables["INSTALL_PDB"] = False tc.variables["FREEGLUT_REPLACE_GLUT"] = self.options.replace_glut tc.preprocessor_definitions["FREEGLUT_LIB_PRAGMAS"] = "0" tc.generate() + cmake_deps = CMakeDeps(self) + cmake_deps.generate() + pkg_config_deps = PkgConfigDeps(self) + pkg_config_deps.generate() def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() def package(self): - copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "COPYING", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -107,7 +173,7 @@ def package_info(self): # TODO: back to global scope in conan v2 once cmake_find_package_* generators removed self.cpp_info.components["freeglut_"].libs = collect_libs(self) - if self.settings.os == "Linux": + if self.settings.os in ["FreeBSD", "Linux"]: self.cpp_info.components["freeglut_"].system_libs.extend(["pthread", "m", "dl", "rt"]) elif self.settings.os == "Windows": if not self.options.shared: @@ -124,6 +190,19 @@ def package_info(self): self.cpp_info.components["freeglut_"].names["cmake_find_package_multi"] = config_target self.cpp_info.components["freeglut_"].set_property("cmake_target_name", f"FreeGLUT::{config_target}") self.cpp_info.components["freeglut_"].set_property("pkg_config_name", pkg_config) - self.cpp_info.components["freeglut_"].requires.extend(["opengl::opengl", "glu::glu"]) - if self.settings.os == "Linux": + self.cpp_info.components["freeglut_"].requires.append("glu::glu") + if self._requires_libglvnd_egl: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::egl") + if self._requires_libglvnd_gles: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gles1") + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gles2") + if self._requires_libglvnd_glx: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::gl") + if self._with_libglvnd: + self.cpp_info.components["freeglut_"].requires.append("libglvnd::opengl") + else: + self.cpp_info.components["freeglut_"].requires.append("opengl::opengl") + if self._with_x11: self.cpp_info.components["freeglut_"].requires.append("xorg::xorg") + if self.options.get_safe("with_wayland"): + self.cpp_info.components["freeglut_"].requires.extend(["wayland::wayland-client", "wayland::wayland-cursor", "wayland::wayland-egl", "xkbcommon::xkbcommon"]) diff --git a/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..9e1c3b9056866 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,94 @@ +From 4c573afc0453f3572c494d22b4f3bad9a9ce4073 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 07:38:42 -0600 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6f403afa..a2a95c02 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -257,17 +261,52 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch b/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch new file mode 100644 index 0000000000000..039c12be9d43d --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch @@ -0,0 +1,25 @@ +From 782e63b2eacd47155864d0d1d9b70615418e3083 Mon Sep 17 00:00:00 2001 +From: Jonatha Gabriel +Date: Sun, 4 Sep 2022 23:25:23 -0300 +Subject: [PATCH] fixed android undefined reference to glutCreateMenuUcall + +--- + src/gles_stubs.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gles_stubs.c b/src/gles_stubs.c +index bc87c0d8..63a19209 100644 +--- a/src/gles_stubs.c ++++ b/src/gles_stubs.c +@@ -18,6 +18,8 @@ GLboolean fgCheckActiveMenu ( SFG_Window *window, int button, GLboolean pressed, + return GL_FALSE; + } + ++int FGAPIENTRY glutCreateMenuUcall( FGCBMenuUC callback, FGCBUserData userData ) { return 0; } ++ + int glutCreateMenu( void (* callback)( int menu ) ) { return 0; } + void glutDestroyMenu( int menu ) {} + int glutGetMenu( void ) { return 0; } +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..2a08c1427e3f1 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0003-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 9564dbb645a4be08aff7b65ac35b56e185a7598c Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a2a95c02..772e73f3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -263,13 +263,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + if(NOT CMAKE_VERSION VERSION_LESS "3.10") +@@ -291,7 +301,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..83ea577575c3c --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,94 @@ +From 4b4f63a41d4ee33a4b3c048bb4281051acbad106 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 07:38:42 -0600 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ac8c8df3..f97f14ff 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -261,17 +265,52 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..42975bdd0a638 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 0bf1cd0cf4291ef130dcbf708128c72440ed6178 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f97f14ff..c2549b1b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -267,13 +267,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + if(NOT CMAKE_VERSION VERSION_LESS "3.10") +@@ -295,7 +305,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch b/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch new file mode 100644 index 0000000000000..ccc7efdb7a68d --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch @@ -0,0 +1,100 @@ +From c60bc900b74d4e18994200550d26ae860899003f Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Thu, 2 Nov 2023 15:27:49 -0500 +Subject: [PATCH] Use find_package and pkg_check_modules to find more + dependencies + +This commit enhances the use of the FindOpenGL CMake module. +This requires CMake version 3.10 for the OpenGL::EGL imported target. +CMake 3.11 and later enable CMake policy CMP0072. +This prefers the GLVND libraries when available. + +Finds the Wayland and xkbcommon dependencies with pkg_check_modules. +This works with the pkg-config files provided by the upstream projects. +--- + CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 7 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 832d8672..87a54ae5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,5 +1,9 @@ +-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0 FATAL_ERROR) +-PROJECT(freeglut C) ++CMAKE_MINIMUM_REQUIRED(VERSION 3.1 FATAL_ERROR) ++PROJECT(freeglut LANGUAGES C) ++ ++if (POLICY CMP0072) ++ cmake_policy(SET CMP0072 NEW) ++endif() + + # for multiarch LIBDIR support (requires cmake>=2.8.8) + INCLUDE(GNUInstallDirs) +@@ -292,7 +296,16 @@ ENDIF() + # GLES1 and GLES2 libraries are compatible and can be co-linked. + IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) +- LIST(APPEND LIBS GLESv2 GLESv1_CM EGL) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.27") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) ++ LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ endif() + ELSE() + # On OS X, we need to link against the X11 OpenGL libraries, NOT the Cocoa OpenGL libraries. + # To do that, you need to manually find two of the libraries before calling FindOpenGL +@@ -304,15 +317,41 @@ ELSE() + find_library(OPENGL_glu_LIBRARY NAME GLU HINTS ${X11_LIB_PATH}) + endif() + +- FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) +- INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS OpenGL) ++ LIST(APPEND LIBS OpenGL::GL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) ++ INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL + IF(FREEGLUT_WAYLAND) + ADD_DEFINITIONS(-DFREEGLUT_WAYLAND) +- LIST(APPEND LIBS wayland-client wayland-cursor wayland-egl EGL xkbcommon) ++ INCLUDE(FindPkgConfig) ++ if(NOT CMAKE_VERSION VERSION_LESS "3.10") ++ FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) ++ LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) ++ else() ++ FIND_PACKAGE(OpenGL REQUIRED) ++ LIST(APPEND LIBS EGL) ++ endif() ++ if(NOT CMAKE_VERSION VERSION_LESS "3.6") ++ PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED IMPORTED_TARGET wayland-cursor) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED IMPORTED_TARGET wayland-egl) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED IMPORTED_TARGET xkbcommon) ++ LIST(APPEND LIBS PkgConfig::wayland-client PkgConfig::wayland-cursor PkgConfig::wayland-egl PkgConfig::xkbcommon) ++ else() ++ PKG_CHECK_MODULES(wayland-client REQUIRED) ++ PKG_CHECK_MODULES(wayland-cursor REQUIRED) ++ PKG_CHECK_MODULES(wayland-egl REQUIRED) ++ PKG_CHECK_MODULES(xkbcommon REQUIRED) ++ LIST(APPEND LIBS ${wayland-client_LINK_LIBRARIES} ${wayland-cursor_LINK_LIBRARIES} ${wayland-egl_LINK_LIBRARIES} ${xkbcommon_LINK_LIBRARIES}) ++ INCLUDE_DIRECTORIES(${wayland-client_INCLUDE_DIRS} ${wayland-cursor_INCLUDE_DIRS} ${wayland-egl_INCLUDE_DIRS} ${xkbcommon_INCLUDE_DIRS}) ++ endif() + ENDIF() + + # lib m for math, not needed on windows +-- +2.41.0 + diff --git a/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch b/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch new file mode 100644 index 0000000000000..585a7de277647 --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0002-Use-find_library-to-locate-GL-libraries-not-provided.patch @@ -0,0 +1,65 @@ +From 4840a7d77e772d96074af64b6234cbc6e881d223 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Tue, 7 Nov 2023 11:00:39 -0600 +Subject: [PATCH] Use find_library to locate GL libraries not provided by + FindOpenGL + +FindOpenGL is used to find the OpenGL libraries. +It doesn't find all of the necessary libraries, however. +These missing libraries have been added to the link line directly. +This is problematic when FindOpenGL is pointed at OpenGL libraries somewhere outside LD_LIBRARY_PATH and the system's default linker paths. +In such cases, the libraries won't be found at link time. + +CMake's find_library function can be used instead to add the libraries as this commit does. +This function can use the location of the GL libraries that were already found as a hint. +Furthermore, this allows consumers to use CMake cache variables to set the exact libraries to use if needed. +--- + CMakeLists.txt | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 87a54ae5..afb4d735 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -298,13 +298,23 @@ IF(FREEGLUT_GLES) + LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES) + if(NOT CMAKE_VERSION VERSION_LESS "3.27") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL GLES2 OpenGL) +- LIST(APPEND LIBS GLESv1_CM OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) ++ CMAKE_PATH(GET OPENGL_gles2_LIBRARY PARENT_PATH _OPENGL_LIBDIR) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR} REQUIRED) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} OpenGL::EGL OpenGL::GLES2 OpenGL::OpenGL) + elseif(NOT CMAKE_VERSION VERSION_LESS "3.10") + FIND_PACKAGE(OpenGL REQUIRED COMPONENTS EGL OpenGL) +- LIST(APPEND LIBS GLESv2 GLESv1_CM OpenGL::EGL OpenGL::OpenGL) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${OPENGL_egl_LIBRARY} DIRECTORY) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${GLES1_LIBRARY} ${GLES2_LIBRARY} OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL GLESv2 GLESv1_CM) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES1_LIBRARY GLESv1_CM HINTS ${_OPENGL_LIBDIR}) ++ FIND_LIBRARY(GLES2_LIBRARY GLESv2 HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY} ${GLES1_LIBRARY} ${GLES2_LIBRARY}) + endif() + ELSE() + # On OS X, we need to link against the X11 OpenGL libraries, NOT the Cocoa OpenGL libraries. +@@ -336,7 +346,10 @@ IF(FREEGLUT_WAYLAND) + LIST(APPEND LIBS OpenGL::EGL OpenGL::OpenGL) + else() + FIND_PACKAGE(OpenGL REQUIRED) +- LIST(APPEND LIBS EGL) ++ LIST(GET ${OPENGL_LIBRARIES} 0 _OPENGL_LIB) ++ GET_FILENAME_COMPONENT(_OPENGL_LIBDIR ${_OPENGL_LIB} DIRECTORY) ++ FIND_LIBRARY(EGL_LIBRARY EGL HINTS ${_OPENGL_LIBDIR}) ++ LIST(APPEND LIBS ${EGL_LIBRARY}) + endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.6") + PKG_CHECK_MODULES(wayland-client REQUIRED IMPORTED_TARGET wayland-client) +-- +2.41.0 + diff --git a/recipes/freeglut/all/test_package/CMakeLists.txt b/recipes/freeglut/all/test_package/CMakeLists.txt index 8010c630a0049..9640aaa16d3b0 100644 --- a/recipes/freeglut/all/test_package/CMakeLists.txt +++ b/recipes/freeglut/all/test_package/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(FreeGLUT REQUIRED CONFIG) diff --git a/recipes/freeglut/all/test_package_module/CMakeLists.txt b/recipes/freeglut/all/test_package_module/CMakeLists.txt index cfee51d49e44b..91faaebf9894b 100644 --- a/recipes/freeglut/all/test_package_module/CMakeLists.txt +++ b/recipes/freeglut/all/test_package_module/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES C) find_package(GLUT REQUIRED MODULE) diff --git a/recipes/freeglut/all/test_v1_package/CMakeLists.txt b/recipes/freeglut/all/test_v1_package/CMakeLists.txt deleted file mode 100644 index 0d20897301b68..0000000000000 --- a/recipes/freeglut/all/test_v1_package/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package - ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/freeglut/all/test_v1_package/conanfile.py b/recipes/freeglut/all/test_v1_package/conanfile.py deleted file mode 100644 index f044ed5376bf7..0000000000000 --- a/recipes/freeglut/all/test_v1_package/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package_multi" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - self.requires("opengl/system") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) diff --git a/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt b/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt deleted file mode 100644 index 27f7a57e7a0b3..0000000000000 --- a/recipes/freeglut/all/test_v1_package_module/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(test_package) - -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) - -add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package_module - ${CMAKE_CURRENT_BINARY_DIR}/test_package_module) diff --git a/recipes/freeglut/all/test_v1_package_module/conanfile.py b/recipes/freeglut/all/test_v1_package_module/conanfile.py deleted file mode 100644 index f0bc95c494a3c..0000000000000 --- a/recipes/freeglut/all/test_v1_package_module/conanfile.py +++ /dev/null @@ -1,22 +0,0 @@ -from conans import ConanFile, CMake, tools -import os - - -class TestPackageConan(ConanFile): - settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" - test_type = "explicit" - - def requirements(self): - self.requires(self.tested_reference_str) - self.requires("opengl/system") - - def build(self): - cmake = CMake(self) - cmake.configure() - cmake.build() - - def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) From 5fa91903932e331cda514f2cab9d99cf2a2ba34f Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 26 Feb 2024 23:45:33 +0900 Subject: [PATCH 1223/1307] (#21323) duckx: add recipe * duckx: add recipe * copy license * fix pugixml link error * fix compilation error on windows * add default_options for pugixml * fix error message Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> * bump up kuba-zip Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> --------- Co-authored-by: Raziel Alphadios <64050682+RazielXYZ@users.noreply.github.com> --- recipes/duckx/all/conandata.yml | 9 ++ recipes/duckx/all/conanfile.py | 83 +++++++++++++++++++ recipes/duckx/all/patches/0001-use-cci.patch | 53 ++++++++++++ recipes/duckx/all/test_package/CMakeLists.txt | 8 ++ recipes/duckx/all/test_package/conanfile.py | 25 ++++++ .../duckx/all/test_package/test_package.cpp | 8 ++ recipes/duckx/config.yml | 3 + 7 files changed, 189 insertions(+) create mode 100644 recipes/duckx/all/conandata.yml create mode 100644 recipes/duckx/all/conanfile.py create mode 100644 recipes/duckx/all/patches/0001-use-cci.patch create mode 100644 recipes/duckx/all/test_package/CMakeLists.txt create mode 100644 recipes/duckx/all/test_package/conanfile.py create mode 100644 recipes/duckx/all/test_package/test_package.cpp create mode 100644 recipes/duckx/config.yml diff --git a/recipes/duckx/all/conandata.yml b/recipes/duckx/all/conandata.yml new file mode 100644 index 0000000000000..f22f7365670c4 --- /dev/null +++ b/recipes/duckx/all/conandata.yml @@ -0,0 +1,9 @@ +sources: + "1.2.2": + url: "https://github.com/amiremohamadi/DuckX/archive/refs/tags/v1.2.2.tar.gz" + sha256: "ca924b9dc3a38184f617d2ec96b91deae3f06caf42a4508c23dd9943dcf9da39" +patches: + "1.2.2": + - patch_file: "patches/0001-use-cci.patch" + patch_description: "use cci packages" + patch_type: "conan" diff --git a/recipes/duckx/all/conanfile.py b/recipes/duckx/all/conanfile.py new file mode 100644 index 0000000000000..8afefe6cb2eb7 --- /dev/null +++ b/recipes/duckx/all/conanfile.py @@ -0,0 +1,83 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, export_conandata_patches, copy, get, rmdir +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.build import check_min_cppstd +import os + +required_conan_version = ">=1.53.0" + +class DuckxConan(ConanFile): + name = "duckx" + description = " C++ library for creating and updating Microsoft Word (.docx) files." + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/amiremohamadi/DuckX/" + topics = ("docx", "docx-files", "office") + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": False, + "pugixml/*:header_only": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("pugixml/1.14", transitive_headers=True) + self.requires("kuba-zip/0.3.1", transitive_headers=True) + + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if not self.dependencies["pugixml"].options.header_only: + raise ConanInvalidConfiguration(f"{self.ref} requires header_only pugixml.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["BUILD_TESTING"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + + def package_info(self): + self.cpp_info.libs = ["duckx"] + diff --git a/recipes/duckx/all/patches/0001-use-cci.patch b/recipes/duckx/all/patches/0001-use-cci.patch new file mode 100644 index 0000000000000..fc24422c57061 --- /dev/null +++ b/recipes/duckx/all/patches/0001-use-cci.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f452186..14a8c03 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,15 +9,19 @@ endif() + option(BUILD_SHARED_LIBS "Build shared instead of static library" OFF) + option(BUILD_SAMPLE "Build provided sample" OFF) + +-set(HEADERS src/duckx.hpp src/zip.h src/miniz.h +- src/pugixml.hpp src/pugiconfig.hpp) +-set(SOURCES src/duckx.cpp src/zip.c src/pugixml.cpp) ++find_package(pugixml REQUIRED CONFIG) ++find_package(zip REQUIRED CONFIG) ++ ++set(HEADERS src/duckx.hpp ++ ) ++set(SOURCES src/duckx.cpp) + + if(BUILD_SHARED_LIBS) + add_library(duckx SHARED ${HEADERS} ${SOURCES}) + else() + add_library(duckx STATIC ${HEADERS} ${SOURCES}) + endif() ++target_link_libraries(duckx PRIVATE pugixml::pugixml zip::zip) + + add_library(duckx::duckx ALIAS duckx) + +diff --git a/src/duckx.cpp b/src/duckx.cpp +index 7379d02..4d66e62 100644 +--- a/src/duckx.cpp ++++ b/src/duckx.cpp +@@ -292,7 +292,7 @@ void duckx::Document::save() const { + // Open the original zip and copy all files which are not replaced by duckX + zip_t* orig_zip = zip_open(original_file.c_str(), ZIP_DEFAULT_COMPRESSION_LEVEL, 'r'); + // Loop & copy each relevant entry in the original zip +- int orig_zip_entry_ct = zip_total_entries(orig_zip); ++ int orig_zip_entry_ct = zip_entries_total(orig_zip); + for (int i = 0; i < orig_zip_entry_ct; i++) + { + zip_entry_openbyindex(orig_zip, i); +diff --git a/src/duckx.hpp b/src/duckx.hpp +index fd54d10..c3350d3 100644 +--- a/src/duckx.hpp ++++ b/src/duckx.hpp +@@ -12,7 +12,7 @@ + #include + + #include "pugixml.hpp" +-#include "zip.h" ++#include "zip/zip.h" + + + // TODO: Use container-iterator design pattern! diff --git a/recipes/duckx/all/test_package/CMakeLists.txt b/recipes/duckx/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..fc42d4028cd4f --- /dev/null +++ b/recipes/duckx/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(duckx REQUIRED CONFDIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE duckx::duckx) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/duckx/all/test_package/conanfile.py b/recipes/duckx/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fbb7f543162 --- /dev/null +++ b/recipes/duckx/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/duckx/all/test_package/test_package.cpp b/recipes/duckx/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..053be6a46c0e6 --- /dev/null +++ b/recipes/duckx/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include "duckx.hpp" + +int main() { + duckx::Document doc{}; + + return 0; +} diff --git a/recipes/duckx/config.yml b/recipes/duckx/config.yml new file mode 100644 index 0000000000000..af40d9653a378 --- /dev/null +++ b/recipes/duckx/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.2": + folder: all From 10794170ce5221a18aea25b3600bb3c3222add78 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 00:10:51 +0900 Subject: [PATCH 1224/1307] (#22873) utf8.h: add version cci.20240202 * utf8.h: add version cci.20240202 * fix version --- recipes/utf8.h/all/conandata.yml | 3 +++ recipes/utf8.h/all/test_package/test_package.cpp | 8 +++++++- recipes/utf8.h/config.yml | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/recipes/utf8.h/all/conandata.yml b/recipes/utf8.h/all/conandata.yml index 8841db197744f..35ff55cfedc3d 100644 --- a/recipes/utf8.h/all/conandata.yml +++ b/recipes/utf8.h/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240202": + url: "https://github.com/sheredom/utf8.h/archive/2aa5709fe39c66d2868c0d52d42788899b90dc92.tar.gz" + sha256: "1cce8cad2ab17b9ac4e59c8b06fa6f2bdf729893c7061b734164f2e87ff9f7f9" "cci.20210310": url: "https://github.com/sheredom/utf8.h/archive/ee5a7d4beb7755da13e4d4ec3eccfb65a0530456.tar.gz" sha256: "d7c9ad480b640c76292a1c4b9735497fd635cb8828e95beabb7db91ea4cecf55" diff --git a/recipes/utf8.h/all/test_package/test_package.cpp b/recipes/utf8.h/all/test_package/test_package.cpp index fd1eef99eafd8..66c337dd316fb 100644 --- a/recipes/utf8.h/all/test_package/test_package.cpp +++ b/recipes/utf8.h/all/test_package/test_package.cpp @@ -1,3 +1,9 @@ +#if defined(__cplusplus) && __cplusplus >= 202002L +using char_type = char8_t; +#else +typedef char char_type; +#endif + #include "utf8.h" int main() @@ -7,7 +13,7 @@ int main() char str[] = {'\xcf', '\xb4', '\xce', '\xb8', '\xce', '\x98', '\xcf', '\x91', '\0'}; - int r = utf8ncasecmp(ref, str, 8); + int r = utf8ncasecmp(reinterpret_cast(ref), reinterpret_cast(str), 8); return 0; } diff --git a/recipes/utf8.h/config.yml b/recipes/utf8.h/config.yml index dc79ecf2dafac..fad837c21119c 100644 --- a/recipes/utf8.h/config.yml +++ b/recipes/utf8.h/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240202": + folder: all "cci.20210310": folder: all From 5581e7f81b42de9c9e4e732d5fd58821c29fa59d Mon Sep 17 00:00:00 2001 From: Gregor Jasny Date: Mon, 26 Feb 2024 16:31:22 +0100 Subject: [PATCH 1225/1307] (#22874) aws-crt-cpp: add version 0.24.1 * aws-crt-cpp: add version 0.24.1 * aws-crt-cpp: drop version 0.18.8 with unsatisfyable deps Version 0.18.8 is not used in any aws-sdk-cpp. * aws-crt-cpp: add missing aws-c-sdkutils dependency --- recipes/aws-crt-cpp/all/conandata.yml | 13 +++++---- recipes/aws-crt-cpp/all/conanfile.py | 29 ++++++++++++------- .../patches/0.24.1-disable-sanitizers.patch | 11 +++++++ .../all/patches/0.24.1-fix-cast-error.patch | 13 +++++++++ recipes/aws-crt-cpp/config.yml | 2 +- 5 files changed, 52 insertions(+), 16 deletions(-) create mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch create mode 100644 recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch diff --git a/recipes/aws-crt-cpp/all/conandata.yml b/recipes/aws-crt-cpp/all/conandata.yml index 5615e65f10a0b..9126f56004fa0 100644 --- a/recipes/aws-crt-cpp/all/conandata.yml +++ b/recipes/aws-crt-cpp/all/conandata.yml @@ -1,7 +1,7 @@ sources: - "0.18.8": - url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.18.8.tar.gz" - sha256: "70ea622cf8c1a7028b24078e909ee5898990444436584178f58d61b50b5b197d" + "0.24.1": + url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.24.1.tar.gz" + sha256: "c627fbc76fc31332801e29872203a11ce0234b7c17e75811277aa913f1550d6f" "0.17.23": url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.17.23.tar.gz" sha256: "28061c3efa493519cfae46e4ea96389f03a81eeec7613d7da861dd8c5f4f6598" @@ -12,10 +12,13 @@ sources: url: "https://github.com/awslabs/aws-crt-cpp/archive/v0.14.3.tar.gz" sha256: "3ea16c43e691bab0c373ba1ad072f6535390c516ebda658dfaf4d074d920e0fb" patches: - "0.18.8": - - patch_file: "patches/0.17.23-fix-cast-error.patch" + "0.24.1": + - patch_file: "patches/0.24.1-fix-cast-error.patch" patch_description: "fix const cast error" patch_type: "portability" + - patch_file: "patches/0.24.1-disable-sanitizers.patch" + patch_description: "disable sanitizers" + patch_type: "conan" "0.17.23": - patch_file: "patches/0.17.23-fix-cast-error.patch" patch_description: "fix const cast error" diff --git a/recipes/aws-crt-cpp/all/conanfile.py b/recipes/aws-crt-cpp/all/conanfile.py index 97c0f616bb653..459770aa822b1 100644 --- a/recipes/aws-crt-cpp/all/conanfile.py +++ b/recipes/aws-crt-cpp/all/conanfile.py @@ -1,6 +1,7 @@ from conan import ConanFile from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rmdir, save from conan.tools.build import check_min_cppstd +from conan.tools.microsoft import is_msvc, is_msvc_static_runtime from conan.tools.scm import Version from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout @@ -47,9 +48,14 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("aws-c-cal/0.5.13", transitive_headers=True) - self.requires("aws-c-common/0.8.2", transitive_headers=True) - self.requires("aws-checksums/0.1.13") + if Version(self.version) < "0.24.1": + self.requires("aws-c-cal/0.5.13", transitive_headers=True) + self.requires("aws-c-common/0.8.2", transitive_headers=True) + self.requires("aws-checksums/0.1.13") + else: + self.requires("aws-c-cal/0.6.9", transitive_headers=True) + self.requires("aws-c-common/0.9.6", transitive_headers=True) + self.requires("aws-checksums/0.1.17") if Version(self.version) < "0.17.29": self.requires("aws-c-auth/0.6.11", transitive_headers=True) self.requires("aws-c-event-stream/0.2.7") @@ -58,12 +64,13 @@ def requirements(self): self.requires("aws-c-mqtt/0.7.10", transitive_headers=True) self.requires("aws-c-s3/0.1.37") else: - self.requires("aws-c-auth/0.6.17", transitive_headers=True) - self.requires("aws-c-event-stream/0.2.15") - self.requires("aws-c-http/0.6.22", transitive_headers=True) - self.requires("aws-c-io/0.13.4", transitive_headers=True) - self.requires("aws-c-mqtt/0.7.12", transitive_headers=True) - self.requires("aws-c-s3/0.1.49") + self.requires("aws-c-auth/0.7.8", transitive_headers=True) + self.requires("aws-c-event-stream/0.3.1") + self.requires("aws-c-http/0.7.14", transitive_headers=True) + self.requires("aws-c-io/0.13.35", transitive_headers=True) + self.requires("aws-c-mqtt/0.9.10", transitive_headers=True) + self.requires("aws-c-s3/0.3.24") + self.requires("aws-c-sdkutils/0.1.12") def validate(self): if self.settings.compiler.get_safe("cppstd"): @@ -74,8 +81,10 @@ def source(self): def generate(self): tc = CMakeToolchain(self) + if is_msvc(self): + tc.variables["AWS_STATIC_MSVC_RUNTIME_LIBRARY"] = is_msvc_static_runtime(self) tc.variables["BUILD_TESTING"] = False - tc.variables["BUILD_DEPS"] = False + tc.cache_variables["BUILD_DEPS"] = False tc.generate() deps = CMakeDeps(self) diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch new file mode 100644 index 0000000000000..bb37fbe98b61a --- /dev/null +++ b/recipes/aws-crt-cpp/all/patches/0.24.1-disable-sanitizers.patch @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2024-02-23 17:49:55 ++++ CMakeLists.txt 2024-02-23 17:50:20 +@@ -314,7 +314,7 @@ + aws_use_package(aws-c-event-stream) + aws_use_package(aws-c-s3) + +-aws_add_sanitizers(${PROJECT_NAME}) ++#aws_add_sanitizers(${PROJECT_NAME}) + + target_link_libraries(${PROJECT_NAME} PUBLIC ${DEP_AWS_LIBS}) + diff --git a/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch b/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch new file mode 100644 index 0000000000000..78b3163f7e6d5 --- /dev/null +++ b/recipes/aws-crt-cpp/all/patches/0.24.1-fix-cast-error.patch @@ -0,0 +1,13 @@ +diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp +index 6077912..74a55c9 100644 +--- a/source/io/TlsOptions.cpp ++++ b/source/io/TlsOptions.cpp +@@ -219,7 +219,7 @@ namespace Aws + + if (m_slotId) + { +- options.slot_id = &(*m_slotId); ++ options.slot_id = const_cast(&(*m_slotId)); + } + + if (m_userPin) diff --git a/recipes/aws-crt-cpp/config.yml b/recipes/aws-crt-cpp/config.yml index a2a8f6922a602..20f59bce0267f 100644 --- a/recipes/aws-crt-cpp/config.yml +++ b/recipes/aws-crt-cpp/config.yml @@ -1,5 +1,5 @@ versions: - "0.18.8": + "0.24.1": folder: all "0.17.23": folder: all From 2cdf80d0e6bf9aabb84b930df05a3affc0484474 Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:07:27 +0000 Subject: [PATCH 1226/1307] (#22898) [bot] Update authorized users list (2024-02-26) Co-authored-by: conan-center-bot --- .c3i/authorized_users.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index e66b2974bcee6..874e514f2025b 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1292,3 +1292,4 @@ authorized_users: - ChristianHeinigk - metalMajor - joergbrech +- dagon666 From 5897bd22b7bdc89b3d1783f6d310a447fac9aa14 Mon Sep 17 00:00:00 2001 From: Tobias Hermann Date: Mon, 26 Feb 2024 17:30:33 +0100 Subject: [PATCH 1227/1307] (#22875) frugally-deep: add version 0.15.31 --- recipes/frugally-deep/all/conandata.yml | 3 +++ recipes/frugally-deep/all/conanfile.py | 2 +- recipes/frugally-deep/config.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/recipes/frugally-deep/all/conandata.yml b/recipes/frugally-deep/all/conandata.yml index a70e10ac28b17..e666368bd2a72 100644 --- a/recipes/frugally-deep/all/conandata.yml +++ b/recipes/frugally-deep/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.15.31": + url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.31.tar.gz" + sha256: "49bf5e30ad2d33e464433afbc8b6fe8536fc959474004a1ce2ac03d7c54bc8ba" "0.15.30": url: "https://github.com/Dobiasd/frugally-deep/archive/v0.15.30.tar.gz" sha256: "8932f7b42612598402269a54f957af09084dc2cb812d32887d991d6e45b280fb" diff --git a/recipes/frugally-deep/all/conanfile.py b/recipes/frugally-deep/all/conanfile.py index dcd9f307a4d73..5fb9992a315dc 100644 --- a/recipes/frugally-deep/all/conanfile.py +++ b/recipes/frugally-deep/all/conanfile.py @@ -39,7 +39,7 @@ def layout(self): def requirements(self): self.requires("eigen/3.4.0") - self.requires("functionalplus/0.2.22") + self.requires("functionalplus/0.2.23") self.requires("nlohmann_json/3.11.3") def package_id(self): diff --git a/recipes/frugally-deep/config.yml b/recipes/frugally-deep/config.yml index bc035ffff5654..ef73eeeb31a1b 100644 --- a/recipes/frugally-deep/config.yml +++ b/recipes/frugally-deep/config.yml @@ -1,4 +1,6 @@ versions: + "0.15.31": + folder: all "0.15.30": folder: all "0.15.29": From 6245a3d9e1f5381e05cba1d9e60265f8b8fb5219 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 01:49:53 +0900 Subject: [PATCH 1228/1307] (#22879) simdjson: add version 3.7.0 * simdjson: add version 3.7.0 * revert 3.6.4 --- recipes/simdjson/all/conandata.yml | 3 +++ recipes/simdjson/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/simdjson/all/conandata.yml b/recipes/simdjson/all/conandata.yml index a418230173404..ae3a0527eade5 100644 --- a/recipes/simdjson/all/conandata.yml +++ b/recipes/simdjson/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.7.0": + url: "https://github.com/simdjson/simdjson/archive/v3.7.0.tar.gz" + sha256: "27315c4861893b3e036c1f672b1c238ee86be6edb84c0824d1ed20dea5999777" "3.6.4": url: "https://github.com/simdjson/simdjson/archive/v3.6.4.tar.gz" sha256: "7e93d5094a47180a3d451cb261ba29ac66f3f6ceb7c2a0884955e9a2bb06d818" diff --git a/recipes/simdjson/config.yml b/recipes/simdjson/config.yml index cb209ae7c28cf..ef93017bac7bb 100644 --- a/recipes/simdjson/config.yml +++ b/recipes/simdjson/config.yml @@ -1,4 +1,6 @@ versions: + "3.7.0": + folder: all "3.6.4": folder: all "3.6.1": From 167b1d8b669adead87c0aebb42b71f399a1d70c4 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 02:10:01 +0900 Subject: [PATCH 1229/1307] (#22887) cppcommon: make required library transitive_headers --- recipes/cppcommon/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/cppcommon/all/conanfile.py b/recipes/cppcommon/all/conanfile.py index 9677a5747f306..68efbdbf960e4 100644 --- a/recipes/cppcommon/all/conanfile.py +++ b/recipes/cppcommon/all/conanfile.py @@ -60,11 +60,11 @@ def layout(self): def requirements(self): if Version(self.version) < "1.0.3" or self.version == "cci.20201104": - self.requires("fmt/8.1.1") + self.requires("fmt/8.1.1", transitive_headers=True) else: self.requires("fmt/10.2.0", transitive_headers=True) if self.settings.os == "Linux": - self.requires("util-linux-libuuid/2.39.2") + self.requires("util-linux-libuuid/2.39.2", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 2f06aa8d34607848f661c170f26716ad852df60e Mon Sep 17 00:00:00 2001 From: Noah Miller Date: Tue, 27 Feb 2024 06:49:18 +1300 Subject: [PATCH 1230/1307] (#22808) poco: add transitive_headers on zlib dependency --- recipes/poco/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index c088845ae6933..d772d089d1b1f 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -149,7 +149,7 @@ def requirements(self): self.requires("pcre/8.45") else: self.requires("pcre2/10.42") - self.requires("zlib/[>=1.2.11 <2]") + self.requires("zlib/[>=1.2.11 <2]", transitive_headers=True) if self.options.enable_xml: self.requires("expat/2.5.0", transitive_headers=True) if self.options.enable_data_sqlite: From 467a6fcad8aa3344b5c76b05574ce0f471159845 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 26 Feb 2024 21:29:24 +0300 Subject: [PATCH 1231/1307] (#22860) sdbus-cpp/1.4.0: Bump version and dependencies Bump dependencies: * libsystemd * pkgconf * expat --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/all/conanfile.py | 6 +++--- recipes/sdbus-cpp/all/test_pkgconf/conanfile.py | 2 +- recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py | 2 +- recipes/sdbus-cpp/config.yml | 2 ++ 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index ac3e9f3df9188..d9206888314d4 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.4.0": + url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.4.0.tar.gz" + sha256: "ca7405c7f0f9ae3023dcfa37bc68974c4b8a1c9ea2909b970e0aedc3e8657ee6" "1.3.0": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.3.0.tar.gz" sha256: "d44f59abdd64d8f1ca3af7db58bc6518cb081fc9ff16285c3d75a68f5c073d10" diff --git a/recipes/sdbus-cpp/all/conanfile.py b/recipes/sdbus-cpp/all/conanfile.py index 1f8bc66668fef..b466198f4d0ea 100644 --- a/recipes/sdbus-cpp/all/conanfile.py +++ b/recipes/sdbus-cpp/all/conanfile.py @@ -56,7 +56,7 @@ def configure(self): del self.options.fPIC def requirements(self): - self.requires("libsystemd/253.10") + self.requires("libsystemd/255.2") def validate(self): if self.info.settings.os != "Linux": @@ -74,9 +74,9 @@ def validate(self): self.name, self._minimum_cpp_standard, self.info.settings.compiler, self.info.settings.compiler.version)) def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") if self.options.with_code_gen: - self.tool_requires("expat/2.5.0") + self.tool_requires("expat/2.6.0") def layout(self): cmake_layout(self, src_folder="src") diff --git a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py index 8706e3310f0bf..591a984b8692f 100644 --- a/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_pkgconf/conanfile.py @@ -15,7 +15,7 @@ def requirements(self): self.requires(self.tested_reference_str) def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): cmake_layout(self) diff --git a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py index 47a93884e54ef..29f2d7295e0f4 100644 --- a/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py +++ b/recipes/sdbus-cpp/all/test_v1_pkgconf/conanfile.py @@ -11,7 +11,7 @@ class SdbusCppTestConan(ConanFile): generators = ("cmake", "pkg_config") def build_requirements(self): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def build(self): cmake = CMake(self) diff --git a/recipes/sdbus-cpp/config.yml b/recipes/sdbus-cpp/config.yml index a48eafa88431d..0908a722615be 100644 --- a/recipes/sdbus-cpp/config.yml +++ b/recipes/sdbus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.4.0": + folder: all "1.3.0": folder: all "1.2.0": From 2818e58115c06f9b52a24bf8f3e3c61bd2190526 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 03:49:23 +0900 Subject: [PATCH 1232/1307] (#22877) daw_json_link: add version 3.23.2 --- recipes/daw_json_link/all/conandata.yml | 3 +++ recipes/daw_json_link/all/conanfile.py | 8 ++++++-- recipes/daw_json_link/config.yml | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/recipes/daw_json_link/all/conandata.yml b/recipes/daw_json_link/all/conandata.yml index 3262aaa6ca666..3284b09ee8d98 100644 --- a/recipes/daw_json_link/all/conandata.yml +++ b/recipes/daw_json_link/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.23.2": + url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.2.tar.gz" + sha256: "fd1234a14c126c79076e0b6e6eceae42afd465c419dc7a7393c69c28aa7f53d4" "3.23.0": url: "https://github.com/beached/daw_json_link/archive/refs/tags/v3.23.0.tar.gz" sha256: "a01e9a3a48784a47dbb60bd21ecbe7e05a7d30cec75ea6d55b1789f6aefe5f05" diff --git a/recipes/daw_json_link/all/conanfile.py b/recipes/daw_json_link/all/conanfile.py index 941ce50d79e01..f75c692a8d93d 100644 --- a/recipes/daw_json_link/all/conanfile.py +++ b/recipes/daw_json_link/all/conanfile.py @@ -39,8 +39,12 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("daw_header_libraries/2.97.0") - self.requires("daw_utf_range/2.2.3") + if Version(self.version) < "3.23.2": + self.requires("daw_header_libraries/2.97.0") + self.requires("daw_utf_range/2.2.3") + else: + self.requires("daw_header_libraries/2.101.0") + self.requires("daw_utf_range/2.2.4") def package_id(self): self.info.clear() diff --git a/recipes/daw_json_link/config.yml b/recipes/daw_json_link/config.yml index cd93a25c55255..e102478003a7f 100644 --- a/recipes/daw_json_link/config.yml +++ b/recipes/daw_json_link/config.yml @@ -1,4 +1,6 @@ versions: + "3.23.2": + folder: "all" "3.23.0": folder: "all" "3.20.1": From ea824c6afded4cc9475f3faa938c5e2898fb416f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 04:08:54 +0900 Subject: [PATCH 1233/1307] (#22881) 7bitconf: add version 1.2.0 --- recipes/7bitconf/all/conandata.yml | 8 ++++++++ recipes/7bitconf/all/conanfile.py | 6 +++++- .../patches/1.2.0-0001-fix-package-name.patch | 16 ++++++++++++++++ recipes/7bitconf/config.yml | 2 ++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch diff --git a/recipes/7bitconf/all/conandata.yml b/recipes/7bitconf/all/conandata.yml index 71f022ca93c84..4ddfe60caee6d 100644 --- a/recipes/7bitconf/all/conandata.yml +++ b/recipes/7bitconf/all/conandata.yml @@ -1,7 +1,15 @@ sources: + "1.2.0": + url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.2.0.tar.gz" + sha256: "c2cc19618dc6616e463dbd7cc72da1fdd5b6df1b4f5d4bf8317455658ac63f0e" "1.1.0": url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.1.0.tar.gz" sha256: "07e5bff366d66c276032021c9a9ca5cdb1d8f097b29c032d07ee6ae1a10885a2" "1.0.0": url: "https://github.com/7bitCoder/7bitConf/archive/refs/tags/v1.0.0.tar.gz" sha256: "48a02d331f4281c8ff691d55c54abe744228637e9ad3af500daf526f4c77696d" +patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-fix-package-name.patch" + patch_description: "fix taocpp-json's package name" + patch_type: "conan" diff --git a/recipes/7bitconf/all/conanfile.py b/recipes/7bitconf/all/conanfile.py index 4865b328bad13..af6c2dd2e898f 100644 --- a/recipes/7bitconf/all/conanfile.py +++ b/recipes/7bitconf/all/conanfile.py @@ -2,7 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout -from conan.tools.files import get, copy, rmdir +from conan.tools.files import get, copy, rmdir, apply_conandata_patches, copy, export_conandata_patches from conan.tools.scm import Version import os @@ -43,6 +43,9 @@ def _minimum_compilers_version(self): "apple-clang": "10", } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": self.options.rm_safe("fPIC") @@ -80,6 +83,7 @@ def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): + apply_conandata_patches(self) if not self.options.header_only: tc = CMakeToolchain(self) tc.variables["_7BIT_CONF_BUILD_EXAMPLES"] = False diff --git a/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch b/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch new file mode 100644 index 0000000000000..1d71939004139 --- /dev/null +++ b/recipes/7bitconf/all/patches/1.2.0-0001-fix-package-name.patch @@ -0,0 +1,16 @@ +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 6cdab6c..04c9c4f 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -27,9 +27,9 @@ elseif (_7BIT_CONF_HEADER_ONLY_LIB) + endif () + + if (_7BIT_CONF_HEADER_ONLY_LIB) +- target_link_libraries(7bitConf INTERFACE taocpp-json) ++ target_link_libraries(7bitConf INTERFACE taocpp::json) + else () +- target_link_libraries(7bitConf taocpp-json) ++ target_link_libraries(7bitConf taocpp::json) + endif () + + add_library(7bitConf::7bitConf ALIAS 7bitConf) diff --git a/recipes/7bitconf/config.yml b/recipes/7bitconf/config.yml index 73c245662b08d..03495144e3920 100644 --- a/recipes/7bitconf/config.yml +++ b/recipes/7bitconf/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From a984b2241f8d8716606b585c7fbb3af1c26b9d86 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 26 Feb 2024 21:30:47 +0200 Subject: [PATCH 1234/1307] (#22896) velodyne_decoder: add new recipe * velodyne_decoder: new recipe * velodyne_decoder: add a patch for MSVC build flags --- recipes/velodyne_decoder/all/conandata.yml | 10 ++ recipes/velodyne_decoder/all/conanfile.py | 100 ++++++++++++++++++ .../patches/3.0.0-001-fix-msvc-flags.patch | 15 +++ .../all/test_package/CMakeLists.txt | 8 ++ .../all/test_package/conanfile.py | 26 +++++ .../all/test_package/test_package.cpp | 9 ++ recipes/velodyne_decoder/config.yml | 3 + 7 files changed, 171 insertions(+) create mode 100644 recipes/velodyne_decoder/all/conandata.yml create mode 100644 recipes/velodyne_decoder/all/conanfile.py create mode 100644 recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch create mode 100644 recipes/velodyne_decoder/all/test_package/CMakeLists.txt create mode 100644 recipes/velodyne_decoder/all/test_package/conanfile.py create mode 100644 recipes/velodyne_decoder/all/test_package/test_package.cpp create mode 100644 recipes/velodyne_decoder/config.yml diff --git a/recipes/velodyne_decoder/all/conandata.yml b/recipes/velodyne_decoder/all/conandata.yml new file mode 100644 index 0000000000000..2e0d017fd8b08 --- /dev/null +++ b/recipes/velodyne_decoder/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "3.0.0": + url: "https://github.com/valgur/velodyne_decoder/archive/refs/tags/v3.0.0.tar.gz" + sha256: "bce471232205f9d559464ba8cb99bfb96a2245115e54b744115fe71cd9e42042" +patches: + "3.0.0": + - patch_file: "patches/3.0.0-001-fix-msvc-flags.patch" + patch_type: "portability" + patch_description: "Fix /O2 conflicting with debug flags on MSVC" + patch_source: "https://github.com/valgur/velodyne_decoder/commit/22809df3a4d550c3746b17aaca1d6c20692730c4" diff --git a/recipes/velodyne_decoder/all/conanfile.py b/recipes/velodyne_decoder/all/conanfile.py new file mode 100644 index 0000000000000..680c39d6c8c9b --- /dev/null +++ b/recipes/velodyne_decoder/all/conanfile.py @@ -0,0 +1,100 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.files import copy, get, rm, rmdir, export_conandata_patches, apply_conandata_patches +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class PackageConan(ConanFile): + name = "velodyne_decoder" + description = "A decoder library for raw Velodyne data and telemetry info" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/valgur/velodyne_decoder" + topics = ("velodyne", "lidar", "point-cloud") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "9", + "clang": "5", + "apple-clang": "10", + "Visual Studio": "15", + "msvc": "191", + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def export_sources(self): + export_conandata_patches(self) + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("yaml-cpp/0.8.0") + self.requires("ms-gsl/4.0.0", transitive_headers=True) + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["INSTALL_THIRD_PARTY"] = False + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rm(self, "*.pdb", self.package_folder, recursive=True) + + def package_info(self): + self.cpp_info.set_property("cmake_file_name", "velodyne_decoder") + self.cpp_info.set_property("cmake_target_name", "velodyne_decoder::velodyne_decoder") + self.cpp_info.set_property("pkg_config_name", "velodyne_decoder") + + self.cpp_info.libs = ["velodyne_decoder"] + self.cpp_info.defines = ["_USE_MATH_DEFINES"] diff --git a/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch b/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch new file mode 100644 index 0000000000000..35a9576fc8880 --- /dev/null +++ b/recipes/velodyne_decoder/all/patches/3.0.0-001-fix-msvc-flags.patch @@ -0,0 +1,15 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -17,7 +17,11 @@ + set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + + if(MSVC) +- add_compile_options(/W4 /O2) ++ add_compile_options( ++ "$<$:/O2>" ++ "$<$:/O2>" ++ /W4 ++ ) + else() + add_compile_options( + "$<$:-ggdb3;-Og>" diff --git a/recipes/velodyne_decoder/all/test_package/CMakeLists.txt b/recipes/velodyne_decoder/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..6af2b5f009096 --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(velodyne_decoder REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE velodyne_decoder::velodyne_decoder) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/velodyne_decoder/all/test_package/conanfile.py b/recipes/velodyne_decoder/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/velodyne_decoder/all/test_package/test_package.cpp b/recipes/velodyne_decoder/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..bc82a05812525 --- /dev/null +++ b/recipes/velodyne_decoder/all/test_package/test_package.cpp @@ -0,0 +1,9 @@ +#include +#include +#include +#include + +int main() { + velodyne_decoder::Config config; + velodyne_decoder::StreamDecoder stream_decoder(config); +} diff --git a/recipes/velodyne_decoder/config.yml b/recipes/velodyne_decoder/config.yml new file mode 100644 index 0000000000000..c6ac749e0b234 --- /dev/null +++ b/recipes/velodyne_decoder/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0.0": + folder: all From 40330b402c41853e1606ad37f628968b2f193d19 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Mon, 26 Feb 2024 13:48:28 -0600 Subject: [PATCH 1235/1307] (#22902) libglvnd: Bump build requirements to support Python 3.12 Meson needs to be a newer version to support Python 3.12. --- recipes/libglvnd/all/conanfile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libglvnd/all/conanfile.py b/recipes/libglvnd/all/conanfile.py index 91471af4e7c75..2362f8db4e5aa 100644 --- a/recipes/libglvnd/all/conanfile.py +++ b/recipes/libglvnd/all/conanfile.py @@ -59,9 +59,9 @@ def validate(self): raise ConanInvalidConfiguration(f"{self.name} is only compatible with Linux and FreeBSD") def build_requirements(self): - self.tool_requires("meson/1.2.2") + self.tool_requires("meson/1.3.2") if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str): - self.tool_requires("pkgconf/2.0.3") + self.tool_requires("pkgconf/2.1.0") def layout(self): basic_layout(self, src_folder="src") From 10c84723be7a51174689fb9d4f995be3b66ffcf9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 06:09:05 +0900 Subject: [PATCH 1236/1307] (#22888) poco: add version 1.13.2 --- recipes/poco/all/conandata.yml | 10 ++++++++++ recipes/poco/config.yml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/recipes/poco/all/conandata.yml b/recipes/poco/all/conandata.yml index 67de3df463e94..9080050916ffa 100644 --- a/recipes/poco/all/conandata.yml +++ b/recipes/poco/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.13.2": + url: "https://github.com/pocoproject/poco/archive/poco-1.13.2-release.tar.gz" + sha256: "c01221870aa9bccedf1de39890279699207848fe61a0cfb6aeec7c5942c4627f" "1.13.1": url: "https://github.com/pocoproject/poco/archive/poco-1.13.1-release.tar.gz" sha256: "8accf6c6ebb9ae686e7c8e2390a35beaab08d0ca1abda537cc2d0b7ab9296be5" @@ -30,6 +33,13 @@ sources: url: "https://github.com/pocoproject/poco/archive/poco-1.11.3-release.tar.gz" sha256: "fb5e8e70c7dbc8f3b59ec8560140a267b4eaf06ee519dc21f312d0eb195cba37" patches: + "1.13.2": + - patch_file: patches/1.13.0.patch + patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" + patch_type: "conan" + - patch_file: patches/1.13.0-0002-mysql-include.patch + patch_description: "include mysql.h instead of mysql/mysql.h" + patch_type: "portability" "1.13.1": - patch_file: patches/1.13.0.patch patch_description: "use cci's packages, use crypt32 symbol, add windmc.exe to find_program" diff --git a/recipes/poco/config.yml b/recipes/poco/config.yml index aa504b39ac1af..e7879c451d919 100644 --- a/recipes/poco/config.yml +++ b/recipes/poco/config.yml @@ -1,4 +1,6 @@ versions: + "1.13.2": + folder: all "1.13.1": folder: all "1.13.0": From 74474c0e8795a02b321d3490344a588131b2967f Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 27 Feb 2024 07:24:20 +0900 Subject: [PATCH 1237/1307] (#20536) zoe: add recipe * zoe: add recipe * small improvement * teemo: make deprecated * revert teemo deprecated * fix lib name * add openssl * add package_type * update cmake_minium_required Co-authored-by: Jordan Williams * fix license name Co-authored-by: Jordan Williams * update description for zoe Co-authored-by: Jordan Williams * update topics for zoe Co-authored-by: Jordan Williams * use verseion range for libcurl Co-authored-by: Uilian Ries * fix libcurl version --------- Co-authored-by: Jordan Williams Co-authored-by: Uilian Ries --- recipes/zoe/all/conandata.yml | 17 ++++ recipes/zoe/all/conanfile.py | 93 +++++++++++++++++++ .../3.0-0001-follow-cxx-standards.patch | 25 +++++ .../all/patches/3.0-0002-support-macosx.patch | 40 ++++++++ .../patches/3.0-0003-fix-install-target.patch | 13 +++ recipes/zoe/all/test_package/CMakeLists.txt | 9 ++ recipes/zoe/all/test_package/conanfile.py | 26 ++++++ recipes/zoe/all/test_package/test_package.cpp | 28 ++++++ recipes/zoe/config.yml | 3 + 9 files changed, 254 insertions(+) create mode 100644 recipes/zoe/all/conandata.yml create mode 100644 recipes/zoe/all/conanfile.py create mode 100644 recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch create mode 100644 recipes/zoe/all/patches/3.0-0002-support-macosx.patch create mode 100644 recipes/zoe/all/patches/3.0-0003-fix-install-target.patch create mode 100644 recipes/zoe/all/test_package/CMakeLists.txt create mode 100644 recipes/zoe/all/test_package/conanfile.py create mode 100644 recipes/zoe/all/test_package/test_package.cpp create mode 100644 recipes/zoe/config.yml diff --git a/recipes/zoe/all/conandata.yml b/recipes/zoe/all/conandata.yml new file mode 100644 index 0000000000000..568b6a5cdb8e4 --- /dev/null +++ b/recipes/zoe/all/conandata.yml @@ -0,0 +1,17 @@ +sources: + "3.0": + url: "https://github.com/winsoft666/zoe/archive/refs/tags/v3.0.tar.gz" + sha256: "718c6de993bea2a4b1866070a8685e77cfa7929bbd9e22abb29e54c67a687a5e" + +patches: + "3.0": + - patch_file: "patches/3.0-0001-follow-cxx-standards.patch" + patch_description: "include threads header" + patch_type: "portability" + - patch_file: "patches/3.0-0002-support-macosx.patch" + patch_description: "support macosx" + patch_type: "portability" + - patch_file: "patches/3.0-0003-fix-install-target.patch" + patch_description: "fix wrong install target" + patch_type: "bugfix" + patch_source: "https://github.com/winsoft666/zoe/pull/25" diff --git a/recipes/zoe/all/conanfile.py b/recipes/zoe/all/conanfile.py new file mode 100644 index 0000000000000..4e403d637b5d2 --- /dev/null +++ b/recipes/zoe/all/conanfile.py @@ -0,0 +1,93 @@ +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.files import get, copy, apply_conandata_patches, export_conandata_patches +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version +import os + +required_conan_version = ">=1.53.0" + +class ZoeConan(ConanFile): + name = "zoe" + description = "A multi-protocol, multi-threaded, resumable, cross-platform, open source, C++ file download library." + license = "GPL-3.0-only" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/winsoft666/zoe" + topics = ("curl", "download", "file", "ftp", "multithreading", "http", "libcurl", "rate-limit") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + @property + def _min_cppstd(self): + return 11 + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def requirements(self): + self.requires("libcurl/[>=7.78.0 <9]") + self.requires("openssl/[>=1.1 <4]", transitive_headers=True) + + def validate(self): + if self.info.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + if self.info.settings.compiler == "apple-clang" and Version(self.info.settings.compiler.version) < "12.0": + raise ConanInvalidConfiguration(f"{self.ref} can not build on apple-clang < 12.0.") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["ZOE_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["ZOE_USE_STATIC_CRT"] = is_msvc_static_runtime(self) + tc.variables["ZOE_BUILD_TESTS"] = False + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + libname = "zoe" if self.options.shared else "zoe-static" + libpostfix = "-d" if self.settings.build_type == "Debug" else "" + self.cpp_info.libs = [f"{libname}{libpostfix}"] + + if self.options.shared: + self.cpp_info.defines.append("ZOE_EXPORTS") + else: + self.cpp_info.defines.append("ZOE_STATIC") + + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("m") diff --git a/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch b/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch new file mode 100644 index 0000000000000..ced0610043cd8 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0001-follow-cxx-standards.patch @@ -0,0 +1,25 @@ +diff --git a/src/entry_handler.cpp b/src/entry_handler.cpp +index 5844a03..0dc25a5 100644 +--- a/src/entry_handler.cpp ++++ b/src/entry_handler.cpp +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include "file_util.h" + #include "string_helper.hpp" + #include "string_encode.h" +diff --git a/src/md5.cpp b/src/md5.cpp +index 93dd21f..78a4b57 100644 +--- a/src/md5.cpp ++++ b/src/md5.cpp +@@ -90,7 +90,7 @@ void byteSwap(UWORD32* buf, unsigned words) { + * the data and converts bytes into longwords for this routine. + */ + void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) { +- register UWORD32 a, b, c, d; ++ UWORD32 a, b, c, d; + + a = buf[0]; + b = buf[1]; diff --git a/recipes/zoe/all/patches/3.0-0002-support-macosx.patch b/recipes/zoe/all/patches/3.0-0002-support-macosx.patch new file mode 100644 index 0000000000000..64f500a421a85 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0002-support-macosx.patch @@ -0,0 +1,40 @@ +diff --git a/a/src/file_util.cpp b/b/src/file_util.cpp +index 9cea293..20fb5c6 100644 +--- a/a/src/file_util.cpp ++++ b/b/src/file_util.cpp +@@ -46,6 +46,9 @@ int64_t FileUtil::GetFileSize(FILE* f) { + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) + _fseeki64(f, 0L, SEEK_END); + int64_t fsize = _ftelli64(f); ++#elif defined(__APPLE__) ++ fseeko(f, 0L, SEEK_END); ++ int64_t fsize = ftello(f); + #else + fseeko64(f, 0L, SEEK_END); + int64_t fsize = ftello64(f); +@@ -181,6 +184,8 @@ int FileUtil::Seek(FILE* f, int64_t offset, int origin) { + if (f) { + #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) + return _fseeki64(f, offset, origin); ++#elif defined(__APPLE__) ++ return fseeko(f, offset, origin); + #else + return fseeko64(f, offset, origin); + #endif +@@ -263,6 +268,16 @@ bool FileUtil::CreateFixedSizeFile(const utf8string& path, int64_t fixed_size) { + } + + return prealloc; ++#elif defined(__APPLE__) ++ int fd = open(path.c_str(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); ++ fstore_t store = {F_ALLOCATECONTIG, F_PEOFPOSMODE, 0, fixed_size}; ++ if (fcntl(fd, F_PREALLOCATE, &store) == -1) { ++ store.fst_flags = F_ALLOCATEALL; ++ if (fcntl(fd, F_PREALLOCATE, &store) == -1) { ++ return false; ++ } ++ } ++ return ftruncate(fd, fixed_size) == 0; + #else + int fd = open(path.c_str(), O_RDWR | O_CREAT, + S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); diff --git a/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch b/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch new file mode 100644 index 0000000000000..8dc598ccf7ec9 --- /dev/null +++ b/recipes/zoe/all/patches/3.0-0003-fix-install-target.patch @@ -0,0 +1,13 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 34f38b4..85c3a14 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -116,7 +116,7 @@ endif() + + install(DIRECTORY ../include/zoe DESTINATION include) + +-install(TARGETS ${ASHE_LIB_NAME} ++install(TARGETS ${ZOE_LIB_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/recipes/zoe/all/test_package/CMakeLists.txt b/recipes/zoe/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..573c0d90172aa --- /dev/null +++ b/recipes/zoe/all/test_package/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.15) + +project(test_package LANGUAGES CXX) + +find_package(zoe REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE zoe::zoe) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/zoe/all/test_package/conanfile.py b/recipes/zoe/all/test_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/zoe/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/zoe/all/test_package/test_package.cpp b/recipes/zoe/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..c802a922c2c55 --- /dev/null +++ b/recipes/zoe/all/test_package/test_package.cpp @@ -0,0 +1,28 @@ +#include +#include "zoe/zoe.h" + +int main(int argc, char** argv) { + using namespace zoe; + + Zoe::GlobalInit(); + + Zoe efd; + + efd.setThreadNum(10); // Optional + efd.setTmpFileExpiredTime(3600); // Optional + efd.setDiskCacheSize(20 * (2 << 19)); // Optional + efd.setMaxDownloadSpeed(50 * (2 << 19)); // Optional + efd.setHashVerifyPolicy(ALWAYS, MD5, "6fe294c3ef4765468af4950d44c65525"); // Optional, support MD5, CRC32, SHA256 + // There are more options available, please check zoe.h + efd.setVerboseOutput([](const utf8string& verbose) { // Optional + printf("%s\n", verbose.c_str()); + }); + efd.setHttpHeaders({ // Optional + {"Origin", "http://xxx.xxx.com"}, + {"User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"} + }); + + Zoe::GlobalUnInit(); + + return 0; +} diff --git a/recipes/zoe/config.yml b/recipes/zoe/config.yml new file mode 100644 index 0000000000000..fdd08f532337f --- /dev/null +++ b/recipes/zoe/config.yml @@ -0,0 +1,3 @@ +versions: + "3.0": + folder: all From a4d1345f82102a2ebcfb5208b8c801c8aca53c11 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 27 Feb 2024 06:49:32 +0100 Subject: [PATCH 1238/1307] (#22900) asio-grpc: use maintained version of libunifex * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * asio-grpc/all: bump deps Generated and committed by [Conan Center Bump Deps](https://github.com/ericLemanissier/conan-center-index-bump-deps) Find more updatable recipes in the [GitHub Pages](https://ericLemanissier.github.io/conan-center-index-bump-deps/) * boost and asio hearders are transitive https://github.com/Tradias/asio-grpc/blob/v2.9.3/src/agrpc/detail/asio_forward.hpp#L73 * grpc lib is transitive * unbump boost --- recipes/asio-grpc/all/conanfile.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipes/asio-grpc/all/conanfile.py b/recipes/asio-grpc/all/conanfile.py index 22435c1b8bb72..c686e567d9288 100644 --- a/recipes/asio-grpc/all/conanfile.py +++ b/recipes/asio-grpc/all/conanfile.py @@ -56,13 +56,13 @@ def configure(self): raise ConanInvalidConfiguration(f"{self.name} 'recycling_allocator' cannot be used in combination with the 'unifex' backend.") def requirements(self): - self.requires("grpc/1.54.3") + self.requires("grpc/1.54.3", transitive_libs=True) if self._local_allocator_option == "boost_container" or self.options.backend == "boost": - self.requires("boost/1.83.0") + self.requires("boost/1.83.0", transitive_headers=True) if self.options.backend == "asio": - self.requires("asio/1.28.2") + self.requires("asio/1.29.0", transitive_headers=True) if self.options.backend == "unifex": - self.requires("libunifex/cci.20220430") + self.requires("libunifex/0.4.0") def package_id(self): self.info.clear() From 8296da4efec9a887870310477314f9fcc64078bf Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Tue, 27 Feb 2024 13:06:01 +0100 Subject: [PATCH 1239/1307] (#21760) ruy: Add cci.20231129 --- recipes/ruy/all/conandata.yml | 3 +++ recipes/ruy/all/conanfile.py | 8 ++++---- recipes/ruy/config.yml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/recipes/ruy/all/conandata.yml b/recipes/ruy/all/conandata.yml index c9acc9f74ac8c..d072c208fb5e1 100644 --- a/recipes/ruy/all/conandata.yml +++ b/recipes/ruy/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231129": + url: "https://github.com/google/ruy/archive/690c14c441387a4ea6e07a9ed89657cec8200b92.tar.gz" + sha256: "98077cf3c38f0d8c5156953c4044a6104108f247fab021477d1cff1012eb82f3" "cci.20220628": url: "https://github.com/google/ruy/archive/841ea4172ba904fe3536789497f9565f2ef64129.tar.gz" sha256: "fbd20e6c8cd5cf8ef159f69600ea0c7ef0f1401a4c16a9cd04e5a12ffa9c6e14" diff --git a/recipes/ruy/all/conanfile.py b/recipes/ruy/all/conanfile.py index c508de954594d..5ff76e6c68a9c 100644 --- a/recipes/ruy/all/conanfile.py +++ b/recipes/ruy/all/conanfile.py @@ -31,7 +31,7 @@ class RuyConan(ConanFile): def _minimum_compilers_version(self): return { "Visual Studio": "15", - "msvc": "191", + "msvc": "191", "gcc": "5", "clang": "3.4", "apple-clang": "5.1", @@ -60,7 +60,7 @@ def configure(self): self.options.rm_safe("fPIC") def requirements(self): - self.requires("cpuinfo/cci.20220228") + self.requires("cpuinfo/cci.20231129") def layout(self): cmake_layout(self, src_folder="src") @@ -85,8 +85,8 @@ def _patch_sources(self): patches = { #Remove the invocation after project(), see https://github.com/google/ruy/issues/328 "cmake_minimum_required(VERSION 3.13)": "", - # Ensure `cmake_minimum_required` is called first - "# Copyright 2021 Google LLC": "# Copyright 2021 Google LLC\ncmake_minimum_required(VERSION 3.13)", + # Ensure `cmake_minimum_required` is called first + "# Copyright 2021 Google LLC": "# Copyright 2021 Google LLC\ncmake_minimum_required(VERSION 3.13)", } for pattern, patch in patches.items(): diff --git a/recipes/ruy/config.yml b/recipes/ruy/config.yml index f2da5345e749b..1535fe201a121 100644 --- a/recipes/ruy/config.yml +++ b/recipes/ruy/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20231129": + folder: all "cci.20220628": folder: all From 9a9e22a77e83a045ec43d1acd79ae7ee3c104ad1 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Tue, 27 Feb 2024 16:49:53 +0300 Subject: [PATCH 1240/1307] (#22912) sdbus-cpp/1.5.0: Bump version --- recipes/sdbus-cpp/all/conandata.yml | 3 +++ recipes/sdbus-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/sdbus-cpp/all/conandata.yml b/recipes/sdbus-cpp/all/conandata.yml index d9206888314d4..6379706780143 100644 --- a/recipes/sdbus-cpp/all/conandata.yml +++ b/recipes/sdbus-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.5.0": + url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.5.0.tar.gz" + sha256: "577986929f911320fb9ef6a3e2badd464dc38411ebc25d2966f5cb85c39f0897" "1.4.0": url: "https://github.com/Kistler-Group/sdbus-cpp/archive/v1.4.0.tar.gz" sha256: "ca7405c7f0f9ae3023dcfa37bc68974c4b8a1c9ea2909b970e0aedc3e8657ee6" diff --git a/recipes/sdbus-cpp/config.yml b/recipes/sdbus-cpp/config.yml index 0908a722615be..16a0828c0e1fc 100644 --- a/recipes/sdbus-cpp/config.yml +++ b/recipes/sdbus-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "1.5.0": + folder: all "1.4.0": folder: all "1.3.0": From 2f12a7055b5603e45a4b15c902f8aab5256b4341 Mon Sep 17 00:00:00 2001 From: Christian Heinigk <159124390+ChristianHeinigk@users.noreply.github.com> Date: Tue, 27 Feb 2024 15:08:50 +0100 Subject: [PATCH 1241/1307] (#22821) Add option to disable xerces-c's network stack. * Add option to disable xerces-c's network stack. * Remove version string recipes/xerces-c/all/conanfile.py Co-authored-by: Uilian Ries * network accessor needs network always Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/xerces-c/all/conanfile.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/xerces-c/all/conanfile.py b/recipes/xerces-c/all/conanfile.py index 915980e982b8c..88a28ee036fe6 100644 --- a/recipes/xerces-c/all/conanfile.py +++ b/recipes/xerces-c/all/conanfile.py @@ -26,6 +26,7 @@ class XercesCConan(ConanFile): "fPIC": [True, False], # https://xerces.apache.org/xerces-c/build-3.html "char_type": ["uint16_t", "char16_t", "wchar_t"], + "network": [True, False], "network_accessor": ["curl", "socket", "cfurl", "winsock"], "transcoder": ["gnuiconv", "iconv", "icu", "macosunicodeconverter", "windows"], "message_loader": ["inmemory", "icu", "iconv"], @@ -35,6 +36,7 @@ class XercesCConan(ConanFile): "shared": False, "fPIC": True, "char_type": "uint16_t", + "network": True, "network_accessor": "socket", "transcoder": "gnuiconv", "message_loader": "inmemory", @@ -64,6 +66,8 @@ def config_options(self): def configure(self): if self.options.shared: self.options.rm_safe("fPIC") + if not self.options.network: + self.options.rm_safe("network_accessor") def layout(self): cmake_layout(self, src_folder="src") @@ -71,7 +75,7 @@ def layout(self): def requirements(self): if "icu" in (self.options.transcoder, self.options.message_loader): self.requires("icu/74.2") - if self.options.network_accessor == "curl": + if self.options.get_safe("network_accessor") == "curl": self.requires("libcurl/[>=7.78.0 <9]") def _validate(self, option, value, host_os): @@ -84,7 +88,7 @@ def _validate(self, option, value, host_os): :param os: either a single string or a tuple of strings containing the OS(es) that `value` is valid on """ - if self.settings.os not in host_os and getattr(self.options, option) == value: + if self.settings.os not in host_os and self.options.get_safe(option) == value: raise ConanInvalidConfiguration(f"Option '{option}={value}' is only supported on {host_os}") def validate(self): @@ -117,13 +121,15 @@ def generate(self): # Because upstream overrides BUILD_SHARED_LIBS as a CACHE variable tc.cache_variables["BUILD_SHARED_LIBS"] = "ON" if self.options.shared else "OFF" # https://xerces.apache.org/xerces-c/build-3.html - tc.variables["network-accessor"] = self.options.network_accessor + tc.variables["network"] = self.options.network + if self.options.network: + tc.variables["network-accessor"] = self.options.network_accessor tc.variables["transcoder"] = self.options.transcoder tc.variables["message-loader"] = self.options.message_loader tc.variables["xmlch-type"] = self.options.char_type tc.variables["mutex-manager"] = self.options.mutex_manager # avoid picking up system dependency - tc.variables["CMAKE_DISABLE_FIND_PACKAGE_CURL"] = self.options.network_accessor != "curl" + tc.variables["CMAKE_DISABLE_FIND_PACKAGE_CURL"] = self.options.get_safe("network_accessor") != "curl" tc.variables["CMAKE_DISABLE_FIND_PACKAGE_ICU"] = "icu" not in (self.options.transcoder, self.options.message_loader) tc.generate() deps = CMakeDeps(self) From 3d3d57e300b9855c35cb0b07fdeb7fe3936ed931 Mon Sep 17 00:00:00 2001 From: Dmitry Bely Date: Tue, 27 Feb 2024 14:30:01 +0000 Subject: [PATCH 1242/1307] (#22735) mbedtls: add required Win32 system_libs --- recipes/mbedtls/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/mbedtls/all/conanfile.py b/recipes/mbedtls/all/conanfile.py index b5af5483b03f4..6b9782288fcdd 100644 --- a/recipes/mbedtls/all/conanfile.py +++ b/recipes/mbedtls/all/conanfile.py @@ -108,9 +108,13 @@ def package_info(self): self.cpp_info.components["mbedcrypto"].set_property("cmake_target_name", "MbedTLS::mbedcrypto") self.cpp_info.components["mbedcrypto"].libs = ["mbedcrypto"] + if self.settings.os == "Windows": + self.cpp_info.components["mbedcrypto"].system_libs = ["bcrypt"] self.cpp_info.components["mbedx509"].set_property("cmake_target_name", "MbedTLS::mbedx509") self.cpp_info.components["mbedx509"].libs = ["mbedx509"] + if self.settings.os == "Windows": + self.cpp_info.components["mbedx509"].system_libs = ["ws2_32"] self.cpp_info.components["mbedx509"].requires = ["mbedcrypto"] self.cpp_info.components["libembedtls"].set_property("cmake_target_name", "MbedTLS::mbedtls") From 86284a99ff947d1bb70389f4c1835ef3e5db2528 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 27 Feb 2024 09:09:44 -0600 Subject: [PATCH 1243/1307] (#22428) freeglut: Use the mesa-glu package when not on Apple or Windows The glu/system package installs the Mesa GLU system package on Linux and FreeBSD. Now that the mesa-glu package is available in Conan, use that instead. --- recipes/freeglut/all/conandata.yml | 12 ++++ recipes/freeglut/all/conanfile.py | 12 +++- ...include-directory-for-glu.h-in-CMake.patch | 61 ++++++++++++++++ ...include-directory-for-glu.h-in-CMake.patch | 61 ++++++++++++++++ ...include-directory-for-glu.h-in-CMake.patch | 69 +++++++++++++++++++ 5 files changed, 213 insertions(+), 2 deletions(-) create mode 100644 recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch create mode 100644 recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch create mode 100644 recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch diff --git a/recipes/freeglut/all/conandata.yml b/recipes/freeglut/all/conandata.yml index 7ae0b0d3b9c12..964de8ca2d213 100644 --- a/recipes/freeglut/all/conandata.yml +++ b/recipes/freeglut/all/conandata.yml @@ -18,6 +18,10 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" "3.2.2": - patch_file: "patches/3.2.1-0002-fixed-android-undefined-reference-to-glutCreateMenuU.patch" patch_description: "Add a missing function definition" @@ -31,6 +35,10 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" "3.2.1": - patch_file: "patches/3.2.1-0001-Use-find_package-and-pkg_check_modules-to-find-more.patch" patch_description: "Use find_package and pkg_check_modules to find dependencies" @@ -44,3 +52,7 @@ patches: patch_description: "Use find_library to locate GL libraries" patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/148" patch_type: "portability" + - patch_file: "patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch" + patch_description: "Incorporate the include directory for glu.h in CMake" + patch_source: "https://github.com/FreeGLUTProject/freeglut/pull/154" + patch_type: "portability" diff --git a/recipes/freeglut/all/conanfile.py b/recipes/freeglut/all/conanfile.py index 941d6703c1432..9b7f21448c416 100644 --- a/recipes/freeglut/all/conanfile.py +++ b/recipes/freeglut/all/conanfile.py @@ -1,5 +1,6 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.gnu import PkgConfigDeps @@ -91,7 +92,11 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("glu/system") + if is_apple_os(self) or self.settings.os == "Windows": + self.requires("glu/system") + else: + # FreeGLUT includes glu.h in freeglut_std.h. + self.requires("mesa-glu/9.0.3", transitive_headers=True) if self._with_libglvnd: self.requires("libglvnd/1.7.0") else: @@ -190,7 +195,6 @@ def package_info(self): self.cpp_info.components["freeglut_"].names["cmake_find_package_multi"] = config_target self.cpp_info.components["freeglut_"].set_property("cmake_target_name", f"FreeGLUT::{config_target}") self.cpp_info.components["freeglut_"].set_property("pkg_config_name", pkg_config) - self.cpp_info.components["freeglut_"].requires.append("glu::glu") if self._requires_libglvnd_egl: self.cpp_info.components["freeglut_"].requires.append("libglvnd::egl") if self._requires_libglvnd_gles: @@ -206,3 +210,7 @@ def package_info(self): self.cpp_info.components["freeglut_"].requires.append("xorg::xorg") if self.options.get_safe("with_wayland"): self.cpp_info.components["freeglut_"].requires.extend(["wayland::wayland-client", "wayland::wayland-cursor", "wayland::wayland-egl", "xkbcommon::xkbcommon"]) + if is_apple_os(self) or self.settings.os == "Windows": + self.cpp_info.components["freeglut_"].requires.append("glu::glu") + else: + self.cpp_info.components["freeglut_"].requires.append("mesa-glu::mesa-glu") diff --git a/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..a2fd409a85d19 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.1-0004-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,61 @@ +From c81e600ace29bf5f3ded5e2650859f3303aaac6e Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 772e73f3..162eec40 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -290,6 +290,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -566,7 +577,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + diff --git a/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..997edcafc5966 --- /dev/null +++ b/recipes/freeglut/all/patches/3.2.2-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,61 @@ +From 278ac11cf27c8112021735240dc0b34fe849045e Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2549b1b..4ebc33af 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -294,6 +294,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -578,7 +589,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + diff --git a/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch b/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch new file mode 100644 index 0000000000000..883e8141aa971 --- /dev/null +++ b/recipes/freeglut/all/patches/3.4.0-0003-Incorporate-the-include-directory-for-glu.h-in-CMake.patch @@ -0,0 +1,69 @@ +From 90f733b3adec8b3f97a24d4dd9dc47a595a17c2c Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Wed, 7 Feb 2024 10:09:25 -0600 +Subject: [PATCH] Incorporate the include directory for glu.h in CMake + +FreeGLUT doesn't properly check for the glu.h header file when it is required. +The glu.h header is not necessary when FreeGLUT is built for GLES. +However, the demos require use libGLU and so require the include and the library. + +CMake's FindOpenGL didn't properly search for the glu.h header file until very recently. +Refer to this PR: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9216. + +This PR checks for the glu.h header and adds the corresponding include directory when it is required. +For versions of CMake prior to 3.29, the include directory for GLU is added even when linking against the OpenGL::GLU target. +Like the FindOpenGL module, GLU include directories are ignored on Windows. +--- + CMakeLists.txt | 22 +++++++++++++++++++++- + 1 file changed, 21 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index afb4d735..aaf854d8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -324,6 +324,7 @@ ELSE() + get_filename_component(X11_LIB_PATH ${X11_Xi_LIB} DIRECTORY) + + find_library(OPENGL_gl_LIBRARY NAME GL HINTS ${X11_LIB_PATH}) ++ find_path(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${X11_Xi_INCLUDE_PATH}) + find_library(OPENGL_glu_LIBRARY NAME GLU HINTS ${X11_LIB_PATH}) + endif() + +@@ -335,6 +336,17 @@ ELSE() + LIST(APPEND LIBS ${OPENGL_gl_LIBRARY}) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) + endif() ++ ++ if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") ++ # CMake 3.29 properly locates the include directory for glu.h in the OPENGL_GLU_INCLUDE_DIR variable for us. ++ if(CMAKE_VERSION VERSION_LESS "3.29") ++ FIND_PATH(OPENGL_GLU_INCLUDE_DIR NAMES GL/glu.h OpenGL/glu.h HINTS ${OPENGL_INCLUDE_DIR}) ++ endif() ++ if(NOT OPENGL_GLU_INCLUDE_DIR) ++ message(FATAL_ERROR "Failed to find the glu.h header file.") ++ endif() ++ INCLUDE_DIRECTORIES(${OPENGL_GLU_INCLUDE_DIR}) ++ endif() + ENDIF() + + # For Wayland: compile with -DFREEGLUT_WAYLAND and pull EGL +@@ -599,7 +611,15 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL COMPONENT Devel) + # Optionally build demos, on by default. + option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON ) + +-SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS}) ++set(DEMO_LIBS ${LIBS}) ++if (FREEGLUT_BUILD_DEMOS) ++ if (OPENGL_GLU_FOUND) ++ list(APPEND DEMO_LIBS ${OPENGL_glu_LIBRARY}) ++ else() ++ message(FATAL_ERROR "Failed to find the GLU library which is required to build the demos.") ++ endif() ++endif() ++ + # lib m for math, not needed on windows + IF (NOT WIN32) + LIST(APPEND DEMO_LIBS m) +-- +2.43.2 + From fd503cb9dcd02244e7e1f8739a4d7b942d6e026d Mon Sep 17 00:00:00 2001 From: Gang Wu Date: Tue, 27 Feb 2024 23:29:35 +0800 Subject: [PATCH 1244/1307] (#22854) New package: orc * New package: orc * sort functions and remove cache_variables * simplify patches * remove test_v1_package * Update recipes/orc/all/conanfile.py * use generator expression * Update recipes/orc/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- .../orc/all/ConanThirdpartyToolchain.cmake | 50 ++++++ recipes/orc/all/conandata.yml | 10 ++ recipes/orc/all/conanfile.py | 159 ++++++++++++++++++ recipes/orc/all/test_package/CMakeLists.txt | 8 + recipes/orc/all/test_package/conanfile.py | 26 +++ recipes/orc/all/test_package/test_package.cpp | 8 + recipes/orc/config.yml | 7 + 7 files changed, 268 insertions(+) create mode 100644 recipes/orc/all/ConanThirdpartyToolchain.cmake create mode 100644 recipes/orc/all/conandata.yml create mode 100644 recipes/orc/all/conanfile.py create mode 100644 recipes/orc/all/test_package/CMakeLists.txt create mode 100644 recipes/orc/all/test_package/conanfile.py create mode 100644 recipes/orc/all/test_package/test_package.cpp create mode 100644 recipes/orc/config.yml diff --git a/recipes/orc/all/ConanThirdpartyToolchain.cmake b/recipes/orc/all/ConanThirdpartyToolchain.cmake new file mode 100644 index 0000000000000..7c6f64861a7cd --- /dev/null +++ b/recipes/orc/all/ConanThirdpartyToolchain.cmake @@ -0,0 +1,50 @@ +# ---------------------------------------------------------------------- +# Snappy + +find_package (Snappy REQUIRED) + +add_library (orc_snappy INTERFACE) +add_library (orc::snappy ALIAS orc_snappy) +target_link_libraries(orc_snappy INTERFACE Snappy::snappy) + +# ---------------------------------------------------------------------- +# ZLIB + +find_package (ZLIB REQUIRED) + +add_library (orc_zlib INTERFACE) +add_library (orc::zlib ALIAS orc_zlib) +target_link_libraries (orc_zlib INTERFACE ZLIB::ZLIB) + +# ---------------------------------------------------------------------- +# Zstd + +find_package (ZSTD REQUIRED) + +add_library (orc_zstd INTERFACE) +add_library (orc::zstd ALIAS orc_zstd) +target_link_libraries (orc_zstd INTERFACE + $ + $ +) + +# ---------------------------------------------------------------------- +# LZ4 + +find_package (LZ4 REQUIRED) + +add_library (orc_lz4 INTERFACE) +add_library (orc::lz4 ALIAS orc_lz4) +target_link_libraries (orc_lz4 INTERFACE + $ + $ +) + +# ---------------------------------------------------------------------- +# Protobuf + +find_package (Protobuf REQUIRED) + +add_library (orc_protobuf INTERFACE) +add_library (orc::protobuf ALIAS orc_protobuf) +target_link_libraries (orc_protobuf INTERFACE protobuf::protobuf) diff --git a/recipes/orc/all/conandata.yml b/recipes/orc/all/conandata.yml new file mode 100644 index 0000000000000..8458d41ec33d7 --- /dev/null +++ b/recipes/orc/all/conandata.yml @@ -0,0 +1,10 @@ +sources: + "1.9.2": + url: "https://dlcdn.apache.org/orc/orc-1.9.2/orc-1.9.2.tar.gz" + sha256: "7f46f2c184ecefd6791f1a53fb062286818bd8710c3f08b94dd3cac365e240ee" + "1.8.6": + url: "https://dlcdn.apache.org/orc/orc-1.8.6/orc-1.8.6.tar.gz" + sha256: "5675b18118df4dd7f86cc6ba859ed75b425ea1b7ddff805e1d671a17fd57d7f7" + "1.7.10": + url: "https://dlcdn.apache.org/orc/orc-1.7.10/orc-1.7.10.tar.gz" + sha256: "85aef9368dc9bcdffaaf10010b66dfe053ce22f30b64854f63852248164686a3" diff --git a/recipes/orc/all/conanfile.py b/recipes/orc/all/conanfile.py new file mode 100644 index 0000000000000..f246032bfb025 --- /dev/null +++ b/recipes/orc/all/conanfile.py @@ -0,0 +1,159 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.env import VirtualBuildEnv, VirtualRunEnv +from conan.tools.files import copy, get, rmdir, replace_in_file, mkdir +from conan.tools.scm import Version + +required_conan_version = ">=1.60.0 <2.0 || >=2.0.5" + +class OrcRecipe(ConanFile): + name = "orc" + description = "ORC is a self-describing type-aware columnar file format designed for Hadoop workloads" + license = "Apache-2.0" + homepage = "https://orc.apache.org/" + url = "https://github.com/conan-io/conan-center-index" + topics = ("orc", "columnar", "file-format", "hadoop") + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "build_tools": [True, False], + "build_avx512": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "build_tools": False, + "build_avx512": True, + } + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + + @property + def _is_legacy_one_profile(self): + return not hasattr(self, "settings_build") + + @property + def _should_patch_thirdparty_toolchain(self): + return self.version < "2.0.0" + + def export_sources(self): + if self._should_patch_thirdparty_toolchain: + copy(self, "ConanThirdpartyToolchain.cmake", + self.recipe_folder, os.path.join(self.export_sources_folder, "src", "cmake_modules")) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + if self.settings.compiler == "apple-clang": + # AVX support is not enabled by default, might need to add -mavx512f to CXXFLAGS + del self.options.build_avx512 + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src", build_folder="build") + + def requirements(self): + self.requires("protobuf/3.21.12") + self.requires("lz4/1.9.4") + self.requires("snappy/1.1.9") + self.requires("zlib/[>=1.2.11 <2]") + self.requires("zstd/1.5.5") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support." + ) + + def build_requirements(self): + if not self._is_legacy_one_profile: + self.tool_requires("protobuf/") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + VirtualBuildEnv(self).generate() + VirtualRunEnv(self).generate(scope="build") + + tc = CMakeToolchain(self) + tc.variables["ORC_PACKAGE_KIND"] = "conan" + tc.variables["BUILD_JAVA"] = False + tc.variables["BUILD_CPP_TESTS"] = False + tc.variables["BUILD_TOOLS"] = self.options.build_tools + tc.variables["BUILD_LIBHDFSPP"] = False + tc.variables["BUILD_POSITION_INDEPENDENT_LIB"] = bool(self.options.get_safe("fPIC", True)) + tc.variables["INSTALL_VENDORED_LIBS"] = False + # AVX512 support is determined by ORC_USER_SIMD_LEVEL env var at runtime, defaults to off + tc.variables["BUILD_ENABLE_AVX512"] = self.options.get_safe("build_avx512", False) + tc.variables["STOP_BUILD_ON_WARNING"] = False + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + + # CMake versions less than 3.12 are supported by ORC pre-1.9.0 versions. + # Setting policy CMP0077 to NEW to remove unnecessary cache_variables settings. + if self.version < "1.9.0": + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + + protoc_path = os.path.join(self.dependencies["protobuf"].cpp_info.bindir, "protoc") + tc.variables["PROTOBUF_EXECUTABLE"] = protoc_path.replace("\\", "/") + tc.variables["HAS_POST_2038"] = self.settings.os != "Windows" + tc.variables["HAS_PRE_1970"] = self.settings.os != "Windows" + tc.generate() + + deps = CMakeDeps(self) + deps.generate() + + def _patch_sources(self): + if self._should_patch_thirdparty_toolchain: + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "ThirdpartyToolchain", "ConanThirdpartyToolchain") + # Allow shared builds + replace_in_file(self, os.path.join(self.source_folder, "c++", "src", "CMakeLists.txt"), + "add_library (orc STATIC ${SOURCE_FILES})", "add_library (orc ${SOURCE_FILES})") + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy(self, "NOTICE", self.source_folder, os.path.join(self.package_folder, "licenses")) + cmake = CMake(self) + cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) + if self.settings.os == "Windows" and self.options.shared: + mkdir(self, os.path.join(self.package_folder, "bin")) + os.rename(os.path.join(self.package_folder, "lib", "orc.dll"), + os.path.join(self.package_folder, "bin", "orc.dll")) + + def package_info(self): + self.cpp_info.libs = ["orc"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread", "m"] diff --git a/recipes/orc/all/test_package/CMakeLists.txt b/recipes/orc/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..620d40236f2e4 --- /dev/null +++ b/recipes/orc/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(orc REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE orc::orc) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/orc/all/test_package/conanfile.py b/recipes/orc/all/test_package/conanfile.py new file mode 100644 index 0000000000000..594384bd24a75 --- /dev/null +++ b/recipes/orc/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.cmake import CMake, cmake_layout +from conan.tools.build import can_run + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + cmd = os.path.join(self.cpp.build.bindir, "test_package") + self.run(cmd, env="conanrun") diff --git a/recipes/orc/all/test_package/test_package.cpp b/recipes/orc/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..ba9153b830bac --- /dev/null +++ b/recipes/orc/all/test_package/test_package.cpp @@ -0,0 +1,8 @@ +#include +#include + +int main() { + auto orcType = orc::Type::buildTypeFromString("struct"); + std::cout << orcType->toString() << std::endl; + return 0; +} diff --git a/recipes/orc/config.yml b/recipes/orc/config.yml new file mode 100644 index 0000000000000..dcd92ae52deb2 --- /dev/null +++ b/recipes/orc/config.yml @@ -0,0 +1,7 @@ +versions: + "1.9.2": + folder: all + "1.8.6": + folder: all + "1.7.10": + folder: all From f44659dad5bc94d324f6a583667cee7fb53d2caa Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Tue, 27 Feb 2024 16:49:52 +0100 Subject: [PATCH 1245/1307] (#22889) Add version 3.1.10 for imath library * Add version 3.1.10 for imath library * Add version exclusion for gcc <7 with imath 3.1.10 * Add a patch for the gcc5 compatibility issue * Add patch command to the build process * Add missing function to imports * Fix patch path --- recipes/imath/all/conandata.yml | 9 +++++ recipes/imath/all/conanfile.py | 9 +++-- .../all/patches/3.1.10-gcc5-backport.patch | 34 +++++++++++++++++++ recipes/imath/config.yml | 2 ++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 recipes/imath/all/patches/3.1.10-gcc5-backport.patch diff --git a/recipes/imath/all/conandata.yml b/recipes/imath/all/conandata.yml index 184bb3afe6a05..605325978acfe 100644 --- a/recipes/imath/all/conandata.yml +++ b/recipes/imath/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.1.10": + url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.10.tar.gz" + sha256: "f2943e86bfb694e216c60b9a169e5356f8a90f18fbd34d7b6e3450be14f60b10" "3.1.9": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/v3.1.9.tar.gz" sha256: "f1d8aacd46afed958babfced3190d2d3c8209b66da451f556abd6da94c165cf3" @@ -17,3 +20,9 @@ sources: "3.1.4": url: "https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v3.1.4.tar.gz" sha256: "fcca5fbb37d375a252bacd8a29935569bdc28b888f01ef1d9299ca0c9e87c17a" +patches: + "3.1.10": + - patch_file: "patches/3.1.10-gcc5-backport.patch" + patch_description: "Add std:: prefix for isfinite (Backport from main, two commits on the file fix the issue)" + patch_type: "official" + patch_source: "https://github.com/AcademySoftwareFoundation/Imath/blob/main/src/Imath/ImathFun.cpp" diff --git a/recipes/imath/all/conanfile.py b/recipes/imath/all/conanfile.py index ca052909386af..1493689ab88b1 100644 --- a/recipes/imath/all/conanfile.py +++ b/recipes/imath/all/conanfile.py @@ -1,7 +1,7 @@ from conan import ConanFile from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import collect_libs, copy, get, rmdir +from conan.tools.files import apply_conandata_patches, collect_libs, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -30,6 +30,9 @@ class ImathConan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -53,10 +56,12 @@ def generate(self): if is_msvc(self) and self.settings.compiler.get_safe("cppstd"): # when msvc is working with a C++ standard level higher # than the default, we need the __cplusplus macro to be correct - tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" + tc.variables["CMAKE_CXX_FLAGS"] = "/Zc:__cplusplus" tc.generate() def build(self): + apply_conandata_patches(self) + cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/imath/all/patches/3.1.10-gcc5-backport.patch b/recipes/imath/all/patches/3.1.10-gcc5-backport.patch new file mode 100644 index 0000000000000..8d27e5461ad48 --- /dev/null +++ b/recipes/imath/all/patches/3.1.10-gcc5-backport.patch @@ -0,0 +1,34 @@ +diff --git src/Imath/ImathFun.cpp src/Imath/ImathFun.cpp +index bfec292..c8c2e7e 100644 +--- src/Imath/ImathFun.cpp ++++ src/Imath/ImathFun.cpp +@@ -10,25 +10,25 @@ IMATH_INTERNAL_NAMESPACE_SOURCE_ENTER + + float succf(float f) IMATH_NOEXCEPT + { +- return isfinite(f) ? ++ return std::isfinite(f) ? + std::nextafter(f, std::numeric_limits::infinity()) : f; + } + + float predf(float f) IMATH_NOEXCEPT + { +- return isfinite(f) ? ++ return std::isfinite(f) ? + std::nextafter(f, -std::numeric_limits::infinity()) : f; + } + + double succd(double d) IMATH_NOEXCEPT + { +- return isfinite(d) ? ++ return std::isfinite(d) ? + std::nextafter(d, std::numeric_limits::infinity()) : d; + } + + double predd(double d) IMATH_NOEXCEPT + { +- return isfinite(d) ? ++ return std::isfinite(d) ? + std::nextafter(d, -std::numeric_limits::infinity()) : d; + } + diff --git a/recipes/imath/config.yml b/recipes/imath/config.yml index e9bdf1c39b31e..a3cca600992b6 100644 --- a/recipes/imath/config.yml +++ b/recipes/imath/config.yml @@ -1,4 +1,6 @@ versions: + "3.1.10": + folder: all "3.1.9": folder: all "3.1.8": From 5f0d20451fd89574e11d0eb8c4c5c8c837bc91a9 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 02:08:41 +0900 Subject: [PATCH 1246/1307] (#22890) pathie-cpp: add recipe * pathie-cpp: add recipe * export all symbols * fix install path --- recipes/pathie-cpp/all/conandata.yml | 12 +++ recipes/pathie-cpp/all/conanfile.py | 85 +++++++++++++++++++ .../all/patches/0.1.1-0001-fix-cmake.patch | 47 ++++++++++ .../patches/0.1.1-0002-fix-install-path.patch | 27 ++++++ .../all/test_package/CMakeLists.txt | 7 ++ .../pathie-cpp/all/test_package/conanfile.py | 26 ++++++ .../all/test_package/test_package.cpp | 16 ++++ recipes/pathie-cpp/config.yml | 3 + 8 files changed, 223 insertions(+) create mode 100644 recipes/pathie-cpp/all/conandata.yml create mode 100644 recipes/pathie-cpp/all/conanfile.py create mode 100644 recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch create mode 100644 recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch create mode 100644 recipes/pathie-cpp/all/test_package/CMakeLists.txt create mode 100644 recipes/pathie-cpp/all/test_package/conanfile.py create mode 100644 recipes/pathie-cpp/all/test_package/test_package.cpp create mode 100644 recipes/pathie-cpp/config.yml diff --git a/recipes/pathie-cpp/all/conandata.yml b/recipes/pathie-cpp/all/conandata.yml new file mode 100644 index 0000000000000..4046bc50f2738 --- /dev/null +++ b/recipes/pathie-cpp/all/conandata.yml @@ -0,0 +1,12 @@ +sources: + "0.1.1": + url: "https://github.com/Quintus/pathie-cpp/archive/refs/tags/v0.1.1.tar.gz" + sha256: "7c2cca0c52ad80792bf6dbeb74213c1791fe9e599058765f5b81fd00f53eb2d3" +patches: + "0.1.1": + - patch_file: "patches/0.1.1-0001-fix-cmake.patch" + patch_description: "separate shtatic and shared build" + patch_type: "conan" + - patch_file: "patches/0.1.1-0002-fix-install-path.patch" + patch_description: "fix install path for windows shared build" + patch_type: "conan" diff --git a/recipes/pathie-cpp/all/conanfile.py b/recipes/pathie-cpp/all/conanfile.py new file mode 100644 index 0000000000000..95acb35802514 --- /dev/null +++ b/recipes/pathie-cpp/all/conanfile.py @@ -0,0 +1,85 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rm, rmdir +from conan.tools.scm import Version +from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.apple import is_apple_os +import os + +required_conan_version = ">=1.53.0" + +class PathieCppConan(ConanFile): + name = "pathie-cpp" + description = "Small C++ library for crossplatform Unicode path management" + license = "BSD-2-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Quintus/pathie-cpp" + topics = ("path", "unicode",) + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_stream_replacement": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_stream_replacement": False, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["CMAKE_BUILD_SHARED_LIBS"] = self.options.shared + tc.variables["PATHIE_BUILD_STREAM_REPLACEMENTS"] = self.options.with_stream_replacement + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + # some files extensions and folders are not allowed. Please, read the FAQs to get informed. + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake")) + rmdir(self, os.path.join(self.package_folder, "share")) + rm(self, "*.la", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "lib")) + rm(self, "*.pdb", os.path.join(self.package_folder, "bin")) + + def package_info(self): + self.cpp_info.libs = ["pathie"] + + self.cpp_info.set_property("cmake_file_name", "Pathie") + self.cpp_info.set_property("cmake_target_name", "Pathie::Pathie") + + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("shlwapi") + + if is_apple_os(self): + self.cpp_info.system_libs.append("iconv") diff --git a/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch b/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch new file mode 100644 index 0000000000000..50f3218d3b0f1 --- /dev/null +++ b/recipes/pathie-cpp/all/patches/0.1.1-0001-fix-cmake.patch @@ -0,0 +1,47 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d765179..e31b54b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -116,12 +116,14 @@ file(GLOB_RECURSE test_sources + # Targets + + # Libraries ++if (NOT BUILD_SHARED_LIBS) + add_library(pathie STATIC ${pathie_sources}) + if(APPLE) + target_link_libraries(pathie iconv) + endif() ++endif() + +-if (CMAKE_BUILD_SHARED_LIBS) ++if (BUILD_SHARED_LIBS) + add_library(pathie-dynamic SHARED ${pathie_sources}) + set_target_properties(pathie-dynamic PROPERTIES OUTPUT_NAME pathie) + if(APPLE) +@@ -130,9 +132,10 @@ if (CMAKE_BUILD_SHARED_LIBS) + endif() + + if(WIN32) ++ if (NOT BUILD_SHARED_LIBS) + target_link_libraries(pathie shlwapi) +- +- if (CMAKE_BUILD_SHARED_LIBS) ++ endif() ++ if (BUILD_SHARED_LIBS) + target_link_libraries(pathie-dynamic shlwapi) + endif() + endif() +@@ -152,10 +155,12 @@ endif() + ######################################## + # Installation information + ++if (NOT BUILD_SHARED_LIBS) + install(TARGETS pathie + DESTINATION lib) ++endif() + +-if (CMAKE_BUILD_SHARED_LIBS) ++if (BUILD_SHARED_LIBS) + install(TARGETS pathie-dynamic + DESTINATION lib) + endif() diff --git a/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch b/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch new file mode 100644 index 0000000000000..fba8edf003ed6 --- /dev/null +++ b/recipes/pathie-cpp/all/patches/0.1.1-0002-fix-install-path.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e31b54b..bdf279e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -154,15 +154,19 @@ endif() + + ######################################## + # Installation information +- ++include(GNUInstallDirs) + if (NOT BUILD_SHARED_LIBS) + install(TARGETS pathie +- DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + if (BUILD_SHARED_LIBS) + install(TARGETS pathie-dynamic +- DESTINATION lib) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + + install(FILES diff --git a/recipes/pathie-cpp/all/test_package/CMakeLists.txt b/recipes/pathie-cpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..00bc659fd0252 --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(Pathie REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE Pathie::Pathie) diff --git a/recipes/pathie-cpp/all/test_package/conanfile.py b/recipes/pathie-cpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/pathie-cpp/all/test_package/test_package.cpp b/recipes/pathie-cpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..62d62074adb6a --- /dev/null +++ b/recipes/pathie-cpp/all/test_package/test_package.cpp @@ -0,0 +1,16 @@ +#include +#include + +static bool callback(const Pathie::Path& entry) +{ + std::cout << entry << std::endl; + return true; +} + +int main() +{ + Pathie::Path dir("."); + dir.find(callback); + + return 0; +} diff --git a/recipes/pathie-cpp/config.yml b/recipes/pathie-cpp/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/pathie-cpp/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 4bc06cf81d6f09da987739f1aed71322b489f342 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Tue, 27 Feb 2024 19:29:40 +0200 Subject: [PATCH 1247/1307] (#22892) urdfdom: add v4.0.0 * urdfdom: add v4.0.0 * urdfdom: set CMP0077 --- recipes/urdfdom/all/conandata.yml | 22 +++++++++--- recipes/urdfdom/all/conanfile.py | 16 ++++++--- .../{ => 3.1.1}/001-optional-build-apps.patch | 0 .../002-use-conan-dependencies.patch | 35 ------------------- .../003-use-merged-urdfdom_headers.patch | 9 ----- .../4.0.0/001-optional-build-apps.patch | 34 ++++++++++++++++++ .../4.0.0/002-use-conan-dependencies.patch | 14 ++++++++ recipes/urdfdom/config.yml | 2 ++ 8 files changed, 80 insertions(+), 52 deletions(-) rename recipes/urdfdom/all/patches/{ => 3.1.1}/001-optional-build-apps.patch (100%) rename recipes/urdfdom/all/patches/{ => 3.1.1}/002-use-conan-dependencies.patch (63%) rename recipes/urdfdom/all/patches/{ => 3.1.1}/003-use-merged-urdfdom_headers.patch (51%) create mode 100644 recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch create mode 100644 recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch diff --git a/recipes/urdfdom/all/conandata.yml b/recipes/urdfdom/all/conandata.yml index 82a2012232450..c8d87b45ad9b0 100644 --- a/recipes/urdfdom/all/conandata.yml +++ b/recipes/urdfdom/all/conandata.yml @@ -1,4 +1,11 @@ sources: + "4.0.0": + urdfdom: + url: "https://github.com/ros/urdfdom/archive/refs/tags/4.0.0.tar.gz" + sha256: "9848d106dc88dc0b907d5667c09da3ca53241fbcf17e982d8c234fe3e0d6ddcc" + urdfdom_headers: + url: "https://github.com/ros/urdfdom_headers/archive/refs/tags/1.1.1.zip" + sha256: "dde77e3dd96ffa41e2ee0a20bddcd6ef05863e95ce0143ede77130d8cd46c644" "3.1.1": urdfdom: url: "https://github.com/ros/urdfdom/archive/refs/tags/3.1.1.tar.gz" @@ -10,13 +17,20 @@ sources: url: "https://github.com/ros/urdfdom_headers/archive/1fd21b64ed78493508a174f98af982605d1e4607.zip" sha256: "aba42c1c83d6d1fb94e54ec84680a8b9e2417337fbaa85424da0e069d0cc89b6" patches: + "4.0.0": + - patch_file: "patches/4.0.0/001-optional-build-apps.patch" + patch_type: "conan" + patch_description: "Disable building of apps by default" + - patch_file: "patches/4.0.0/002-use-conan-dependencies.patch" + patch_type: "conan" + patch_description: "Use dependencies from Conan, use merged urdfdom_headers" "3.1.1": - - patch_file: "patches/001-optional-build-apps.patch" + - patch_file: "patches/3.1.1/001-optional-build-apps.patch" patch_type: "conan" patch_description: "Disable building of apps by default" - - patch_file: "patches/002-use-conan-dependencies.patch" + - patch_file: "patches/3.1.1/002-use-conan-dependencies.patch" patch_type: "conan" - patch_description: "Use dependencies (console_bridge, TinyXML, GTest) from Conan" - - patch_file: "patches/003-use-merged-urdfdom_headers.patch" + patch_description: "Use dependencies (console_bridge, TinyXML) from Conan" + - patch_file: "patches/3.1.1/003-use-merged-urdfdom_headers.patch" patch_type: "conan" patch_description: "Use merged urdfdom_headers instead of a separate package" diff --git a/recipes/urdfdom/all/conanfile.py b/recipes/urdfdom/all/conanfile.py index f7a710e7f7ea7..92fdbe4fc111e 100644 --- a/recipes/urdfdom/all/conanfile.py +++ b/recipes/urdfdom/all/conanfile.py @@ -4,6 +4,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rm, rmdir +from conan.tools.scm import Version required_conan_version = ">=1.53.0" @@ -45,7 +46,10 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("tinyxml/2.6.2", transitive_headers=True) + if Version(self.version) >= "4.0": + self.requires("tinyxml2/10.0.0", transitive_headers=True, transitive_libs=True) + else: + self.requires("tinyxml/2.6.2", transitive_headers=True, transitive_libs=True) self.requires("console_bridge/1.0.2") def validate(self): @@ -68,6 +72,8 @@ def generate(self): tc.variables["BUILD_APPS"] = False if not self.options.shared: tc.preprocessor_definitions["URDFDOM_STATIC"] = "1" + # Need to set CMP0077 because CMake policy version is too old (3.5 as of v4.0.0) + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" tc.generate() CMakeDeps(self).generate() @@ -84,11 +90,13 @@ def build(self): cmake.build() def package(self): - copy(self, "LICENSE", - dst=os.path.join(self.package_folder, "licenses"), - src=self.source_folder) + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.install() + # Copy urdfdom_headers + copy(self, "*", + src=os.path.join(self.source_folder, "urdf_parser", "include"), + dst=os.path.join(self.package_folder, "include")) rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) rmdir(self, os.path.join(self.package_folder, "lib", "urdfdom")) rmdir(self, os.path.join(self.package_folder, "CMake")) diff --git a/recipes/urdfdom/all/patches/001-optional-build-apps.patch b/recipes/urdfdom/all/patches/3.1.1/001-optional-build-apps.patch similarity index 100% rename from recipes/urdfdom/all/patches/001-optional-build-apps.patch rename to recipes/urdfdom/all/patches/3.1.1/001-optional-build-apps.patch diff --git a/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch b/recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch similarity index 63% rename from recipes/urdfdom/all/patches/002-use-conan-dependencies.patch rename to recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch index cbb6f0fc84fb3..47e25f1f27284 100644 --- a/recipes/urdfdom/all/patches/002-use-conan-dependencies.patch +++ b/recipes/urdfdom/all/patches/3.1.1/002-use-conan-dependencies.patch @@ -46,38 +46,3 @@ diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt target_compile_features(${add_urdfdom_library_LIBNAME} PUBLIC cxx_std_14) endif() -diff --git a/urdf_parser/test/CMakeLists.txt b/urdf_parser/test/CMakeLists.txt ---- a/urdf_parser/test/CMakeLists.txt (revision 1ed7ca95b917f38feb4ff7bd1aa033baf2cfce0e) -+++ b/urdf_parser/test/CMakeLists.txt (revision 6592c04e28cb59b8e9ac5944e3229c50d706a2ee) -@@ -1,18 +1,8 @@ --include_directories( -- ${CMAKE_CURRENT_SOURCE_DIR}/gtest/include -- ${CMAKE_CURRENT_SOURCE_DIR}/gtest -- ${CMAKE_CURRENT_SOURCE_DIR} --) -- --# Build gtest --add_library(gtest STATIC gtest/src/gtest-all.cc) --add_library(gtest_main STATIC gtest/src/gtest_main.cc) --target_link_libraries(gtest_main gtest) --target_compile_features(gtest PUBLIC cxx_std_11) -- - execute_process(COMMAND cmake -E remove_directory ${CMAKE_BINARY_DIR}/test_results) - execute_process(COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/test_results) - -+find_package(GTest REQUIRED) -+ - # unit test to fix geometry problems - set(tests - urdf_double_convert.cpp -@@ -27,8 +17,8 @@ - add_executable(${BINARY_NAME} ${GTEST_SOURCE_file}) - - target_link_libraries(${BINARY_NAME} -- gtest_main -- gtest -+ GTest::gtest -+ GTest::gtest_main - urdfdom_model - ) - if (UNIX) diff --git a/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch b/recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch similarity index 51% rename from recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch rename to recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch index b4095fcb7ba42..0fc6cb3bfaa91 100644 --- a/recipes/urdfdom/all/patches/003-use-merged-urdfdom_headers.patch +++ b/recipes/urdfdom/all/patches/3.1.1/003-use-merged-urdfdom_headers.patch @@ -10,12 +10,3 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt # Control where libraries and executables are placed during the build -diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt ---- a/urdf_parser/CMakeLists.txt (revision 82fb54588f3ba5091d9a73d072559ac7061eccdf) -+++ b/urdf_parser/CMakeLists.txt (revision 1de2b88f231fa0f7f83a028e971d4ebaed1b164c) -@@ -135,4 +135,4 @@ - FILE "urdfdomExport.cmake" - ) - --INSTALL(DIRECTORY include/urdf_parser DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -+INSTALL(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch b/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch new file mode 100644 index 0000000000000..65518ddc352d0 --- /dev/null +++ b/recipes/urdfdom/all/patches/4.0.0/001-optional-build-apps.patch @@ -0,0 +1,34 @@ +--- urdf_parser/CMakeLists.txt ++++ urdf_parser/CMakeLists.txt +@@ -81,6 +81,7 @@ + + # -------------------------------- + ++if(BUILD_APPS) + add_executable(check_urdf src/check_urdf.cpp) + target_include_directories(check_urdf PUBLIC include) + target_link_libraries(check_urdf urdfdom_model urdfdom_world) +@@ -97,6 +98,7 @@ + add_executable(urdf_mem_test test/memtest.cpp) + target_include_directories(urdf_mem_test PUBLIC include) + target_link_libraries(urdf_mem_test urdfdom_model) ++endif() + + include(CTest) + if(BUILD_TESTING) +@@ -104,6 +106,7 @@ + add_subdirectory(test) + endif() + ++if(BUILD_APPS) + INSTALL( + TARGETS + check_urdf +@@ -114,6 +117,7 @@ + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ++endif() + INSTALL( + TARGETS + urdfdom_model diff --git a/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch b/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch new file mode 100644 index 0000000000000..9553d1b1c9713 --- /dev/null +++ b/recipes/urdfdom/all/patches/4.0.0/002-use-conan-dependencies.patch @@ -0,0 +1,14 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -45,11 +45,8 @@ + + list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +-find_package(tinyxml2_vendor QUIET) + find_package(TinyXML2 REQUIRED) + +-find_package(urdfdom_headers 1.0 REQUIRED) +-find_package(console_bridge_vendor QUIET) # Provides console_bridge 0.4.0 on platforms without it. + find_package(console_bridge REQUIRED) + + # Control where libraries and executables are placed during the build diff --git a/recipes/urdfdom/config.yml b/recipes/urdfdom/config.yml index fd9669719a7ad..1188e8479ce63 100644 --- a/recipes/urdfdom/config.yml +++ b/recipes/urdfdom/config.yml @@ -1,3 +1,5 @@ versions: + "4.0.0": + folder: all "3.1.1": folder: all From b0df97bfc26eba4150d8346a045d1116a0747673 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Feb 2024 11:04:07 +0200 Subject: [PATCH 1248/1307] (#18823) redradist-icc: migrate to Conan v2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * redradist-icc: migrate to Conan v2 * redradist-icc: restore VirtualRunEnv in test_package * redradist-icc: clean up imports * redradist-icc: tidy validate() * redradist-icc: fix test_v1_package --------- Co-authored-by: Rubén Rincón Blanco --- recipes/redradist-icc/all/CMakeLists.txt | 7 - recipes/redradist-icc/all/conanfile.py | 140 +++++++++--------- .../all/test_package/CMakeLists.txt | 9 +- .../all/test_package/conanfile.py | 23 ++- .../all/test_package/example.cpp | 7 +- .../all/test_v1_package/CMakeLists.txt | 8 + .../all/test_v1_package/conanfile.py | 17 +++ 7 files changed, 117 insertions(+), 94 deletions(-) delete mode 100644 recipes/redradist-icc/all/CMakeLists.txt create mode 100644 recipes/redradist-icc/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/redradist-icc/all/test_v1_package/conanfile.py diff --git a/recipes/redradist-icc/all/CMakeLists.txt b/recipes/redradist-icc/all/CMakeLists.txt deleted file mode 100644 index bd3083b512cb9..0000000000000 --- a/recipes/redradist-icc/all/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(cmake_wrapper) - -include(conanbuildinfo.cmake) -conan_basic_setup() - -add_subdirectory(source_subfolder) diff --git a/recipes/redradist-icc/all/conanfile.py b/recipes/redradist-icc/all/conanfile.py index 926df39193116..1c501628eb1da 100644 --- a/recipes/redradist-icc/all/conanfile.py +++ b/recipes/redradist-icc/all/conanfile.py @@ -1,33 +1,35 @@ -from conans import ConanFile, CMake, tools -from conans.errors import ConanInvalidConfiguration, ConanException -import os +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.apple import is_apple_os +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.tools.files import export_conandata_patches, get + +required_conan_version = ">=1.53.0" class ICCConan(ConanFile): - name = 'redradist-icc' - homepage = 'https://github.com/redradist/Inter-Component-Communication' - license = 'MIT' - url = 'https://github.com/conan-io/conan-center-index' - description = "I.C.C. - Inter Component Communication, This is a library created to simplify communication between " \ - "components inside of single application. It is thread safe and could be used for creating " \ - "components that works in different threads. " + name = "redradist-icc" + description = ( + "I.C.C. - Inter Component Communication, This is a library created to simplify communication between " + "components inside of single application. It is thread safe and could be used for creating " + "components that works in different threads. " + ) + license = "MIT" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/redradist/Inter-Component-Communication" topics = ("thread-safe", "active-object", "communication") - settings = "os", "compiler", "build_type", "arch" + + package_type = "library" + settings = "os", "arch", "compiler", "build_type" options = { "shared": [True, False], - 'fPIC': [True, False], + "fPIC": [True, False], } default_options = { - 'shared': False, - 'fPIC': True, + "shared": False, + "fPIC": True, } - generators = "cmake", "cmake_find_package", "cmake_find_package_multi" - - _cmake = None - - @property - def _source_subfolder(self): - return "source_subfolder" @property def _minimum_cpp_standard(self): @@ -37,79 +39,75 @@ def _minimum_cpp_standard(self): def _minimum_compilers_version(self): return { "Visual Studio": "15", + "msvc": "191", "apple-clang": "9.4", "clang": "3.3", - "gcc": "4.9.4" + "gcc": "4.9.4", } - def _configure_cmake(self): - if self._cmake: - return self._cmake - cmake = CMake(self) - cmake.definitions['ICC_BUILD_SHARED'] = self.options.shared - cmake.configure() - self._cmake = cmake - return self._cmake - - def validate(self): - if self.settings.get_safe("compiler.cppstd"): - tools.check_min_cppstd(self, self._minimum_cpp_standard) - - os = self.settings.os - if os not in ("Windows", "Linux"): - msg = ( - "OS {} is not supported !!" - ).format(os) - raise ConanInvalidConfiguration(msg) - - compiler = self.settings.compiler - try: - min_version = self._minimum_compilers_version[str(compiler)] - if tools.Version(compiler.version) < min_version: - msg = ( - "{} requires C++{} features which are not supported by compiler {} {} !!" - ).format(self.name, self._minimum_cpp_standard, compiler, compiler.version) - raise ConanInvalidConfiguration(msg) - except KeyError: - msg = ( - "{} recipe lacks information about the {} compiler, " - "support for the required C++{} features is assumed" - ).format(self.name, compiler, self._minimum_cpp_standard) - self.output.warn(msg) + def export_sources(self): + export_conandata_patches(self) def config_options(self): - if self.settings.os == 'Windows': + if self.settings.os == "Windows": del self.options.fPIC def configure(self): if self.options.shared: - del self.options.fPIC + self.options.rm_safe("fPIC") - def export_sources(self): - self.copy("CMakeLists.txt") - for patch in self.conan_data.get("patches", {}).get(self.version, []): - self.copy(patch["patch_file"]) + def layout(self): + cmake_layout(self, src_folder="src") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._minimum_cpp_standard) + + if is_apple_os(self): + raise ConanInvalidConfiguration(f"OS {self.settings.os} is not supported") + + def lazy_lt_semver(v1, v2): + # To allow version "9" >= "9.4" for apple-clang + return all(int(p1) < int(p2) for p1, p2 in zip(str(v1).split("."), str(v2).split("."))) + + compiler = self.settings.compiler + min_version = self._minimum_compilers_version.get(str(compiler)) + if min_version and lazy_lt_semver(compiler.version, min_version): + raise ConanInvalidConfiguration( + f"{self.name} requires C++{self._minimum_cpp_standard} features " + f"which are not supported by compiler {compiler} {compiler.version}") def source(self): - tools.get(**self.conan_data["sources"][self.version], strip_root=True, destination=self._source_subfolder) + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["ICC_BUILD_SHARED"] = self.options.shared + tc.generate() def build(self): - cmake = self._configure_cmake() + cmake = CMake(self) + cmake.configure() cmake.build() def package(self): - cmake = self._configure_cmake() + cmake = CMake(self) cmake.install() def package_info(self): - self.cpp_info.names["cmake_find_package"] = "icc" - self.cpp_info.names["cmake_find_package_multi"] = "icc" + self.cpp_info.set_property("cmake_file_name", "icc") + self.cpp_info.set_property("cmake_target_name", "icc::icc") + if self.options.shared: self.cpp_info.libs = ["ICC"] else: self.cpp_info.libs = ["ICC_static"] - if self.settings.os == 'Windows': - self.cpp_info.system_libs = ['ws2_32', 'wsock32'] - if self.settings.os == 'Linux': - self.cpp_info.system_libs = ['pthread'] + if self.settings.os == "Windows": + self.cpp_info.system_libs = ["ws2_32", "wsock32"] + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs = ["pthread"] + + # TODO: to remove in conan v2 once cmake_find_package_* generators removed + self.cpp_info.names["cmake_find_package"] = "icc" + self.cpp_info.names["cmake_find_package_multi"] = "icc" diff --git a/recipes/redradist-icc/all/test_package/CMakeLists.txt b/recipes/redradist-icc/all/test_package/CMakeLists.txt index de507b485e0da..1e80ea5e97b76 100644 --- a/recipes/redradist-icc/all/test_package/CMakeLists.txt +++ b/recipes/redradist-icc/all/test_package/CMakeLists.txt @@ -1,12 +1,9 @@ -cmake_minimum_required(VERSION 3.1) -project(PackageTest) +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - -find_package(icc REQUIRED) +find_package(icc REQUIRED CONFIG) add_executable(example example.cpp) target_link_libraries(example PRIVATE icc::icc) diff --git a/recipes/redradist-icc/all/test_package/conanfile.py b/recipes/redradist-icc/all/test_package/conanfile.py index b80e4a18de9ec..8d52b7021efe1 100644 --- a/recipes/redradist-icc/all/test_package/conanfile.py +++ b/recipes/redradist-icc/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os -class ICCTestConan(ConanFile): - settings = 'os', 'compiler', 'build_type', 'arch' - generators = 'cmake', 'cmake_find_package' +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,6 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join('bin', 'example') - self.run(bin_path, run_environment=True) + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "example") + self.run(bin_path, env="conanrun") diff --git a/recipes/redradist-icc/all/test_package/example.cpp b/recipes/redradist-icc/all/test_package/example.cpp index cbf15d36a28cd..2a8c9ea6d9adf 100644 --- a/recipes/redradist-icc/all/test_package/example.cpp +++ b/recipes/redradist-icc/all/test_package/example.cpp @@ -1,14 +1,15 @@ #include #include #include -#include #include +#include + int main() { auto timer = icc::os::Timer::createTimer(); - timer->setInterval(std::chrono::seconds(10)); + timer->setInterval(std::chrono::milliseconds(100)); timer->enableContinuous(); timer->start(); - std::this_thread::sleep_for(std::chrono::seconds(25)); + std::this_thread::sleep_for(std::chrono::seconds(1)); return 0; } diff --git a/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt b/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..91630d79f4abb --- /dev/null +++ b/recipes/redradist-icc/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package/ + ${CMAKE_CURRENT_BINARY_DIR}/test_package/) diff --git a/recipes/redradist-icc/all/test_v1_package/conanfile.py b/recipes/redradist-icc/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..fc78d14187e40 --- /dev/null +++ b/recipes/redradist-icc/all/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class ICCTestConan(ConanFile): + settings = 'os', 'compiler', 'build_type', 'arch' + generators = 'cmake', 'cmake_find_package_multi' + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join('bin', 'example') + self.run(bin_path, run_environment=True) From 06810c49553ef32bc841cad062ec751ead6ed022 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 21:08:43 +0900 Subject: [PATCH 1249/1307] (#22908) openjpeg: add version 2.5.1 * openjpeg: add version 2.5.1 * remove cmake, pkgconfig from upstream, fix pkg_config_name * revert pkg_config_name --- recipes/openjpeg/all/conandata.yml | 3 +++ recipes/openjpeg/all/conanfile.py | 9 +++++---- recipes/openjpeg/config.yml | 2 ++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/recipes/openjpeg/all/conandata.yml b/recipes/openjpeg/all/conandata.yml index 1770aef0faecd..aa3392abe8228 100644 --- a/recipes/openjpeg/all/conandata.yml +++ b/recipes/openjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.1": + url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.1.tar.gz" + sha256: "c0b92dadd65e33b1cf94f39dd9157d5469846744c2e0afb8ca10961f51f61da6" "2.5.0": url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.0.tar.gz" sha256: "0333806d6adecc6f7a91243b2b839ff4d2053823634d4f6ed7a59bc87409122a" diff --git a/recipes/openjpeg/all/conanfile.py b/recipes/openjpeg/all/conanfile.py index 5b1cc6a995945..74542890fef4f 100644 --- a/recipes/openjpeg/all/conanfile.py +++ b/recipes/openjpeg/all/conanfile.py @@ -10,12 +10,11 @@ class OpenjpegConan(ConanFile): name = "openjpeg" - url = "https://github.com/conan-io/conan-center-index" description = "OpenJPEG is an open-source JPEG 2000 codec written in C language." - topics = ("jpeg2000", "jp2", "openjpeg", "image", "multimedia", "format", "graphics") - homepage = "https://github.com/uclouvain/openjpeg" license = "BSD-2-Clause" - + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/uclouvain/openjpeg" + topics = ("jpeg2000", "jp2", "openjpeg", "image", "multimedia", "format", "graphics") package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { @@ -89,6 +88,8 @@ def package(self): cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", self._openjpeg_subdir)) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", self._openjpeg_subdir)) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) self._create_cmake_module_variables( os.path.join(self.package_folder, self._module_vars_rel_path) ) diff --git a/recipes/openjpeg/config.yml b/recipes/openjpeg/config.yml index 2f39469175da4..cfbcc333e7b22 100644 --- a/recipes/openjpeg/config.yml +++ b/recipes/openjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.1": + folder: all "2.5.0": folder: all "2.4.0": From 6ba7fcfa2428017eec758e84398abfe8952e84a4 Mon Sep 17 00:00:00 2001 From: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com> Date: Wed, 28 Feb 2024 07:29:29 -0500 Subject: [PATCH 1250/1307] (#22924) cpptrace: Add 0.4.1 --- recipes/cpptrace/all/conandata.yml | 4 ++++ recipes/cpptrace/config.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/recipes/cpptrace/all/conandata.yml b/recipes/cpptrace/all/conandata.yml index b9844d75c4190..7ebcd5c89c321 100644 --- a/recipes/cpptrace/all/conandata.yml +++ b/recipes/cpptrace/all/conandata.yml @@ -1,5 +1,9 @@ sources: # Newer versions at the top + "0.4.1": + url: + - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.1.tar.gz" + sha256: "8b6e2c813cf2db332c1aa0502c38afd01a1e00ece0ecc7fcd82fcae4b34e5161" "0.4.0": url: - "https://github.com/jeremy-rifkin/cpptrace/archive/refs/tags/v0.4.0.tar.gz" diff --git a/recipes/cpptrace/config.yml b/recipes/cpptrace/config.yml index c04879bd49824..a7ff5173cbbfa 100644 --- a/recipes/cpptrace/config.yml +++ b/recipes/cpptrace/config.yml @@ -1,5 +1,7 @@ versions: # Newer versions at the top + "0.4.1": + folder: all "0.4.0": folder: all "0.3.1": From c3fd99604c2e4fc7b279199a0e2971dd3bcbe45b Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 21:52:52 +0900 Subject: [PATCH 1251/1307] (#22904) fast-cpp-csv-parser: add version cci.20240102 --- recipes/fast-cpp-csv-parser/all/conandata.yml | 3 +++ recipes/fast-cpp-csv-parser/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/fast-cpp-csv-parser/all/conandata.yml b/recipes/fast-cpp-csv-parser/all/conandata.yml index 87d270e80c74e..00225e59aaf16 100644 --- a/recipes/fast-cpp-csv-parser/all/conandata.yml +++ b/recipes/fast-cpp-csv-parser/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20240102": + url: "https://github.com/ben-strasser/fast-cpp-csv-parser/archive/a71a87e700b0fb92645c6b124742cbf326e0f7b1.tar.gz" + sha256: "635d34234b9ebfefde42af3431547a5da29a112dd43cdbb532f79844b3b761d8" "cci.20211104": url: "https://github.com/ben-strasser/fast-cpp-csv-parser/archive/5a417973b4cea674a5e4a3b88a23098a2ab75479.zip" sha256: "33a22bda2603a87b8f36c79673339490f58656d92a4882e788de3f4ef7ec57b2" diff --git a/recipes/fast-cpp-csv-parser/config.yml b/recipes/fast-cpp-csv-parser/config.yml index ca4b1e35049ab..383c881ec3492 100644 --- a/recipes/fast-cpp-csv-parser/config.yml +++ b/recipes/fast-cpp-csv-parser/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240102": + folder: all "cci.20211104": folder: all "cci.20200830": From 394bd059c0bf844d1d1fe3bd759548ecb5c36f04 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 14:11:04 +0100 Subject: [PATCH 1252/1307] (#22915) OpenEXR add version 3.2.2 * OpenEXR add version 3.2.2 * Add 3.2.2 to config.yml --- recipes/openexr/3.x/conandata.yml | 12 ++++++++++++ recipes/openexr/config.yml | 2 ++ 2 files changed, 14 insertions(+) diff --git a/recipes/openexr/3.x/conandata.yml b/recipes/openexr/3.x/conandata.yml index 778602cf612b4..0195d5928e91c 100644 --- a/recipes/openexr/3.x/conandata.yml +++ b/recipes/openexr/3.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.2.2": + url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.2.tar.gz" + sha256: "65de6459c245a4977ce4d7777e70b30d7ef48ec38e0cfb10205706ca50a8bf2e" "3.2.1": url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.2.1.tar.gz" sha256: "61e175aa2203399fb3c8c2288752fbea3c2637680d50b6e306ea5f8ffdd46a9b" @@ -9,6 +12,15 @@ sources: url: "https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.7.tar.gz" sha256: "78dbca39115a1c526e6728588753955ee75fa7f5bb1a6e238bed5b6d66f91fd7" patches: + "3.2.2": + - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" + patch_description: "Workaround for GCC 5 bug" + patch_type: "portability" + patch_source: "https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82336" + - patch_file: "patches/3.2.1-find-libdeflate.patch" + patch_description: "Use find_package for libdeflate" + patch_type: "backport" + patch_source: "https://github.com/AcademySoftwareFoundation/openexr/pull/1613" "3.2.1": - patch_file: "patches/3.2.1-gcc5-bug-workaround.patch" patch_description: "Workaround for GCC 5 bug" diff --git a/recipes/openexr/config.yml b/recipes/openexr/config.yml index 79091d0404e1f..7e99e768ab562 100644 --- a/recipes/openexr/config.yml +++ b/recipes/openexr/config.yml @@ -1,4 +1,6 @@ versions: + "3.2.2": + folder: "3.x" "3.2.1": folder: "3.x" "3.1.9": From 6e0c5dcc5e8fa0bc5301d9890d100efbc38a2be5 Mon Sep 17 00:00:00 2001 From: Kim Lindberger Date: Wed, 28 Feb 2024 14:25:56 +0100 Subject: [PATCH 1253/1307] (#21762) xnnpack: Add cci.20231026 Co-authored-by: Uilian Ries --- recipes/xnnpack/all/conandata.yml | 3 +++ recipes/xnnpack/all/conanfile.py | 4 ++-- recipes/xnnpack/config.yml | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/recipes/xnnpack/all/conandata.yml b/recipes/xnnpack/all/conandata.yml index 97d441c786f9f..347edb5af1787 100644 --- a/recipes/xnnpack/all/conandata.yml +++ b/recipes/xnnpack/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "cci.20231026": + url: "https://github.com/google/XNNPACK/archive/ab16a544c1cbc5ee4ec105a2f35f8adca22e94c1.tar.gz" + sha256: "11c7e0555d2c2c14d812b3fba2a277d59121cfb898dcc99de1c76477ff2055a0" "cci.20230715": url: "https://github.com/google/XNNPACK/archive/645035286fe31d47eeb07900450f4f6540b75c2c.tar.gz" sha256: "4c91153dfe4648dc3b325db0b4d6719d6e16f7ce30940b4ceb65abd033e5245e" diff --git a/recipes/xnnpack/all/conanfile.py b/recipes/xnnpack/all/conanfile.py index 5d80f5f3cd167..579c065b64636 100644 --- a/recipes/xnnpack/all/conanfile.py +++ b/recipes/xnnpack/all/conanfile.py @@ -56,10 +56,10 @@ def requirements(self): if self.version in ["cci.20220801", "cci.20220621", "cci.20211210"]: self.requires("cpuinfo/cci.20220228") else: - self.requires("cpuinfo/cci.20230118") + self.requires("cpuinfo/cci.20231129") self.requires("fp16/cci.20210320") # https://github.com/google/XNNPACK/blob/ed5f9c0562e016a08b274a4579de5ef500fec134/include/xnnpack.h#L15 - self.requires("pthreadpool/cci.20210218", transitive_headers=True) + self.requires("pthreadpool/cci.20231129", transitive_headers=True) self.requires("fxdiv/cci.20200417") def validate(self): diff --git a/recipes/xnnpack/config.yml b/recipes/xnnpack/config.yml index a1c159e3728ee..5e502dd6fac1c 100644 --- a/recipes/xnnpack/config.yml +++ b/recipes/xnnpack/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20231026": + folder: all "cci.20230715": folder: all "cci.20220801": From 753532f83637c16158b0f0198085f64359959642 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 22:48:42 +0900 Subject: [PATCH 1254/1307] (#21950) aws-c-s3: add version 0.4.5 * aws-c-s3: add version 0.4.6 * downgrade 0.4.5 --- recipes/aws-c-s3/all/conandata.yml | 3 +++ recipes/aws-c-s3/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-s3/all/conandata.yml b/recipes/aws-c-s3/all/conandata.yml index c1055bfac4946..2433ee657645c 100644 --- a/recipes/aws-c-s3/all/conandata.yml +++ b/recipes/aws-c-s3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.4.5": + url: "https://github.com/awslabs/aws-c-s3/archive/v0.4.5.tar.gz" + sha256: "c9b588f5761ae6754dab2b51124784be78887f054856f02e44b6e51c25873055" "0.3.24": url: "https://github.com/awslabs/aws-c-s3/archive/v0.3.24.tar.gz" sha256: "09803db4af98bba0af263434e2de432cdccdb3ab709411abba8e05d34840f815" diff --git a/recipes/aws-c-s3/config.yml b/recipes/aws-c-s3/config.yml index a038f7fe28821..9dc59a14978b9 100644 --- a/recipes/aws-c-s3/config.yml +++ b/recipes/aws-c-s3/config.yml @@ -1,4 +1,6 @@ versions: + "0.4.5": + folder: all "0.3.24": folder: all "0.1.49": From 55752863f305dab2fbeb6d632ac9f587700e8195 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 28 Feb 2024 23:09:45 +0900 Subject: [PATCH 1255/1307] (#22518) sdl_ttf: add version 2.22.0 * sdl_ttf: add version 2.22.0 * add build_requirements --- recipes/sdl_ttf/all/conandata.yml | 3 +++ recipes/sdl_ttf/all/conanfile.py | 3 +++ recipes/sdl_ttf/config.yml | 2 ++ 3 files changed, 8 insertions(+) diff --git a/recipes/sdl_ttf/all/conandata.yml b/recipes/sdl_ttf/all/conandata.yml index 556b69cb6d777..047b9b76b8975 100644 --- a/recipes/sdl_ttf/all/conandata.yml +++ b/recipes/sdl_ttf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.22.0": + url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.22.0/SDL2_ttf-2.22.0.tar.gz" + sha256: "d48cbd1ce475b9e178206bf3b72d56b66d84d44f64ac05803328396234d67723" "2.20.2": url: "https://github.com/libsdl-org/SDL_ttf/releases/download/release-2.20.2/SDL2_ttf-2.20.2.tar.gz" sha256: "9dc71ed93487521b107a2c4a9ca6bf43fb62f6bddd5c26b055e6b91418a22053" diff --git a/recipes/sdl_ttf/all/conanfile.py b/recipes/sdl_ttf/all/conanfile.py index 3fb325e526385..fe9ee6f453b29 100644 --- a/recipes/sdl_ttf/all/conanfile.py +++ b/recipes/sdl_ttf/all/conanfile.py @@ -68,6 +68,9 @@ def validate(self): if is_msvc(self) and self.options.shared: raise ConanInvalidConfiguration(f"{self.ref} shared is not supported with Visual Studio") + def build_requirements(self): + self.tool_requires("cmake/[>=3.16 <4]") + def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) diff --git a/recipes/sdl_ttf/config.yml b/recipes/sdl_ttf/config.yml index be62a6c021ae5..46db183bdc30c 100644 --- a/recipes/sdl_ttf/config.yml +++ b/recipes/sdl_ttf/config.yml @@ -1,4 +1,6 @@ versions: + "2.22.0": + folder: all "2.20.2": folder: all "2.20.1": From dadf43d2bcddc56aaab9e6781550aec094140347 Mon Sep 17 00:00:00 2001 From: Thomas Steiner <47025493+steinerthomas@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:47:48 +0100 Subject: [PATCH 1256/1307] (#19480) poco: Add option for enabling debug and trace logs * poco: Add option for enabling debug and trace logs * CR --------- Co-authored-by: Uilian Ries --- recipes/poco/all/conanfile.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/poco/all/conanfile.py b/recipes/poco/all/conanfile.py index d772d089d1b1f..ae636de694a7b 100644 --- a/recipes/poco/all/conanfile.py +++ b/recipes/poco/all/conanfile.py @@ -29,6 +29,7 @@ class PocoConan(ConanFile): "fPIC": [True, False], "enable_fork": [True, False], "enable_active_record": [True, False, "deprecated"], + "log_debug": [True, False], "with_sql_parser": [True, False], } default_options = { @@ -36,6 +37,7 @@ class PocoConan(ConanFile): "fPIC": True, "enable_fork": True, "enable_active_record": "deprecated", + "log_debug": False, "with_sql_parser": True, } @@ -169,6 +171,7 @@ def requirements(self): def package_id(self): del self.info.options.enable_active_record + del self.info.options.log_debug def validate(self): if self.settings.compiler.cppstd: @@ -349,6 +352,9 @@ def package_info(self): if self.settings.os in ["Linux", "FreeBSD"]: self.cpp_info.components["poco_foundation"].system_libs.extend(["pthread", "dl", "rt"]) + if self.options.log_debug: + self.cpp_info.components["poco_foundation"].defines.append("POCO_LOG_DEBUG") + if is_msvc(self): self.cpp_info.components["poco_foundation"].defines.append("POCO_NO_AUTOMATIC_LIBS") if not self.options.shared: From d82b88afceaa82fc86cd2b3932c58973d6477d62 Mon Sep 17 00:00:00 2001 From: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:29:39 +0000 Subject: [PATCH 1257/1307] (#22852) nmos-cpp/cci.20240223: new release --- recipes/nmos-cpp/all/conandata.yml | 3 +++ recipes/nmos-cpp/all/conanfile.py | 5 ++++- recipes/nmos-cpp/config.yml | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/nmos-cpp/all/conandata.yml b/recipes/nmos-cpp/all/conandata.yml index 94817c0d8466a..48f839443ae06 100644 --- a/recipes/nmos-cpp/all/conandata.yml +++ b/recipes/nmos-cpp/all/conandata.yml @@ -1,5 +1,8 @@ sources: # see https://github.com/conan-io/conan-center-index/blob/master/docs/faqs.md#what-version-should-packages-use-for-libraries-without-official-releases + "cci.20240223": + url: "https://github.com/sony/nmos-cpp/archive/27dff31919e06a132651291648293ff7b6b38b38.tar.gz" + sha256: "25c5fec843c9ced8061231b44f00942886766008ddbb171b351bf5616c07eccc" "cci.20221203": url: "https://github.com/sony/nmos-cpp/archive/0fb6b51737f737ae011cbcc39cdfb2c5236ec59f.tar.gz" sha256: "9e811b2707afe084c4470fcaa5664f57468fd03e86b1eebd03ec9216cf31cac1" diff --git a/recipes/nmos-cpp/all/conanfile.py b/recipes/nmos-cpp/all/conanfile.py index d2bed5c1666e3..c34c0db4db93c 100644 --- a/recipes/nmos-cpp/all/conanfile.py +++ b/recipes/nmos-cpp/all/conanfile.py @@ -2,6 +2,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools import build, files from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout +from conan.tools.scm import Version import json import os import re @@ -51,12 +52,14 @@ def requirements(self): # INFO: details/system_error.h: #include self.requires("boost/1.83.0", transitive_headers=True) # INFO: json_ops.h exposes cpprest/json.h - self.requires("cpprestsdk/2.10.18", transitive_headers=True) + self.requires("cpprestsdk/2.10.19", transitive_headers=True) self.requires("websocketpp/0.8.2") self.requires("openssl/[>=1.1 <4]") self.requires("json-schema-validator/2.3.0") self.requires("nlohmann_json/3.11.3") self.requires("zlib/[>=1.2.11 <2]") + if Version(self.version) >= "cci.20240222": + self.requires("jwt-cpp/0.7.0") if self.options.get_safe("with_dnssd") == "mdnsresponder": self.requires("mdnsresponder/878.200.35") diff --git a/recipes/nmos-cpp/config.yml b/recipes/nmos-cpp/config.yml index 1ebebe8a73c09..9cc517e0f52ae 100644 --- a/recipes/nmos-cpp/config.yml +++ b/recipes/nmos-cpp/config.yml @@ -1,4 +1,6 @@ versions: + "cci.20240223": + folder: all "cci.20221203": folder: all "cci.20220620": From 77a76aebc2db6960a9e4d9a26d9158df8242ec59 Mon Sep 17 00:00:00 2001 From: toge Date: Thu, 29 Feb 2024 00:48:56 +0900 Subject: [PATCH 1258/1307] (#22914) c4core: update fast_float/6.1.0 --- recipes/c4core/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/c4core/all/conanfile.py b/recipes/c4core/all/conanfile.py index d0a1927baa811..d4620ffd7f7a8 100644 --- a/recipes/c4core/all/conanfile.py +++ b/recipes/c4core/all/conanfile.py @@ -47,7 +47,7 @@ def layout(self): def requirements(self): if self.options.with_fast_float: - self.requires("fast_float/6.0.0", transitive_headers=True) + self.requires("fast_float/6.1.0", transitive_headers=True) def validate(self): if self.settings.compiler.get_safe("cppstd"): From 5ea978b9b490690189e0e41f95f7b2777e309d93 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 17:08:20 +0100 Subject: [PATCH 1259/1307] (#22918) Add me for community alerts on packages I'm working on * Add me for community alerts on packages I'm working on regularly right now * Add also libraw for the alerting bot --- .github/workflows/alert-community.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index 405926199ff5e..c557f03f37246 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -186,6 +186,11 @@ jobs: files: "recipes/gtest/*/*" reviewers: "@Hopobcn @jwillikers" + - uses: ./.github/actions/alert-community + with: + files: "recipes/imath/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/imgui/*/*" @@ -266,6 +271,11 @@ jobs: files: "recipes/libpng/*/*" reviewers: "@Hopobcn" + - uses: ./.github/actions/alert-community + with: + files: "recipes/libraw/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/libsodium/*/*" @@ -326,6 +336,16 @@ jobs: files: "recipes/openapi-generator/*/*" reviewers: "@MartinDelille" + - uses: ./.github/actions/alert-community + with: + files: "recipes/opencolorio/*/*" + reviewers: "@irieger" + + - uses: ./.github/actions/alert-community + with: + files: "recipes/openexr/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/opengl/*/*" @@ -336,6 +356,11 @@ jobs: files: "recipes/opengl-registry/*/*" reviewers: "@MartinDelille" + - uses: ./.github/actions/alert-community + with: + files: "recipes/openimageio/*/*" + reviewers: "@irieger" + - uses: ./.github/actions/alert-community with: files: "recipes/openssl/*/*" From 4f83da195a9cfe41407637d604479b31456a6ef4 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Wed, 28 Feb 2024 17:28:17 +0100 Subject: [PATCH 1260/1307] (#22925) OpenImageIO: Fix CMake patch for non-default option --- recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch | 2 +- recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch | 2 +- recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch index dc76e283d97aa..5ed8bf12ec780 100644 --- a/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.17.0-cmake-targets.patch @@ -70,7 +70,7 @@ index a4f895c07..f55da37cb 100644 - JPEG_LIBRARIES JPEG_VERSION) -if (NOT JPEG_FOUND) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) diff --git a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch index c560e5020256a..0d61414f30ef2 100644 --- a/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.4.7.1-cmake-targets.patch @@ -60,7 +60,7 @@ index 48e871418..21f709b1d 100644 - JPEG_LIBRARIES JPEG_VERSION) -if (NOT JPEG_FOUND) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) diff --git a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch index 8563d86fcb7db..7d45a41ba65a6 100644 --- a/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch +++ b/recipes/openimageio/all/patches/2.5.6.0-cmake-targets.patch @@ -69,7 +69,7 @@ index 3cfaedd57..f75fee7a3 100644 - DEFINITIONS -DUSE_JPEG_TURBO=1) -if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version +if (USE_JPEGTURBO) -+ checked_find_package (JPEGTurbo REQUIRED ++ checked_find_package (libjpeg-turbo REQUIRED + DEFINITIONS -DUSE_JPEG_TURBO=1 + PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) + add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) From 0aedd00129b64d2c5acbf0b84a6c2fea814b4894 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 28 Feb 2024 18:49:26 +0200 Subject: [PATCH 1261/1307] (#22927) urdfdom_headers: new recipe * urdfdom_headers: new recipe * urdfdom_headers: C++11 is required --- recipes/urdfdom_headers/all/conandata.yml | 4 ++ recipes/urdfdom_headers/all/conanfile.py | 44 +++++++++++++++++++ .../all/test_package/CMakeLists.txt | 8 ++++ .../all/test_package/conanfile.py | 26 +++++++++++ .../all/test_package/test_package.cpp | 6 +++ recipes/urdfdom_headers/config.yml | 3 ++ 6 files changed, 91 insertions(+) create mode 100644 recipes/urdfdom_headers/all/conandata.yml create mode 100644 recipes/urdfdom_headers/all/conanfile.py create mode 100644 recipes/urdfdom_headers/all/test_package/CMakeLists.txt create mode 100644 recipes/urdfdom_headers/all/test_package/conanfile.py create mode 100644 recipes/urdfdom_headers/all/test_package/test_package.cpp create mode 100644 recipes/urdfdom_headers/config.yml diff --git a/recipes/urdfdom_headers/all/conandata.yml b/recipes/urdfdom_headers/all/conandata.yml new file mode 100644 index 0000000000000..9c889de9abc7d --- /dev/null +++ b/recipes/urdfdom_headers/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.1.1": + url: "https://github.com/ros/urdfdom_headers/archive/refs/tags/1.1.1.zip" + sha256: "dde77e3dd96ffa41e2ee0a20bddcd6ef05863e95ce0143ede77130d8cd46c644" diff --git a/recipes/urdfdom_headers/all/conanfile.py b/recipes/urdfdom_headers/all/conanfile.py new file mode 100644 index 0000000000000..a374540200186 --- /dev/null +++ b/recipes/urdfdom_headers/all/conanfile.py @@ -0,0 +1,44 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + +required_conan_version = ">=1.52.0" + + +class PackageConan(ConanFile): + name = "urdfdom_headers" + description = "Headers for URDF parsers" + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/ros/urdfdom_headers" + topics = ("urdf", "ros", "robotics") + + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + # Add a project prefix to the headers to match the default APPEND_PROJECT_NAME_TO_INCLUDEDIR=ON + copy(self, "*.h", + os.path.join(self.source_folder, "include"), + os.path.join(self.package_folder, "include", "urdfdom")) + + def package_info(self): + self.cpp_info.includedirs.append(os.path.join("include", "urdfdom")) + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/urdfdom_headers/all/test_package/CMakeLists.txt b/recipes/urdfdom_headers/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..733e7c8f06684 --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package(urdfdom_headers REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE urdfdom_headers::urdfdom_headers) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/urdfdom_headers/all/test_package/conanfile.py b/recipes/urdfdom_headers/all/test_package/conanfile.py new file mode 100644 index 0000000000000..ef5d7042163ec --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/urdfdom_headers/all/test_package/test_package.cpp b/recipes/urdfdom_headers/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..aa515bd58ffb9 --- /dev/null +++ b/recipes/urdfdom_headers/all/test_package/test_package.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + urdf::World world; + return 0; +} diff --git a/recipes/urdfdom_headers/config.yml b/recipes/urdfdom_headers/config.yml new file mode 100644 index 0000000000000..60d31991f5141 --- /dev/null +++ b/recipes/urdfdom_headers/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.1": + folder: all From 76cc54bb433968dbcfc9e37d7c7ad927d701da95 Mon Sep 17 00:00:00 2001 From: HypoYoung <142313125+HypoYoung@users.noreply.github.com> Date: Thu, 29 Feb 2024 01:06:06 +0800 Subject: [PATCH 1262/1307] (#20639) libcurl: conan support mbedtls * libcurl: conan support mbedtls * Apply suggestions from code review Co-authored-by: Jordan Williams --------- Co-authored-by: Jordan Williams Co-authored-by: Uilian Ries --- recipes/libcurl/all/conanfile.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/recipes/libcurl/all/conanfile.py b/recipes/libcurl/all/conanfile.py index 7c2f02e93b679..41ce8fa327a98 100644 --- a/recipes/libcurl/all/conanfile.py +++ b/recipes/libcurl/all/conanfile.py @@ -30,7 +30,7 @@ class LibcurlConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], - "with_ssl": [False, "openssl", "wolfssl", "schannel", "darwinssl"], + "with_ssl": [False, "openssl", "wolfssl", "schannel", "darwinssl", "mbedtls"], "with_file": [True, False], "with_ftp": [True, False], "with_http": [True, False], @@ -175,6 +175,8 @@ def requirements(self): self.requires("openssl/[>=1.1 <4]") elif self.options.with_ssl == "wolfssl": self.requires("wolfssl/5.6.6") + elif self.options.with_ssl == "mbedtls": + self.requires("mbedtls/3.5.0") if self.options.with_nghttp2: self.requires("libnghttp2/1.59.0") if self.options.with_libssh2: @@ -443,6 +445,12 @@ def _generate_with_autotools(self): tc.configure_args.append(f"--with-wolfssl={path}") else: tc.configure_args.append("--without-wolfssl") + + if self.options.with_ssl == "mbedtls": + path = unix_path(self, self.dependencies["mbedtls"].package_folder) + tc.configure_args.append(f"--with-mbedtls={path}") + else: + tc.configure_args.append("--without-mbedtls") if self.options.with_libssh2: path = unix_path(self, self.dependencies["libssh2"].package_folder) @@ -571,6 +579,10 @@ def _generate_with_cmake(self): tc.variables["CURL_USE_WOLFSSL"] = self.options.with_ssl == "wolfssl" else: tc.variables["CMAKE_USE_WOLFSSL"] = self.options.with_ssl == "wolfssl" + if Version(self.version) >= "7.81.0": + tc.variables["CURL_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" + else: + tc.variables["CMAKE_USE_MBEDTLS"] = self.options.with_ssl == "mbedtls" tc.variables["USE_NGHTTP2"] = self.options.with_nghttp2 tc.variables["CURL_ZLIB"] = self.options.with_zlib tc.variables["CURL_BROTLI"] = self.options.with_brotli @@ -687,6 +699,8 @@ def package_info(self): self.cpp_info.components["curl"].requires.append("openssl::openssl") if self.options.with_ssl == "wolfssl": self.cpp_info.components["curl"].requires.append("wolfssl::wolfssl") + if self.options.with_ssl == "mbedtls": + self.cpp_info.components["curl"].requires.append("mbedtls::mbedtls") if self.options.with_nghttp2: self.cpp_info.components["curl"].requires.append("libnghttp2::libnghttp2") if self.options.with_libssh2: From 422efa25d0659ea09bf89d9be602f973fd862cae Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Thu, 29 Feb 2024 15:48:16 +0100 Subject: [PATCH 1263/1307] (#22700) Qt6: fix qt multimedia on linux * require explicitely gstreamer * bump deps * fix gstreamer consumption * fix cmake_find_mode of deps --- recipes/qt/6.x.x/conanfile.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 9e3b0dd0a6a02..bff88d44cbcd2 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -64,6 +64,7 @@ class QtConan(ConanFile): "with_gssapi": [True, False], "with_md4c": [True, False], "with_x11": [True, False], + "with_egl": [True, False], "gui": [True, False], "widgets": [True, False], @@ -107,6 +108,7 @@ class QtConan(ConanFile): "with_gssapi": False, "with_md4c": True, "with_x11": True, + "with_egl": False, "gui": True, "widgets": True, @@ -165,6 +167,7 @@ def config_options(self): self.options.with_glib = False del self.options.with_libalsa del self.options.with_x11 + del self.options.with_egl if self.settings.os == "Windows": self.options.opengl = "dynamic" @@ -198,6 +201,7 @@ def configure(self): del self.options.with_libpng del self.options.with_md4c self.options.rm_safe("with_x11") + self.options.rm_safe("with_egl") if not self.options.get_safe("qtmultimedia"): self.options.rm_safe("with_libalsa") @@ -354,6 +358,8 @@ def requirements(self): self.requires("xkbcommon/1.5.0") if self.options.get_safe("with_x11", False): self.requires("xorg/system") + if self.options.get_safe("with_egl"): + self.requires("egl/system") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": self.requires("opengl/system") if self.options.with_zstd: @@ -370,6 +376,7 @@ def requirements(self): self.requires("nss/3.93") self.requires("libdrm/2.4.119") if self.options.get_safe("with_gstreamer", False): + self.requires("gstreamer/1.19.2") self.requires("gst-plugins-base/1.19.2") if self.options.get_safe("with_pulseaudio", False): self.requires("pulseaudio/14.2") @@ -415,6 +422,16 @@ def generate(self): tc.set_property("wayland::wayland-server", "cmake_target_name", "Wayland::Server") tc.set_property("wayland::wayland-cursor", "cmake_target_name", "Wayland::Cursor") tc.set_property("wayland::wayland-egl", "cmake_target_name", "Wayland::Egl") + + # override https://github.com/qt/qtbase/blob/dev/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake + tc.set_property("egl", "cmake_file_name", "EGL") + tc.set_property("egl", "cmake_find_mode", "module") + tc.set_property("egl::egl", "cmake_target_name", "EGL::EGL") + + # don't override https://github.com/qt/qtmultimedia/blob/dev/cmake/FindGStreamer.cmake + tc.set_property("gstreamer", "cmake_file_name", "gstreamer_conan") + tc.set_property("gstreamer", "cmake_find_mode", "module") + tc.generate() for f in glob.glob("*.cmake"): @@ -510,7 +527,9 @@ def generate(self): ("with_zstd", "zstd"), ("with_vulkan", "vulkan"), ("with_brotli", "brotli"), - ("with_gssapi", "gssapi")]: + ("with_gssapi", "gssapi"), + ("with_egl", "egl"), + ("with_gstreamer", "gstreamer")]: tc.variables[f"FEATURE_{conf_arg}"] = ("ON" if self.options.get_safe(opt, False) else "OFF") @@ -1021,6 +1040,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): gui_reqs.append("xkbcommon::xkbcommon") if self.options.get_safe("with_x11", False): gui_reqs.append("xorg::xorg") + if self.options.get_safe("with_egl"): + gui_reqs.append("egl::egl") if self.settings.os != "Windows" and self.options.get_safe("opengl", "no") != "no": gui_reqs.append("opengl::opengl") if self.options.get_safe("with_vulkan", False): @@ -1235,7 +1256,9 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.qtdeclarative and qt_quick_enabled: _create_module("MultimediaQuick", ["Multimedia", "Quick"]) if self.options.with_gstreamer: - _create_plugin("QGstreamerMediaPlugin", "gstreamermediaplugin", "multimedia", ["gst-plugins-base::gst-plugins-base"]) + _create_plugin("QGstreamerMediaPlugin", "gstreamermediaplugin", "multimedia", [ + "gstreamer::gstreamer", + "gst-plugins-base::gst-plugins-base"]) if self.options.get_safe("qtpositioning"): _create_module("Positioning", []) From 8d9a09891e8b4d55ee92a4d5996a93b1b41e2798 Mon Sep 17 00:00:00 2001 From: Viktor Arvidsson Date: Thu, 29 Feb 2024 18:07:49 +0100 Subject: [PATCH 1264/1307] (#21973) Fix build with libjpeg-turbo See https://github.com/madebr/pdfium-cmake/pull/2 --- recipes/pdfium/all/conandata.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/pdfium/all/conandata.yml b/recipes/pdfium/all/conandata.yml index 914f93df79f0d..77888f52bfe69 100644 --- a/recipes/pdfium/all/conandata.yml +++ b/recipes/pdfium/all/conandata.yml @@ -2,8 +2,8 @@ sources: "95.0.4629": pdfium-cmake: # FIXME: create release - url: "https://github.com/madebr/pdfium-cmake/archive/9611e37f688e9881b50aef7e7775accdda6cd98f.zip" - sha256: "9085c22bd9d21acede4f5f26be0b6a0f82346e2ea53cc8bcddd785a4190d7a84" + url: "https://github.com/madebr/pdfium-cmake/archive/e02962c2ebf6d1a2edc7b05bb4fc8cb73cac5b18.zip" + sha256: "e8454d098af887bc989fbbc955b32566b109b4f03350fb6c08cc7f2e359a909f" pdfium: url: "https://pdfium.googlesource.com/pdfium/+archive/refs/heads/chromium/4629.tar.gz" # sha256 is volatile on googlesource, no up-to-date github fork From 378a21bd4fc62c873c4103b2ae25ff67d08b3f62 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Thu, 29 Feb 2024 11:24:11 -0600 Subject: [PATCH 1265/1307] (#20502) xorg/system: Add xcb-dri2, xcb-dri3, xcb-glx, and xcb-present * xorg/system: Add xcb-dri2, xcb-dri3, xcb-glx, and xcb-present * Fix OpenSUSE * Add xcb-xinput, xcb-composite, xcb-ewmh, and xcb-res These are requires for the wlroots package. * Add xwayland * Fix xwayland package for Apt * Remove libxcb-present-dev as it is not in Ubuntu 16.04 * Remove xcb-xinput due to missing libxcb-present-dev package on Ubuntu 16.04 * Drop XWayland since it is not available * Remove reintroduced libxvmc dependency --- recipes/xorg/all/conanfile.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/recipes/xorg/all/conanfile.py b/recipes/xorg/all/conanfile.py index 423aec281a1c2..4b5a1dfb54844 100644 --- a/recipes/xorg/all/conanfile.py +++ b/recipes/xorg/all/conanfile.py @@ -29,10 +29,12 @@ def system_requirements(self): "libxcomposite-dev", "libxcursor-dev", "libxdamage-dev", "libxdmcp-dev", "libxext-dev", "libxfixes-dev", "libxi-dev", "libxinerama-dev", "libxkbfile-dev", "libxmu-dev", "libxmuu-dev", "libxpm-dev", "libxrandr-dev", "libxrender-dev", "libxres-dev", "libxss-dev", "libxt-dev", "libxtst-dev", - "libxv-dev", "libxxf86vm-dev", "libxcb-render0-dev", + "libxv-dev", "libxxf86vm-dev", "libxcb-glx0-dev", "libxcb-render0-dev", "libxcb-render-util0-dev", "libxcb-xkb-dev", "libxcb-icccm4-dev", "libxcb-image0-dev", "libxcb-keysyms1-dev", "libxcb-randr0-dev", "libxcb-shape0-dev", "libxcb-sync-dev", "libxcb-xfixes0-dev", - "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev"], update=True, check=True) + "libxcb-xinerama0-dev", "libxcb-dri3-dev", "uuid-dev", "libxcb-cursor-dev", "libxcb-dri2-0-dev", + "libxcb-dri3-dev", "libxcb-present-dev", "libxcb-composite0-dev", "libxcb-ewmh-dev", + "libxcb-res0-dev"], update=True, check=True) apt.install_substitutes( ["libxcb-util-dev"], ["libxcb-util0-dev"], update=True, check=True) @@ -84,7 +86,8 @@ def package_info(self): "xcb-xkb", "xcb-icccm", "xcb-image", "xcb-keysyms", "xcb-randr", "xcb-render", "xcb-renderutil", "xcb-shape", "xcb-shm", "xcb-sync", "xcb-xfixes", "xcb-xinerama", "xcb", "xcb-atom", "xcb-aux", "xcb-event", "xcb-util", - "xcb-dri3", "xcb-cursor"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): + "xcb-dri3", "xcb-cursor", "xcb-dri2", "xcb-dri3", "xcb-glx", "xcb-present", + "xcb-composite", "xcb-ewmh", "xcb-res"] + ([] if self.settings.os == "FreeBSD" else ["uuid"]): pkg_config = PkgConfig(self, name) pkg_config.fill_cpp_info( self.cpp_info.components[name], is_system=self.settings.os != "FreeBSD") From 4b480c63858a958e486994842fdea9e1041b6f6c Mon Sep 17 00:00:00 2001 From: toge Date: Fri, 1 Mar 2024 02:48:55 +0900 Subject: [PATCH 1266/1307] (#22930) influxdb-cpp: add version cci.20240102 --- recipes/influxdb-cpp/all/conandata.yml | 3 +++ recipes/influxdb-cpp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/influxdb-cpp/all/conandata.yml b/recipes/influxdb-cpp/all/conandata.yml index 08568ef090742..d9e475ef4f194 100644 --- a/recipes/influxdb-cpp/all/conandata.yml +++ b/recipes/influxdb-cpp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + 'cci.20240102': + url: 'https://github.com/orca-zhang/influxdb-cpp/archive/db18273f09c113d0bd6037463997389afe978ac7.tar.gz' + sha256: '8c019ca700a723d9ed33d93e366cffac44b99a65485192ab70e760bf4229c7c8' 'cci.20201227': url: 'https://github.com/orca-zhang/influxdb-cpp/archive/800e0912552bc1b261c2afc6553a95caf5e9c66d.tar.gz' sha256: '456f0160cd6b12f88a19dcd0106dc0ba1935841f53ec642bf368843fa28def0e' diff --git a/recipes/influxdb-cpp/config.yml b/recipes/influxdb-cpp/config.yml index a58749d6e9c51..911f00a7a6918 100644 --- a/recipes/influxdb-cpp/config.yml +++ b/recipes/influxdb-cpp/config.yml @@ -1,3 +1,5 @@ versions: + "cci.20240102": + folder: all "cci.20201227": folder: all From f48eeb726acf6a8a60663db7038c4c9145e20e8f Mon Sep 17 00:00:00 2001 From: Ivan Baidakou Date: Fri, 1 Mar 2024 11:27:10 +0300 Subject: [PATCH 1267/1307] (#22490) Add rotor v0.28, v0.29 * Add rotor v0.28 * Feedback: remove exports_sources * Update receipe * Try to use boost 1.84 * refine cppstd validation Signed-off-by: Uilian Ries * Fix test_package/conanfile.py * Add v0.29 * Add v0.29 * Add test_v1_package --------- Signed-off-by: Uilian Ries Co-authored-by: Uilian Ries --- recipes/rotor/all/conandata.yml | 6 ++ recipes/rotor/all/conanfile.py | 67 ++++++++++--------- recipes/rotor/all/test_package/CMakeLists.txt | 8 +-- recipes/rotor/all/test_package/conanfile.py | 20 ++++-- .../rotor/all/test_v1_package/CMakeLists.txt | 8 +++ .../rotor/all/test_v1_package/conanfile.py | 26 +++++++ .../all/test_v1_package/test_package.cpp | 58 ++++++++++++++++ recipes/rotor/config.yml | 4 ++ 8 files changed, 153 insertions(+), 44 deletions(-) create mode 100644 recipes/rotor/all/test_v1_package/CMakeLists.txt create mode 100644 recipes/rotor/all/test_v1_package/conanfile.py create mode 100644 recipes/rotor/all/test_v1_package/test_package.cpp diff --git a/recipes/rotor/all/conandata.yml b/recipes/rotor/all/conandata.yml index b1d2937ec9c70..1b4efa7d91b72 100644 --- a/recipes/rotor/all/conandata.yml +++ b/recipes/rotor/all/conandata.yml @@ -11,3 +11,9 @@ sources: "0.25": url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.25.tar.gz" sha256: "b1de95937adb8d7a9beb93bc4956d8e28ff64a6c0a898e7ce12b22a224bb8f6f" + "0.28": + url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.28.tar.gz" + sha256: "9fc7d1721379adca228ca45d0240b5a0060c993de984f0288c9e4b9cf667b971" + "0.29": + url: "https://github.com/basiliscos/cpp-rotor/archive/refs/tags/v0.29.tar.gz" + sha256: "e17e25f2d6402389e8fde07a158ca952b815666f0a2b5e07748dfc062834c522" diff --git a/recipes/rotor/all/conanfile.py b/recipes/rotor/all/conanfile.py index 373e87fb89eb0..ab2f66e84b836 100644 --- a/recipes/rotor/all/conanfile.py +++ b/recipes/rotor/all/conanfile.py @@ -6,18 +6,16 @@ from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, rmdir, copy from conan.tools.cmake import CMakeToolchain, CMake, CMakeDeps, cmake_layout -required_conan_version = ">=1.52.0" +required_conan_version = ">=1.54.0" class RotorConan(ConanFile): name = "rotor" + description = "Event loop friendly C++ actor micro-framework, supervisable" license = "MIT" homepage = "https://github.com/basiliscos/cpp-rotor" url = "https://github.com/conan-io/conan-center-index" - description = ( - "Event loop friendly C++ actor micro-framework, supervisable" - ) topics = ("concurrency", "actor-framework", "actors", "actor-model", "erlang", "supervising", "supervisor") - + package_type = "library" settings = "os", "arch", "compiler", "build_type" options = { "fPIC": [True, False], @@ -25,6 +23,7 @@ class RotorConan(ConanFile): "enable_asio": [True, False], "enable_thread": [True, False], "multithreading": [True, False], # enables multithreading support + "enable_ev": [True, False], } default_options = { "fPIC": True, @@ -32,24 +31,40 @@ class RotorConan(ConanFile): "enable_asio": False, "enable_thread": False, "multithreading": True, + "enable_ev": False, } + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "8", + "clang": "7", + "apple-clang": "12", + } + def export_sources(self): export_conandata_patches(self) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "0.26": + del self.options.enable_ev def configure(self): if self.options.shared: - try: - del self.options.fPIC - except Exception: - pass + self.options.rm_safe("fPIC") def requirements(self): - self.requires("boost/1.81.0") + self.requires("boost/1.84.0", transitive_headers=True) + if self.options.get_safe("enable_ev", False): + self.requires("libev/4.33") def layout(self): cmake_layout(self, src_folder="src") @@ -60,31 +75,18 @@ def generate(self): tc.variables["BUILD_THREAD"] = self.options.enable_thread tc.variables["BUILD_THREAD_UNSAFE"] = not self.options.multithreading tc.variables["BUILD_TESTING"] = False + if Version(self.version) >= "0.26": + tc.variables["BUILD_EV"] = self.options.enable_ev tc.generate() tc = CMakeDeps(self) tc.generate() def validate(self): - minimal_cpp_standard = "17" - if self.settings.compiler.get_safe("cppstd"): - check_min_cppstd(self, minimal_cpp_standard) - minimal_version = { - "gcc": "7", - "clang": "6", - "apple-clang": "10", - "Visual Studio": "15" - } - compiler = str(self.settings.compiler) - if compiler not in minimal_version: - self.output.warn( - f"{self.ref} recipe lacks information about the {compiler} compiler standard version support") - self.output.warn( - f"{self.ref} requires a compiler that supports at least C++{minimal_cpp_standard}") - return - - compiler_version = Version(self.settings.compiler.version) - if compiler_version < minimal_version[compiler]: - raise ConanInvalidConfiguration(f"{self.ref} requires a compiler that supports at least C++{minimal_cpp_standard}") + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") if self.options.shared and Version(self.version) < "0.23": raise ConanInvalidConfiguration("shared option is available from v0.23") @@ -121,5 +123,6 @@ def package_info(self): self.cpp_info.components["thread"].libs = ["rotor_thread"] self.cpp_info.components["thread"].requires = ["core"] - # TODO: to remove in conan v2 once cmake_find_package* generators removed - self.cpp_info.names["cmake_find_package"] = "rotor" + if self.options.get_safe("enable_ev", False): + self.cpp_info.components["ev"].libs = ["rotor_ev"] + self.cpp_info.components["ev"].requires = ["core", "libev::libev"] diff --git a/recipes/rotor/all/test_package/CMakeLists.txt b/recipes/rotor/all/test_package/CMakeLists.txt index b48e565513a1d..027b2945e0aad 100644 --- a/recipes/rotor/all/test_package/CMakeLists.txt +++ b/recipes/rotor/all/test_package/CMakeLists.txt @@ -1,12 +1,8 @@ -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.15) project(test_package CXX) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup(TARGETS) -find_package("rotor" REQUIRED) +find_package("rotor" COMPONENTS asio thread REQUIRED) add_executable(${PROJECT_NAME} test_package.cpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_link_libraries(${PROJECT_NAME} rotor::core) - - diff --git a/recipes/rotor/all/test_package/conanfile.py b/recipes/rotor/all/test_package/conanfile.py index 6dfcc57d996c4..a9fb96656f203 100644 --- a/recipes/rotor/all/test_package/conanfile.py +++ b/recipes/rotor/all/test_package/conanfile.py @@ -1,10 +1,19 @@ -from conans import ConanFile, CMake, tools +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake import os class TestPackageConan(ConanFile): settings = "os", "arch", "compiler", "build_type" - generators = "cmake", "cmake_find_package" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) def build(self): cmake = CMake(self) @@ -12,7 +21,6 @@ def build(self): cmake.build() def test(self): - if not tools.cross_building(self): - bin_path = os.path.join("bin", "test_package") - self.run(bin_path, run_environment=True) - + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rotor/all/test_v1_package/CMakeLists.txt b/recipes/rotor/all/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..027b2945e0aad --- /dev/null +++ b/recipes/rotor/all/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package CXX) + +find_package("rotor" COMPONENTS asio thread REQUIRED) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) +target_link_libraries(${PROJECT_NAME} rotor::core) diff --git a/recipes/rotor/all/test_v1_package/conanfile.py b/recipes/rotor/all/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..a9fb96656f203 --- /dev/null +++ b/recipes/rotor/all/test_v1_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/rotor/all/test_v1_package/test_package.cpp b/recipes/rotor/all/test_v1_package/test_package.cpp new file mode 100644 index 0000000000000..bfb89c9986e86 --- /dev/null +++ b/recipes/rotor/all/test_v1_package/test_package.cpp @@ -0,0 +1,58 @@ +#include +#include + + +namespace { +namespace to { +struct on_timer_trigger {}; +} // namespace to +} // namespace + +namespace rotor { +template <> +inline auto rotor::actor_base_t::access(request_id_t request_id, + bool cancelled) noexcept { + on_timer_trigger(request_id, cancelled); +} +} // namespace rotor + +struct dummy_supervisor_t : public rotor::supervisor_t { + using rotor::supervisor_t::supervisor_t; + using timers_map_t = std::unordered_map; + + timers_map_t timers_map; + + void do_start_timer(const rotor::pt::time_duration &, rotor::timer_handler_base_t &handler) noexcept override { + timers_map.emplace(handler.request_id, &handler); + } + + void do_cancel_timer(rotor::request_id_t timer_id) noexcept override { + auto it = timers_map.find(timer_id); + auto &actor_ptr = it->second->owner; + actor_ptr->access(timer_id, true); + timers_map.erase(it); + } + + void start() noexcept override {} + void shutdown() noexcept override {} + void enqueue(rotor::message_ptr_t) noexcept override {} +}; + +struct hello_actor : public rotor::actor_base_t { + using rotor::actor_base_t::actor_base_t; + void on_start() noexcept override { + rotor::actor_base_t::on_start(); + std::cout << "hello world\n"; + supervisor->do_shutdown(); + } +}; + +int main() { + rotor::system_context_t ctx{}; + auto timeout = boost::posix_time::milliseconds{500}; /* does not matter */ + auto sup = ctx.create_supervisor().timeout(timeout).finish(); + sup->create_actor().timeout(timeout).finish(); + sup->do_process(); + return 0; +} + diff --git a/recipes/rotor/config.yml b/recipes/rotor/config.yml index 1dfb74272e8cc..b66cf5d118ce8 100644 --- a/recipes/rotor/config.yml +++ b/recipes/rotor/config.yml @@ -7,3 +7,7 @@ versions: folder: all "0.25": folder: all + "0.28": + folder: all + "0.29": + folder: all From 1c888e8686e4656c5046dd269045c713bd610d4e Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Fri, 1 Mar 2024 10:45:31 +0200 Subject: [PATCH 1268/1307] (#21511) libspatialite: add v5.1.0, bump deps * libspatialite: bump dependencies * libspatialite: drop force=True * libspatialite: bump deps * libspatialite: add a workaround for NMakeDeps quoting issues https://github.com/conan-io/conan/issues/13603 * libspatialite: add v5.1.0 * libspatialite: bump deps * libspatialite: fix MSVC build --- recipes/libspatialite/all/conandata.yml | 11 +++-- recipes/libspatialite/all/conanfile.py | 46 +++++++++++++------ .../0001-autotools-no-geos-config.patch | 22 --------- .../{ => 5.0.1}/0002-nmake-honor-flags.patch | 0 .../{ => 5.0.1}/0003-msvc-minizip.patch | 0 .../5.1.0/0002-nmake-honor-flags.patch | 36 +++++++++++++++ recipes/libspatialite/config.yml | 2 + 7 files changed, 78 insertions(+), 39 deletions(-) delete mode 100644 recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch rename recipes/libspatialite/all/patches/{ => 5.0.1}/0002-nmake-honor-flags.patch (100%) rename recipes/libspatialite/all/patches/{ => 5.0.1}/0003-msvc-minizip.patch (100%) create mode 100644 recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch diff --git a/recipes/libspatialite/all/conandata.yml b/recipes/libspatialite/all/conandata.yml index c9378f957e838..d34eec9877d84 100644 --- a/recipes/libspatialite/all/conandata.yml +++ b/recipes/libspatialite/all/conandata.yml @@ -1,9 +1,14 @@ sources: + "5.1.0": + url: "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-5.1.0.tar.gz" + sha256: "43be2dd349daffe016dd1400c5d11285828c22fea35ca5109f21f3ed50605080" "5.0.1": url: "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-5.0.1.tar.gz" sha256: "eecbc94311c78012d059ebc0fae86ea5ef6eecb13303e6e82b3753c1b3409e98" patches: + "5.1.0": + - patch_file: "patches/5.1.0/0002-nmake-honor-flags.patch" + - patch_file: "patches/5.0.1/0003-msvc-minizip.patch" "5.0.1": - - patch_file: "patches/0001-autotools-no-geos-config.patch" - - patch_file: "patches/0002-nmake-honor-flags.patch" - - patch_file: "patches/0003-msvc-minizip.patch" + - patch_file: "patches/5.0.1/0002-nmake-honor-flags.patch" + - patch_file: "patches/5.0.1/0003-msvc-minizip.patch" diff --git a/recipes/libspatialite/all/conanfile.py b/recipes/libspatialite/all/conanfile.py index 4260480b1b097..f232307e3ab5e 100644 --- a/recipes/libspatialite/all/conanfile.py +++ b/recipes/libspatialite/all/conanfile.py @@ -85,20 +85,22 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("sqlite3/3.42.0") - self.requires("zlib/1.2.13") + # Included in public spatialite/sqlite.h + # https://www.gaia-gis.it/fossil/libspatialite/file?name=src/headers/spatialite/sqlite.h&ci=tip + self.requires("sqlite3/3.44.2", transitive_headers=True, transitive_libs=True) + self.requires("zlib/[>=1.2.11 <2]") if self.options.with_proj: - self.requires("proj/9.1.1") + self.requires("proj/9.3.1") if self.options.with_iconv: self.requires("libiconv/1.17") if self.options.with_freexl: - self.requires("freexl/1.0.6") + self.requires("freexl/2.0.0") if self.options.with_geos: - self.requires("geos/3.11.1") + self.requires("geos/3.12.0") if self.options.get_safe("with_rttopo"): self.requires("librttopo/1.1.0") if self.options.with_libxml2: - self.requires("libxml2/2.10.3") + self.requires("libxml2/2.12.4") if self.options.with_minizip: self.requires("minizip/1.2.13") @@ -106,7 +108,7 @@ def build_requirements(self): if not is_msvc(self): self.tool_requires("libtool/2.4.7") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.1.0") if self._settings_build.os == "Windows": self.win_bash = True if not self.conf.get("tools.microsoft.bash:path", check_type=str): @@ -118,6 +120,9 @@ def source(self): def generate(self): if is_msvc(self): tc = NMakeToolchain(self) + tc.extra_defines.append("YY_NO_UNISTD_H") + if self.options.shared: + tc.extra_defines.append("DLL_EXPORT") tc.generate() deps = NMakeDeps(self) deps.generate() @@ -154,6 +159,7 @@ def generate(self): "--enable-geosonlyreentrant=no", "--enable-geos370=yes", f"--enable-rttopo={yes_no(self.options.with_rttopo)}", + "--with-geosconfig=true", # Using `true` command for a no-op ]) tc.generate() @@ -192,14 +198,17 @@ def _build_msvc(self): if not self.options.with_minizip: replace_in_file(self, gaiaconfig_msvc, "#define ENABLE_MINIZIP 1", "") + # Workaround for a NMakeDeps define quoting issue: + # https://github.com/conan-io/conan/issues/13603 + replace_in_file(self, os.path.join(self.generators_folder, "conannmakedeps.bat"), + r'/DSQLITE_API#\"__declspec(dllimport)\"', + "/DSQLITE_API#__declspec(dllimport)", strict=False) + target = "spatialite_i.lib" if self.options.shared else "spatialite.lib" - optflags = ["-DYY_NO_UNISTD_H"] - if self.options.shared: - optflags.append("-DDLL_EXPORT") with chdir(self, self.source_folder): - self.run(f"nmake -f makefile.vc {target} OPTFLAGS=\"{' '.join(optflags)}\"") + self.run(f"nmake -f makefile.vc {target}") - def _build_autotools(self): + def _patch_autotools(self): # fix MinGW replace_in_file( self, os.path.join(self.source_folder, "configure.ac"), @@ -208,9 +217,18 @@ def _build_autotools(self): ) # Disable tests replace_in_file(self, os.path.join(self.source_folder, "Makefile.am"), - "SUBDIRS = src test $(EXAMPLES)", - "SUBDIRS = src $(EXAMPLES)") + "SUBDIRS = src test $(EXAMPLES)", + "SUBDIRS = src $(EXAMPLES)") + # We can't use geos-config file in conan because it's a non-relocatable file, + # therefore not packaged by geos recipe of conan-center-index. + # Instead, we rely on AutoToolsBuildEnvironment helper to inject proper flags. + configure_ac = os.path.join(self.source_folder, "configure.ac") + replace_in_file(self, configure_ac, "AC_MSG_ERROR([the user-specified geos-config", "echo # ") + replace_in_file(self, configure_ac, "AC_CHECK_HEADERS([geos_c.h", "# ") + replace_in_file(self, configure_ac, "AC_SEARCH_LIBS(GEOSCoveredBy", "# ") + def _build_autotools(self): + self._patch_autotools() autotools = Autotools(self) autotools.autoreconf() autotools.configure() diff --git a/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch b/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch deleted file mode 100644 index 0da26fe7f8512..0000000000000 --- a/recipes/libspatialite/all/patches/0001-autotools-no-geos-config.patch +++ /dev/null @@ -1,22 +0,0 @@ -We can't use geos-config file in conan because it's a non-relocatable file, -therefore not packaged by geos recipe of conan-center-index. -Instead we rely on AutoToolsBuildEnvironment helper to inject proper flags. - ---- a/configure.ac -+++ b/configure.ac -@@ -311,6 +311,7 @@ AC_ARG_ENABLE(geos, [AS_HELP_STRING( - [--enable-geos], [enables GEOS inclusion [default=yes]])], - [], [enable_geos=yes]) - if test x"$enable_geos" != "xno"; then -+ if false; then - #----------------------------------------------------------------------- - # --with-geosconfig - # -@@ -352,6 +353,7 @@ if test x"$enable_geos" != "xno"; then - AC_SEARCH_LIBS(GEOSCoveredBy,geos_c,,AC_MSG_ERROR([could not find libgeos_c (or obsolete 'libgeos_c' < v.3.3.0 found) - you may need to specify the directory of a geos-config file using --with-geosconfig])) - LIBS="$LIBS_SAVE" - LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" -+ fi - - #----------------------------------------------------------------------- - # --enable-controlpoints diff --git a/recipes/libspatialite/all/patches/0002-nmake-honor-flags.patch b/recipes/libspatialite/all/patches/5.0.1/0002-nmake-honor-flags.patch similarity index 100% rename from recipes/libspatialite/all/patches/0002-nmake-honor-flags.patch rename to recipes/libspatialite/all/patches/5.0.1/0002-nmake-honor-flags.patch diff --git a/recipes/libspatialite/all/patches/0003-msvc-minizip.patch b/recipes/libspatialite/all/patches/5.0.1/0003-msvc-minizip.patch similarity index 100% rename from recipes/libspatialite/all/patches/0003-msvc-minizip.patch rename to recipes/libspatialite/all/patches/5.0.1/0003-msvc-minizip.patch diff --git a/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch b/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch new file mode 100644 index 0000000000000..23016b01dd132 --- /dev/null +++ b/recipes/libspatialite/all/patches/5.1.0/0002-nmake-honor-flags.patch @@ -0,0 +1,36 @@ +This patch for msvc build allows to: +* define OPTFLAG ourself from conanfile (allow to honor profile) +* not hardcode this very specific C:\OSGeo4W environment + +--- a/makefile.vc ++++ b/makefile.vc +@@ -2,7 +2,6 @@ + # + # NMAKE Makefile to build libspatialite on Windows + # +-!INCLUDE nmake.opt + + LIBOBJ = src\gaiaaux\gg_sqlaux.obj src\gaiaaux\gg_utf8.obj \ + src\gaiaexif\gaia_exif.obj src\gaiageo\gg_advanced.obj \ +@@ -96,7 +95,7 @@ + SPATIALITE_DLL = spatialite$(VERSION).dll + + CFLAGS = /nologo -I.\src\headers -I.\src\topology \ +- -I. -IC:\OSGeo4W\include $(OPTFLAGS) ++ -I. $(CFLAGS) $(OPTFLAGS) + + default: all + +@@ -111,11 +110,7 @@ + + spatialite_i.lib: $(LIBOBJ) + link /dll /out:$(SPATIALITE_DLL) \ +- /implib:spatialite_i.lib $(LIBOBJ) \ +- C:\OSGeo4W\lib\proj_i.lib C:\OSGeo4W\lib\geos_c.lib \ +- C:\OSGeo4w\lib\freexl_i.lib C:\OSGeo4w\lib\iconv.lib \ +- C:\OSGeo4W\lib\sqlite3_i.lib C:\OSGeo4W\lib\zlib.lib \ +- C:\OSGeo4W\lib\libxml2.lib C:\OSGeo4W\lib\librttopo.lib ++ /implib:spatialite_i.lib $(LIBOBJ) + if exist $(SPATIALITE_DLL).manifest mt -manifest \ + $(SPATIALITE_DLL).manifest -outputresource:$(SPATIALITE_DLL);2 + diff --git a/recipes/libspatialite/config.yml b/recipes/libspatialite/config.yml index 5787f28e91cf3..5da3767a58773 100644 --- a/recipes/libspatialite/config.yml +++ b/recipes/libspatialite/config.yml @@ -1,3 +1,5 @@ versions: + "5.1.0": + folder: all "5.0.1": folder: all From 0577ab40e16c9ef5755115d716d2c1714212dc88 Mon Sep 17 00:00:00 2001 From: David Callu Date: Fri, 1 Mar 2024 19:43:49 +0100 Subject: [PATCH 1269/1307] =?UTF-8?q?(#19123)=20fix(libselinux):=20add=20p?= =?UTF-8?q?atch=20to=20link=20with=20pcre2=20from=20conan=20instead=20of?= =?UTF-8?q?=20o=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Uilian Ries --- recipes/libselinux/all/conandata.yml | 3 +++ .../libselinux/all/patches/0003-fix-link-pcre.patch | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 recipes/libselinux/all/patches/0003-fix-link-pcre.patch diff --git a/recipes/libselinux/all/conandata.yml b/recipes/libselinux/all/conandata.yml index 14380382654d7..7387838ec6a10 100644 --- a/recipes/libselinux/all/conandata.yml +++ b/recipes/libselinux/all/conandata.yml @@ -40,6 +40,9 @@ patches: base_path: libselinux-3.6 patch_description: "Fix a missing #include " patch_type: "portability" + "3.3": + - patch_file: patches/0003-fix-link-pcre.patch + base_path: libselinux-3.3 "3.0": - patch_file: patches/0001-fix-fno-common-3.0.patch base_path: libsepol-3.0 diff --git a/recipes/libselinux/all/patches/0003-fix-link-pcre.patch b/recipes/libselinux/all/patches/0003-fix-link-pcre.patch new file mode 100644 index 0000000000000..993246d09e0ea --- /dev/null +++ b/recipes/libselinux/all/patches/0003-fix-link-pcre.patch @@ -0,0 +1,11 @@ +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -43,7 +43,7 @@ endif + + override CFLAGS += -I../include -D_GNU_SOURCE $(DISABLE_FLAGS) $(PCRE_CFLAGS) + override LDFLAGS += -L../src +-override LDLIBS += -lselinux $(FTS_LDLIBS) ++override LDLIBS += -lselinux $(FTS_LDLIBS) $(PCRE_LDLIBS) + PCRE_LDLIBS ?= -lpcre + + ifeq ($(ANDROID_HOST),y) From 56a3277676b5f42ddcbcbc12f6ab97a31c30d321 Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Fri, 1 Mar 2024 13:09:06 -0600 Subject: [PATCH 1270/1307] (#22929) qt: Bump expat to 2.6.0 to avoid conflicts in xkbcommon and wayland --- recipes/qt/5.x.x/conanfile.py | 2 +- recipes/qt/6.x.x/conanfile.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/recipes/qt/5.x.x/conanfile.py b/recipes/qt/5.x.x/conanfile.py index 8b1c566af5c7c..c8a423d3f890c 100644 --- a/recipes/qt/5.x.x/conanfile.py +++ b/recipes/qt/5.x.x/conanfile.py @@ -394,7 +394,7 @@ def requirements(self): if self.options.with_zstd: self.requires("zstd/1.5.5") if self.options.qtwebengine and self.settings.os in ["Linux", "FreeBSD"]: - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") self.requires("opus/1.4") if not self.options.qtwayland: self.requires("xorg-proto/2022.2") diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index bff88d44cbcd2..e785559243ce4 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -369,7 +369,7 @@ def requirements(self): if self.options.with_brotli: self.requires("brotli/1.1.0") if self.options.get_safe("qtwebengine") and self.settings.os == "Linux": - self.requires("expat/2.5.0") + self.requires("expat/2.6.0") self.requires("opus/1.4") self.requires("xorg-proto/2022.2") self.requires("libxshmfence/1.3") @@ -614,7 +614,7 @@ def generate(self): } if Version(self.version) >= "6.5.0": cpp_std_map[23] = "FEATURE_cxx2b" - + for std,feature in cpp_std_map.items(): tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" From 215c9f72441b474a14180488c6648d4c9ead14db Mon Sep 17 00:00:00 2001 From: Paul Harris Date: Mon, 4 Mar 2024 18:09:04 +0800 Subject: [PATCH 1271/1307] (#22949) Update alert-community.yml --- .github/workflows/alert-community.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/alert-community.yml b/.github/workflows/alert-community.yml index c557f03f37246..a12c503bcd8f0 100644 --- a/.github/workflows/alert-community.yml +++ b/.github/workflows/alert-community.yml @@ -69,7 +69,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/boost/*/*" - reviewers: "@grafikrobot @Hopobcn @jwillikers" + reviewers: "@grafikrobot @Hopobcn @jwillikers @paulharris" - uses: ./.github/actions/alert-community with: @@ -279,7 +279,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/libsodium/*/*" - reviewers: "@Hopobcn" + reviewers: "@Hopobcn @paulharris" - uses: ./.github/actions/alert-community with: @@ -304,7 +304,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/llvm-core/*/*" - reviewers: "@Hopobcn" + reviewers: "@Hopobcn @paulharris" - uses: ./.github/actions/alert-community with: @@ -379,7 +379,7 @@ jobs: - uses: ./.github/actions/alert-community with: files: "recipes/qt/*/*" - reviewers: "@ericLemanissier @jwillikers @MartinDelille" + reviewers: "@ericLemanissier @jwillikers @MartinDelille @paulharris" - uses: ./.github/actions/alert-community with: From fdc9b30e1feefd0e398def9fed6149b80109bf7b Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 20:08:03 +0900 Subject: [PATCH 1272/1307] (#22802) nghttp3: add version 1.2.0 * nghttp3: add version 1.2.0 * fix windows shared build * remove empty line * remove unused import Co-authored-by: ericLemanissier --------- Co-authored-by: ericLemanissier --- recipes/nghttp3/all/conandata.yml | 8 ++++++++ recipes/nghttp3/all/conanfile.py | 6 +++++- ...2.0-0001-disable-always-static-build.patch | 20 +++++++++++++++++++ recipes/nghttp3/config.yml | 2 ++ 4 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch diff --git a/recipes/nghttp3/all/conandata.yml b/recipes/nghttp3/all/conandata.yml index 3d19ff221c51b..d0fe8bd38465c 100644 --- a/recipes/nghttp3/all/conandata.yml +++ b/recipes/nghttp3/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.2.0": + url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.2.0/nghttp3-1.2.0.tar.bz2" + sha256: "da1bc26af1fd8756b59883c256153d2f41064294750454ee4c970fe087a70056" "1.1.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v1.1.0/nghttp3-1.1.0.tar.bz2" sha256: "5a203bf6e3129a9c23b06207c0fa3b05b26066ea28c037a62c9fea8cffecd85f" @@ -8,3 +11,8 @@ sources: "0.15.0": url: "https://github.com/ngtcp2/nghttp3/releases/download/v0.15.0/nghttp3-0.15.0.tar.gz" sha256: "3c56d9fa6f1b58b37bd7b1b53eaf16cd71118bc2d5cadbc904f09d6f6466b42f" +patches: + "1.2.0": + - patch_file: "patches/1.2.0-0001-disable-always-static-build.patch" + patch_description: "disable always static build to avoid overwrite lib file on windows" + patch_type: "conan" diff --git a/recipes/nghttp3/all/conanfile.py b/recipes/nghttp3/all/conanfile.py index 618ddcb3adf32..85e3ee603cc88 100644 --- a/recipes/nghttp3/all/conanfile.py +++ b/recipes/nghttp3/all/conanfile.py @@ -2,7 +2,7 @@ from conan.tools.apple import is_apple_os from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout from conan.tools.env import VirtualBuildEnv -from conan.tools.files import get, rmdir, copy +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rmdir from conan.tools.microsoft import is_msvc import os @@ -28,6 +28,9 @@ class Nghttp3Conan(ConanFile): "fPIC": True, } + def export_sources(self): + export_conandata_patches(self) + def config_options(self): if self.settings.os == "Windows": del self.options.fPIC @@ -58,6 +61,7 @@ def generate(self): tc.generate(scope="build") def build(self): + apply_conandata_patches(self) cmake = CMake(self) cmake.configure() cmake.build() diff --git a/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch b/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch new file mode 100644 index 0000000000000..3f7e1ccd58d6f --- /dev/null +++ b/recipes/nghttp3/all/patches/1.2.0-0001-disable-always-static-build.patch @@ -0,0 +1,20 @@ +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3928fb3..18bcb04 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -78,6 +78,7 @@ if(ENABLE_SHARED_LIB) + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") + endif() + ++if(ENABLE_STATIC_LIB) + # Static library (for unittests because of symbol visibility) + add_library(nghttp3_static STATIC ${nghttp3_SOURCES}) + set_target_properties(nghttp3_static PROPERTIES +@@ -86,7 +87,6 @@ set_target_properties(nghttp3_static PROPERTIES + ARCHIVE_OUTPUT_NAME nghttp3${STATIC_LIB_SUFFIX} + ) + target_compile_definitions(nghttp3_static PUBLIC "-DNGHTTP3_STATICLIB") +-if(ENABLE_STATIC_LIB) + install(TARGETS nghttp3_static + DESTINATION "${CMAKE_INSTALL_LIBDIR}") + endif() diff --git a/recipes/nghttp3/config.yml b/recipes/nghttp3/config.yml index f581e0802958e..3550769ed467e 100644 --- a/recipes/nghttp3/config.yml +++ b/recipes/nghttp3/config.yml @@ -1,4 +1,6 @@ versions: + "1.2.0": + folder: all "1.1.0": folder: all "1.0.0": From 30f235c4e074cccb20328b36248262f4bba6ccb5 Mon Sep 17 00:00:00 2001 From: Eyal Rozenberg Date: Mon, 4 Mar 2024 13:28:21 +0200 Subject: [PATCH 1273/1307] (#22947) Updated cuda-api-wrappers with versions 0.6.8 and 0.7.0-b2 * Updated cuda-api-wrappers with versions 0.6.4, 0.6.6, 0.6.7, 0.6.8 and 0.7.0-b2 * Following CR comments: Only adding latest version + beta of next version --- recipes/cuda-api-wrappers/all/conandata.yml | 6 ++++++ recipes/cuda-api-wrappers/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/cuda-api-wrappers/all/conandata.yml b/recipes/cuda-api-wrappers/all/conandata.yml index 0a04efd212109..a2ea7cff0b936 100644 --- a/recipes/cuda-api-wrappers/all/conandata.yml +++ b/recipes/cuda-api-wrappers/all/conandata.yml @@ -1,7 +1,13 @@ sources: + "0.7.0-b2": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.7.0-b2.tar.gz" + sha256: "9439cb2250dd3045a05d43c4ca66b5d49535eeba123b05a2e49169354fdb3123" "0.7-b1": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/0.7b1.tar.gz" sha256: "1ed5912d8f602ccd176865b824de17f462cb57142eb2a685d7cc034831e54a71" + "0.6.8": + url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.8.tar.gz" + sha256: "a0d1b062dbe41c99d06df4ae7885a053c2ae3815d6fe12df0458bc5277d08ed7" "0.6.3": url: "https://github.com/eyalroz/cuda-api-wrappers/archive/refs/tags/v0.6.3.tar.gz" sha256: "45d896136dbb4df6c75c36071899b9fe47df9a03629c95208c2d5bda979d109e" diff --git a/recipes/cuda-api-wrappers/config.yml b/recipes/cuda-api-wrappers/config.yml index 326304241de6f..60cce1aaafb6b 100644 --- a/recipes/cuda-api-wrappers/config.yml +++ b/recipes/cuda-api-wrappers/config.yml @@ -1,5 +1,9 @@ versions: + "0.7.0-b2": + folder: all "0.7-b1": folder: all + "0.6.8": + folder: all "0.6.3": folder: all From 8e719a68d7d8f658e150ab8e214d32221645252f Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 4 Mar 2024 07:09:17 -0500 Subject: [PATCH 1274/1307] (#22953) spdlog: Add option to use std::format * WIP adding std::format support * Additional spdlog with std::format fixes * Fix 1.10 and 1.11 with std::format * Fix test package on older compilers --- recipes/spdlog/all/conanfile.py | 82 ++++++++++++++----- .../spdlog/all/test_package/CMakeLists.txt | 7 +- recipes/spdlog/all/test_package/conanfile.py | 1 + 3 files changed, 69 insertions(+), 21 deletions(-) diff --git a/recipes/spdlog/all/conanfile.py b/recipes/spdlog/all/conanfile.py index f48df9bb2bbe0..b0c1ca14504e0 100644 --- a/recipes/spdlog/all/conanfile.py +++ b/recipes/spdlog/all/conanfile.py @@ -3,7 +3,7 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout from conan.tools.files import get, copy, rmdir, replace_in_file, apply_conandata_patches, export_conandata_patches -from conan.tools.microsoft import is_msvc_static_runtime +from conan.tools.microsoft import check_min_vs, is_msvc, is_msvc_static_runtime from conan.tools.scm import Version import os @@ -26,6 +26,7 @@ class SpdlogConan(ConanFile): "wchar_support": [True, False], "wchar_filenames": [True, False], "no_exceptions": [True, False], + "use_std_fmt": [True, False], } default_options = { "shared": False, @@ -34,6 +35,7 @@ class SpdlogConan(ConanFile): "wchar_support": False, "wchar_filenames": False, "no_exceptions": False, + "use_std_fmt": False, } def export_sources(self): @@ -42,6 +44,8 @@ def export_sources(self): def config_options(self): if self.settings.os == "Windows": del self.options.fPIC + if Version(self.version) < "1.10.0": + del self.options.use_std_fmt def configure(self): if self.options.get_safe("shared") or self.options.header_only: @@ -53,53 +57,81 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self_version = Version(self.version) - fmt_version = "7.1.3" - - if self_version >= "1.12.0": - fmt_version = "10.2.1" - elif self_version >= "1.11.0": - fmt_version = "10.0.0" - elif self_version >= "1.10.0": - fmt_version = "8.1.1" - elif self_version >= "1.9.0": - fmt_version = "8.0.1" - elif self_version >= "1.7.0": + if not self.options.get_safe("use_std_fmt"): + self_version = Version(self.version) fmt_version = "7.1.3" - self.requires(f"fmt/{fmt_version}", transitive_headers=True, transitive_libs=True) + if self_version >= "1.12.0": + fmt_version = "10.2.1" + elif self_version >= "1.11.0": + fmt_version = "10.0.0" + elif self_version >= "1.10.0": + fmt_version = "8.1.1" + elif self_version >= "1.9.0": + fmt_version = "8.0.1" + elif self_version >= "1.7.0": + fmt_version = "7.1.3" + + self.requires(f"fmt/{fmt_version}", transitive_headers=True, transitive_libs=True) def package_id(self): if self.info.options.header_only: self.info.clear() + + @property + def _std_fmt_compilers_minimum_version(self): + return { + "gcc": "13", + "clang": "14", + "apple-clang": "15", + "Visual Studio": "16", + "msvc": "192", + } def validate(self): if self.settings.get_safe("compiler.cppstd"): - check_min_cppstd(self, 11) + if self.options.get_safe("use_std_fmt"): + check_min_cppstd(self, 20) + else: + check_min_cppstd(self, 11) if self.settings.os != "Windows" and (self.options.wchar_support or self.options.wchar_filenames): raise ConanInvalidConfiguration("wchar is only supported under windows") if self.options.get_safe("shared") and is_msvc_static_runtime(self): raise ConanInvalidConfiguration("Visual Studio build for shared library with MT runtime is not supported") + + if self.options.get_safe("use_std_fmt"): + check_min_vs(self, self._std_fmt_compilers_minimum_version["msvc"]) + if not is_msvc(self): + compiler_name = str(self.settings.compiler) + minimum_version = self._std_fmt_compilers_minimum_version.get(compiler_name, False) + if not minimum_version: + self.output.warning(f"{self.name} recipe lacks information about the {compiler_name} compiler support.") + elif Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration( + f"{self.ref} using std::fmt requires std::fmt, which your compiler does not support." + ) def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) def generate(self): if not self.options.header_only: - fmt = self.dependencies["fmt"] tc = CMakeToolchain(self) tc.variables["SPDLOG_BUILD_EXAMPLE"] = False tc.variables["SPDLOG_BUILD_EXAMPLE_HO"] = False tc.variables["SPDLOG_BUILD_TESTS"] = False tc.variables["SPDLOG_BUILD_TESTS_HO"] = False tc.variables["SPDLOG_BUILD_BENCH"] = False - tc.variables["SPDLOG_FMT_EXTERNAL"] = not fmt.options.header_only - tc.variables["SPDLOG_FMT_EXTERNAL_HO"] = fmt.options.header_only + if not self.options.get_safe("use_std_fmt"): + fmt = self.dependencies["fmt"] + tc.variables["SPDLOG_FMT_EXTERNAL"] = not fmt.options.header_only + tc.variables["SPDLOG_FMT_EXTERNAL_HO"] = fmt.options.header_only tc.variables["SPDLOG_BUILD_SHARED"] = not self.options.header_only and self.options.shared tc.variables["SPDLOG_WCHAR_SUPPORT"] = self.options.wchar_support tc.variables["SPDLOG_WCHAR_FILENAMES"] = self.options.wchar_filenames tc.variables["SPDLOG_INSTALL"] = True tc.variables["SPDLOG_NO_EXCEPTIONS"] = self.options.no_exceptions + tc.variables["SPDLOG_USE_STD_FORMAT"] = self.options.get_safe("use_std_fmt") if self.settings.os in ("iOS", "tvOS", "watchOS"): tc.variables["SPDLOG_NO_TLS"] = True tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0091"] = "NEW" @@ -110,9 +142,16 @@ def generate(self): def _disable_werror(self): replace_in_file(self, os.path.join(self.source_folder, "cmake", "utils.cmake"), "/WX", "") + def _use_cpp20_for_std_format(self): + # This is properly set in later versions + if self.options.get_safe("use_std_fmt") and Version(self.version) < "1.12": + replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"), + "CMAKE_CXX_STANDARD 11", "CMAKE_CXX_STANDARD 20") + def build(self): apply_conandata_patches(self) self._disable_werror() + self._use_cpp20_for_std_format() if not self.options.header_only: cmake = CMake(self) cmake.configure() @@ -141,8 +180,11 @@ def package_info(self): # TODO: back to global scope in conan v2 once legacy generators removed self.cpp_info.components["libspdlog"].set_property("cmake_target_name", f"spdlog::{target}") - self.cpp_info.components["libspdlog"].defines.append("SPDLOG_FMT_EXTERNAL") - self.cpp_info.components["libspdlog"].requires = ["fmt::fmt"] + if self.options.get_safe("use_std_fmt"): + self.cpp_info.components["libspdlog"].defines.append("SPDLOG_USE_STD_FORMAT") + else: + self.cpp_info.components["libspdlog"].requires = ["fmt::fmt"] + self.cpp_info.components["libspdlog"].defines.append("SPDLOG_FMT_EXTERNAL") if self.options.header_only: self.cpp_info.components["libspdlog"].libdirs = [] diff --git a/recipes/spdlog/all/test_package/CMakeLists.txt b/recipes/spdlog/all/test_package/CMakeLists.txt index d31b151d6390c..f43e46db5a77d 100644 --- a/recipes/spdlog/all/test_package/CMakeLists.txt +++ b/recipes/spdlog/all/test_package/CMakeLists.txt @@ -9,4 +9,9 @@ if(SPDLOG_HEADER_ONLY) else() target_link_libraries(${PROJECT_NAME} PUBLIC spdlog::spdlog) endif() -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + +if(SPDLOG_USE_STD_FORMAT) + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) +else() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) +endif() diff --git a/recipes/spdlog/all/test_package/conanfile.py b/recipes/spdlog/all/test_package/conanfile.py index 81d7c956cf9d2..346d9bd744058 100644 --- a/recipes/spdlog/all/test_package/conanfile.py +++ b/recipes/spdlog/all/test_package/conanfile.py @@ -19,6 +19,7 @@ def requirements(self): def generate(self): tc = CMakeToolchain(self) tc.variables["SPDLOG_HEADER_ONLY"] = self.dependencies["spdlog"].options.header_only + tc.variables["SPDLOG_USE_STD_FORMAT"] = self.dependencies["spdlog"].options.get_safe("use_std_fmt", False) tc.generate() def build(self): From 49158e20168fbdcbf76ce8c1b6ef1806dc315b04 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 21:48:42 +0900 Subject: [PATCH 1275/1307] (#22935) ssp: add version 1.7.2 * ssp: add version 1.7.0 * update 1.7.2 --- recipes/ssp/all/conandata.yml | 3 +++ recipes/ssp/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/ssp/all/conandata.yml b/recipes/ssp/all/conandata.yml index 7b9246ca69c3c..4382623935239 100644 --- a/recipes/ssp/all/conandata.yml +++ b/recipes/ssp/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.2": + url: "https://github.com/red0124/ssp/archive/refs/tags/v1.7.2.tar.gz" + sha256: "700e05d304fe10f05331d0a963757257632dddc1f9442b826a85efa545c64772" "1.6.2": url: "https://github.com/red0124/ssp/archive/refs/tags/v1.6.2.tar.gz" sha256: "6fa5ae1cd458eae3c1931e8cbcbd8d97956eda37db1388358456ca0743b48b7c" diff --git a/recipes/ssp/config.yml b/recipes/ssp/config.yml index 8664a344402ec..98bae30aec835 100644 --- a/recipes/ssp/config.yml +++ b/recipes/ssp/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.2": + folder: all "1.6.2": folder: all "1.6.1": From 0b852a04bf008c48376e82d0b42349817f85c9ba Mon Sep 17 00:00:00 2001 From: Conan Center Index Bot <54393557+conan-center-bot@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:01:51 +0000 Subject: [PATCH 1276/1307] (#22967) [bot] Update authorized users list (2024-03-04) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add/remove users to Access Request * Add gagoi --------- Co-authored-by: conan-center-bot Co-authored-by: Rubén Rincón Blanco Co-authored-by: Uilian Ries --- .c3i/authorized_users.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.c3i/authorized_users.yml b/.c3i/authorized_users.yml index 874e514f2025b..a09f911a11265 100644 --- a/.c3i/authorized_users.yml +++ b/.c3i/authorized_users.yml @@ -1293,3 +1293,8 @@ authorized_users: - metalMajor - joergbrech - dagon666 +- elvisdukaj +- vok1980 +- camm73 +- crstzh +- gagoi From ed500d9a2feecd319085d305049324fc8bc3a0cf Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Mon, 4 Mar 2024 08:28:56 -0500 Subject: [PATCH 1277/1307] (#22939) tcl: Don't include extensions in package info libs --- recipes/tcl/all/conanfile.py | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/recipes/tcl/all/conanfile.py b/recipes/tcl/all/conanfile.py index 89c037e770f6b..f3487edb47074 100644 --- a/recipes/tcl/all/conanfile.py +++ b/recipes/tcl/all/conanfile.py @@ -223,15 +223,9 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_file_name", "TCL") - libs = [] - libdirs = [] - for root, _, _ in os.walk(os.path.join(self.package_folder, "lib"), topdown=False): - newlibs = collect_libs(self, root) - if newlibs: - libs.extend(newlibs) - libdirs.append(root) - self.cpp_info.libs = libs - self.cpp_info.libdirs = libdirs + # There are other libs in subfolders, but they are only used + # for TCL extensions and should not be linked against. + self.cpp_info.libs = collect_libs(self, os.path.join(self.package_folder, "lib")) if self.settings.os == "Windows": self.cpp_info.system_libs.extend(["ws2_32", "netapi32", "userenv"]) From 8d7b574da67c5a2896e6ca4450548e14f708a3e6 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 22:49:35 +0900 Subject: [PATCH 1278/1307] (#22940) glaze: add version 2.1.9 --- recipes/glaze/all/conandata.yml | 3 +++ recipes/glaze/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/glaze/all/conandata.yml b/recipes/glaze/all/conandata.yml index 6736bccf09f67..b30f919630ddb 100644 --- a/recipes/glaze/all/conandata.yml +++ b/recipes/glaze/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.1.9": + url: "https://github.com/stephenberry/glaze/archive/v2.1.9.tar.gz" + sha256: "678126f068e3c21c2b3d2e1ae914c72296b68610a004cf542ea050946ab06416" "2.1.7": url: "https://github.com/stephenberry/glaze/archive/v2.1.7.tar.gz" sha256: "e110bfc6494ca3a0616beaec214e61a53d4e0bd1489d8f1a45ca6f87594a3502" diff --git a/recipes/glaze/config.yml b/recipes/glaze/config.yml index e31effcfe238e..4e0d084a17dc7 100644 --- a/recipes/glaze/config.yml +++ b/recipes/glaze/config.yml @@ -1,4 +1,6 @@ versions: + "2.1.9": + folder: all "2.1.7": folder: all "2.1.6": From 214f901c63a5ecd04262f899172deb883572bc63 Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 4 Mar 2024 23:08:30 +0900 Subject: [PATCH 1279/1307] (#22943) wyhash: add version final4 --- recipes/wyhash/all/conandata.yml | 3 +++ recipes/wyhash/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/wyhash/all/conandata.yml b/recipes/wyhash/all/conandata.yml index 97f88594e3ec8..585638f0f02fb 100644 --- a/recipes/wyhash/all/conandata.yml +++ b/recipes/wyhash/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "final4": + url: "https://github.com/wangyi-fudan/wyhash/archive/refs/tags/wyhash_final4.tar.gz" + sha256: "a3f2da3acf300fba43f51c8299dae71c4e0774cd6fdd96e264fad5777b12ae3a" "cci.20221102": url: "https://github.com/wangyi-fudan/wyhash/archive/ea3b25e1aef55d90f707c3a292eeb9162e2615d8.tar.gz" sha256: "94c6ca365a1ca39f4327c4e031690441a45a7d9feefbc14f86323d8b42c82cbe" diff --git a/recipes/wyhash/config.yml b/recipes/wyhash/config.yml index eec24bd72e90d..80db1803c9cf5 100644 --- a/recipes/wyhash/config.yml +++ b/recipes/wyhash/config.yml @@ -1,3 +1,5 @@ versions: + "final4": + folder: all "cci.20221102": folder: all From 36f86cd0c3f749414899746a61b51c3ea6f5a5ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20ZANGLA?= <5780920+gagoi@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:28:30 +0100 Subject: [PATCH 1280/1307] (#22948) Bump minizip to 1.3.1 --- recipes/minizip/all/conandata.yml | 5 +++++ recipes/minizip/config.yml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/recipes/minizip/all/conandata.yml b/recipes/minizip/all/conandata.yml index d1d3166de347b..f8773fd58975f 100644 --- a/recipes/minizip/all/conandata.yml +++ b/recipes/minizip/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.3.1": + url: "https://zlib.net/fossils/zlib-1.3.1.tar.gz" + sha256: "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" "1.2.13": url: "https://zlib.net/fossils/zlib-1.2.13.tar.gz" sha256: "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30" @@ -9,6 +12,8 @@ sources: url: "https://zlib.net/fossils/zlib-1.2.11.tar.gz" sha256: "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1" patches: + "1.3.1": + - patch_file: "patches/minizip.patch" "1.2.13": - patch_file: "patches/minizip.patch" "1.2.12": diff --git a/recipes/minizip/config.yml b/recipes/minizip/config.yml index 351c06f68201f..bd5341271951d 100644 --- a/recipes/minizip/config.yml +++ b/recipes/minizip/config.yml @@ -1,4 +1,6 @@ versions: + "1.3.1": + folder: all "1.2.13": folder: all "1.2.12": From 537270a48193d83016a2ed0bf2a260588a0e2b36 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Mon, 4 Mar 2024 16:46:52 +0200 Subject: [PATCH 1281/1307] (#22187) dcmtk: add v3.6.8 * dcmtk: add v3.6.8 * dcmtk: update component list Grepped for `DCMTK_TARGET_LINK_MODULES` and `DCMTK_TARGET_LINK_LIBRARIES` in the sources and updated the list accordingly. * dcmtk: cross-building on macOS is broken * dcmtk: add /Zc:__cplusplus * dcmtk: add nsl to system_libs --- recipes/dcmtk/all/conandata.yml | 10 ++ recipes/dcmtk/all/conanfile.py | 42 +++-- ....6.8-0001-cmake-robust-deps-handling.patch | 158 ++++++++++++++++++ ....6.8-0002-cmake-check-openssl-symbol.patch | 107 ++++++++++++ recipes/dcmtk/config.yml | 2 + 5 files changed, 308 insertions(+), 11 deletions(-) create mode 100644 recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch create mode 100644 recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch diff --git a/recipes/dcmtk/all/conandata.yml b/recipes/dcmtk/all/conandata.yml index fc800b08330e7..7c6f0a7a01b93 100644 --- a/recipes/dcmtk/all/conandata.yml +++ b/recipes/dcmtk/all/conandata.yml @@ -1,8 +1,18 @@ sources: + "3.6.8": + url: "https://dicom.offis.de/download/dcmtk/dcmtk368/dcmtk-3.6.8.tar.gz" + sha256: "232076655503138debf2f624109f1799e539354f186ce4e04b27cf82a9d8720f" "3.6.7": url: "https://dicom.offis.de/download/dcmtk/dcmtk367/dcmtk-3.6.7.tar.gz" sha256: "7c58298e3e8d60232ee6fc8408cfadd14463cc11a3c4ca4c59af5988c7e9710a" patches: + "3.6.8": + - patch_file: "patches/3.6.8-0001-cmake-robust-deps-handling.patch" + patch_description: "CMake: robust discovery with find_package() and use imported targets" + patch_type: conan + - patch_file: "patches/3.6.8-0002-cmake-check-openssl-symbol.patch" + patch_description: "CMake: fix OpenSSL compatibility checks" + patch_type: conan "3.6.7": - patch_file: "patches/3.6.7-0001-cmake-robust-deps-handling.patch" patch_description: "CMake: robust discovery with find_package() and use imported targets" diff --git a/recipes/dcmtk/all/conanfile.py b/recipes/dcmtk/all/conanfile.py index 6980bbc99c18d..1342755427911 100644 --- a/recipes/dcmtk/all/conanfile.py +++ b/recipes/dcmtk/all/conanfile.py @@ -3,10 +3,11 @@ from conan import ConanFile from conan.errors import ConanInvalidConfiguration -from conan.tools.build import cross_building +from conan.tools.build import cross_building, check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, replace_in_file, rmdir, save from conan.tools.microsoft import is_msvc, is_msvc_static_runtime +from conan.tools.scm import Version required_conan_version = ">=1.54.0" @@ -114,10 +115,11 @@ def package_id(self): del self.info.options.external_dictionary def validate(self): - if hasattr(self, "settings_build") and cross_building(self) and \ - self.settings.os == "Macos" and self.settings.arch == "armv8": + if self.settings.compiler.cppstd: + check_min_cppstd(self, 11) + if hasattr(self, "settings_build") and cross_building(self) and self.settings.os == "Macos": # FIXME: Probable issue with flags, build includes header 'mmintrin.h' - raise ConanInvalidConfiguration("Cross building to Macos M1 is not supported (yet)") + raise ConanInvalidConfiguration("Cross building on Macos is not supported (yet)") def source(self): get(self, **self.conan_data["sources"][self.version], strip_root=True) @@ -287,7 +289,7 @@ def tcpwrappers(): def xml2(): return ["libxml2::libxml2"] if self.options.with_libxml2 else [] - return { + components = { "ofstd" : charset_conversion(), "oflog" : ["ofstd"], "dcmdata" : ["ofstd", "oflog"] + zlib(), @@ -314,7 +316,15 @@ def xml2(): "dcmseg" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], "dcmtract": ["dcmiod", "dcmdata", "ofstd", "oflog"], "dcmpmap" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], + "dcmect" : ["dcmfg", "dcmiod", "dcmdata", "ofstd", "oflog"], } + if Version(self.version) >= "3.6.8": + components["dcmxml"] = ["dcmdata", "ofstd", "oflog"] + zlib() + xml2() + components["oficonv"] = [] + components["dcmpstat"] += ["dcmiod"] + components["i2d"] += ["dcmxml"] + components["ofstd"] += ["oficonv"] + return components @property def _dcm_datadictionary_path(self): @@ -326,7 +336,7 @@ def package_info(self): for target_lib, requires in self._dcmtk_components.items(): self.cpp_info.components[target_lib].set_property("cmake_target_name", f"DCMTK::{target_lib}") - # Before 3.6.7, targets were not namespaced, therefore they are also exposed for conveniency + # Before 3.6.7, targets were not namespaced, therefore they are also exposed for convenience self.cpp_info.components[target_lib].set_property("cmake_target_aliases", [target_lib]) self.cpp_info.components[target_lib].libs = [target_lib] @@ -337,14 +347,24 @@ def package_info(self): self.cpp_info.components[target_lib].build_modules["cmake_find_package"] = [self._module_file_rel_path] self.cpp_info.components[target_lib].build_modules["cmake_find_package_multi"] = [self._module_file_rel_path] + if is_msvc(self): + # Required for the __cplusplus check at + # https://github.com/DCMTK/dcmtk/blob/DCMTK-3.6.8/config/include/dcmtk/config/osconfig.h.in#L1489 + self.cpp_info.components[target_lib].cxxflags.append("/Zc:__cplusplus") + + system_libs = [] if self.settings.os == "Windows": - self.cpp_info.components["ofstd"].system_libs.extend([ - "iphlpapi", "ws2_32", "netapi32", "wsock32" - ]) + system_libs = ["iphlpapi", "ws2_32", "netapi32", "wsock32"] elif self.settings.os in ["Linux", "FreeBSD"]: - self.cpp_info.components["ofstd"].system_libs.append("m") + system_libs = ["m", "nsl"] if self.options.with_multithreading: - self.cpp_info.components["ofstd"].system_libs.append("pthread") + system_libs.append("pthread") + if Version(self.version) >= "3.6.8": + system_libs.append("rt") + if Version(self.version) >= "3.6.8": + self.cpp_info.components["oficonv"].system_libs = system_libs + else: + self.cpp_info.components["ofstd"].system_libs = system_libs if self.options.default_dict == "external": dcmdictpath = os.path.join(self._dcm_datadictionary_path, "dcmtk", "dicom.dic") diff --git a/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch b/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch new file mode 100644 index 0000000000000..41e42340ad638 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0001-cmake-robust-deps-handling.patch @@ -0,0 +1,158 @@ +--- CMake/3rdparty.cmake ++++ CMake/3rdparty.cmake +@@ -25,7 +25,7 @@ + if(DCMTK_USE_FIND_PACKAGE) + # Find TIFF + if(DCMTK_WITH_TIFF) +- find_package(TIFF QUIET) ++ find_package(TIFF REQUIRED) + # turn off library if it could not be found + if(NOT TIFF_FOUND) + message(STATUS "Warning: TIFF support will be disabled because libtiff was not found.") +@@ -34,21 +34,13 @@ + else() + set(WITH_LIBTIFF 1) + # libtiff can be compiled with libjpeg support; if available, add libjpeg to library and include path +- find_package(JPEG QUIET) +- if(NOT JPEG_FOUND) +- message(STATUS "Info: DCMTK TIFF support will be enabled (but without JPEG)") +- include_directories(${TIFF_INCLUDE_DIR}) +- else() +- message(STATUS "Info: DCMTK TIFF support will be enabled") +- include_directories(${TIFF_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) +- endif() +- set(LIBTIFF_LIBS ${TIFF_LIBRARY} ${TIFF_EXTRA_LIBS_STATIC} ${JPEG_LIBRARY}) ++ set(LIBTIFF_LIBS TIFF::TIFF) + endif() + endif() + + # Find PNG + if(DCMTK_WITH_PNG) +- find_package(PNG QUIET) ++ find_package(PNG REQUIRED) + if(NOT PNG_FOUND) + set(DCMTK_WITH_PNG OFF CACHE BOOL "" FORCE) + message(STATUS "Warning: PNG support will be disabled because libpng was not found.") +@@ -57,13 +49,13 @@ + message(STATUS "Info: DCMTK PNG support will be enabled") + set(WITH_LIBPNG 1) + include_directories(${PNG_INCLUDE_DIR}) +- set(LIBPNG_LIBS ${PNG_LIBRARY}) ++ set(LIBPNG_LIBS PNG::PNG) + endif() + endif() + + # Find OpenSSL + if(DCMTK_WITH_OPENSSL) +- find_package(OpenSSL QUIET) ++ find_package(OpenSSL REQUIRED) + if(NOT OPENSSL_FOUND) + message(STATUS "Warning: OPENSSL support will be disabled because openssl was not found.") + set(WITH_OPENSSL "") +@@ -75,15 +67,11 @@ + list(APPEND CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}") + CHECK_CXX_SOURCE_COMPILES("extern \"C\" {\n#include \n}\nint main(){\n#if OPENSSL_VERSION_NUMBER < 0x10002000L\n#error OpenSSL too old\n#endif\n}\n" OPENSSL_VERSION_CHECK) + set(CMAKE_REQUIRED_INCLUDES "${TEMP_INCLUDES}") +- if(OPENSSL_VERSION_CHECK) ++ if(1) + message(STATUS "Info: DCMTK OPENSSL support will be enabled") + set(WITH_OPENSSL 1) + include_directories(${OPENSSL_INCLUDE_DIR}) +- set(OPENSSL_LIBS ${OPENSSL_LIBRARIES} ${OPENSSL_EXTRA_LIBS_STATIC}) +- CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) +- if(HAVE_LIBDL) +- set(OPENSSL_LIBS ${OPENSSL_LIBS} dl) +- endif() ++ set(OPENSSL_LIBS OpenSSL::SSL OpenSSL::Crypto) + else() + message(STATUS "Info: DCMTK OPENSSL support will be disabled: DCMTK requires OpenSSL version 1.0.2 or newer") + set(DCMTK_WITH_OPENSSL OFF CACHE BOOL "" FORCE) +@@ -94,7 +82,7 @@ + + # Find libXML2 + if(DCMTK_WITH_XML) +- find_package(LibXml2 QUIET) ++ find_package(LibXml2 REQUIRED MODULE) + if(NOT LIBXML2_FOUND) + message(STATUS "Warning: XML support will be disabled because libxml2 was not found.") + set(WITH_LIBXML "") +@@ -103,13 +91,13 @@ + message(STATUS "Info: DCMTK XML support will be enabled") + set(WITH_LIBXML 1) + include_directories(${LIBXML2_INCLUDE_DIR}) +- set(LIBXML_LIBS ${LIBXML2_LIBRARIES} ${LIBXML2_EXTRA_LIBS_STATIC}) ++ set(LIBXML_LIBS LibXml2::LibXml2) + endif() + endif() + + # Find zlib + if(DCMTK_WITH_ZLIB) +- find_package(ZLIB QUIET) ++ find_package(ZLIB REQUIRED) + if(NOT ZLIB_FOUND) + message(STATUS "Warning: ZLIB support will be disabled because zlib was not found.") + set(WITH_ZLIB "") +@@ -118,7 +106,7 @@ + message(STATUS "Info: DCMTK ZLIB support will be enabled") + set(WITH_ZLIB 1) + include_directories(${ZLIB_INCLUDE_DIRS}) +- set(ZLIB_LIBS ${ZLIB_LIBRARIES}) ++ set(ZLIB_LIBS ZLIB::ZLIB) + endif() + endif() + +@@ -139,11 +127,10 @@ + + # Find libiconv + if(DCMTK_WITH_ICONV) +- find_package(Iconv QUIET) +- find_package(LIBCHARSET QUIET) +- if(ICONV_FOUND) ++ find_package(Iconv REQUIRED) ++ if(Iconv_FOUND) + if(NOT Iconv_IS_BUILT_IN) +- set(LIBICONV_FOUND ${ICONV_FOUND}) ++ set(LIBICONV_FOUND ${Iconv_FOUND}) + else() + message(STATUS "Info: found builtin ICONV support inside the C standard library.") + set(DCMTK_WITH_STDLIBC_ICONV ON CACHE BOOL "" FORCE) +@@ -153,7 +140,7 @@ + set(LIBICONV_SECOND_ARGUMENT_CONST ${ICONV_SECOND_ARGUMENT_IS_CONST} CACHE INTERNAL "${HELPSTRING}") + endif() + endif() +- if(NOT LIBICONV_FOUND OR NOT LIBCHARSET_FOUND) ++ if(NOT LIBICONV_FOUND) + message(STATUS "Warning: ICONV support will be disabled because libiconv was not found. Correct LIBICONV_LIBDIR and LIBICONV_INCLUDE_DIR and re-enable DCMTK_WITH_ICONV.") + set(DCMTK_WITH_ICONV OFF CACHE BOOL "" FORCE) + set(WITH_LIBICONV "") +@@ -161,24 +148,24 @@ + message(STATUS "Info: DCMTK ICONV support will be enabled") + set(WITH_LIBICONV 1) + set(LIBICONV_INCDIR ${LIBICONV_INCLUDE_DIRS} ${Iconv_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${LIBCHARSET_INCLUDE_DIRS}) +- set(LIBICONV_LIBDIR ${LIBICONV_LIBDIR}) +- set(LIBICONV_LIBS ${LIBICONV_LIBRARIES} ${Iconv_LIBRARIES} ${ICONV_LIBRARIES} ${LIBCHARSET_LIBRARY}) ++ set(LIBICONV_LIBDIR ${Iconv_LIB_DIRS}) ++ set(LIBICONV_LIBS Iconv::Iconv) + include_directories(${LIBICONV_INCDIR}) + endif() + endif() + + # Find libwrap + if(DCMTK_WITH_WRAP) +- find_package(WRAP QUIET) +- if(NOT WRAP_FOUND) ++ find_package(tcp-wrappers REQUIRED CONFIG) ++ if(NOT tcp-wrappers_FOUND) + message(STATUS "Warning: WRAP support will be disabled because libwrap was not found.") + set(WITH_TCPWRAPPER "") + set(DCMTK_WITH_WRAP OFF CACHE BOOL "" FORCE) + else() + message(STATUS "Info: DCMTK WRAP support will be enabled") + set(WITH_TCPWRAPPER 1) +- include_directories(${WRAP_INCLUDE_DIRS}) +- set(WRAP_LIBS ${WRAP_LIBRARIES} ${WRAP_EXTRA_LIBS_STATIC}) ++ include_directories(${tcp-wrappers_INCLUDE_DIRS}) ++ set(WRAP_LIBS tcp-wrappers::tcp-wrappers) + endif() + endif() + diff --git a/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch b/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch new file mode 100644 index 0000000000000..a4cd32b6e2766 --- /dev/null +++ b/recipes/dcmtk/all/patches/3.6.8-0002-cmake-check-openssl-symbol.patch @@ -0,0 +1,107 @@ +--- CMake/dcmtkPrepare.cmake ++++ CMake/dcmtkPrepare.cmake +@@ -689,57 +689,59 @@ + CHECK_INCLUDE_FILE_CXX("openssl/provider.h" HAVE_OPENSSL_PROVIDER_H) + + # test presence of functions, constants and macros needed for the dcmtls module +- CHECK_FUNCTIONWITHHEADER_EXISTS("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_dsa_with_SHA512" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_ecdsa_with_SHA3_256" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("NID_sha512_256WithRSAEncryption" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION) +- CHECK_FUNCTIONWITHHEADER_EXISTS("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_curves(0,0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_ecdh_auto(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_max_proto_version(0,0)" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_128_CCM_8_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_AES_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_3_RFC_CHACHA20_POLY1305_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_CTX_get0_cert" "openssl/x509_vfy.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) ++ include(CheckSymbolExists) ++ include(CheckCSourceCompiles) ++ check_symbol_exists("DH_bits" "openssl/dh.h" HAVE_OPENSSL_PROTOTYPE_DH_BITS) ++ check_symbol_exists("EVP_PKEY_RSA_PSS" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS) ++ check_symbol_exists("EVP_PKEY_base_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID) ++ check_symbol_exists("NID_dsa_with_SHA512" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512) ++ check_symbol_exists("NID_ecdsa_with_SHA3_256" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256) ++ check_symbol_exists("NID_sha512_256WithRSAEncryption" "openssl/obj_mac.h" HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION) ++ check_symbol_exists("RAND_egd" "openssl/rand.h" HAVE_OPENSSL_PROTOTYPE_RAND_EGD) ++ check_symbol_exists("SSL_CTX_get0_param" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM) ++ check_symbol_exists("SSL_CTX_get_cert_store" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE) ++ check_symbol_exists("SSL_CTX_get_ciphers" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS) ++ check_symbol_exists("SSL_CTX_set0_tmp_dh_pkey" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set1_curves(0,0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES) ++ check_symbol_exists("SSL_CTX_set1_sigalgs" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_ecdh_auto(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO) ++ check_c_source_compiles("#include \nint main() {SSL_CTX_set_max_proto_version(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION) ++ check_symbol_exists("SSL_CTX_set_security_level" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC) ++ check_symbol_exists("SSL_ERROR_WANT_ASYNC_JOB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB) ++ check_symbol_exists("SSL_ERROR_WANT_CLIENT_HELLO_CB" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB) ++ check_symbol_exists("TLS1_3_RFC_AES_128_CCM_8_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256) ++ check_symbol_exists("TLS1_3_RFC_AES_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384) ++ check_symbol_exists("TLS1_3_RFC_CHACHA20_POLY1305_SHA256" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256) ++ check_symbol_exists("TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8) ++ check_symbol_exists("TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384) ++ check_symbol_exists("TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305) ++ check_symbol_exists("TLS_method" "openssl/ssl.h" HAVE_OPENSSL_PROTOTYPE_TLS_METHOD) ++ check_symbol_exists("X509_STORE_CTX_get0_cert" "openssl/x509_vfy.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT) ++ check_symbol_exists("X509_STORE_get0_param" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM) ++ check_symbol_exists("X509_get_signature_nid" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID) + + # test presence of functions, constants and macros needed for the dcmsign module +- CHECK_FUNCTIONWITHHEADER_EXISTS("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) +- CHECK_FUNCTIONWITHHEADER_EXISTS("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) +- CHECK_FUNCTIONWITHHEADER_EXISTS("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) +- CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) +- CHECK_FUNCTIONWITHHEADER_EXISTS("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) ++ check_symbol_exists("ASN1_STRING_get0_data" "openssl/asn1.h" HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA) ++ check_symbol_exists("EVP_PKEY_get0_EC_KEY" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY) ++ check_symbol_exists("EVP_PKEY_get_group_name" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME) ++ check_symbol_exists("EVP_PKEY_id" "openssl/evp.h" HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID) ++ check_symbol_exists("OSSL_PROVIDER_load" "openssl/provider.h" HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD) ++ check_symbol_exists("TS_STATUS_INFO_get0_failure_info" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO) ++ check_symbol_exists("TS_STATUS_INFO_get0_status" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS) ++ check_symbol_exists("TS_STATUS_INFO_get0_text" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT) ++ check_c_source_compiles("#include \nint main() {TS_VERIFY_CTS_set_certs(0,0); return 0;}" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS) ++ check_symbol_exists("TS_VERIFY_CTX_set_data" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA) ++ check_symbol_exists("TS_VERIFY_CTX_set_flags" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS) ++ check_symbol_exists("TS_VERIFY_CTX_set_store" "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE) ++ check_symbol_exists("X509_get0_notAfter" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER) ++ check_symbol_exists("X509_get0_notBefore" "openssl/x509.h" HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE) + + # check if type EVP_MD_CTX is defined as typedef for "struct evp_md_ctx_st" (new) or "struct env_md_ctx_st" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("struct evp_md_ctx_st *a; EVP_MD_CTX *b=a" "openssl/evp.h" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) ++ check_c_source_compiles("#include \nint main() {struct evp_md_ctx_st *a; EVP_MD_CTX *b=a; return 0;}" HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX) + + # check if the first parameter passed to X509_ALGOR_get0() should be "const ASN1_OBJECT **" (new) or "ASN1_OBJECT **" (old) +- CHECK_FUNCTIONWITHHEADER_EXISTS("const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)" "openssl/x509.h" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) ++ check_c_source_compiles("#include \nint main() {const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0); return 0;}" HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM) + + # restore previous value of CMAKE_REQUIRED_LIBRARIES + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_TEMP}) diff --git a/recipes/dcmtk/config.yml b/recipes/dcmtk/config.yml index 8e28175b23370..b11effedf16d6 100644 --- a/recipes/dcmtk/config.yml +++ b/recipes/dcmtk/config.yml @@ -1,3 +1,5 @@ versions: + "3.6.8": + folder: "all" "3.6.7": folder: "all" From 13bc0dd24c3b17194d7c90d939529e64896b47e6 Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Mon, 4 Mar 2024 16:13:35 +0100 Subject: [PATCH 1282/1307] (#22835) Meta qt6 PR * qt: add QT_NO_DEBUG define in release build * fix condition for QT_NO_DEBUG define * Qt6: add d3d12 system lib on Windows Qt 6.6.0 added `d3d12` to the list of system libraries on Windows it links against: https://github.com/qt/qtbase/commit/84fb0de413ec574aab778d863c56e0d9a7f7ef6e#diff-2d8b127aed7a6123be24b80481b760ec4e9cc251e19d668d936dc09e87147a0e This is currently breaking the build in #18794. * Qt6: make d3d12 conditional on Qt version d3d12.dll was added with Windows 10. Don't want to potentially limit the range of supported OS versions unnecessarily. * Qt6: update all system dependency lists * Fix a typo * qt6: add tools macros fixes conan-io/conan-center-index#22530 * require explicitely gstreamer * bump deps * fix gstreamer consumption * fix cmake_find_mode of deps * Qt6: minor formatting fixes * qt 6.6.2 generated with: conan config install https://github.com/conan-io/conan-extensions.git conan cci:upgrade-qt-recipe 6.6.2 * fix patching * trigger CI without conflict Signed-off-by: Uilian Ries --------- Signed-off-by: Uilian Ries Co-authored-by: Alex Maystrenko Co-authored-by: Martin Valgur Co-authored-by: Uilian Ries --- recipes/qt/6.x.x/conandata.yml | 28 +++ recipes/qt/6.x.x/conanfile.py | 224 +++++++++++++----- recipes/qt/6.x.x/qtmodules6.6.2.conf | 338 +++++++++++++++++++++++++++ recipes/qt/config.yml | 2 + 4 files changed, 538 insertions(+), 54 deletions(-) create mode 100644 recipes/qt/6.x.x/qtmodules6.6.2.conf diff --git a/recipes/qt/6.x.x/conandata.yml b/recipes/qt/6.x.x/conandata.yml index 689f7e5a3e8eb..7d80016fb1b78 100644 --- a/recipes/qt/6.x.x/conandata.yml +++ b/recipes/qt/6.x.x/conandata.yml @@ -1,4 +1,26 @@ sources: + "6.6.2": + url: + - "https://download.qt.io/official_releases/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://download.qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.20i.com/pub/qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.nluug.nl/languages/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirror.netcologne.de/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qt-mirror.dannhauer.de/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.fau.de/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.dotsrc.org/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.acc.umu.se/mirror/qt.io/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://www.nic.funet.fi/pub/mirrors/download.qt-project.org/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qtproject.mirror.liquidtelecom.com/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://qt.mirror.constant.com/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.sau.edu.cn/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.cloud.tencent.com/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://mirrors.sjtug.sjtu.edu.cn/qt/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.jaist.ac.jp/pub/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + - "https://ftp.yz.yamagata-u.ac.jp/pub/qtproject/archive/qt/6.6/6.6.2/single/qt-everywhere-src-6.6.2.tar.xz" + sha256: "3c1e42b3073ade1f7adbf06863c01e2c59521b7cc2349df2f74ecd7ebfcb922d" "6.6.1": url: - "https://download.qt.io/official_releases/qt/6.6/6.6.1/single/qt-everywhere-src-6.6.1.tar.xz" @@ -63,6 +85,12 @@ sources: - "https://mirrors.ustc.edu.cn/qtproject/archive/qt/6.3/6.3.2/single/qt-everywhere-src-6.3.2.tar.xz" sha256: "b90524f686224a0e5a945c1d65307e16a375348dbe275c9ac11de171fe31374a" patches: + "6.6.2": + - "base_path": "qtwebengine" + "patch_description": "Workaround for too long .rps file name" + "patch_file": "patches/c72097e_6.6.0.diff" + "patch_source": "https://codereview.qt-project.org/c/yocto/meta-qt5/+/192172" + "patch_type": "bugfix" "6.6.1": - "base_path": "qtwebengine" "patch_description": "Workaround for too long .rps file name" diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index e785559243ce4..2d1eda3fcc0bc 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -19,7 +19,7 @@ class QtConan(ConanFile): _submodules = ["qtsvg", "qtdeclarative", "qttools", "qttranslations", "qtdoc", - "qtwayland","qtquickcontrols2", "qtquicktimeline", "qtquick3d", "qtshadertools", "qt5compat", + "qtwayland", "qtquickcontrols2", "qtquicktimeline", "qtquick3d", "qtshadertools", "qt5compat", "qtactiveqt", "qtcharts", "qtdatavis3d", "qtlottie", "qtscxml", "qtvirtualkeyboard", "qt3d", "qtimageformats", "qtnetworkauth", "qtcoap", "qtmqtt", "qtopcua", "qtmultimedia", "qtlocation", "qtsensors", "qtconnectivity", "qtserialbus", @@ -151,7 +151,6 @@ def _get_module_tree(self): if config.has_option(section, "depends"): self._submodules_tree[modulename]["depends"] = [str(i) for i in config.get(section, "depends").split()] - return self._submodules_tree def export_sources(self): @@ -573,7 +572,7 @@ def generate(self): tc.variables["FEATURE_framework"] = "OFF" elif self.settings.os == "Android": tc.variables["CMAKE_ANDROID_NATIVE_API_LEVEL"] = self.settings.os.api_level - tc.variables["ANDROID_ABI"] = {"armv7": "armeabi-v7a", + tc.variables["ANDROID_ABI"] = {"armv7": "armeabi-v7a", "armv8": "arm64-v8a", "x86": "x86", "x86_64": "x86_64"}.get(str(self.settings.arch)) @@ -596,7 +595,7 @@ def generate(self): tc.variables["FEATURE_pkg_config"] = "ON" if self.settings.compiler == "gcc" and self.settings.build_type == "Debug" and not self.options.shared: - tc.variables["BUILD_WITH_PCH"]= "OFF" # disabling PCH to save disk space + tc.variables["BUILD_WITH_PCH"] = "OFF" # disabling PCH to save disk space if self.settings.os == "Windows": tc.variables["HOST_PERL"] = self.dependencies.build["strawberryperl"].conf_info.get("user.strawberryperl:perl", check_type=str) @@ -611,11 +610,11 @@ def generate(self): 14: "FEATURE_cxx14", 17: "FEATURE_cxx17", 20: "FEATURE_cxx20" - } + } if Version(self.version) >= "6.5.0": cpp_std_map[23] = "FEATURE_cxx2b" - for std,feature in cpp_std_map.items(): + for std, feature in cpp_std_map.items(): tc.variables[feature] = "ON" if int(current_cpp_std) >= std else "OFF" tc.variables["QT_USE_VCPKG"] = False @@ -670,7 +669,10 @@ def source(self): # use official variable name https://cmake.org/cmake/help/latest/module/FindFontconfig.html replace_in_file(self, os.path.join(self.source_folder, "qtbase", "src", "gui", "configure.cmake"), "FONTCONFIG_FOUND", "Fontconfig_FOUND") - replace_in_file(self, os.path.join(self.source_folder, "qtbase", "cmake", "QtAutoDetect.cmake") , "qt_auto_detect_vcpkg()", "# qt_auto_detect_vcpkg()") + replace_in_file(self, + os.path.join(self.source_folder, "qtbase", "cmake", "QtAutoDetect.cmake" if Version(self.version) < "6.6.2" else "QtAutoDetectHelpers.cmake"), + "qt_auto_detect_vcpkg()", + "# qt_auto_detect_vcpkg()") def _xplatform(self): if self.settings.os == "Linux": @@ -772,8 +774,8 @@ def _xplatform(self): def build(self): if self.settings.os == "Macos": - save(self, ".qmake.stash" , "") - save(self, ".qmake.super" , "") + save(self, ".qmake.stash", "") + save(self, ".qmake.super", "") cmake = CMake(self) cmake.configure() cmake.build() @@ -791,8 +793,8 @@ def _cmake_qt6_private_file(self, module): def package(self): if self.settings.os == "Macos": - save(self, ".qmake.stash" , "") - save(self, ".qmake.super" , "") + save(self, ".qmake.stash", "") + save(self, ".qmake.super", "") cmake = CMake(self) cmake.install() copy(self, "*LICENSE*", self.source_folder, os.path.join(self.package_folder, "licenses"), @@ -809,10 +811,15 @@ def package(self): os.remove(os.path.join(self.package_folder, "bin", "qt-cmake-private-install.cmake")) for m in os.listdir(os.path.join(self.package_folder, "lib", "cmake")): - module = os.path.join(self.package_folder, "lib", "cmake", m, f"{m}Macros.cmake") - helper_modules = glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")) - if not os.path.isfile(module) and not helper_modules: - rmdir(self, os.path.join(self.package_folder, "lib", "cmake", m)) + if os.path.isfile(os.path.join(self.package_folder, "lib", "cmake", m, f"{m}Macros.cmake")): + continue + if glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): + continue + if m.endswith("Tools"): + if os.path.isfile(os.path.join(self.package_folder, "lib", "cmake", m, f"{m[:-5]}Macros.cmake")): + continue + + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", m)) extension = "" if self.settings.os == "Windows": @@ -1012,6 +1019,8 @@ def _create_plugin(pluginname, libname, plugintype, requires): ] self.cpp_info.components["qtCore"].set_property("pkg_config_custom_content", "\n".join(pkg_config_vars)) + if self.settings.build_type != "Debug": + self.cpp_info.components['qtCore'].defines.append('QT_NO_DEBUG') if self.settings.os == "Windows": self.cpp_info.components["qtCore"].system_libs.append("authz") if is_msvc(self): @@ -1025,6 +1034,12 @@ def _create_plugin(pluginname, libname, plugintype, requires): self.cpp_info.components["qtPlatform"].includedirs = [os.path.join("res", "archdatadir", "mkspecs", self._xplatform())] if self.options.with_dbus: _create_module("DBus", ["dbus::dbus"]) + if self.settings.os == "Windows": + # https://github.com/qt/qtbase/blob/v6.6.1/src/dbus/CMakeLists.txt#L71-L77 + self.cpp_info.components["qtDBus"].system_libs.append("advapi32") + self.cpp_info.components["qtDBus"].system_libs.append("netapi32") + self.cpp_info.components["qtDBus"].system_libs.append("user32") + self.cpp_info.components["qtDBus"].system_libs.append("ws2_32") if self.options.gui: gui_reqs = [] if self.options.with_dbus: @@ -1059,27 +1074,69 @@ def _create_plugin(pluginname, libname, plugintype, requires): _add_build_module("qtGui", self._cmake_qt6_private_file("Gui")) if self.settings.os == "Windows": - self.cpp_info.components["qtGui"].system_libs = ["advapi32", "gdi32", "ole32", "shell32", "user32", "d3d11", - "dxgi", "dxguid", "d2d1", "dwrite", "d3d9", "setupapi", "SHCore"] + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L419-L429 + self.cpp_info.components["qtGui"].system_libs += [ + "advapi32", "gdi32", "ole32", "shell32", "user32", "d3d11", "dxgi", "dxguid" + ] + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L729 + self.cpp_info.components["qtGui"].system_libs.append("d2d1") + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L732-L742 + self.cpp_info.components["qtGui"].system_libs.append("dwrite") + if self.settings.compiler == "gcc": + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L746 + self.cpp_info.components["qtGui"].system_libs.append("uuid") + if Version(self.version) >= "6.6.0": + # https://github.com/qt/qtbase/blob/v6.6.0/src/gui/CMakeLists.txt#L428 + self.cpp_info.components["qtGui"].system_libs.append("d3d12") + if Version(self.version) >= "6.7.0": + # https://github.com/qt/qtbase/blob/v6.7.0-beta1/src/gui/CMakeLists.txt#L430 + self.cpp_info.components["qtGui"].system_libs.append("uxtheme") if self.settings.compiler == "gcc": self.cpp_info.components["qtGui"].system_libs.append("uuid") + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/direct2d/CMakeLists.txt#L60-L82 + self.cpp_info.components["qtGui"].system_libs += [ + "advapi32", "d2d1", "d3d11", "dwmapi", "dwrite", "dxgi", "dxguid", "gdi32", "imm32", "ole32", + "oleaut32", "setupapi", "shell32", "shlwapi", "user32", "version", "winmm", "winspool", + "wtsapi32", "shcore", "comdlg32", "d3d9", "runtimeobject" + ] _create_plugin("QWindowsIntegrationPlugin", "qwindows", "platforms", ["Core", "Gui"]) _create_plugin("QWindowsVistaStylePlugin", "qwindowsvistastyle", "styles", ["Core", "Gui"]) - self.cpp_info.components["qtQWindowsIntegrationPlugin"].system_libs = ["advapi32", "dwmapi", "gdi32", "imm32", - "ole32", "oleaut32", "shell32", "shlwapi", "user32", "winmm", "winspool", "wtsapi32"] + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/windows/CMakeLists.txt#L53-L69 + self.cpp_info.components["qtQWindowsIntegrationPlugin"].system_libs += [ + "advapi32", "dwmapi", "gdi32", "imm32", "ole32", "oleaut32", "setupapi", "shell32", "shlwapi", + "user32", "winmm", "winspool", "wtsapi32", "shcore", "comdlg32", "d3d9", "runtimeobject" + ] elif self.settings.os == "Android": _create_plugin("QAndroidIntegrationPlugin", "qtforandroid", "platforms", ["Core", "Gui"]) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/android/CMakeLists.txt#L68-L70 self.cpp_info.components["qtQAndroidIntegrationPlugin"].system_libs = ["android", "jnigraphics"] - elif self.settings.os == "Macos": - _create_plugin("QCocoaIntegrationPlugin", "qcocoa", "platforms", ["Core", "Gui"]) - self.cpp_info.components["QCocoaIntegrationPlugin"].frameworks = ["AppKit", "Carbon", "CoreServices", "CoreVideo", - "IOKit", "IOSurface", "Metal", "QuartzCore"] - elif self.settings.os in ["iOS", "tvOS"]: - _create_plugin("QIOSIntegrationPlugin", "qios", "platforms", []) - self.cpp_info.components["QIOSIntegrationPlugin"].frameworks = ["AudioToolbox", "Foundation", "Metal", - "QuartzCore", "UIKit"] - elif self.settings.os == "watchOS": - _create_plugin("QMinimalIntegrationPlugin", "qminimal", "platforms", []) + elif is_apple_os(self): + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L388-L394 + self.cpp_info.components["qtGui"].frameworks = ["CoreFoundation", "CoreGraphics", "CoreText", "Foundation", "ImageIO"] + if self.options.get_safe("opengl", "no") != "no": + # https://github.com/qt/qtbase/commit/2ed63e587eefb246dba9e69aa01fdb2abb2def13 + self.cpp_info.components["qtGui"].frameworks.append("AGL") + if self.settings.os == "Macos": + # https://github.com/qt/qtbase/blob/v6.6.1/src/gui/CMakeLists.txt#L362-L370 + self.cpp_info.components["qtGui"].frameworks += ["AppKit", "Carbon"] + _create_plugin("QCocoaIntegrationPlugin", "qcocoa", "platforms", ["Core", "Gui"]) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/cocoa/CMakeLists.txt#L51-L58 + self.cpp_info.components["QCocoaIntegrationPlugin"].frameworks = [ + "AppKit", "Carbon", "CoreServices", "CoreVideo", "IOKit", "IOSurface", "Metal", "QuartzCore" + ] + elif self.settings.os in ["iOS", "tvOS"]: + _create_plugin("QIOSIntegrationPlugin", "qios", "platforms", []) + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/ios/CMakeLists.txt#L32-L37 + self.cpp_info.components["QIOSIntegrationPlugin"].frameworks = [ + "AudioToolbox", "Foundation", "Metal", "QuartzCore", "UIKit", "CoreGraphics" + ] + if self.settings.os != "tvOS": + # https://github.com/qt/qtbase/blob/v6.6.1/src/plugins/platforms/ios/CMakeLists.txt#L66-L68 + self.cpp_info.components["QIOSIntegrationPlugin"].frameworks += [ + "AssetsLibrary", "UniformTypeIdentifiers", "Photos", + ] + elif self.settings.os == "watchOS": + _create_plugin("QMinimalIntegrationPlugin", "qminimal", "platforms", []) elif self.settings.os == "Emscripten": _create_plugin("QWasmIntegrationPlugin", "qwasm", "platforms", ["Core", "Gui"]) elif self.options.get_safe("with_x11", False): @@ -1101,8 +1158,11 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.with_pq: _create_plugin("QPSQLDriverPlugin", "qsqlpsql", "sqldrivers", ["libpq::libpq"]) if self.options.with_odbc: + _create_plugin("QODBCDriverPlugin", "qsqlodbc", "sqldrivers", []) if self.settings.os != "Windows": - _create_plugin("QODBCDriverPlugin", "qsqlodbc", "sqldrivers", ["odbc::odbc"]) + self.cpp_info.components["QODBCDriverPlugin"].requires.append("odbc::odbc") + else: + self.cpp_info.components["QODBCDriverPlugin"].system_libs.append("odbc32") networkReqs = [] if self.options.openssl: networkReqs.append("openssl::openssl") @@ -1116,6 +1176,11 @@ def _create_plugin(pluginname, libname, plugintype, requires): if self.options.widgets: _create_module("Widgets", ["Gui"]) _add_build_module("qtWidgets", self._cmake_qt6_private_file("Widgets")) + if self.settings.os == "Windows": + # https://github.com/qt/qtbase/blob/v6.6.1/src/widgets/CMakeLists.txt#L316-L321 + self.cpp_info.components["qtWidgets"].system_libs += [ + "dwmapi", "shell32", "uxtheme", + ] if self.options.gui and self.options.widgets: _create_module("PrintSupport", ["Gui", "Widgets"]) if self.options.get_safe("opengl", "no") != "no" and self.options.gui: @@ -1167,7 +1232,7 @@ def _create_plugin(pluginname, libname, plugintype, requires): _create_module("Quick3DRuntimeRender", ["Gui", "Quick", "Quick3DAssetImport", "Quick3DUtils", "ShaderTools"]) _create_module("Quick3D", ["Gui", "Qml", "Quick", "Quick3DRuntimeRender"]) - if (self.options.get_safe("qtquickcontrols2") or self.options.qtdeclarative ) and qt_quick_enabled: + if (self.options.get_safe("qtquickcontrols2") or self.options.qtdeclarative) and qt_quick_enabled: _create_module("QuickControls2", ["Gui", "Quick"]) _create_module("QuickTemplates2", ["Gui", "Quick"]) @@ -1357,28 +1422,72 @@ def _create_plugin(pluginname, libname, plugintype, requires): if not self.options.shared: if self.settings.os == "Windows": - self.cpp_info.components["qtCore"].system_libs.append("version") # qtcore requires "GetFileVersionInfoW" and "VerQueryValueW" which are in "Version.lib" library - self.cpp_info.components["qtCore"].system_libs.append("winmm") # qtcore requires "__imp_timeSetEvent" which is in "Winmm.lib" library - self.cpp_info.components["qtCore"].system_libs.append("netapi32") # qtcore requires "NetApiBufferFree" which is in "Netapi32.lib" library - self.cpp_info.components["qtCore"].system_libs.append("userenv") # qtcore requires "__imp_GetUserProfileDirectoryW " which is in "UserEnv.Lib" library - self.cpp_info.components["qtCore"].system_libs.append("ws2_32") # qtcore requires "WSAStartup " which is in "Ws2_32.Lib" library - self.cpp_info.components["qtNetwork"].system_libs.append("dnsapi") # qtnetwork from qtbase requires "DnsFree" which is in "Dnsapi.lib" library + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L527-L541 + self.cpp_info.components["qtCore"].system_libs.append("advapi32") + self.cpp_info.components["qtCore"].system_libs.append("authz") + self.cpp_info.components["qtCore"].system_libs.append("kernel32") + self.cpp_info.components["qtCore"].system_libs.append("netapi32") + self.cpp_info.components["qtCore"].system_libs.append("ole32") + self.cpp_info.components["qtCore"].system_libs.append("shell32") + self.cpp_info.components["qtCore"].system_libs.append("user32") + self.cpp_info.components["qtCore"].system_libs.append("uuid") + self.cpp_info.components["qtCore"].system_libs.append("version") + self.cpp_info.components["qtCore"].system_libs.append("winmm") + self.cpp_info.components["qtCore"].system_libs.append("ws2_32") + self.cpp_info.components["qtCore"].system_libs.append("mpr") + self.cpp_info.components["qtCore"].system_libs.append("userenv") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L196-L200 + self.cpp_info.components["qtNetwork"].system_libs.append("advapi32") + self.cpp_info.components["qtNetwork"].system_libs.append("dnsapi") self.cpp_info.components["qtNetwork"].system_libs.append("iphlpapi") - self.cpp_info.components["qtNetwork"].system_libs.extend(["winhttp", "secur32"]) - + self.cpp_info.components["qtNetwork"].system_libs.append("secur32") + self.cpp_info.components["qtNetwork"].system_libs.append("winhttp") + # https://github.com/qt/qtbase/blob/v6.6.1/src/printsupport/CMakeLists.txt#L70-L75 + self.cpp_info.components["qtPrintSupport"].system_libs.append("gdi32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("user32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("comdlg32") + self.cpp_info.components["qtPrintSupport"].system_libs.append("winspool") - if self.settings.os == "Macos": - self.cpp_info.components["qtCore"].frameworks.append("IOKit") # qtcore requires "_IORegistryEntryCreateCFProperty", "_IOServiceGetMatchingService" and much more which are in "IOKit" framework - self.cpp_info.components["qtCore"].frameworks.append("Cocoa") # qtcore requires "_OBJC_CLASS_$_NSApplication" and more, which are in "Cocoa" framework - self.cpp_info.components["qtCore"].frameworks.append("Security") # qtcore requires "_SecRequirementCreateWithString" and more, which are in "Security" framework + if is_apple_os(self): + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L580-L584 + self.cpp_info.components["qtCore"].frameworks.append("CoreFoundation") + self.cpp_info.components["qtCore"].frameworks.append("Foundation") + self.cpp_info.components["qtCore"].frameworks.append("IOKit") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L205-L214 + self.cpp_info.components["qtNetwork"].frameworks.append("CFNetwork") + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L216-L221 + # qtcore requires "_OBJC_CLASS_$_NSApplication" and more, which are in "Cocoa" framework + self.cpp_info.components["qtCore"].frameworks.append("Cocoa") self.cpp_info.components["qtNetwork"].system_libs.append("resolv") - self.cpp_info.components["qtNetwork"].frameworks.append("SystemConfiguration") if self.options.with_gssapi: + # https://github.com/qt/qtbase/blob/v6.6.1/src/network/CMakeLists.txt#L250C56-L253 self.cpp_info.components["qtNetwork"].frameworks.append("GSS") if self.options.gui and self.options.widgets: + # https://github.com/qt/qtbase/blob/v6.6.1/src/printsupport/CMakeLists.txt#L52-L63 self.cpp_info.components["qtPrintSupport"].system_libs.append("cups") + self.cpp_info.components["qtPrintSupport"].frameworks.append("ApplicationServices") + if self.settings.os == "Macos": + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L598-L606 + self.cpp_info.components["qtCore"].frameworks.append("AppKit") + self.cpp_info.components["qtCore"].frameworks.append("ApplicationServices") + self.cpp_info.components["qtCore"].frameworks.append("CoreServices") + self.cpp_info.components["qtCore"].frameworks.append("CoreServices") + self.cpp_info.components["qtCore"].frameworks.append("Security") + self.cpp_info.components["qtCore"].frameworks.append("DiskArbitration") + else: + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L969-L972 + self.cpp_info.components["qtCore"].frameworks.append("MobileCoreServices") + if self.settings.os not in ["iOS", "tvOS"]: + self.cpp_info.components["qtNetwork"].frameworks.append("CoreServices") + self.cpp_info.components["qtNetwork"].frameworks.append("SystemConfiguration") + else: + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L1074-L1077 + self.cpp_info.components["qtCore"].frameworks.append("UIKit") + if self.settings.os == "watchOS": + # https://github.com/qt/qtbase/blob/v6.6.1/src/corelib/CMakeLists.txt#L1079-L1082 + self.cpp_info.components["qtCore"].frameworks.append("WatchKit") - self.cpp_info.components["qtCore"].builddirs.append(os.path.join("res","archdatadir","bin")) + self.cpp_info.components["qtCore"].builddirs.append(os.path.join("res", "archdatadir", "bin")) _add_build_module("qtCore", self._cmake_executables_file) _add_build_module("qtCore", self._cmake_qt6_private_file("Core")) if self.settings.os in ["Windows", "iOS"]: @@ -1389,17 +1498,24 @@ def _create_plugin(pluginname, libname, plugintype, requires): if component_name == "qt": component_name = "qtCore" - module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") - if os.path.isfile(module): - _add_build_module(component_name, module) + if component_name in self.cpp_info.components: + module = os.path.join("lib", "cmake", m, f"{m}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) + + module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") + if os.path.isfile(module): + _add_build_module(component_name, module) - module = os.path.join("lib", "cmake", m, f"{m}ConfigExtras.cmake") - if os.path.isfile(module): - _add_build_module(component_name, module) + for helper_modules in glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): + _add_build_module(component_name, helper_modules) + self.cpp_info.components[component_name].builddirs.append(os.path.join("lib", "cmake", m)) - for helper_modules in glob.glob(os.path.join(self.package_folder, "lib", "cmake", m, "QtPublic*Helpers.cmake")): - _add_build_module(component_name, helper_modules) - self.cpp_info.components[component_name].builddirs.append(os.path.join("lib", "cmake", m)) + elif component_name.endswith("Tools") and component_name[:-5] in self.cpp_info.components: + module = os.path.join("lib", "cmake", f"{m}", f"{m[:-5]}Macros.cmake") + if os.path.isfile(module): + _add_build_module(component_name[:-5], module) + self.cpp_info.components[component_name[:-5]].builddirs.append(os.path.join("lib", "cmake", m)) objects_dirs = glob.glob(os.path.join(self.package_folder, "lib", "objects-*/")) for object_dir in objects_dirs: diff --git a/recipes/qt/6.x.x/qtmodules6.6.2.conf b/recipes/qt/6.x.x/qtmodules6.6.2.conf new file mode 100644 index 0000000000000..1ad0f474e5053 --- /dev/null +++ b/recipes/qt/6.x.x/qtmodules6.6.2.conf @@ -0,0 +1,338 @@ +[submodule "qtbase"] + path = qtbase + url = ../qtbase.git + branch = 6.6.2 + status = essential +[submodule "qtsvg"] + depends = qtbase + path = qtsvg + url = ../qtsvg.git + branch = 6.6.2 + status = addon +[submodule "qtdeclarative"] + depends = qtbase + recommends = qtimageformats qtshadertools qtsvg qtlanguageserver + path = qtdeclarative + url = ../qtdeclarative.git + branch = 6.6.2 + status = essential +[submodule "qtactiveqt"] + depends = qtbase + path = qtactiveqt + url = ../qtactiveqt.git + branch = 6.6.2 + status = addon +[submodule "qtmultimedia"] + depends = qtbase qtshadertools + recommends = qtdeclarative qtquick3d + path = qtmultimedia + url = ../qtmultimedia.git + branch = 6.6.2 + status = addon +[submodule "qttools"] + depends = qtbase + recommends = qtdeclarative qtactiveqt + path = qttools + url = ../qttools.git + branch = 6.6.2 + status = essential +[submodule "qtxmlpatterns"] + depends = qtbase + recommends = qtdeclarative + path = qtxmlpatterns + url = ../qtxmlpatterns.git + branch = dev + status = ignore +[submodule "qttranslations"] + depends = qttools + path = qttranslations + url = ../qttranslations.git + branch = 6.6.2 + status = essential + priority = 30 +[submodule "qtdoc"] + depends = qtdeclarative qttools + recommends = qtmultimedia qtshadertools qtwebengine + path = qtdoc + url = ../qtdoc.git + branch = 6.6.2 + status = essential + priority = 40 +[submodule "qtrepotools"] + path = qtrepotools + url = ../qtrepotools.git + branch = master + status = essential + project = - +[submodule "qtqa"] + depends = qtbase + path = qtqa + url = ../qtqa.git + branch = dev + status = essential + priority = 50 +[submodule "qtlocation"] + depends = qtbase qtpositioning + recommends = qtdeclarative + path = qtlocation + url = ../qtlocation.git + branch = 6.6.2 + status = preview +[submodule "qtpositioning"] + depends = qtbase + recommends = qtdeclarative qtserialport + path = qtpositioning + url = ../qtpositioning.git + branch = 6.6.2 + status = addon +[submodule "qtsensors"] + depends = qtbase + recommends = qtdeclarative + path = qtsensors + url = ../qtsensors.git + branch = 6.6.2 + status = addon +[submodule "qtsystems"] + depends = qtbase + recommends = qtdeclarative + path = qtsystems + url = ../qtsystems.git + branch = dev + status = ignore +[submodule "qtfeedback"] + depends = qtdeclarative + recommends = qtmultimedia + path = qtfeedback + url = ../qtfeedback.git + branch = master + status = ignore +[submodule "qtpim"] + depends = qtdeclarative + path = qtpim + url = ../qtpim.git + branch = dev + status = ignore +[submodule "qtconnectivity"] + depends = qtbase + recommends = qtdeclarative + path = qtconnectivity + url = ../qtconnectivity.git + branch = 6.6.2 + status = addon +[submodule "qtwayland"] + depends = qtbase + recommends = qtdeclarative + path = qtwayland + url = ../qtwayland.git + branch = 6.6.2 + status = addon +[submodule "qt3d"] + depends = qtbase + recommends = qtdeclarative qtshadertools qtmultimedia + path = qt3d + url = ../qt3d.git + branch = 6.6.2 + status = addon +[submodule "qtimageformats"] + depends = qtbase + path = qtimageformats + url = ../qtimageformats.git + branch = 6.6.2 + status = addon +[submodule "qtserialbus"] + depends = qtbase + recommends = qtserialport + path = qtserialbus + url = ../qtserialbus.git + branch = 6.6.2 + status = addon +[submodule "qtserialport"] + depends = qtbase + path = qtserialport + url = ../qtserialport.git + branch = 6.6.2 + status = addon +[submodule "qtwebsockets"] + depends = qtbase + recommends = qtdeclarative + path = qtwebsockets + url = ../qtwebsockets.git + branch = 6.6.2 + status = addon +[submodule "qtwebchannel"] + depends = qtbase + recommends = qtdeclarative qtwebsockets + path = qtwebchannel + url = ../qtwebchannel.git + branch = 6.6.2 + status = addon +[submodule "qtwebengine"] + depends = qtdeclarative + recommends = qtwebchannel qttools qtpositioning + path = qtwebengine + url = ../qtwebengine.git + branch = 6.6.2 + status = addon + priority = 10 +[submodule "qtcanvas3d"] + depends = qtdeclarative + path = qtcanvas3d + url = ../qtcanvas3d.git + branch = dev + status = ignore +[submodule "qtwebview"] + depends = qtdeclarative + recommends = qtwebengine + path = qtwebview + url = ../qtwebview.git + branch = 6.6.2 + status = addon +[submodule "qtcharts"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtcharts + url = ../qtcharts.git + branch = 6.6.2 + status = addon +[submodule "qtdatavis3d"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtdatavis3d + url = ../qtdatavis3d.git + branch = 6.6.2 + status = addon +[submodule "qtvirtualkeyboard"] + depends = qtbase qtdeclarative qtsvg + recommends = qtmultimedia + path = qtvirtualkeyboard + url = ../qtvirtualkeyboard.git + branch = 6.6.2 + status = addon +[submodule "qtgamepad"] + depends = qtbase + recommends = qtdeclarative + path = qtgamepad + url = ../qtgamepad.git + branch = dev + status = ignore +[submodule "qtscxml"] + depends = qtbase qtdeclarative + path = qtscxml + url = ../qtscxml.git + branch = 6.6.2 + status = addon +[submodule "qtspeech"] + depends = qtbase + recommends = qtdeclarative qtmultimedia + path = qtspeech + url = ../qtspeech.git + branch = 6.6.2 + status = addon +[submodule "qtnetworkauth"] + depends = qtbase + path = qtnetworkauth + url = ../qtnetworkauth.git + branch = 6.6.2 + status = addon +[submodule "qtremoteobjects"] + depends = qtbase + recommends = qtdeclarative + path = qtremoteobjects + url = ../qtremoteobjects.git + branch = 6.6.2 + status = addon +[submodule "qtwebglplugin"] + depends = qtbase qtwebsockets + recommends = qtdeclarative + path = qtwebglplugin + url = ../qtwebglplugin.git + branch = dev + status = ignore +[submodule "qtlottie"] + depends = qtbase qtdeclarative + path = qtlottie + url = ../qtlottie.git + branch = 6.6.2 + status = addon +[submodule "qtquicktimeline"] + depends = qtbase qtdeclarative + path = qtquicktimeline + url = ../qtquicktimeline + branch = 6.6.2 + status = addon +[submodule "qtquick3d"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquicktimeline + path = qtquick3d + url = ../qtquick3d.git + branch = 6.6.2 + status = addon +[submodule "qtshadertools"] + depends = qtbase + path = qtshadertools + url = ../qtshadertools.git + branch = 6.6.2 + status = addon +[submodule "qt5compat"] + depends = qtbase qtdeclarative + path = qt5compat + url = ../qt5compat.git + branch = 6.6.2 + status = deprecated +[submodule "qtcoap"] + depends = qtbase + path = qtcoap + url = ../qtcoap.git + branch = 6.6.2 + status = addon +[submodule "qtmqtt"] + depends = qtbase qtdeclarative + path = qtmqtt + url = ../qtmqtt.git + branch = 6.6.2 + status = addon +[submodule "qtopcua"] + depends = qtbase qtdeclarative + path = qtopcua + url = ../qtopcua.git + branch = 6.6.2 + status = addon +[submodule "qtlanguageserver"] + depends = qtbase + path = qtlanguageserver + url = ../qtlanguageserver.git + branch = 6.6.2 + status = preview +[submodule "qthttpserver"] + depends = qtbase + recommends = qtwebsockets + path = qthttpserver + url = ../qthttpserver.git + branch = 6.6.2 + status = preview +[submodule "qtquick3dphysics"] + depends = qtbase qtdeclarative qtquick3d qtshadertools + path = qtquick3dphysics + url = ../qtquick3dphysics.git + branch = 6.6.2 + status = addon +[submodule "qtgrpc"] + depends = qtbase + recommends = qtdeclarative + path = qtgrpc + url = ../qtgrpc.git + branch = 6.6.2 + status = preview +[submodule "qtquickeffectmaker"] + depends = qtbase qtdeclarative qtshadertools + recommends = qtquick3d + path = qtquickeffectmaker + url = ../qtquickeffectmaker.git + branch = 6.6.2 + status = addon +[submodule "qtgraphs"] + depends = qtbase qtdeclarative qtquick3d + path = qtgraphs + url = ../qtgraphs.git + branch = 6.6.2 + status = preview diff --git a/recipes/qt/config.yml b/recipes/qt/config.yml index 0a1aaa3dcf0ce..a0204ce95e6fc 100644 --- a/recipes/qt/config.yml +++ b/recipes/qt/config.yml @@ -1,4 +1,6 @@ versions: + "6.6.2": + folder: 6.x.x "6.6.1": folder: 6.x.x "6.6.0": From 9de3a9005adc3993a1116f28d6a0eb256426ef12 Mon Sep 17 00:00:00 2001 From: Martin Delille Date: Mon, 4 Mar 2024 16:48:06 +0100 Subject: [PATCH 1283/1307] (#22422) [sentry-native] Default backend + versions cleaning * [sentry-native] Add 0.6.6 / Remove 0.6.3 and 0.4.18 * Remove SENTRY_CRASHPAD_SYSTEM definition for sentry-native >= 0.7.0 * Add upstream repository pull request * Make crashpad the default backend on Linux from 0.7.0 * Improve transport option logic * Increase the C++ standard to 17 for crashpad backend * Use C++17 instead of C++14 in test package * Use minimum GCC version 7 for crashpad backend too * Respect upstream CMakelists.txt backend selection * Always use C++17 --- recipes/sentry-native/all/conandata.yml | 9 ++---- recipes/sentry-native/all/conanfile.py | 32 ++++++------------- .../all/test_package/CMakeLists.txt | 2 +- recipes/sentry-native/config.yml | 6 ++-- 4 files changed, 16 insertions(+), 33 deletions(-) diff --git a/recipes/sentry-native/all/conandata.yml b/recipes/sentry-native/all/conandata.yml index 3ae97887a0695..6bde257712f1a 100644 --- a/recipes/sentry-native/all/conandata.yml +++ b/recipes/sentry-native/all/conandata.yml @@ -2,21 +2,18 @@ sources: "0.7.0": url: "https://github.com/getsentry/sentry-native/releases/download/0.7.0/sentry-native.zip" sha256: "4dfccc879a81771b9da1c335947ffc9e5987ca3d16b3035efa2c66a06f727543" + "0.6.6": + url: "https://github.com/getsentry/sentry-native/releases/download/0.6.6/sentry-native.zip" + sha256: "7a98467c0b2571380a3afc5e681cb13aa406a709529be12d74610b0015ccde0c" "0.6.5": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.5/sentry-native.zip" sha256: "5f74a5c5c3abc6e1e7825d3306be9e3b3fd4e0f586f3cf7e86607d6f56a71995" "0.6.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.6.4/sentry-native.zip" sha256: "e00278bf9a4821bb4008985a5a552a84aba6ebb06d3f9e828082fcbf06b04a38" - "0.6.3": - url: "https://github.com/getsentry/sentry-native/releases/download/0.6.3/sentry-native.zip" - sha256: "6b515c17a9b860ea47c6a5fd7abdfdc89b4b8cbc654c23a8bb42a39bfcb87ad9" "0.5.4": url: "https://github.com/getsentry/sentry-native/releases/download/0.5.4/sentry-native.zip" sha256: "e151bdc76894eb964ba4637361b2a96b7447fb04212053cf695fd7f72b636e4d" - "0.4.18": - url: "https://github.com/getsentry/sentry-native/releases/download/0.4.18/sentry-native.zip" - sha256: "41fdf6499cd8576142beb03104badcc9e0b80b8ef27080ca71cd4408cc1d7ece" patches: "0.6.5": diff --git a/recipes/sentry-native/all/conanfile.py b/recipes/sentry-native/all/conanfile.py index 8964b109c4ad8..f783754fae680 100644 --- a/recipes/sentry-native/all/conanfile.py +++ b/recipes/sentry-native/all/conanfile.py @@ -51,16 +51,12 @@ class SentryNativeConan(ConanFile): @property def _min_cppstd(self): - if is_msvc(self): - return "17" - if self.options.get_safe("backend") == "breakpad" and Version(self.version) >= "0.5.4": - return 17 - return "14" + return "17" @property def _minimum_compilers_version(self): minimum_gcc_version = "5" - if self.options.get_safe("backend") == "breakpad": + if self.options.get_safe("backend") == "breakpad" or self.options.get_safe("backend") == "crashpad": minimum_gcc_version = "7" return { "Visual Studio": "15", @@ -82,22 +78,17 @@ def config_options(self): # Configure default transport if self.settings.os == "Windows": + self.options.backend = "crashpad" self.options.transport = "winhttp" - elif self.settings.os in ("FreeBSD", "Linux") or self.settings.os == "Macos": # Don't use tools.is_apple_os(os) here - self.options.transport = "curl" - else: + elif self.settings.os == "Android": self.options.transport = "none" # Configure default backend - if self.settings.os == "Windows" or self.settings.os == "Macos": # Don't use tools.is_apple_os(os) here - # FIXME: for self.version < 0.4: default backend is "breakpad" when building with MSVC for Windows xp; else: backend=none + # See https://github.com/getsentry/sentry-native/pull/927 + if self.settings.os == "Macos": self.options.backend = "crashpad" - elif self.settings.os in ("FreeBSD", "Linux"): - self.options.backend = "breakpad" - elif self.settings.os == "Android": - self.options.backend = "inproc" - else: - self.options.backend = "inproc" + if self.settings.os in ("FreeBSD", "Linux"): + self.options.backend = "breakpad" if Version(self.version) < "0.7.0" else "crashpad" if self.settings.os not in ("Linux", "Android") or self.options.backend != "crashpad" or self.options.with_crashpad != "sentry": del self.options.crashpad_with_tls @@ -120,8 +111,6 @@ def requirements(self): self.requires("crashpad/cci.20220219") else: self.requires("zlib/[>=1.2.11 <2]") - if self.settings.os in ("Linux", "FreeBSD"): - self.requires("libcurl/[>=7.78.0 <9]") if self.options.get_safe("crashpad_with_tls"): self.requires("openssl/[>=1.1 <4]") elif self.options.backend == "breakpad": @@ -156,7 +145,8 @@ def generate(self): VirtualBuildEnv(self).generate() tc = CMakeToolchain(self) tc.variables["SENTRY_BACKEND"] = self.options.backend - if self.options.backend == "crashpad": + # See https://github.com/getsentry/sentry-native/pull/928 + if Version(self.version) < "0.7.0" and self.options.backend == "crashpad": tc.variables["SENTRY_CRASHPAD_SYSTEM"] = self.options.with_crashpad == "google" if self.options.backend == "breakpad": tc.variables["SENTRY_BREAKPAD_SYSTEM"] = self.options.with_breakpad == "google" @@ -248,8 +238,6 @@ def package_info(self): self.cpp_info.components["crashpad_util"].requires = ["crashpad_compat", "crashpad_mini_chromium", "zlib::zlib"] if self.settings.os in ("Linux", "FreeBSD"): self.cpp_info.components["crashpad_util"].system_libs.extend(["pthread", "rt"]) - # Requires libcurl https://github.com/getsentry/crashpad/blob/2237d97ee2c38c930c07001e660be57324f69a37/util/CMakeLists.txt#L256 - self.cpp_info.components["crashpad_util"].requires.extend(["libcurl::libcurl"]) elif self.settings.os == "Windows": self.cpp_info.components["crashpad_util"].system_libs.append("winhttp") elif self.settings.os == "Macos": diff --git a/recipes/sentry-native/all/test_package/CMakeLists.txt b/recipes/sentry-native/all/test_package/CMakeLists.txt index 8b84ac464d998..37f553d142dc1 100644 --- a/recipes/sentry-native/all/test_package/CMakeLists.txt +++ b/recipes/sentry-native/all/test_package/CMakeLists.txt @@ -5,4 +5,4 @@ find_package(sentry REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) target_link_libraries(${PROJECT_NAME} PRIVATE sentry::sentry) -target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) diff --git a/recipes/sentry-native/config.yml b/recipes/sentry-native/config.yml index 367c1c0c7563c..456ef7af835a5 100644 --- a/recipes/sentry-native/config.yml +++ b/recipes/sentry-native/config.yml @@ -1,13 +1,11 @@ versions: "0.7.0": folder: all + "0.6.6": + folder: all "0.6.5": folder: all "0.6.4": folder: all - "0.6.3": - folder: all "0.5.4": folder: all - "0.4.18": - folder: all From 78ab0ec47a6268829f584dcf9eb17d5c8c7d56e8 Mon Sep 17 00:00:00 2001 From: Sergey Bobrenok Date: Mon, 4 Mar 2024 19:10:51 +0300 Subject: [PATCH 1284/1307] (#22954) gperf/all: Fix build on FreeBSD The original error was: gperf/3.1: RUN: make -j1 cd lib; make all cc -m64 -O3 -DNDEBUG -I. -c ./getopt.c cc -m64 -O3 -DNDEBUG -I. -c ./getopt1.c c++ -stdlib=libc++ -std=gnu++17 -m64 -O3 -DNDEBUG -I. -c ./getline.cc c++ -stdlib=libc++ -std=gnu++17 -m64 -O3 -DNDEBUG -I. -c ./hash.cc rm -f libgp.a ar rc libgp.a getopt.o getopt1.o getline.o hash.o ranlib libgp.a cd src; make all cd: src: No such file or directory *** [all] Error code 2 --- recipes/gperf/all/conanfile.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/gperf/all/conanfile.py b/recipes/gperf/all/conanfile.py index 6527eca9695ee..0ed1afdf40204 100644 --- a/recipes/gperf/all/conanfile.py +++ b/recipes/gperf/all/conanfile.py @@ -39,6 +39,10 @@ def build_requirements(self): if not self.conf.get("tools.microsoft.bash:path", check_type=str): self.tool_requires("msys2/cci.latest") + # gperf makefile relies on GNU Make behaviour + if self._settings_build.os == "FreeBSD": + self.tool_requires("make/4.4.1") + def source(self): get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True) From 4c128c2c053544f79643a54d511212e635c8fbe9 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 01:28:35 +0900 Subject: [PATCH 1285/1307] (#22955) catch2: add version 3.5.3 --- recipes/catch2/3.x.x/conandata.yml | 3 +++ recipes/catch2/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/catch2/3.x.x/conandata.yml b/recipes/catch2/3.x.x/conandata.yml index 56cd441c7c786..cf3bf5f0495f5 100644 --- a/recipes/catch2/3.x.x/conandata.yml +++ b/recipes/catch2/3.x.x/conandata.yml @@ -1,4 +1,7 @@ sources: + "3.5.3": + url: "https://github.com/catchorg/Catch2/archive/v3.5.3.tar.gz" + sha256: "8d723b0535c94860ef8cf6231580fa47d67a3416757ecb10639e40d748ab6c71" "3.5.2": url: "https://github.com/catchorg/Catch2/archive/v3.5.2.tar.gz" sha256: "269543a49eb76f40b3f93ff231d4c24c27a7e16c90e47d2e45bcc564de470c6e" diff --git a/recipes/catch2/config.yml b/recipes/catch2/config.yml index 20b1c62d0349a..b24c301a17e49 100644 --- a/recipes/catch2/config.yml +++ b/recipes/catch2/config.yml @@ -1,4 +1,6 @@ versions: + "3.5.3": + folder: 3.x.x "3.5.2": folder: 3.x.x "3.5.1": From 5087642bd038e688d23b91f12db19aadd542d6c8 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 01:48:40 +0900 Subject: [PATCH 1286/1307] (#22963) expat: add version 2.6.1 --- recipes/expat/all/conandata.yml | 3 +++ recipes/expat/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/expat/all/conandata.yml b/recipes/expat/all/conandata.yml index 50ac4905f740e..e8f35976ab73d 100644 --- a/recipes/expat/all/conandata.yml +++ b/recipes/expat/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.6.1": + url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_1/expat-2.6.1.tar.xz" + sha256: "0c00d2760ad12efef6e26efc8b363c8eb28eb8c8de719e46d5bb67b40ba904a3" "2.6.0": url: "https://github.com/libexpat/libexpat/releases/download/R_2_6_0/expat-2.6.0.tar.xz" sha256: "cb5f5a8ea211e1cabd59be0a933a52e3c02cc326e86a4d387d8d218e7ee47a3e" diff --git a/recipes/expat/config.yml b/recipes/expat/config.yml index 548e19d13502f..b9184b42c3bb5 100644 --- a/recipes/expat/config.yml +++ b/recipes/expat/config.yml @@ -1,4 +1,6 @@ versions: + "2.6.1": + folder: all "2.6.0": folder: all "2.5.0": From 46f9f2f710fb57ba68deb7b5e44705907bd815ef Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 02:09:20 +0900 Subject: [PATCH 1287/1307] (#22964) nng: add version 1.7.3 --- recipes/nng/all/conandata.yml | 3 +++ recipes/nng/all/conanfile.py | 6 ++++++ recipes/nng/config.yml | 2 ++ 3 files changed, 11 insertions(+) diff --git a/recipes/nng/all/conandata.yml b/recipes/nng/all/conandata.yml index a0f5356224bc7..c572a0578b71b 100644 --- a/recipes/nng/all/conandata.yml +++ b/recipes/nng/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "1.7.3": + url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.3.tar.gz" + sha256: "035f2c3cad4e45fc0d978c54a338c197d1937527ae6feb82180d428a96b83474" "1.7.2": url: "https://github.com/nanomsg/nng/archive/refs/tags/v1.7.2.tar.gz" sha256: "40e6af7bdd5d02ee98ba8fe5fd5c149ce3e5a555f202cdc837e3ead2d7cc7534" diff --git a/recipes/nng/all/conanfile.py b/recipes/nng/all/conanfile.py index 3de52cd9ed251..91bc43507421d 100644 --- a/recipes/nng/all/conanfile.py +++ b/recipes/nng/all/conanfile.py @@ -27,6 +27,7 @@ class NngConan(ConanFile): "max_expire_threads": ["ANY"], "max_poller_threads": ["ANY"], "compat": [True, False], + "with_ipv6": [True, False], } default_options = { "shared": False, @@ -38,6 +39,7 @@ class NngConan(ConanFile): "max_expire_threads": "8", "max_poller_threads": "8", "compat": True, + "with_ipv6": True, } def export_sources(self): @@ -52,6 +54,8 @@ def config_options(self): del self.options.max_poller_threads if Version(self.version) < "1.7.2": del self.options.compat + if Version(self.version) < "1.7.3": + del self.options.with_ipv6 def configure(self): if self.options.shared: @@ -102,6 +106,8 @@ def generate(self): tc.variables["NNG_MAX_POLLER_THREADS"] = self.options.max_poller_threads if "compat" in self.options: tc.variables["NNG_ENABLE_COMPAT"] = self.options.compat + if "with_ipv6" in self.options: + tc.variables["NNG_ENABLE_IPV6"] = self.options.with_ipv6 tc.generate() def build(self): diff --git a/recipes/nng/config.yml b/recipes/nng/config.yml index 5c118cf597a33..b2f902db3e414 100644 --- a/recipes/nng/config.yml +++ b/recipes/nng/config.yml @@ -1,4 +1,6 @@ versions: + "1.7.3": + folder: all "1.7.2": folder: all "1.7.1": From b81b43f811be25257bfcc1452badf9650257fda1 Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 02:50:17 +0900 Subject: [PATCH 1288/1307] (#22965) crcpp: add recipe --- recipes/crcpp/all/conandata.yml | 4 ++ recipes/crcpp/all/conanfile.py | 51 +++++++++++++++++++ recipes/crcpp/all/test_package/CMakeLists.txt | 8 +++ recipes/crcpp/all/test_package/conanfile.py | 26 ++++++++++ .../crcpp/all/test_package/test_package.cpp | 14 +++++ recipes/crcpp/config.yml | 3 ++ 6 files changed, 106 insertions(+) create mode 100644 recipes/crcpp/all/conandata.yml create mode 100644 recipes/crcpp/all/conanfile.py create mode 100644 recipes/crcpp/all/test_package/CMakeLists.txt create mode 100644 recipes/crcpp/all/test_package/conanfile.py create mode 100644 recipes/crcpp/all/test_package/test_package.cpp create mode 100644 recipes/crcpp/config.yml diff --git a/recipes/crcpp/all/conandata.yml b/recipes/crcpp/all/conandata.yml new file mode 100644 index 0000000000000..f414dda91410c --- /dev/null +++ b/recipes/crcpp/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.2.0.0": + url: "https://github.com/d-bahr/CRCpp/archive/refs/tags/release-1.2.0.0.tar.gz" + sha256: "382d399b939207d81537a874ec4b05abc7f59772be58425a0dd048711d43db14" diff --git a/recipes/crcpp/all/conanfile.py b/recipes/crcpp/all/conanfile.py new file mode 100644 index 0000000000000..3315a073a6447 --- /dev/null +++ b/recipes/crcpp/all/conanfile.py @@ -0,0 +1,51 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.files import copy, get +from conan.tools.layout import basic_layout +import os + + +required_conan_version = ">=1.52.0" + + +class CRCPPConan(ConanFile): + name = "crcpp" + description = "Easy to use and fast C++ CRC library." + license = "BSD-3-Clause" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/d-bahr/CRCpp/" + topics = ("crc", "header-only") + package_type = "header-library" + settings = "os", "arch", "compiler", "build_type" + no_copy_source = True + + @property + def _min_cppstd(self): + return 11 + + def layout(self): + basic_layout(self, src_folder="src") + + def package_id(self): + self.info.clear() + + def validate(self): + if self.settings.compiler.get_safe("cppstd"): + check_min_cppstd(self, self._min_cppstd) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def package(self): + copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses")) + copy( + self, + "*.h", + os.path.join(self.source_folder, "inc"), + os.path.join(self.package_folder, "include"), + ) + + def package_info(self): + # Folders not used for header-only + self.cpp_info.bindirs = [] + self.cpp_info.libdirs = [] diff --git a/recipes/crcpp/all/test_package/CMakeLists.txt b/recipes/crcpp/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..365caf83cf9bb --- /dev/null +++ b/recipes/crcpp/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES CXX) + +find_package(crcpp REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} PRIVATE crcpp::crcpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) diff --git a/recipes/crcpp/all/test_package/conanfile.py b/recipes/crcpp/all/test_package/conanfile.py new file mode 100644 index 0000000000000..3a91c9439218e --- /dev/null +++ b/recipes/crcpp/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/crcpp/all/test_package/test_package.cpp b/recipes/crcpp/all/test_package/test_package.cpp new file mode 100644 index 0000000000000..4546a70d708c2 --- /dev/null +++ b/recipes/crcpp/all/test_package/test_package.cpp @@ -0,0 +1,14 @@ +#include +#include +#include "CRC.h" + + +int main(void) { + const char myString[] = { 'H', 'E', 'L', 'L', 'O', ' ', 'W', 'O', 'R', 'L', 'D' }; + + std::uint32_t crc = CRC::Calculate(myString, sizeof(myString), CRC::CRC_32()); + + std::cout << std::hex << crc; + + return 0; +} diff --git a/recipes/crcpp/config.yml b/recipes/crcpp/config.yml new file mode 100644 index 0000000000000..f3be59d8c2e85 --- /dev/null +++ b/recipes/crcpp/config.yml @@ -0,0 +1,3 @@ +versions: + "1.2.0.0": + folder: all From 202d8e2e9d042f010ea50c7eb2c65eced4cd18e4 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Mar 2024 19:09:30 +0100 Subject: [PATCH 1289/1307] (#22966) OpenImageIO: Add version 2.5.9.0 --- recipes/openimageio/all/conandata.yml | 7 + .../all/patches/2.5.9.0-cmake-targets.patch | 518 ++++++++++++++++++ recipes/openimageio/config.yml | 2 + 3 files changed, 527 insertions(+) create mode 100644 recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch diff --git a/recipes/openimageio/all/conandata.yml b/recipes/openimageio/all/conandata.yml index 9ae019a09b59e..67601ed04452c 100644 --- a/recipes/openimageio/all/conandata.yml +++ b/recipes/openimageio/all/conandata.yml @@ -8,6 +8,9 @@ sources: "2.5.6.0": url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.6.0.tar.gz" sha256: "bcfced40a25ef8576383b44d8bbe3732aa2b8efc7b8614482783d6f90378d307" + "2.5.9.0": + url: "https://github.com/AcademySoftwareFoundation/OpenImageIO/archive/refs/tags/v2.5.9.0.tar.gz" + sha256: "b6a68e369bc475525eb843bdc0cb8adc910cc71000825f8db9b5e136166cdc78" patches: "2.4.7.1": - patch_file: "patches/2.4.7.1-cmake-targets.patch" @@ -24,3 +27,7 @@ patches: - patch_file: "patches/2.5.6.0-cmake-targets.patch" patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" patch_type: "conan" + "2.5.9.0": + - patch_file: "patches/2.5.9.0-cmake-targets.patch" + patch_description: "Ensure project builds correctly with Conan (don't pick up disabled dependencies from the system, fix different spelling of libraries)" + patch_type: "conan" diff --git a/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch b/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch new file mode 100644 index 0000000000000..747b79bc8b544 --- /dev/null +++ b/recipes/openimageio/all/patches/2.5.9.0-cmake-targets.patch @@ -0,0 +1,518 @@ +diff --git CMakeLists.txt CMakeLists.txt +index 8125716a3..dd83c588f 100644 +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -154,7 +154,7 @@ endif () + add_definitions (-DOIIO_INTERNAL=1) + + list (APPEND CMAKE_MODULE_PATH +- "${PROJECT_SOURCE_DIR}/src/cmake/modules" ++ #"${PROJECT_SOURCE_DIR}/src/cmake/modules" + "${PROJECT_SOURCE_DIR}/src/cmake") + + include (GNUInstallDirs) +@@ -233,7 +233,7 @@ if (OIIO_BUILD_TOOLS AND NOT BUILD_OIIOUTIL_ONLY) + add_subdirectory (src/iinfo) + add_subdirectory (src/maketx) + add_subdirectory (src/oiiotool) +- add_subdirectory (src/testtex) ++ #add_subdirectory (src/testtex) + add_subdirectory (src/iv) + endif () + +diff --git src/cmake/externalpackages.cmake src/cmake/externalpackages.cmake +index 3f73cd266..d03c906d1 100644 +--- src/cmake/externalpackages.cmake ++++ src/cmake/externalpackages.cmake +@@ -45,14 +45,14 @@ if (NOT DEFINED Boost_USE_STATIC_LIBS) + set (Boost_USE_STATIC_LIBS "${LINKSTATIC}") + endif () + +-if (MSVC) +- # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: +- if (NOT Boost_USE_STATIC_LIBS) +- add_definitions (-DBOOST_ALL_DYN_LINK=1) +- endif () +-endif () +- +-set (Boost_COMPONENTS thread) ++#if (MSVC) ++# # Not linking Boost as static libraries: either an explicit setting or LINKSTATIC is FALSE: ++# if (NOT Boost_USE_STATIC_LIBS) ++# add_definitions (-DBOOST_ALL_DYN_LINK=1) ++# endif () ++#endif () ++ ++set (Boost_COMPONENTS filesystem system thread container) + if (NOT USE_STD_FILESYSTEM) + list (APPEND Boost_COMPONENTS filesystem) + endif () +@@ -108,9 +108,9 @@ checked_find_package (OpenEXR REQUIRED + # building against Imath/OpenEXR 3.x when there is still a system-level + # install version of 2.x. + include_directories(BEFORE ${IMATH_INCLUDES} ${OPENEXR_INCLUDES}) +-if (MSVC AND NOT LINKSTATIC) +- add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? +-endif () ++#if (MSVC AND NOT LINKSTATIC) ++# add_definitions (-DOPENEXR_DLL) # Is this needed for new versions? ++#endif () + if (OpenEXR_VERSION VERSION_GREATER_EQUAL 3.0) + set (OIIO_USING_IMATH 3) + else () +@@ -137,11 +137,15 @@ set (OPENIMAGEIO_CONFIG_DO_NOT_FIND_IMATH OFF CACHE BOOL + "Exclude find_dependency(Imath) from the exported OpenImageIOConfig.cmake") + + # JPEG -- prefer JPEG-Turbo to regular libjpeg +-checked_find_package (libjpeg-turbo +- VERSION_MIN 2.1 +- DEFINITIONS -DUSE_JPEG_TURBO=1) +-if (NOT TARGET libjpeg-turbo::jpeg) # Try to find the non-turbo version ++if (USE_JPEGTURBO) ++ checked_find_package (libjpeg-turbo REQUIRED ++ DEFINITIONS -DUSE_JPEG_TURBO=1 ++ PRINT libjpeg-turbo_INCLUDES libjpeg-turbo_LIBRARIES) ++ add_library(JPEG::JPEG ALIAS libjpeg-turbo::libjpeg-turbo) ++elseif (USE_JPEG) # Try to find the non-turbo version + checked_find_package (JPEG REQUIRED) ++else () ++ message(FATAL_ERROR "JPEG library was not found!") + endif () + + # Pugixml setup. Normally we just use the version bundled with oiio, but +@@ -157,7 +161,7 @@ else () + endif() + + # From pythonutils.cmake +-find_python() ++#find_python() + if (USE_PYTHON) + checked_find_package (pybind11 REQUIRED VERSION_MIN 2.4.2) + endif () +@@ -167,110 +171,105 @@ endif () + # Dependencies for optional formats and features. If these are not found, + # we will continue building, but the related functionality will be disabled. + +-checked_find_package (PNG) ++if (USE_LIBPNG) ++ checked_find_package (PNG REQUIRED) ++endif() + +-checked_find_package (BZip2) # Used by ffmpeg and freetype +-if (NOT BZIP2_FOUND) +- set (BZIP2_LIBRARIES "") # TODO: why does it break without this? +-endif () ++if (USE_FREETYPE) ++ checked_find_package (Freetype REQUIRED ++ DEFINITIONS -DUSE_FREETYPE=1 ) ++endif() + +-checked_find_package (Freetype +- DEFINITIONS -DUSE_FREETYPE=1 ) +- +-checked_find_package (OpenColorIO +- DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 +- # PREFER_CONFIG +- ) +-if (OpenColorIO_FOUND) +- option (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS +- "For deveoper debugging/testing ONLY! Disable OCIO 2.2 builtin configs." OFF) +- if (OIIO_DISABLE_BUILTIN_OCIO_CONFIGS OR "$ENV{OIIO_DISABLE_BUILTIN_OCIO_CONFIGS}") +- add_compile_definitions(OIIO_DISABLE_BUILTIN_OCIO_CONFIGS) +- endif () +-else () +- set (OpenColorIO_FOUND 0) ++if (USE_OPENCOLORIO) ++ checked_find_package (OpenColorIO REQUIRED ++ DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1 ++ # PREFER_CONFIG ++ ) + endif () + +-checked_find_package (OpenCV 3.0 +- DEFINITIONS -DUSE_OPENCV=1) ++if (USE_OPENCV) ++ checked_find_package (OpenCV REQUIRED 3.0 ++ DEFINITIONS -DUSE_OPENCV=1) ++endif() + + # Intel TBB +-set (TBB_USE_DEBUG_BUILD OFF) +-checked_find_package (TBB 2017 +- SETVARIABLES OIIO_TBB +- PREFER_CONFIG) ++if (USE_TBB)# Intel TBB ++ set (TBB_USE_DEBUG_BUILD OFF) ++ checked_find_package (TBB 2017 REQUIRED ++ SETVARIABLES OIIO_TBB ++ PREFER_CONFIG) ++endif() + + # DCMTK is used to read DICOM images +-checked_find_package (DCMTK VERSION_MIN 3.6.1 +- PREFER_CONFIG) ++if (USE_DCMTK) ++ checked_find_package (DCMTK REQUIRED VERSION_MIN 3.6.1) # For DICOM images ++endif() + +-checked_find_package (FFmpeg VERSION_MIN 3.0) +-checked_find_package (GIF +- VERSION_MIN 4 +- RECOMMEND_MIN 5.0 +- RECOMMEND_MIN_REASON "for stability and thread safety") ++if (USE_FFMPEG) ++ checked_find_package (ffmpeg REQUIRED VERSION_MIN 3.0) ++endif() ++if (USE_GIF) ++ checked_find_package (GIF REQUIRED ++ VERSION_MIN 4 ++ RECOMMEND_MIN 5.0 ++ RECOMMEND_MIN_REASON "for stability and thread safety") ++endif() + + # For HEIF/HEIC/AVIF formats +-checked_find_package (Libheif VERSION_MIN 1.3 +- RECOMMEND_MIN 1.7 +- RECOMMEND_MIN_REASON "for AVIF support") +-if (APPLE AND LIBHEIF_VERSION VERSION_GREATER_EQUAL 1.10 AND LIBHEIF_VERSION VERSION_LESS 1.11) +- message (WARNING "Libheif 1.10 on Apple is known to be broken, disabling libheif support") +- set (Libheif_FOUND 0) +-endif () ++if (USE_LIBHEIF) ++ checked_find_package (libheif REQUIRED VERSION_MIN 1.3 ++ RECOMMEND_MIN 1.7 ++ RECOMMEND_MIN_REASON "for AVIF support") ++endif() + +-checked_find_package (LibRaw +- VERSION_MIN 0.18 +- PRINT LibRaw_r_LIBRARIES) +-if (LibRaw_FOUND AND LibRaw_VERSION VERSION_LESS 0.20 AND CMAKE_CXX_STANDARD VERSION_GREATER_EQUAL 17) +- message (STATUS "${ColorYellow}WARNING When building for C++17, LibRaw should be 0.20 or higher (found ${LibRaw_VERSION}). You may get errors, depending on the compiler.${ColorReset}") +- # Currently, we issue the above warning and let them take their chances. +- # If we wish to disable the LibRaw<0.20/C++17 combination that may fail, +- # just uncomment the following two lines. +- # set (LibRaw_FOUND 0) +- # set (LIBRAW_FOUND 0) +-endif () ++if (USE_LIBRAW) ++ checked_find_package (LibRaw REQUIRED ++ RECOMMEND_MIN 0.18 ++ RECOMMEND_MIN_REASON "for ACES support and better camera metadata" ++ PRINT LibRaw_r_LIBRARIES) ++endif() + +-checked_find_package (OpenJPEG VERSION_MIN 2.0 +- RECOMMEND_MIN 2.2 +- RECOMMEND_MIN_REASON "for multithreading support") +-# Note: Recent OpenJPEG versions have exported cmake configs, but we don't +-# find them reliable at all, so we stick to our FindOpenJPEG.cmake module. +- +-checked_find_package (OpenVDB +- VERSION_MIN 5.0 +- DEPS TBB +- DEFINITIONS -DUSE_OPENVDB=1) +-if (OpenVDB_FOUND AND OpenVDB_VERSION VERSION_GREATER_EQUAL 10.1 AND CMAKE_CXX_STANDARD VERSION_LESS 17) +- message (WARNING "${ColorYellow}OpenVDB >= 10.1 (we found ${OpenVDB_VERSION}) can only be used when we build with C++17 or higher. Disabling OpenVDB support.${ColorReset}") +- set (OpeVDB_FOUND 0) +-endif () ++if (USE_OPENJPEG) ++ checked_find_package (OpenJPEG REQUIRED ++ VERSION_MIN 2.0 ++ RECOMMEND_MIN 2.2 ++ RECOMMEND_MIN_REASON "for multithreading support") ++ # Note: Recent OpenJPEG versions have exported cmake configs, but we don't ++ # find them reliable at all, so we stick to our FindOpenJPEG.cmake module. ++endif() + +-checked_find_package (Ptex PREFER_CONFIG) +-if (NOT Ptex_FOUND OR NOT Ptex_VERSION) +- # Fallback for inadequate Ptex exported configs. This will eventually +- # disappear when we can 100% trust Ptex's exports. +- unset (Ptex_FOUND) +- checked_find_package (Ptex) +-endif () ++if (USE_OPENVDB) ++ checked_find_package (OpenVDB REQUIRED ++ VERSION_MIN 5.0 ++ DEPS TBB ++ DEFINITIONS -DUSE_OPENVDB=1) ++endif() + +-checked_find_package (WebP) +-# Note: When WebP 1.1 (released late 2019) is our minimum, we can use their +-# exported configs and remove our FindWebP.cmake module. ++if (USE_PTEX) ++ checked_find_package (ptex REQUIRED PREFER_CONFIG) ++endif() ++ ++if (USE_LIBWEBP) ++ checked_find_package (WebP REQUIRED) ++endif() + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) +-checked_find_package (R3DSDK NO_RECORD_NOTFOUND) # RED camera ++if (USE_R3DSDK) ++ checked_find_package (R3DSDK REQUIRED) # RED camera ++endif () + + set (NUKE_VERSION "7.0" CACHE STRING "Nuke version to target") +-checked_find_package (Nuke NO_RECORD_NOTFOUND) ++if (USE_NUKE) ++ checked_find_package (Nuke REQUIRED) ++endif () + + + # Qt -- used for iv + option (USE_QT "Use Qt if found" ON) +-if (USE_QT) +- checked_find_package (OpenGL) # used for iv ++if (USE_OPENGL) ++ checked_find_package (OpenGL REQUIRED) # used for iv + endif () +-if (USE_QT AND OPENGL_FOUND) ++if (USE_QT AND USE_OPENGL) + checked_find_package (Qt6 COMPONENTS Core Gui Widgets OpenGLWidgets) + if (NOT Qt6_FOUND) + checked_find_package (Qt5 COMPONENTS Core Gui Widgets OpenGL) +@@ -294,13 +293,13 @@ macro (find_or_download_robin_map) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_ROBINMAP_FORCE) +- find_package (Robinmap QUIET) ++ find_package (tsl-robin-map REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then + # download and build it. + # Download the headers from github +- if ((BUILD_MISSING_ROBINMAP AND NOT ROBINMAP_FOUND) OR BUILD_ROBINMAP_FORCE) ++ if ((BUILD_MISSING_ROBINMAP AND NOT tsl-robin-map_FOUND) OR BUILD_ROBINMAP_FORCE) + message (STATUS "Downloading local Tessil/robin-map") + set (ROBINMAP_INSTALL_DIR "${PROJECT_SOURCE_DIR}/ext/robin-map") + set (ROBINMAP_GIT_REPOSITORY "https://github.com/Tessil/robin-map") +@@ -318,7 +317,7 @@ macro (find_or_download_robin_map) + endif () + set (ROBINMAP_INCLUDE_DIR "${ROBINMAP_INSTALL_DIR}/include") + endif () +- checked_find_package (Robinmap REQUIRED) ++ checked_find_package (tsl-robin-map REQUIRED) + endmacro() + + find_or_download_robin_map () +@@ -337,7 +336,7 @@ macro (find_or_download_fmt) + # for an installed version. Still prefer a copy that seems to be + # locally installed in this tree. + if (NOT BUILD_FMT_FORCE) +- find_package (fmt QUIET) ++ find_package (fmt REQUIRED) + endif () + # If an external copy wasn't found and we requested that missing + # packages be built, or we we are forcing a local copy to be built, then +@@ -372,7 +371,7 @@ macro (find_or_download_fmt) + set (fmt_VERSION "${FMT_VERSION_MAJOR}.${FMT_VERSION_MINOR}.${FMT_VERSION_PATCH}") + list (APPEND CFP_ALL_BUILD_DEPS_FOUND "${pkgname} ${${pkgname}_VERSION}") + else () +- get_target_property(FMT_INCLUDE_DIR fmt::fmt-header-only INTERFACE_INCLUDE_DIRECTORIES) ++ get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES) + set (OIIO_USING_FMT_LOCAL FALSE) + checked_find_package (fmt REQUIRED + VERSION_MIN 7.0) +diff --git src/ffmpeg.imageio/CMakeLists.txt src/ffmpeg.imageio/CMakeLists.txt +index 8e47a8443..900d23101 100644 +--- src/ffmpeg.imageio/CMakeLists.txt ++++ src/ffmpeg.imageio/CMakeLists.txt +@@ -2,7 +2,7 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (FFmpeg_FOUND) ++if (USE_FFMPEG) + if (LINKSTATIC) + set (_static_suffixes .lib .a) + set (_static_libraries_found 0) +@@ -26,11 +26,9 @@ if (FFmpeg_FOUND) + endif() + + add_oiio_plugin (ffmpeginput.cpp +- INCLUDE_DIRS ${FFMPEG_INCLUDES} +- LINK_LIBRARIES ${FFMPEG_LIBRARIES} +- ${BZIP2_LIBRARIES} ++ LINK_LIBRARIES ffmpeg::avcodec ffmpeg::avformat ffmpeg::swscale + DEFINITIONS "-DUSE_FFMPEG" +- "-DOIIO_FFMPEG_VERSION=\"${FFMPEG_VERSION}\"") ++ "-DOIIO_FFMPEG_VERSION=\"${ffmpeg_VERSION}\"") + else() + message (STATUS "FFmpeg not found: ffmpeg plugin will not be built") + endif() +diff --git src/heif.imageio/CMakeLists.txt src/heif.imageio/CMakeLists.txt +index 5b6c30a85..e5bc55ef1 100644 +--- src/heif.imageio/CMakeLists.txt ++++ src/heif.imageio/CMakeLists.txt +@@ -2,32 +2,31 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Libheif_FOUND) +- if (LINKSTATIC) +- set (_static_suffixes .lib .a) +- set (_static_libraries_found 0) ++if (USE_LIBHEIF) ++ # if (LINKSTATIC) ++ # set (_static_suffixes .lib .a) ++ # set (_static_libraries_found 0) + +- foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) +- get_filename_component (_ext ${_libeheif_library} LAST_EXT) +- list (FIND _static_suffixes ${_ext} _index) +- if (${_index} GREATER -1) +- MATH (EXPR _static_libraries_found "${static_libraries_found}+1") +- endif() +- endforeach() ++ # foreach (_libeheif_library IN LISTS LIBHEIF_LIBRARIES) ++ # get_filename_component (_ext ${_libeheif_library} LAST_EXT) ++ # list (FIND _static_suffixes ${_ext} _index) ++ # if (${_index} GREATER -1) ++ # MATH (EXPR _static_libraries_found "${static_libraries_found}+1") ++ # endif() ++ # endforeach() + +- if (${_static_libraries_found} GREATER 0) +- message (STATUS "${ColorYellow}") +- message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") +- message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") +- message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") +- message (STATUS "dynamically-linked libheif.") +- message ("${ColorReset}") +- endif() +- endif() ++ # if (${_static_libraries_found} GREATER 0) ++ # message (STATUS "${ColorYellow}") ++ # message (STATUS "You are linking OpenImageIO against a static version of libheif, which is LGPL") ++ # message (STATUS "licensed. If you intend to redistribute this build of OpenImageIO, we recommend") ++ # message (STATUS "that you review the libheif license terms, or you may wish to switch to using a") ++ # message (STATUS "dynamically-linked libheif.") ++ # message ("${ColorReset}") ++ # endif() ++ # endif() + + add_oiio_plugin (heifinput.cpp heifoutput.cpp +- INCLUDE_DIRS ${LIBHEIF_INCLUDES} +- LINK_LIBRARIES ${LIBHEIF_LIBRARIES} ++ LINK_LIBRARIES libheif::heif + DEFINITIONS "-DUSE_HEIF=1") + else () + message (WARNING "heif plugin will not be built") +diff --git src/include/CMakeLists.txt src/include/CMakeLists.txt +index 7bec09739..3db17086f 100644 +--- src/include/CMakeLists.txt ++++ src/include/CMakeLists.txt +@@ -64,7 +64,8 @@ install (FILES ${detail_headers} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/detail + COMPONENT developer) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) ++if (0) # Don't try to copy fmt libraries to target install folder ++ set(FMT_INCLUDES "${fmt_INCLUDE_DIR}") + set (fmt_headers_base_names) + foreach (header_name core.h format-inl.h format.h ostream.h printf.h + std.h base.h chrono.h) +diff --git src/jpeg2000.imageio/CMakeLists.txt src/jpeg2000.imageio/CMakeLists.txt +index 560e8d486..24348fe66 100644 +--- src/jpeg2000.imageio/CMakeLists.txt ++++ src/jpeg2000.imageio/CMakeLists.txt +@@ -2,10 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (OPENJPEG_FOUND) ++if (USE_OPENJPEG) + add_oiio_plugin (jpeg2000input.cpp jpeg2000output.cpp +- INCLUDE_DIRS ${OPENJPEG_INCLUDES} +- LINK_LIBRARIES ${OPENJPEG_LIBRARIES} ++ LINK_LIBRARIES openjp2 + DEFINITIONS "-DUSE_OPENJPEG") + else() + message (WARNING "Jpeg-2000 plugin will not be built") +diff --git src/libOpenImageIO/CMakeLists.txt src/libOpenImageIO/CMakeLists.txt +index aeb7b7f93..9a32e4cf2 100644 +--- src/libOpenImageIO/CMakeLists.txt ++++ src/libOpenImageIO/CMakeLists.txt +@@ -154,19 +154,27 @@ target_link_libraries (OpenImageIO + ${OPENIMAGEIO_IMATH_TARGETS} + PRIVATE + ${OPENIMAGEIO_OPENEXR_TARGETS} +- ${OpenCV_LIBRARIES} + ${format_plugin_libs} # Add all the target link libraries from the plugins + $ + $ + $ + $ +- $ + ${BZIP2_LIBRARIES} + ZLIB::ZLIB +- $ ++ tsl::robin_map ++ Boost::filesystem Boost::thread Boost::system Boost::container + ${CMAKE_DL_LIBS} + ) + ++if (USE_OPENCV) ++ target_link_libraries (OpenImageIO PRIVATE opencv::opencv_core ++ opencv::opencv_imgproc ++ opencv::opencv_videoio) ++endif () ++if (USE_FREETYPE) ++ target_link_libraries (OpenImageIO PRIVATE Freetype::Freetype) ++endif() ++ + if (WIN32) + target_link_libraries (OpenImageIO PRIVATE psapi) + endif() +diff --git src/libutil/CMakeLists.txt src/libutil/CMakeLists.txt +index f873b3eed..cf5d4e74c 100644 +--- src/libutil/CMakeLists.txt ++++ src/libutil/CMakeLists.txt +@@ -20,20 +20,13 @@ target_link_libraries (OpenImageIO_Util + ${GCC_ATOMIC_LIBRARIES} + ${OPENIMAGEIO_IMATH_DEPENDENCY_VISIBILITY} + ${OPENIMAGEIO_IMATH_TARGETS} ++ fmt::fmt + PRIVATE +- $ +- $ ++ Boost::filesystem Boost::thread Boost::system + $ + ${CMAKE_DL_LIBS} + ) + +-if (INTERNALIZE_FMT OR OIIO_USING_FMT_LOCAL) +- add_dependencies(OpenImageIO_Util fmt_internal_target) +-else () +- target_link_libraries (OpenImageIO_Util +- PUBLIC fmt::fmt-header-only) +-endif () +- + if (WIN32) + add_definitions(-DWIN32_LEAN_AND_MEAN -DNOMINMAX -DNOGDI -DVC_EXTRALEAN) + target_link_libraries (OpenImageIO_Util PRIVATE psapi) +diff --git src/ptex.imageio/CMakeLists.txt src/ptex.imageio/CMakeLists.txt +index 16634fedb..82060ac29 100644 +--- src/ptex.imageio/CMakeLists.txt ++++ src/ptex.imageio/CMakeLists.txt +@@ -2,12 +2,9 @@ + # SPDX-License-Identifier: Apache-2.0 + # https://github.com/AcademySoftwareFoundation/OpenImageIO + +-if (Ptex_FOUND) +- set(ptex_target Ptex::Ptex_dynamic) +- if (TARGET Ptex::Ptex_static AND (NOT TARGET Ptex::Ptex_dynamic OR LINKSTATIC)) +- set(ptex_target Ptex::Ptex_static) +- endif() ++if (USE_PTEX) + add_oiio_plugin (ptexinput.cpp +- LINK_LIBRARIES ${ptex_target} ZLIB::ZLIB ++ LINK_LIBRARIES ${ptex_LIBRARIES} ZLIB::ZLIB ++ INCLUDE_DIRS ${ptex_INCLUDE_DIRS} + DEFINITIONS "-DUSE_PTEX") + endif () diff --git a/recipes/openimageio/config.yml b/recipes/openimageio/config.yml index cd903dbdc9549..95116bd79b886 100644 --- a/recipes/openimageio/config.yml +++ b/recipes/openimageio/config.yml @@ -5,3 +5,5 @@ versions: folder: all "2.5.6.0": folder: all + "2.5.9.0": + folder: all From 4662ebbdeba0348dffb6e7580dd4d2d1af3c6467 Mon Sep 17 00:00:00 2001 From: Ingmar Rieger Date: Mon, 4 Mar 2024 23:09:42 +0100 Subject: [PATCH 1290/1307] (#22916) Add OpenColorIO version 2.3.2 --- recipes/opencolorio/all/conandata.yml | 7 +++++++ recipes/opencolorio/config.yml | 2 ++ 2 files changed, 9 insertions(+) diff --git a/recipes/opencolorio/all/conandata.yml b/recipes/opencolorio/all/conandata.yml index b92cedca0d55d..840a3b9147df2 100644 --- a/recipes/opencolorio/all/conandata.yml +++ b/recipes/opencolorio/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.3.2": + url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.2.tar.gz" + sha256: "6bbf4e7fa4ea2f743a238cb22aff44890425771a2f57f62cece1574e46ceec2f" "2.3.1": url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v2.3.1.tar.gz" sha256: "7196e979a0449ce28afd46a78383476f3b8fc1cc1d3a417192be439ede83437b" @@ -15,6 +18,10 @@ sources: url: "https://github.com/AcademySoftwareFoundation/OpenColorIO/archive/v1.1.1.tar.gz" sha256: "c9b5b9def907e1dafb29e37336b702fff22cc6306d445a13b1621b8a754c14c8" patches: + "2.3.2": + - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" + patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" + patch_type: "conan" "2.3.1": - patch_file: "patches/2.3.1-0001-fix-cmake-source-dir-and-targets.patch" patch_description: "use cci package, use PROJECT_BINARY_DIR/PROJECT_SOURCE_DIR" diff --git a/recipes/opencolorio/config.yml b/recipes/opencolorio/config.yml index dc936cbaf95e1..fdcf6dcec8972 100644 --- a/recipes/opencolorio/config.yml +++ b/recipes/opencolorio/config.yml @@ -1,4 +1,6 @@ versions: + "2.3.2": + folder: "all" "2.3.1": folder: "all" "2.3.0": From 9963f7bba712c919ea36355b81fe5638f36c86a1 Mon Sep 17 00:00:00 2001 From: Johannes Wolf <519002+johannes-wolf@users.noreply.github.com> Date: Tue, 5 Mar 2024 00:28:37 +0100 Subject: [PATCH 1291/1307] (#22842) simfil: add version 0.1.1 * simfil: add version 0.1.0 * simfil: add version 0.1.0 * simfil: Check per compiler version for c++concepts * simfil: Fix validate error message * simfil: Fix validate error message * simfil: Apply PR review changes Co-authored-by: Uilian Ries * Update conanfile.py * Update recipes/simfil/all/conanfile.py Co-authored-by: Uilian Ries --------- Co-authored-by: Uilian Ries --- recipes/simfil/all/conandata.yml | 4 + recipes/simfil/all/conanfile.py | 103 ++++++++++++++++++ .../simfil/all/test_package/CMakeLists.txt | 8 ++ recipes/simfil/all/test_package/conanfile.py | 26 +++++ .../simfil/all/test_package/src/example.cpp | 8 ++ recipes/simfil/config.yml | 3 + 6 files changed, 152 insertions(+) create mode 100644 recipes/simfil/all/conandata.yml create mode 100644 recipes/simfil/all/conanfile.py create mode 100644 recipes/simfil/all/test_package/CMakeLists.txt create mode 100644 recipes/simfil/all/test_package/conanfile.py create mode 100644 recipes/simfil/all/test_package/src/example.cpp create mode 100644 recipes/simfil/config.yml diff --git a/recipes/simfil/all/conandata.yml b/recipes/simfil/all/conandata.yml new file mode 100644 index 0000000000000..f6fc491607eb0 --- /dev/null +++ b/recipes/simfil/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "0.1.1": + url: "https://github.com/Klebert-Engineering/simfil/archive/refs/tags/v0.1.1.tar.gz" + sha256: "e82a9d92ec65b7e27776d5507c78571cecc234f2b6fcdacc7ffcece6198f7f9a" diff --git a/recipes/simfil/all/conanfile.py b/recipes/simfil/all/conanfile.py new file mode 100644 index 0000000000000..7f51c69a00ce9 --- /dev/null +++ b/recipes/simfil/all/conanfile.py @@ -0,0 +1,103 @@ +from conan import ConanFile +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMake, CMakeToolchain, CMakeDeps, cmake_layout +from conan.tools.files import copy, get +from conan.tools.scm import Version +from conan.errors import ConanInvalidConfiguration +import os + + +required_conan_version = ">=1.53.0" + + +class SimfilRecipe(ConanFile): + name = "simfil" + description = "simfil is a C++ 17 library and a language for querying structured map feature data. The library provides an efficient in-memory storage pool for map data, optimized for the simfil query language, along with a query interpreter to query the actual data." + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/Klebert-Engineering/simfil" + license = "BSD-3-Clause" + topics = ["query-language", "json", "data-model"] + + # Binary configuration + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_json": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_json": True, + } + + @property + def _minimum_compilers_version(self): + return { + "Visual Studio": "16", + "msvc": "192", + "gcc": "10", + "clang": "10", + "apple-clang": "14", + } + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def validate(self): + check_min_cppstd(self, 20) + + min_version = self._minimum_compilers_version.get(str(self.settings.compiler)) + if not min_version: + self.output.warning(f"{self.name} recipe lacks information about the {self.settings.compiler} compiler support.") + else: + if Version(self.settings.compiler.version) < min_version: + raise ConanInvalidConfiguration( + f"{self.name} requires Concepts support. The current compiler {self.settings.compiler} {self.settings.compiler.version} does not support it.") + + def build_requirements(self): + self.tool_requires("cmake/[>3.19 <4]") + + def requirements(self): + self.requires("sfl/1.2.4", transitive_headers=True) + self.requires("fmt/10.0.0", transitive_headers=True) + self.requires("bitsery/5.2.3", transitive_headers=True) + if self.options.with_json: + self.requires("nlohmann_json/3.11.2") + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.cache_variables["SIMFIL_CONAN"] = True + tc.cache_variables["SIMFIL_SHARED"] = self.options.get_safe("shared") + tc.cache_variables["SIMFIL_WITH_REPL"] = False + tc.cache_variables["SIMFIL_WITH_COVERAGE"] = False + tc.cache_variables["SIMFIL_WITH_TESTS"] = False + tc.cache_variables["SIMFIL_WITH_EXAMPLES"] = False + tc.cache_variables["SIMFIL_WITH_MODEL_JSON"] = self.options.with_json + tc.generate() + deps = CMakeDeps(self) + deps.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + cmake = CMake(self) + cmake.install() + copy(self, "LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + def package_info(self): + self.cpp_info.libs = ["simfil"] diff --git a/recipes/simfil/all/test_package/CMakeLists.txt b/recipes/simfil/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..33e4104ed085d --- /dev/null +++ b/recipes/simfil/all/test_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.15) +project(PackageTest CXX) + +find_package(simfil CONFIG REQUIRED) + +add_executable(test_package src/example.cpp) +target_link_libraries(test_package simfil::simfil) +target_compile_features(test_package PRIVATE cxx_std_20) diff --git a/recipes/simfil/all/test_package/conanfile.py b/recipes/simfil/all/test_package/conanfile.py new file mode 100644 index 0000000000000..0c831359c3d24 --- /dev/null +++ b/recipes/simfil/all/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake + +class SimfilTestPackageConanFile(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/simfil/all/test_package/src/example.cpp b/recipes/simfil/all/test_package/src/example.cpp new file mode 100644 index 0000000000000..e263d12871d8b --- /dev/null +++ b/recipes/simfil/all/test_package/src/example.cpp @@ -0,0 +1,8 @@ +#include "simfil/value.h" + +int main() { + auto value = simfil::Value::make((int64_t)123); + (void)value; + + return 0; +} diff --git a/recipes/simfil/config.yml b/recipes/simfil/config.yml new file mode 100644 index 0000000000000..b893ff21f7c23 --- /dev/null +++ b/recipes/simfil/config.yml @@ -0,0 +1,3 @@ +versions: + "0.1.1": + folder: all From 61a276dbaee2eb6ca0b0ae266e9f693e0f2f04e4 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Tue, 5 Mar 2024 00:02:53 +0000 Subject: [PATCH 1292/1307] (#22971) Qt6 check if we are on C3I CI --- recipes/qt/6.x.x/conanfile.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/recipes/qt/6.x.x/conanfile.py b/recipes/qt/6.x.x/conanfile.py index 2d1eda3fcc0bc..02d45875b2ac6 100644 --- a/recipes/qt/6.x.x/conanfile.py +++ b/recipes/qt/6.x.x/conanfile.py @@ -235,11 +235,10 @@ def _enablemodule(mod): setattr(self.options, module, False) def validate(self): - if os.getenv('NOT_ON_C3I', '0') == '0': + if os.getenv('CONAN_CENTER_BUILD_SERVICE') is not None: if self.info.settings.compiler == "gcc" and Version(self.info.settings.compiler.version) >= "11" or \ self.info.settings.compiler == "clang" and Version(self.info.settings.compiler.version) >= "12": - raise ConanInvalidConfiguration("qt is not supported on gcc11 and clang >= 12 on C3I until conan-io/conan-center-index#13472 is fixed\n"\ - "If your distro is modern enough (xcb >= 1.12), set environment variable NOT_ON_C3I=1") + raise ConanInvalidConfiguration("qt is not supported on gcc11 and clang >= 12 on C3I until conan-io/conan-center-index#13472 is fixed") # C++ minimum standard required if self.settings.compiler.get_safe("cppstd"): From 650b3ef8bbec00a581b930d9680524366bdb8f2a Mon Sep 17 00:00:00 2001 From: Uilian Ries Date: Tue, 5 Mar 2024 10:02:19 +0100 Subject: [PATCH 1293/1307] (#22978) [config] Remove Conan v2 migration check as mandatory Signed-off-by: Uilian Ries --- .c3i/config_v1.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.c3i/config_v1.yml b/.c3i/config_v1.yml index ae8f0a7b717cf..a7779831e1660 100644 --- a/.c3i/config_v1.yml +++ b/.c3i/config_v1.yml @@ -38,7 +38,6 @@ tasks: # * status_checks refers to notifications coming from external tools (Jenkins, CLA,...) check_runs: - name: "Lint changed files (YAML files)" - - name: "Lint changed conanfile.py (v2 migration)" status_checks: - name: "license/cla" - name: "continuous-integration/jenkins/pr-merge" From 4685e1e7b29c86b091a2aba2e4b3031431f107dc Mon Sep 17 00:00:00 2001 From: toge Date: Tue, 5 Mar 2024 18:24:07 +0900 Subject: [PATCH 1294/1307] (#20442) chunkio: add recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chunkio: add recipe * add package_type, export all symbols, link shlwapi * disable PIC, support relocatable shared lib on macOS * revert disable PIC * disable pic on static build * Update recipes/chunkio/all/conanfile.py * Update recipes/chunkio/all/conanfile.py * Update recipes/chunkio/all/conanfile.py Co-authored-by: Martin Valgur --------- Co-authored-by: Francisco Ramírez Co-authored-by: Martin Valgur --- recipes/chunkio/all/conandata.yml | 16 +++++ recipes/chunkio/all/conanfile.py | 72 +++++++++++++++++++ .../patches/1.1.6-0001-add-installer.patch | 65 +++++++++++++++++ .../patches/1.1.6-0002-fix-wrong-target.patch | 14 ++++ .../all/patches/1.1.6-0003-disable-pic.patch | 15 ++++ .../chunkio/all/test_package/CMakeLists.txt | 7 ++ recipes/chunkio/all/test_package/conanfile.py | 25 +++++++ .../chunkio/all/test_package/test_package.c | 20 ++++++ recipes/chunkio/config.yml | 3 + 9 files changed, 237 insertions(+) create mode 100644 recipes/chunkio/all/conandata.yml create mode 100644 recipes/chunkio/all/conanfile.py create mode 100644 recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch create mode 100644 recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch create mode 100644 recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch create mode 100644 recipes/chunkio/all/test_package/CMakeLists.txt create mode 100644 recipes/chunkio/all/test_package/conanfile.py create mode 100644 recipes/chunkio/all/test_package/test_package.c create mode 100644 recipes/chunkio/config.yml diff --git a/recipes/chunkio/all/conandata.yml b/recipes/chunkio/all/conandata.yml new file mode 100644 index 0000000000000..0ec309fb48a89 --- /dev/null +++ b/recipes/chunkio/all/conandata.yml @@ -0,0 +1,16 @@ +sources: + "1.1.6": + url: "https://github.com/edsiper/chunkio/archive/refs/tags/v1.1.6.tar.gz" + sha256: "755dda0b8ccf6f5ff804b2c1a3caa938bae7b0f37d73afa12c1bf1fab4fd4c86" +patches: + "1.1.6": + - patch_file: "patches/1.1.6-0001-add-installer.patch" + patch_description: "add installer" + patch_type: "conan" + - patch_file: "patches/1.1.6-0002-fix-wrong-target.patch" + patch_description: "fix wrong target" + patch_type: "bugfix" + patch_source: "https://github.com/fluent/chunkio/issues/104" + - patch_file: "patches/1.1.6-0003-disable-pic.patch" + patch_description: "disable pic on static build" + patch_type: "portability" diff --git a/recipes/chunkio/all/conanfile.py b/recipes/chunkio/all/conanfile.py new file mode 100644 index 0000000000000..a32c30c04b01b --- /dev/null +++ b/recipes/chunkio/all/conanfile.py @@ -0,0 +1,72 @@ +from conan import ConanFile +from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +import os + +required_conan_version = ">=1.53.0" + +class ChunkIOConan(ConanFile): + name = "chunkio" + description = "Simple library to manage chunks of data in memory and file system" + license = "Apache-2.0" + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://github.com/edsiper/chunkio" + topics = ("chunk", "io", "memory", "file") + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + "with_filesystem": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + "with_filesystem": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.libcxx") + self.settings.rm_safe("compiler.cppstd") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.variables["CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS"] = True + tc.variables["CIO_LIB_STATIC"] = not self.options.shared + tc.variables["CIO_LIB_SHARED"] = self.options.shared + tc.variables["CIO_BACKEND_FILESYSTEM"] = self.options.with_filesystem + # Relocatable shared libs on macOS + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0042"] = "NEW" + tc.cache_variables["CMAKE_POLICY_DEFAULT_CMP0077"] = "NEW" + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["chunkio-shared"] if self.options.shared else ["chunkio-static", "cio-crc32"] + if self.settings.os == "Windows": + self.cpp_info.system_libs.append("shlwapi") diff --git a/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch b/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch new file mode 100644 index 0000000000000..52a5dd664faf7 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0001-add-installer.patch @@ -0,0 +1,65 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e6d5dcb..ebf3c4c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -109,10 +109,15 @@ include_directories( + + add_subdirectory(deps/crc32) + add_subdirectory(src) +-add_subdirectory(tools) ++#add_subdirectory(tools) + + # Tests + if(CIO_TESTS) + enable_testing() + add_subdirectory(tests) + endif() ++ ++include(GNUInstallDirs) ++ ++install(DIRECTORY include/chunkio DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(DIRECTORY deps/monkey/include/monkey DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +diff --git a/deps/crc32/CMakeLists.txt b/deps/crc32/CMakeLists.txt +index 8ae1823..0b7dba0 100644 +--- a/deps/crc32/CMakeLists.txt ++++ b/deps/crc32/CMakeLists.txt +@@ -3,3 +3,12 @@ set(src + ) + + add_library(cio-crc32 STATIC ${src}) ++ ++if(CIO_LIB_STATIC) ++ include(GNUInstallDirs) ++ install( ++ TARGETS cio-crc32 ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a4fc2d3..51736bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -50,3 +50,22 @@ endif() + if (NOT CIO_LIB_STATIC AND NOT CIO_LIB_SHARED) + message(FATAL_ERROR "What are you doing?, you should build something") + endif() ++ ++include(GNUInstallDirs) ++ ++if(CIO_LIB_STATIC) ++ install( ++ TARGETS chunkio-static ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() ++ ++if(CIO_LIB_SHARED) ++ install( ++ TARGETS chunkio-shared ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ ) ++endif() diff --git a/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch b/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch new file mode 100644 index 0000000000000..3b36da5f199b1 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0002-fix-wrong-target.patch @@ -0,0 +1,14 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a4fc2d3..51736bc 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -41,7 +41,7 @@ endif() + + if (CIO_LIB_SHARED) + add_library(chunkio-shared SHARED ${src}) +- target_link_libraries(chunkio-static ${libs}) ++ target_link_libraries(chunkio-shared ${libs}) + if(CIO_SANITIZE_ADDRESS) + add_sanitizers(chunkio-shared) + endif() + diff --git a/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch b/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch new file mode 100644 index 0000000000000..02733d0726a39 --- /dev/null +++ b/recipes/chunkio/all/patches/1.1.6-0003-disable-pic.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ebf3c4c..2db2794 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,7 +7,9 @@ set(CIO_VERSION_PATCH 6) + set(CIO_VERSION_STR "${CIO_VERSION_MAJOR}.${CIO_VERSION_MINOR}.${CIO_VERSION_PATCH}") + + # CFLAGS +-set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++if(BUILD_SHARED_LIBS) ++ set(CMAKE_POSITION_INDEPENDENT_CODE ON) ++endif() + if(MSVC) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4 ") + else() diff --git a/recipes/chunkio/all/test_package/CMakeLists.txt b/recipes/chunkio/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..145508da160d2 --- /dev/null +++ b/recipes/chunkio/all/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.15) +project(test_package LANGUAGES C) + +find_package(chunkio REQUIRED CONFIG) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE chunkio::chunkio) diff --git a/recipes/chunkio/all/test_package/conanfile.py b/recipes/chunkio/all/test_package/conanfile.py new file mode 100644 index 0000000000000..f5cf204295e19 --- /dev/null +++ b/recipes/chunkio/all/test_package/conanfile.py @@ -0,0 +1,25 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import cmake_layout, CMake +import os + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv" + test_type = "explicit" + + def requirements(self): + self.requires(self.tested_reference_str) + + def layout(self): + cmake_layout(self) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/chunkio/all/test_package/test_package.c b/recipes/chunkio/all/test_package/test_package.c new file mode 100644 index 0000000000000..1c8100c442be2 --- /dev/null +++ b/recipes/chunkio/all/test_package/test_package.c @@ -0,0 +1,20 @@ +#include "chunkio/chunkio.h" +#include + +static int log_cb(struct cio_ctx *ctx, int level, const char *file, int line, + char *str) +{ + (void) ctx; + + printf("[cio-test-fs] %-60s => %s:%i\n", str, file, line); + return 0; +} + +int main() { + int flags = CIO_CHECKSUM; + struct cio_ctx *ctx = cio_create(NULL, log_cb, CIO_LOG_INFO, flags); + + cio_destroy(ctx); + + return 0; +} diff --git a/recipes/chunkio/config.yml b/recipes/chunkio/config.yml new file mode 100644 index 0000000000000..98af2724bf2b9 --- /dev/null +++ b/recipes/chunkio/config.yml @@ -0,0 +1,3 @@ +versions: + "1.1.6": + folder: "all" From 5018851920669e1a02aef8347be752dbc48e4590 Mon Sep 17 00:00:00 2001 From: Roberto Turrado Camblor Date: Tue, 5 Mar 2024 10:46:26 +0100 Subject: [PATCH 1295/1307] (#22286) Add `tree-gen` recipe. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * coin-lemon: fixed C++17 and C++20 compilation warnings. * coin-lemon: renamed fix_cpp_20_compilation_warnings.patch to fix_cpp_20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review. * coin-lemon: updated patch to fix gcc 5 compilation (gcc 5 doesn't allow to use 'using' type aliases). * coin-lemon: fix conandata.yml (by removing an extra blank line). * coin-lemon: fixed C++20 compilation errors for path.h too. * coin-lemon: added patch_source lines to conandata.yml. * Adding a recipe for libqasm at Conan Center. * Trying to fix some Linter errors. * Trying to fix a remaining Linter error. * Revert "coin-lemon: added patch_source lines to conandata.yml." This reverts commit a94d7b1fe8cb38927eab847915cc2113710bde1d. * Revert "coin-lemon: fixed C++20 compilation errors for path.h too." This reverts commit 05fbdb86f066e2b5133c62906d09763dc2ebb135. * Revert "coin-lemon: fix conandata.yml (by removing an extra blank line)." This reverts commit 788b028529483d4057a3e405637bb7c866003467. * Revert "coin-lemon: updated patch to fix gcc 5 compilation (gcc 5 doesn't allow to use 'using' type aliases)." This reverts commit 73c92948992214360669d191aa5916c20f5ed57c. * Revert "coin-lemon: renamed fix_cpp_20_compilation_warnings.patch to fix_cpp_20_compilation_errors.patch, and updated conandata.yml as suggested in the pull request review." This reverts commit 6e1cafee0c7986e10e971ce449183ed29c984529. * Revert "coin-lemon: fixed C++17 and C++20 compilation warnings." This reverts commit 22fc69581904592e0b7a8a0eebc33e2dc6d731cd. * Initial commit. * Rename FuncgenConan to FuncGenConan. Remove actual files, and add golden files. * Remove libqasm recipe. * Require Conan>=2.0. * Initial commit. * This recipe is now in the same state as the func-gen recipe. We build tree-gen, and test the tree-gen executable. I've temporarily removed the test of the tree-gen library. There are a couple of problems with it: - First, '*inc' files are not found during compilation. - If we install these '*inc' files, then linkage fails. I think we shouldn't be installing '*inc' files. It looks like we're not creating the tree-gen library correctly. * Change source method to get sources from conandata.yml. Require Conan version >= 1.53.0. Fix package version at config.yml. * Revert "Change source method to get sources from conandata.yml." This reverts commit 7ce68f23ebf8c77f9d7bde1e956e139309b31ef2. * Require Conan version >= 1.53.0. Update to tree-gen version 1.0.1. Update source method to get sources from conandata.yml. Update test_tree_gen_executable method. * Remove func-gen recipe from this branch. * Remove commented out code from test_package/conanfile.py. * Remove share option. * Fix all/test_package/conanfile.py. * Change print calls to self.output.error. * Change package_test to use tree-gen in the expected way. - generate_tree_py should exercise the tree-gen executable. - Then example links against the tree-gen library. - Add all/test_package/CMakeLists.txt. - Implement example.cpp. Reorganize folder structure: - Move golden files to res. - Expect actual files to be written out to output. TODO: conan create all/conanfile.py --version 1.0.1 cannot find tree-gen package. * Change all/test_package/conanfile.py to look like conan-center-index/docs/package_templates/cmake_package/all/test_package/conanfile.py. Require tree-gen instead of tool_requiring it. TODO: Is this correct? tree-gen should be both tool_required (tree-gen executable) and required (tree-gen library). Make cmakee/generate_tree.cmake available to the clients by using cmake_build_modules in package_info. * Both tool_require and require tree-gen. * Trying to fix KB-H013-DEFAULT-PACKAGE-LAYOUT Conan hook error. * Trying to fix KB-H013-DEFAULT-PACKAGE-LAYOUT Conan hook error. * Apply changes from @RubenRBS code review. * Temporarily changing test_requires back to tool_requires. * Change test_package to a very simple version that just compiles. But doesn't run tree-gen executable. And doesn't compile tree-gen executable output files. * Change tool_requires(gtest) back again to test_requires. Even if this breaks a Linter. Add "lib/cmake" to cpp_info.builddirs. * Remove comments again from test_package. Even if that breaks again the recipe. * Apply most of the changes from uilianries PR. Except that we don't use patches. tree-gen 1.0.3 modifies the generate functions by accepting the path to the tree-gen executable as the first parameter. That allows us to find the tree-gen executable in all/test_package/CMakeLists.txt. Other changes: - all/conanfile.py: do not tool_require flex and bison when building for wasm architecture. * Remove references to tree-gen 1.0.1. * Change apple-clang compiler minimum version to 14. There may be a problem with apple-clang 13.0 and range-v3. * Trying to fix Windows/shared compilations. * Trying to fix Windows/shared compilations. * Trying to fix Windows/shared compilations. tree-gen 1.0.4 should export tree-gen-lib correctly. * Removing copy of hpp and inc files from source folder to package folder. Those files should be installed by tree-gen's CMakeLists.txt. * Remove unused rmdir imported from conan.tools.files. * Trying to use flex/bison Conan packages for armv8 and wasm. * Change apple-clang compiler minimum version back to 13. * Trying to fix apple-clang 13 compilation. * Change apple-clang compiler minimum version back to 14. There seems to be a bug in the Conan CI system when generating ARM binaries. Update to tree-gen version 1.0.6. --------- Co-authored-by: Rubén Rincón Blanco --- recipes/tree-gen/all/conandata.yml | 4 + recipes/tree-gen/all/conanfile.py | 108 ++++++++++++++++++ .../tree-gen/all/test_package/CMakeLists.txt | 28 +++++ .../tree-gen/all/test_package/conanfile.py | 30 +++++ .../all/test_package/res/directory.tree | 74 ++++++++++++ .../all/test_package/src/primitives.hpp | 90 +++++++++++++++ .../all/test_package/src/test_package.cpp | 18 +++ .../tree-gen/all/test_package/src/utils.hpp | 20 ++++ recipes/tree-gen/config.yml | 3 + 9 files changed, 375 insertions(+) create mode 100644 recipes/tree-gen/all/conandata.yml create mode 100644 recipes/tree-gen/all/conanfile.py create mode 100644 recipes/tree-gen/all/test_package/CMakeLists.txt create mode 100644 recipes/tree-gen/all/test_package/conanfile.py create mode 100644 recipes/tree-gen/all/test_package/res/directory.tree create mode 100644 recipes/tree-gen/all/test_package/src/primitives.hpp create mode 100644 recipes/tree-gen/all/test_package/src/test_package.cpp create mode 100644 recipes/tree-gen/all/test_package/src/utils.hpp create mode 100644 recipes/tree-gen/config.yml diff --git a/recipes/tree-gen/all/conandata.yml b/recipes/tree-gen/all/conandata.yml new file mode 100644 index 0000000000000..21ee5b5699adc --- /dev/null +++ b/recipes/tree-gen/all/conandata.yml @@ -0,0 +1,4 @@ +sources: + "1.0.6": + url: "https://github.com/QuTech-Delft/tree-gen/archive/refs/tags/1.0.6.tar.gz" + sha256: "a7f6617830b3817b21cddc0f4442a04c10fbb89a19cabb1bbd0e8facb040cba8" diff --git a/recipes/tree-gen/all/conanfile.py b/recipes/tree-gen/all/conanfile.py new file mode 100644 index 0000000000000..e2afb05918b37 --- /dev/null +++ b/recipes/tree-gen/all/conanfile.py @@ -0,0 +1,108 @@ +import os + +from conan import ConanFile +from conan.errors import ConanInvalidConfiguration +from conan.tools.build import check_min_cppstd +from conan.tools.cmake import CMakeToolchain, CMakeDeps, CMake, cmake_layout +from conan.tools.env import VirtualBuildEnv +from conan.tools.files import copy, get +from conan.tools.scm import Version + +required_conan_version = ">=1.53.0" + + +class TreeGenConan(ConanFile): + name = "tree-gen" + license = "Apache-2.0" + homepage = "https://github.com/QuTech-Delft/tree-gen" + url = "https://github.com/conan-io/conan-center-index" + description = "C++ and Python code generator for tree-like structures common in parser and compiler codebases." + topics = ("code generation", "tree", "parser", "compiler") + settings = "os", "compiler", "build_type", "arch" + package_type = "library" + options = { + "shared": [True, False], + "fPIC": [True, False] + } + default_options = { + "shared": False, + "fPIC": True + } + + @property + def _should_build_test(self): + return not self.conf.get("tools.build:skip_test", default=True, check_type=bool) + + @property + def _min_cppstd(self): + return 17 + + @property + def _compilers_minimum_version(self): + return { + "gcc": "8", + "clang": "7", + "apple-clang": "14", + "Visual Studio": "16", + "msvc": "192" + } + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + + def layout(self): + cmake_layout(self, src_folder="src") + + def build_requirements(self): + if self._should_build_test: + self.test_requires("gtest/1.14.0") + self.tool_requires("m4/1.4.19") + if self.settings.os == "Windows": + self.tool_requires("winflexbison/2.5.24") + else: + self.tool_requires("flex/2.6.4") + self.tool_requires("bison/3.8.2") + + def validate(self): + if self.settings.compiler.cppstd: + check_min_cppstd(self, self._min_cppstd) + minimum_version = self._compilers_minimum_version.get(str(self.settings.compiler), False) + if minimum_version and Version(self.settings.compiler.version) < minimum_version: + raise ConanInvalidConfiguration(f"{self.ref} requires C++{self._min_cppstd}, which your compiler does not support.") + + def requirements(self): + self.requires("fmt/10.2.1", transitive_headers=True) + self.requires("range-v3/0.12.0", transitive_headers=True) + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + deps = CMakeDeps(self) + deps.generate() + tc = CMakeToolchain(self) + tc.variables["TREE_GEN_BUILD_TESTS"] = self._should_build_test + tc.generate() + env = VirtualBuildEnv(self) + env.generate() + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "LICENSE.md", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + copy(self, "generate_tree.cmake", src=os.path.join(self.source_folder, "cmake"), dst=os.path.join(self.package_folder, "lib", "cmake")) + cmake = CMake(self) + cmake.install() + + def package_info(self): + self.cpp_info.libs = ["tree-gen"] + self.cpp_info.builddirs.append(os.path.join("lib", "cmake")) + self.cpp_info.set_property("cmake_build_modules", [os.path.join("lib", "cmake", "generate_tree.cmake")]) diff --git a/recipes/tree-gen/all/test_package/CMakeLists.txt b/recipes/tree-gen/all/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..1da53d12a62a1 --- /dev/null +++ b/recipes/tree-gen/all/test_package/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.12) + +project(PackageTest CXX) + +find_package(tree-gen REQUIRED CONFIG) + +find_program(TREE_GEN_EXECUTABLE tree-gen REQUIRED) + +# Generate the directory classes. +generate_tree_py( + "${TREE_GEN_EXECUTABLE}" + "${CMAKE_CURRENT_SOURCE_DIR}/res/directory.tree" + "${CMAKE_CURRENT_BINARY_DIR}/directory.hpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.cpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.py" +) + +add_executable(test_package + "${CMAKE_CURRENT_SOURCE_DIR}/src/test_package.cpp" + "${CMAKE_CURRENT_BINARY_DIR}/directory.cpp" +) + +target_include_directories(test_package + PRIVATE "${CMAKE_CURRENT_BINARY_DIR}" + PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src" +) +target_compile_features(test_package PRIVATE cxx_std_17) +target_link_libraries(test_package PRIVATE tree-gen::tree-gen) diff --git a/recipes/tree-gen/all/test_package/conanfile.py b/recipes/tree-gen/all/test_package/conanfile.py new file mode 100644 index 0000000000000..d9214e3d91722 --- /dev/null +++ b/recipes/tree-gen/all/test_package/conanfile.py @@ -0,0 +1,30 @@ +import os + +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv", "VirtualRunEnv" + test_type = "explicit" + + def build_requirements(self): + self.tool_requires(self.tested_reference_str) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def layout(self): + cmake_layout(self) + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindir, "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/tree-gen/all/test_package/res/directory.tree b/recipes/tree-gen/all/test_package/res/directory.tree new file mode 100644 index 0000000000000..ef78a5d0d0d14 --- /dev/null +++ b/recipes/tree-gen/all/test_package/res/directory.tree @@ -0,0 +1,74 @@ +// Attach \file docstrings to the generated files for Doxygen. +# Implementation for classes representing a Windows directory tree. +source + +# Header for classes representing a Windows directory tree. +header + +// Include tree base classes. +include "tree-base.hpp" +tree_namespace tree::base + +// Include primitive types. +include "primitives.hpp" +import primitives + +// Initialization function to use to construct default values for the tree base +// classes and primitives. +initialize_function primitives::initialize +serdes_functions primitives::serialize primitives::deserialize + +// Set the namespace for the generated classes and attach a docstring. +# Namespace for classes representing a Windows directory tree. +namespace directory + +# Root node, containing the drives and associated directory trees. +system { + + # The drives available on the system. There must be at least one. + drives: Many; + +} + +# Represents a drive. +drive { + + # The drive letter used to identify it. + letter: primitives::Letter; + + # Root directory. + root_dir: One; + +} + +# Represents a directory entry. +entry { + + # Name of the directory entry. + name: primitives::String; + + # Represents a regular file. + file { + + # The file contents. + contents: primitives::String; + + } + + # Represents a (sub)directory. + directory { + + # The directory contents. Note that directories can be empty. + entries: Any; + + } + + # Represents a link to another directory. + mount { + + # The directory linked to. + target: Link; + + } + +} diff --git a/recipes/tree-gen/all/test_package/src/primitives.hpp b/recipes/tree-gen/all/test_package/src/primitives.hpp new file mode 100644 index 0000000000000..e4b04b69ada62 --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/primitives.hpp @@ -0,0 +1,90 @@ +/** \file + * Defines primitives used in the generated directory tree structure. + */ + +#pragma once + +#include + +/** + * Namespace with primitives used in the generated directory tree structure. + */ +namespace primitives { + +/** + * Letter primitive, used to represent drive letters. + */ +using Letter = char; + +/** + * Strings, used to represent filenames and file contents. + */ +using String = std::string; + +/** + * Initialization function. This must be specialized for any types used as + * primitives in a tree that are actual C primitives (int, char, bool, etc), + * as these are not initialized by the T() construct. + */ +template +T initialize() { return T(); }; + +/** + * Declare the default initializer for drive letters. It's declared inline + * to avoid having to make a cpp file just for this. + */ +template <> +inline Letter initialize() { + return 'A'; +} + +/** + * Serialization function. This must be specialized for any types used as + * primitives in a tree. The default implementation doesn't do anything. + */ +template +void serialize(const T &obj, tree::cbor::MapWriter &map) { +} + +/** + * Serialization function for Letter. + */ +template <> +inline void serialize(const Letter &obj, tree::cbor::MapWriter &map) { + map.append_int("val", obj); +} + +/** + * Serialization function for String. + */ +template <> +inline void serialize(const String &obj, tree::cbor::MapWriter &map) { + map.append_string("val", obj); +} + +/** + * Deserialization function. This must be specialized for any types used as + * primitives in a tree. The default implementation doesn't do anything. + */ +template +T deserialize(const tree::cbor::MapReader &map) { + return initialize(); +} + +/** + * Deserialization function for Letter. + */ +template <> +inline Letter deserialize(const tree::cbor::MapReader &map) { + return map.at("val").as_int(); +} + +/** + * Deserialization function for String. + */ +template <> +inline String deserialize(const tree::cbor::MapReader &map) { + return map.at("val").as_string(); +} + +} // namespace primitives diff --git a/recipes/tree-gen/all/test_package/src/test_package.cpp b/recipes/tree-gen/all/test_package/src/test_package.cpp new file mode 100644 index 0000000000000..34ed4f5d4eea7 --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/test_package.cpp @@ -0,0 +1,18 @@ +#include "directory.hpp" // the generated file +#include "utils.hpp" +#include "version.hpp" // tree-gen version + +#include + + +void print_tree_gen_version() { + std::cout << "tree-gen version: " << get_version() << "\n"; + std::cout << "tree-gen release year: " << get_release_year() << "\n"; +} + +int main() { + print_tree_gen_version(); + + auto system = tree::base::make(); + ASSERT(!system.is_well_formed()); +} diff --git a/recipes/tree-gen/all/test_package/src/utils.hpp b/recipes/tree-gen/all/test_package/src/utils.hpp new file mode 100644 index 0000000000000..09550ab4f6d8e --- /dev/null +++ b/recipes/tree-gen/all/test_package/src/utils.hpp @@ -0,0 +1,20 @@ +#pragma once + +#define ASSERT(x) \ + do { \ + if (!(x)) { \ + throw std::runtime_error("assertion failed: " #x " is false at " __FILE__ ":" + std::to_string(__LINE__)); \ + } \ + } while (0) + +#define ASSERT_RAISES(exc, x) \ + do { \ + try { \ + x; \ + throw std::runtime_error("assertion failed: no exception at " __FILE__ ":" + std::to_string(__LINE__)); \ + } catch (exc &e) { \ + std::cout << #exc << " exception message: " << e.what() << std::endl; \ + } \ + } while (0) + +#define MARKER std::cout << "###MARKER###" << std::endl; diff --git a/recipes/tree-gen/config.yml b/recipes/tree-gen/config.yml new file mode 100644 index 0000000000000..c8c4465c97415 --- /dev/null +++ b/recipes/tree-gen/config.yml @@ -0,0 +1,3 @@ +versions: + "1.0.6": + folder: all From a0df9ec5ae4e19bacc1f7c4cebdde22004f8716e Mon Sep 17 00:00:00 2001 From: ericLemanissier Date: Tue, 5 Mar 2024 10:50:09 +0100 Subject: [PATCH 1296/1307] linter: handle test_requires (#22979) it is basically like a build_requires: https://github.com/conan-io/conan/blob/1.63.0/conans/client/graph/graph_manager.py#L321 --- linter/transform_conanfile.py | 1 + 1 file changed, 1 insertion(+) diff --git a/linter/transform_conanfile.py b/linter/transform_conanfile.py index 8e33d368643b1..36846a9b3b44b 100644 --- a/linter/transform_conanfile.py +++ b/linter/transform_conanfile.py @@ -52,6 +52,7 @@ def transform_conanfile(node): dynamic_fields = { "conan_data": str_class, "build_requires": build_requires_class, + "test_requires" : build_requires_class, "tool_requires": build_requires_class, "info_build": info_class, "user_info_build": [_user_info_build_transform()], From 4f9bc0186a6641469acf102cf865f4307b7de8cd Mon Sep 17 00:00:00 2001 From: Jordan Williams Date: Tue, 5 Mar 2024 04:07:03 -0600 Subject: [PATCH 1297/1307] (#22426) libmount: Make the libblkid and libmount libraries separate components Adding the eudev package requires `libblkid` only. Adding a separate libblkid recipe hasn't gotten anywhere yet. This PR uses an alternative approach and separates the libraries. Each library is split into its own component. --- recipes/libmount/all/conanfile.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/recipes/libmount/all/conanfile.py b/recipes/libmount/all/conanfile.py index b9ec541d71963..ea963a9965bfc 100644 --- a/recipes/libmount/all/conanfile.py +++ b/recipes/libmount/all/conanfile.py @@ -72,7 +72,11 @@ def package(self): rm(self, "*.la", os.path.join(self.package_folder, "lib")) def package_info(self): - self.cpp_info.libs = ["mount", "blkid"] - self.cpp_info.system_libs = ["rt"] - self.cpp_info.includedirs.append(os.path.join("include", "libmount")) - self.cpp_info.set_property("pkg_config_name", "mount") + self.cpp_info.components["libblkid"].libs = ["blkid"] + self.cpp_info.components["libblkid"].set_property("pkg_config_name", "blkid") + + self.cpp_info.components["libmount"].libs = ["mount"] + self.cpp_info.components["libmount"].system_libs = ["rt"] + self.cpp_info.components["libmount"].includedirs.append(os.path.join("include", "libmount")) + self.cpp_info.components["libmount"].set_property("pkg_config_name", "mount") + self.cpp_info.components["libmount"].requires = ["libblkid"] From 4b2590afd3914d1e1eb53a9b6a39f73b99f54ad1 Mon Sep 17 00:00:00 2001 From: Ahajha <44127594+Ahajha@users.noreply.github.com> Date: Tue, 5 Mar 2024 05:50:12 -0500 Subject: [PATCH 1298/1307] (#22976) xz_utils: Add 5.6.0 as a new subdir * Add xz_utils 5.6.0 * Convert xz_utils 5.6.0 to a new subdir * Remove extra installed files * Rename liblzma on windows --- recipes/xz_utils/cmake/conandata.yml | 4 + recipes/xz_utils/cmake/conanfile.py | 119 ++++++++++++++++++ .../cmake/test_package/CMakeLists.txt | 26 ++++ .../xz_utils/cmake/test_package/conanfile.py | 26 ++++ .../cmake/test_package/test_package.c | 8 ++ .../cmake/test_v1_package/CMakeLists.txt | 8 ++ .../cmake/test_v1_package/conanfile.py | 17 +++ recipes/xz_utils/config.yml | 2 + 8 files changed, 210 insertions(+) create mode 100644 recipes/xz_utils/cmake/conandata.yml create mode 100644 recipes/xz_utils/cmake/conanfile.py create mode 100644 recipes/xz_utils/cmake/test_package/CMakeLists.txt create mode 100644 recipes/xz_utils/cmake/test_package/conanfile.py create mode 100644 recipes/xz_utils/cmake/test_package/test_package.c create mode 100644 recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt create mode 100644 recipes/xz_utils/cmake/test_v1_package/conanfile.py diff --git a/recipes/xz_utils/cmake/conandata.yml b/recipes/xz_utils/cmake/conandata.yml new file mode 100644 index 0000000000000..457376715689b --- /dev/null +++ b/recipes/xz_utils/cmake/conandata.yml @@ -0,0 +1,4 @@ +sources: + "5.6.0": + url: "https://github.com/tukaani-project/xz/releases/download/v5.6.0/xz-5.6.0.tar.xz" + sha256: "cdafe1632f139c82937cc1ed824f7a60b7b0a0619dfbbd681dcac02b1ac28f5b" diff --git a/recipes/xz_utils/cmake/conanfile.py b/recipes/xz_utils/cmake/conanfile.py new file mode 100644 index 0000000000000..641cb1d252d68 --- /dev/null +++ b/recipes/xz_utils/cmake/conanfile.py @@ -0,0 +1,119 @@ +from conan import ConanFile +from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout +from conan.errors import ConanInvalidConfiguration +from conan.tools.files import apply_conandata_patches, copy, export_conandata_patches, get, rename, rmdir, save +from conan.tools.scm import Version +import os +import textwrap + +required_conan_version = ">=1.54.0" + + +class XZUtilsConan(ConanFile): + name = "xz_utils" + description = ( + "XZ Utils is free general-purpose data compression software with a high " + "compression ratio. XZ Utils were written for POSIX-like systems, but also " + "work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils." + ) + url = "https://github.com/conan-io/conan-center-index" + homepage = "https://tukaani.org/xz" + topics = ("lzma", "xz", "compression") + license = "Unlicense", "LGPL-2.1-or-later", "GPL-2.0-or-later", "GPL-3.0-or-later" + package_type = "library" + settings = "os", "arch", "compiler", "build_type" + options = { + "shared": [True, False], + "fPIC": [True, False], + } + default_options = { + "shared": False, + "fPIC": True, + } + + def export_sources(self): + export_conandata_patches(self) + + def config_options(self): + if self.settings.os == "Windows": + del self.options.fPIC + + def configure(self): + if self.options.shared: + self.options.rm_safe("fPIC") + self.settings.rm_safe("compiler.cppstd") + self.settings.rm_safe("compiler.libcxx") + + def validate(self): + # This is only from 5.6.0 onwards, they are just in a different recipe so no need to check version. + if self.settings.compiler == "gcc" and Version(self.settings.compiler.version) < "7": + raise ConanInvalidConfiguration(f"{self.ref} does not work on GCC<7 due to errors with inline assembly") + + def layout(self): + cmake_layout(self, src_folder="src") + + def source(self): + get(self, **self.conan_data["sources"][self.version], strip_root=True) + + def generate(self): + tc = CMakeToolchain(self) + tc.generate() + + def build(self): + apply_conandata_patches(self) + cmake = CMake(self) + cmake.configure() + cmake.build() + + def package(self): + copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) + + self._create_cmake_module_variables( + os.path.join(self.package_folder, self._module_file_rel_path), + ) + cmake = CMake(self) + cmake.install() + + rmdir(self, os.path.join(self.package_folder, "share")) + rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) + rmdir(self, os.path.join(self.package_folder, "lib", "cmake", "liblzma")) + if self.settings.os == "Windows": + rename(self, os.path.join(self.package_folder, "lib", "liblzma.lib"), os.path.join(self.package_folder, "lib", "lzma.lib")) + + def _create_cmake_module_variables(self, module_file): + # TODO: also add LIBLZMA_HAS_AUTO_DECODER, LIBLZMA_HAS_EASY_ENCODER & LIBLZMA_HAS_LZMA_PRESET + content = textwrap.dedent(f"""\ + set(LIBLZMA_FOUND TRUE) + if(DEFINED LibLZMA_INCLUDE_DIRS) + set(LIBLZMA_INCLUDE_DIRS ${{LibLZMA_INCLUDE_DIRS}}) + endif() + if(DEFINED LibLZMA_LIBRARIES) + set(LIBLZMA_LIBRARIES ${{LibLZMA_LIBRARIES}}) + endif() + set(LIBLZMA_VERSION_MAJOR {Version(self.version).major}) + set(LIBLZMA_VERSION_MINOR {Version(self.version).minor}) + set(LIBLZMA_VERSION_PATCH {Version(self.version).patch}) + set(LIBLZMA_VERSION_STRING "{self.version}") + """) + save(self, module_file, content) + + @property + def _module_file_rel_path(self): + return os.path.join("lib", "cmake", f"conan-official-{self.name}-variables.cmake") + + def package_info(self): + self.cpp_info.set_property("cmake_find_mode", "both") + self.cpp_info.set_property("cmake_file_name", "LibLZMA") + self.cpp_info.set_property("cmake_target_name", "LibLZMA::LibLZMA") + self.cpp_info.set_property("cmake_build_modules", [self._module_file_rel_path]) + self.cpp_info.set_property("pkg_config_name", "liblzma") + self.cpp_info.libs = ["lzma"] + if not self.options.shared: + self.cpp_info.defines.append("LZMA_API_STATIC") + if self.settings.os in ["Linux", "FreeBSD"]: + self.cpp_info.system_libs.append("pthread") + + # TODO: to remove in conan v2 once cmake_find_package* & pkg_config generators removed + self.cpp_info.names["cmake_find_package"] = "LibLZMA" + self.cpp_info.names["cmake_find_package_multi"] = "LibLZMA" + self.cpp_info.build_modules["cmake_find_package"] = [self._module_file_rel_path] diff --git a/recipes/xz_utils/cmake/test_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_package/CMakeLists.txt new file mode 100644 index 0000000000000..cd4e960a3ff01 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/CMakeLists.txt @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package LANGUAGES C) + +find_package(LibLZMA REQUIRED) + +add_executable(${PROJECT_NAME} test_package.c) +target_link_libraries(${PROJECT_NAME} PRIVATE LibLZMA::LibLZMA) + +# Test whether variables from https://cmake.org/cmake/help/latest/module/FindLibLZMA.html +# are properly defined in conan generators +set(_custom_vars + LIBLZMA_FOUND + LIBLZMA_INCLUDE_DIRS + LIBLZMA_LIBRARIES + LIBLZMA_VERSION_MAJOR + LIBLZMA_VERSION_MINOR + LIBLZMA_VERSION_PATCH + LIBLZMA_VERSION_STRING +) +foreach(_custom_var ${_custom_vars}) + if(DEFINED ${_custom_var}) + message(STATUS "${_custom_var}: ${${_custom_var}}") + else() + message(FATAL_ERROR "${_custom_var} not defined") + endif() +endforeach() diff --git a/recipes/xz_utils/cmake/test_package/conanfile.py b/recipes/xz_utils/cmake/test_package/conanfile.py new file mode 100644 index 0000000000000..0a6bc68712d90 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/conanfile.py @@ -0,0 +1,26 @@ +from conan import ConanFile +from conan.tools.build import can_run +from conan.tools.cmake import CMake, cmake_layout +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "CMakeToolchain", "CMakeDeps", "VirtualRunEnv" + test_type = "explicit" + + def layout(self): + cmake_layout(self) + + def requirements(self): + self.requires(self.tested_reference_str) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if can_run(self): + bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package") + self.run(bin_path, env="conanrun") diff --git a/recipes/xz_utils/cmake/test_package/test_package.c b/recipes/xz_utils/cmake/test_package/test_package.c new file mode 100644 index 0000000000000..a1f55ac414846 --- /dev/null +++ b/recipes/xz_utils/cmake/test_package/test_package.c @@ -0,0 +1,8 @@ +#include +#include +#include + +int main() { + printf("LZMA version %s\n", lzma_version_string()); + return EXIT_SUCCESS; +} diff --git a/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt b/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt new file mode 100644 index 0000000000000..0d20897301b68 --- /dev/null +++ b/recipes/xz_utils/cmake/test_v1_package/CMakeLists.txt @@ -0,0 +1,8 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup(TARGETS) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../test_package + ${CMAKE_CURRENT_BINARY_DIR}/test_package) diff --git a/recipes/xz_utils/cmake/test_v1_package/conanfile.py b/recipes/xz_utils/cmake/test_v1_package/conanfile.py new file mode 100644 index 0000000000000..19e6a0c06e3d8 --- /dev/null +++ b/recipes/xz_utils/cmake/test_v1_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "arch", "compiler", "build_type" + generators = "cmake", "cmake_find_package" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/recipes/xz_utils/config.yml b/recipes/xz_utils/config.yml index d950dab72f7d0..0044c059f459b 100644 --- a/recipes/xz_utils/config.yml +++ b/recipes/xz_utils/config.yml @@ -1,4 +1,6 @@ versions: + "5.6.0": + folder: cmake "5.4.5": folder: all "5.4.4": From e41d92b367d723976f164a42cd06372adbcf95e5 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Tue, 5 Mar 2024 12:08:38 +0100 Subject: [PATCH 1299/1307] (#22975) hictk: add v0.0.10 --- recipes/hictk/all/conandata.yml | 3 +++ recipes/hictk/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/hictk/all/conandata.yml b/recipes/hictk/all/conandata.yml index ef016828b80db..ba37c76167468 100644 --- a/recipes/hictk/all/conandata.yml +++ b/recipes/hictk/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.0.10": + url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.10.tar.gz" + sha256: "0b2d60af73578b292317e5ab513f24965176f9852ceda29e8d02007a434588c3" "0.0.9": url: "https://github.com/paulsengroup/hictk/archive/refs/tags/v0.0.9.tar.gz" sha256: "c64cb07a057863baa199b9d344b27b8f15a1db458390ccf7b5cac0627308d8c8" diff --git a/recipes/hictk/config.yml b/recipes/hictk/config.yml index 0677603a25aa5..351a3e971990d 100644 --- a/recipes/hictk/config.yml +++ b/recipes/hictk/config.yml @@ -1,4 +1,6 @@ versions: + "0.0.10": + folder: all "0.0.9": folder: all "0.0.8": From b3c139b51ffc60c22be91c1029de2aed8c39c288 Mon Sep 17 00:00:00 2001 From: Tamas Kenez <126668370+tamaskenezlego@users.noreply.github.com> Date: Tue, 5 Mar 2024 16:44:37 +0100 Subject: [PATCH 1300/1307] (#20521) Fix opencolorio/2.2.1 broken if is_apple_os() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * improve error message if is_apple_os() * Update conanfile.py --------- Co-authored-by: Francisco Ramírez Co-authored-by: Rubén Rincón Blanco --- recipes/opencolorio/all/conanfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/opencolorio/all/conanfile.py b/recipes/opencolorio/all/conanfile.py index 13719aad33361..49d9c8b544de8 100644 --- a/recipes/opencolorio/all/conanfile.py +++ b/recipes/opencolorio/all/conanfile.py @@ -90,7 +90,7 @@ def validate(self): # opencolorio>=2.2.0 requires minizip-ng with with_zlib if Version(self.version) >= "2.2.0" and \ not self.dependencies["minizip-ng"].options.get_safe("with_zlib", False): - raise ConanInvalidConfiguration(f"{self.ref} requires minizip-ng with with_zlib = True.") + raise ConanInvalidConfiguration(f"{self.ref} requires minizip-ng with with_zlib = True. On Apple platforms with_libcomp = False is also needed to enable the with_zlib option.") if Version(self.version) == "1.1.1" and self.options.shared and self.dependencies["yaml-cpp"].options.shared: raise ConanInvalidConfiguration(f"{self.ref} requires static build yaml-cpp") From 9e4baa3f09b567ad7968209f4325470798069b21 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 01:28:03 +0900 Subject: [PATCH 1301/1307] (#22968) aws-c-http: add version 0.8.1 --- recipes/aws-c-http/all/conandata.yml | 3 +++ recipes/aws-c-http/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/aws-c-http/all/conandata.yml b/recipes/aws-c-http/all/conandata.yml index 68fa29d3753e7..6ee734ea998ca 100644 --- a/recipes/aws-c-http/all/conandata.yml +++ b/recipes/aws-c-http/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.8.1": + url: "https://github.com/awslabs/aws-c-http/archive/v0.8.1.tar.gz" + sha256: "83fb47e2d7956469bb328f16dea96663e96f8f20dc60dc4e9676b82804588530" "0.7.14": url: "https://github.com/awslabs/aws-c-http/archive/v0.7.14.tar.gz" sha256: "afb935395c93427ac0853d6363900a71816a0508f18c86e84da0e6ebe7271429" diff --git a/recipes/aws-c-http/config.yml b/recipes/aws-c-http/config.yml index febd9410cb93f..9ef90600a046d 100644 --- a/recipes/aws-c-http/config.yml +++ b/recipes/aws-c-http/config.yml @@ -1,4 +1,6 @@ versions: + "0.8.1": + folder: all "0.7.14": folder: all "0.6.22": From 1c65a3accdb3b14169f852df010e8d77b042c86e Mon Sep 17 00:00:00 2001 From: Matthieu Darbois Date: Tue, 5 Mar 2024 17:48:07 +0100 Subject: [PATCH 1302/1307] (#22988) openjpeg: add version 2.5.2 --- recipes/openjpeg/all/conandata.yml | 3 +++ recipes/openjpeg/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/openjpeg/all/conandata.yml b/recipes/openjpeg/all/conandata.yml index aa3392abe8228..a2bb2c3515805 100644 --- a/recipes/openjpeg/all/conandata.yml +++ b/recipes/openjpeg/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.5.2": + url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz" + sha256: "90e3896fed910c376aaf79cdd98bdfdaf98c6472efd8e1debf0a854938cbda6a" "2.5.1": url: "https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.1.tar.gz" sha256: "c0b92dadd65e33b1cf94f39dd9157d5469846744c2e0afb8ca10961f51f61da6" diff --git a/recipes/openjpeg/config.yml b/recipes/openjpeg/config.yml index cfbcc333e7b22..b4e926204666d 100644 --- a/recipes/openjpeg/config.yml +++ b/recipes/openjpeg/config.yml @@ -1,4 +1,6 @@ versions: + "2.5.2": + folder: all "2.5.1": folder: all "2.5.0": From 2ef540a2d3ef8536b1133bdea0848eb493bbc770 Mon Sep 17 00:00:00 2001 From: toge Date: Wed, 6 Mar 2024 17:47:41 +0900 Subject: [PATCH 1303/1307] (#22751) s2geometry: add version 0.11.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * s2geometry: add version 0.11.1 * remove share folder, update abseil * fix cmake names Co-authored-by: Uilian Ries * fix target name * Update conanfile.py --------- Co-authored-by: Uilian Ries Co-authored-by: Francisco Ramírez --- recipes/s2geometry/all/conandata.yml | 3 +++ recipes/s2geometry/all/conanfile.py | 10 +++++++--- recipes/s2geometry/all/test_package/CMakeLists.txt | 4 ++-- recipes/s2geometry/config.yml | 2 ++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/recipes/s2geometry/all/conandata.yml b/recipes/s2geometry/all/conandata.yml index 2320f21a27e4c..5cd6ac69f48bf 100644 --- a/recipes/s2geometry/all/conandata.yml +++ b/recipes/s2geometry/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "0.11.1": + url: "https://github.com/google/s2geometry/archive/refs/tags/v0.11.1.tar.gz" + sha256: "bdbeb8ebdb88fa934257caf81bb44b55711617a3ab4fdec2c3cfd6cc31b61734" "0.10.0": url: "https://github.com/google/s2geometry/archive/refs/tags/v0.10.0.tar.gz" sha256: "1c17b04f1ea20ed09a67a83151ddd5d8529716f509dde49a8190618d70532a3d" diff --git a/recipes/s2geometry/all/conanfile.py b/recipes/s2geometry/all/conanfile.py index 31e07fd7e0dc3..fd54c4b79443f 100644 --- a/recipes/s2geometry/all/conanfile.py +++ b/recipes/s2geometry/all/conanfile.py @@ -4,7 +4,7 @@ from conan.errors import ConanInvalidConfiguration from conan.tools.build import check_min_cppstd from conan.tools.cmake import CMake, CMakeDeps, CMakeToolchain, cmake_layout -from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches +from conan.tools.files import get, copy, rmdir, export_conandata_patches, apply_conandata_patches from conan.tools.microsoft import is_msvc from conan.tools.scm import Version @@ -36,7 +36,7 @@ def _min_cppstd(self): @property def _compilers_minimum_version(self): return { - "gcc": "5", + "gcc": "6", "clang": "7", "apple-clang": "10", "Visual Studio": "15", @@ -58,7 +58,7 @@ def layout(self): cmake_layout(self, src_folder="src") def requirements(self): - self.requires("abseil/20230125.3", transitive_headers=True, transitive_libs=True) + self.requires("abseil/20230802.1", transitive_headers=True, transitive_libs=True) self.requires("openssl/[>=1.1 <4]", transitive_headers=True) def validate(self): @@ -81,6 +81,7 @@ def generate(self): tc = CMakeToolchain(self) tc.variables["GOOGLETEST_ROOT"] = False tc.variables["BUILD_EXAMPLES"] = False + tc.variables["BUILD_TESTS"] = False tc.generate() tc = CMakeDeps(self) tc.generate() @@ -95,6 +96,9 @@ def package(self): copy(self, pattern="LICENSE", dst=os.path.join(self.package_folder, "licenses"), src=self.source_folder) cmake = CMake(self) cmake.install() + rmdir(self, os.path.join(self.package_folder, "share")) def package_info(self): self.cpp_info.libs = ["s2"] + self.cpp_info.set_property("cmake_file_name", "s2") + self.cpp_info.set_property("cmake_target_name", "s2::s2") diff --git a/recipes/s2geometry/all/test_package/CMakeLists.txt b/recipes/s2geometry/all/test_package/CMakeLists.txt index cc8c0e2143602..629a8c3aedf01 100644 --- a/recipes/s2geometry/all/test_package/CMakeLists.txt +++ b/recipes/s2geometry/all/test_package/CMakeLists.txt @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.15) project(test_package LANGUAGES CXX) -find_package(s2geometry REQUIRED CONFIG) +find_package(s2 REQUIRED CONFIG) add_executable(${PROJECT_NAME} test_package.cpp) -target_link_libraries(${PROJECT_NAME} PRIVATE s2geometry::s2geometry) +target_link_libraries(${PROJECT_NAME} PRIVATE s2::s2) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) if(MSVC) # Use unsigned characters diff --git a/recipes/s2geometry/config.yml b/recipes/s2geometry/config.yml index 1b582dcf6716b..3a159672513b1 100644 --- a/recipes/s2geometry/config.yml +++ b/recipes/s2geometry/config.yml @@ -1,3 +1,5 @@ versions: + "0.11.1": + folder: all "0.10.0": folder: all From 3f827acb71153c5b6dae5c40bad9dee32774d675 Mon Sep 17 00:00:00 2001 From: igormironchik Date: Wed, 6 Mar 2024 12:12:01 +0300 Subject: [PATCH 1304/1307] (#22972) md4qt: bump version to 2.8.0 --- recipes/md4qt/all/conandata.yml | 3 +++ recipes/md4qt/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/md4qt/all/conandata.yml b/recipes/md4qt/all/conandata.yml index 9b4b6bdb2cefd..46312df8b8947 100644 --- a/recipes/md4qt/all/conandata.yml +++ b/recipes/md4qt/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.8.0": + url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.8.0.tar.gz" + sha256: "82ef6acc84ea3a7891e4547f7d79af4caaef0f4d6f152bdab2a5c6ed5a48d11b" "2.7.4": url: "https://github.com/igormironchik/md4qt/archive/refs/tags/2.7.4.tar.gz" sha256: "adef8e96e71f13cb9f4450eee7bb02a43694682dc67519323f8e23f7bf10d0d1" diff --git a/recipes/md4qt/config.yml b/recipes/md4qt/config.yml index 51c0af2212d4c..fb12b4088b445 100644 --- a/recipes/md4qt/config.yml +++ b/recipes/md4qt/config.yml @@ -1,4 +1,6 @@ versions: + "2.8.0": + folder: all "2.7.4": folder: all "2.7.3": From 9c7b034f9668fca48cd41062052218b371aa834e Mon Sep 17 00:00:00 2001 From: Marian Klymov Date: Wed, 6 Mar 2024 11:28:55 +0200 Subject: [PATCH 1305/1307] (#22992) libxml2: add 2.12.5 and 2.11.7 --- recipes/libxml2/all/conandata.yml | 6 ++++++ recipes/libxml2/config.yml | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/recipes/libxml2/all/conandata.yml b/recipes/libxml2/all/conandata.yml index 6fd6c7f9c74c0..a0070b6bc4a60 100644 --- a/recipes/libxml2/all/conandata.yml +++ b/recipes/libxml2/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.12.5": + url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.5.tar.xz" + sha256: "a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21" "2.12.4": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.4.tar.xz" sha256: "497360e423cf0bd99eacdb7c6215dea92e6d6e89ee940393c2bae0e77cb9b7d0" @@ -11,6 +14,9 @@ sources: "2.12.1": url: "https://download.gnome.org/sources/libxml2/2.12/libxml2-2.12.1.tar.xz" sha256: "8982b9ccdf7f456e30d8f7012d50858c6623e495333b6191def455c7e95427eb" + "2.11.7": + url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.7.tar.xz" + sha256: "fb27720e25eaf457f94fd3d7189bcf2626c6dccf4201553bc8874d50e3560162" "2.11.6": url: "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.6.tar.xz" sha256: "c90eee7506764abbe07bb616b82da452529609815aefef423d66ef080eb0c300" diff --git a/recipes/libxml2/config.yml b/recipes/libxml2/config.yml index 2edcc26fbec6f..1c968c066198a 100644 --- a/recipes/libxml2/config.yml +++ b/recipes/libxml2/config.yml @@ -1,4 +1,6 @@ versions: + "2.12.5": + folder: all "2.12.4": folder: all "2.12.3": @@ -7,6 +9,8 @@ versions: folder: all "2.12.1": folder: all + "2.11.7": + folder: all "2.11.6": folder: all "2.11.4": From 0b3b4ba2e5b67525453598d445662b22da186808 Mon Sep 17 00:00:00 2001 From: Martin Valgur Date: Wed, 6 Mar 2024 14:44:52 +0200 Subject: [PATCH 1306/1307] (#21137) gdk-pixbuf: bump deps and several fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gdk-pixbuf: bump deps, fix static build * enable gdk-pixbuf build for clang 13 and newer * Revert "enable gdk-pixbuf build for clang 13 and newer" This reverts commit 3fe80de83a7fbafbf03b288d93a42e59cb1f264c. * Added upstream report for the patch. Removed Macos validation. Added workaround for the breaking change to pkgconfig_variables * Added workaround * Using libgettext provided by Conan * Update recipes/gdk-pixbuf/all/conanfile.py * macOS always uses Conan libgettext * Blank spaces * Improved Conan libgettext requirement line in meson.build * Adding gettext as tool require * blank * Simplifying (a little bit) --------- Co-authored-by: Walid Boussafa Co-authored-by: Rubén Rincón Co-authored-by: Francisco Ramirez de Anton --- recipes/gdk-pixbuf/all/conanfile.py | 76 +++++++++++++++++++---------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/recipes/gdk-pixbuf/all/conanfile.py b/recipes/gdk-pixbuf/all/conanfile.py index 4f44d797427e7..cbbd71f4d5295 100644 --- a/recipes/gdk-pixbuf/all/conanfile.py +++ b/recipes/gdk-pixbuf/all/conanfile.py @@ -1,3 +1,5 @@ +import os + from conan import ConanFile, conan_version from conan.errors import ConanInvalidConfiguration from conan.tools.apple import fix_apple_shared_install_name @@ -10,15 +12,13 @@ from conan.tools.microsoft import is_msvc_static_runtime from conan.tools.scm import Version -import os - -required_conan_version = ">=1.56.0 <2 || >=2.0.6" +required_conan_version = ">=1.56.0 <2 || >=2.0.8" class GdkPixbufConan(ConanFile): name = "gdk-pixbuf" description = "toolkit for image loading and pixel buffer manipulation" - topics = ("image") + topics = "image" url = "https://github.com/conan-io/conan-center-index" homepage = "https://developer.gnome.org/gdk-pixbuf/" license = "LGPL-2.1-or-later" @@ -63,36 +63,35 @@ def layout(self): basic_layout(self, src_folder="src") def requirements(self): - self.requires("glib/2.77.0", transitive_headers=True, transitive_libs=True) + self.requires("glib/2.78.1", transitive_headers=True, transitive_libs=True) if self.options.with_libpng: self.requires("libpng/1.6.40") if self.options.with_libtiff: - self.requires("libtiff/4.4.0") + self.requires("libtiff/4.6.0") if self.options.with_libjpeg == "libjpeg-turbo": - self.requires("libjpeg-turbo/2.1.5") + self.requires("libjpeg-turbo/3.0.1") elif self.options.with_libjpeg == "libjpeg": self.requires("libjpeg/9e") elif self.options.with_libjpeg == "mozjpeg": - self.requires("mozjpeg/4.1.1") + self.requires("mozjpeg/4.1.3") def validate(self): if self.options.shared and not self.dependencies["glib"].options.shared: raise ConanInvalidConfiguration( "Linking a shared library against static glib can cause unexpected behaviour." ) - if self.settings.os == "Macos": - # when running gdk-pixbuf-query-loaders - # dyld: malformed mach-o: load commands size (97560) > 32768 - raise ConanInvalidConfiguration("This package does not support Macos currently") if self.dependencies["glib"].options.shared and is_msvc_static_runtime(self): raise ConanInvalidConfiguration( "Linking shared glib with the MSVC static runtime is not supported" ) def build_requirements(self): - self.tool_requires("meson/1.0.0") + self.tool_requires("meson/1.2.3") + # FIXME: unify libgettext and gettext?? + # INFO: gettext provides msgfmt, which is required to build the .mo files + self.tool_requires("gettext/0.21") if not self.conf.get("tools.gnu:pkg_config", check_type=str): - self.tool_requires("pkgconf/1.9.3") + self.tool_requires("pkgconf/2.0.3") self.tool_requires("glib/") if self.options.with_introspection: self.tool_requires("gobject-introspection/1.72.0") @@ -113,7 +112,6 @@ def generate(self): deps = PkgConfigDeps(self) deps.generate() - tc = MesonToolchain(self) enabled_disabled = lambda v: "enabled" if v else "disabled" true_false = lambda v: "true" if v else "false" @@ -140,7 +138,6 @@ def generate(self): "tiff": true_false(self.options.with_libtiff), "jpeg": true_false(self.options.with_libjpeg) }) - # Workaround for https://bugs.llvm.org/show_bug.cgi?id=16404 # Only really for the purposes of building on CCI - end users can # workaround this by appropriately setting global linker flags in their profile @@ -150,21 +147,42 @@ def generate(self): def _patch_sources(self): apply_conandata_patches(self) - meson_build = os.path.join(self.source_folder, "meson.build") + gdk_meson_build = os.path.join(self.source_folder, "gdk-pixbuf", "meson.build") + replace_in_file(self, meson_build, "subdir('tests')", "#subdir('tests')") replace_in_file(self, meson_build, "subdir('thumbnailer')", "#subdir('thumbnailer')") - replace_in_file(self, meson_build, - "gmodule_dep.get_variable(pkgconfig: 'gmodule_supported')" if Version(self.version) >= "2.42.6" - else "gmodule_dep.get_pkgconfig_variable('gmodule_supported')", "'true'") + replace_in_file(self, meson_build, "gmodule_dep.get_variable(pkgconfig: 'gmodule_supported')", "'true'") # workaround https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/203 - if Version(self.version) >= "2.42.6": - replace_in_file(self, os.path.join(self.source_folder, "build-aux", "post-install.py"), - "close_fds=True", "close_fds=(sys.platform != 'win32')") + replace_in_file(self, os.path.join(self.source_folder, "build-aux", "post-install.py"), + "close_fds=True", "close_fds=(sys.platform != 'win32')") if Version(self.version) >= "2.42.9": - replace_in_file(self, meson_build, "is_msvc_like ? 'png' : 'libpng'", "'libpng'") - replace_in_file(self, meson_build, "is_msvc_like ? 'jpeg' : 'libjpeg'", "'libjpeg'") - replace_in_file(self, meson_build, "is_msvc_like ? 'tiff' : 'libtiff-4'", "'libtiff-4'") + replace_in_file(self, meson_build, "is_msvc_like = ", "is_msvc_like = false #") + # Fix libtiff and libpng not being linked against when building statically + # Reported upstream: https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/159 + replace_in_file(self, gdk_meson_build, + "dependencies: gdk_pixbuf_deps + [ gdkpixbuf_dep ],", + "dependencies: loaders_deps + gdk_pixbuf_deps + [ gdkpixbuf_dep ],") + # Forcing Conan libgettext instead of system one (if OS != Linux) + if self.settings.os != "Linux": + # FIXME: unify libgettext and gettext ?? + replace_in_file(self, meson_build, + "intl_dep = cc.find_library('intl', required: false)", + "intl_dep = dependency('libgettext', version: '>=0.21', required: false, method: 'pkg-config')") + if self.settings.os == "Macos" and self.options.shared: + # Workaround to avoid generating gdk-pixbuf/loaders.cache fails + # Error output: + # [167/167] Generating gdk-pixbuf/loaders.cache with a custom command (wrapped by meson to capture output) + # FAILED: gdk-pixbuf/loaders.cache + # meson.py --internal exe --capture gdk-pixbuf/loaders.cache -- xxxx/gdk-pixbuf/gdk-pixbuf-query-loaders + # --- stderr --- + # dyld[25158]: Library not loaded: /lib/libgnuintl.8.dylib + # Reason: tried: '/lib/libgnuintl.8.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/lib/libgnuintl.8.dylib' (no such file) + # + # Obviously, the libgnuintl.8.dylib is in the VirtualRunEnv, but the current env is not passed to + # the meson custom_target function as it's wrappering the execution + # custom_target admits also an "env" parameter, but it's not working as expected + replace_in_file(self, gdk_meson_build, "build_by_default: true", "build_by_default: false") def build(self): self._patch_sources() @@ -195,10 +213,13 @@ def package_info(self): self.cpp_info.exelinkflags = ldflags self.cpp_info.sharedlinkflags = ldflags + # Breaking change since Conan >= 2.0.8 + # Related to https://github.com/conan-io/conan/pull/14233 + libdir_variable = "libdir1" if Version(conan_version) < "2.0" else "libdir" pkgconfig_variables = { "bindir": "${prefix}/bin", "gdk_pixbuf_binary_version": "2.10.0", - "gdk_pixbuf_binarydir": "${libdir1}/gdk-pixbuf-2.0/2.10", + "gdk_pixbuf_binarydir": "${%s}/gdk-pixbuf-2.0/2.10" % libdir_variable, "gdk_pixbuf_moduledir": "${gdk_pixbuf_binarydir}/loaders", "gdk_pixbuf_cache_file": "${gdk_pixbuf_binarydir}/loaders.cache", "gdk_pixbuf_csource": "${bindir}/gdk-pixbuf-csource", @@ -213,6 +234,7 @@ def package_info(self): self.runenv_info.define_path("GDK_PIXBUF_PIXDATA", gdk_pixbuf_pixdata) self.env_info.GDK_PIXBUF_PIXDATA = gdk_pixbuf_pixdata # remove in conan v2? + def fix_msvc_libname(conanfile, remove_lib_prefix=True): """remove lib prefix & change extension to .lib in case of cl like compiler""" if not conanfile.settings.get_safe("compiler.runtime"): From 00e6aa5e261ad5e8a64d32e9be3fb08d9f82967f Mon Sep 17 00:00:00 2001 From: Mikhail Lappo Date: Wed, 6 Mar 2024 14:08:41 +0100 Subject: [PATCH 1307/1307] (#23002) perfetto: add version 43.1 --- recipes/perfetto/all/conandata.yml | 3 +++ recipes/perfetto/config.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/recipes/perfetto/all/conandata.yml b/recipes/perfetto/all/conandata.yml index 711d2732829d9..7ea6229bf24ad 100644 --- a/recipes/perfetto/all/conandata.yml +++ b/recipes/perfetto/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "43.1": + url: "https://github.com/google/perfetto/archive/refs/tags/v43.1.tar.gz" + sha256: "0f23ba39520c9ec629c48dc36a3a4bb92ed9653ac6694445be22985205a3f4ce" "42.0": url: "https://github.com/google/perfetto/archive/refs/tags/v42.0.tar.gz" sha256: "1c474a0f16cc2f9da826fd3f9e44ffd77785c433e997cdaf0ee390ae3d64b53e" diff --git a/recipes/perfetto/config.yml b/recipes/perfetto/config.yml index f2898b0745aac..e704c3a7bc879 100644 --- a/recipes/perfetto/config.yml +++ b/recipes/perfetto/config.yml @@ -1,4 +1,6 @@ versions: + "43.1": + folder: all "42.0": folder: all "41.0":